русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Тема 17: файловая система unix


Дата добавления: 2013-12-23; просмотров: 1108; Нарушение авторских прав


Тема 16: Работа с сетью в linux.

При работе с сетевыми устройствами в системе linux ключевым понятием является сокет.

Сокеты образуют пользовательский интерфейс для работы с сетью. Сокеты могут динамически создаваться и уничтожаться. При создании сокета вызывающему процессу возвращается дескриптор файла, требующий для установления соединения чтения и записи данных, а также разрыва соединения. Каждый сокет поддерживает определенный тип работы в сети. Например:

1. Надежный, ориентированный на соединение потоков байтов. Данный тип сокетов позволяет двум процессам на различных машинах устанавливать структуру связи типа труба (pipe).

2. Надежный, ориентированный на соединение потоков пакетов. 2-й тип сокетов отличается от первого тем, что он сохраняет границы пакетов.

Каждый из вышерассмотренных типов сокетов гарантирует передачу данных.

3. Ненадежная передача пакетов.

Данный тип сокетов предоставляет пользователю прямой доступ к сети (без труб). Данный тип сокетов полезен для приложений реального времени, возможны потери пакетов и байтов или неверный их порядок. Основное преимущество – высокая производительность. При создании сокета, один из параметров указывает на используемый протокол. Для надежных байтовый потоков используется протокол TCP (Transmission Control Protocol). Для ненадежной передачи пакетов обычно применяется протокол UDP (User Data Protocol). Оба они работают поверх протокола IP. Прежде чем сокет может быть использован с ним должен быть связан адрес. Как только сокеты созданы на компьютере-источнике и на компьютере-приемнике, между ними может быть установлено соединение. Одна сторона делает системный вызов listen(A), указывая в качестве параметра локальный сокет. Другая сторона делает системный вызов connect(B, adress), задавая в параметрах дескриптор файла для локального сокета и адрес для удаленного сокета. Если удаленный компьютер принимает вызов, то система устанавливает соединение между двумя сокетами. После установления соединения оно работает по аналогичному каналу для того, чтобы закрыть данный канал используется системный вызов close.



 

Общие понятия.

ОС unix поддерживает несколько десятков файловых систем. Это происходит благодаря наличию виртуальной файловой системы, которая занимается интегрированием всех поддерживаемых файловых систем. Файл в системе linux – это последовательность байтов, содержащая произвольную информацию. Не делается различия между текстовыми файлами, двоичными файлами и любыми другими типами файлов. Имена файлов ограничены 255 символами. По соглашению многие программы ожидают, что имена файлов будут состоять из основного имени и расширения, разделенных точкой. Для удобства файлы могут группироваться в каталоги. Каталоги хранятся на диске в виде файлов и в значительной степени с ними можно работать как с файлами. Каталоги могут содержать подкаталоги, что приводит к иерархической файловой системе. Символ / - это корневой каталог, все остальные каталоги так же обозначаются через косую черту. Существует два способа задания имени файла в системе linux. Первый способ заключается в использовании абсолютного пути (absolute path). В данном случае указывается, как найти файл относительно корневого каталога. Данный способ является крайне неудобным, т.к. каждый раз приходится указывать полный путь к данному файлу, поэтому в системе liniux есть возможность назначать рабочий каталог. Имена путей к файлу могут указываться относительно данного рабочего каталога. Случаются ситуации, когда пользователю необходимо обращаться к файлу, с которым работает другой пользователь, т.е. который находится в другом дереве каталогов. При классическом подходе пользователю каждый раз нужно указывать абсолютный путь, однако, при использовании ссылок можно создать специальный файл, к которому обращаются так же, как и при использовании абсолютного пути. Кроме обычных файлов linux так же поддерживает символьные специальные файлы и блочные специальные файлы. Рассмотрим пример системы, в которой существуют несколько видов носителей информации. Пусть имеется 2 жестких диска и дисковод для оптических дисков. У каждого из них может быть своя файловая система. Следует отметить так же, что данные носители могут быть расположены не в одной системе. Одним из подходов в управлении является создание отдельной файловой системы для каждого из носителей и управления ими по отдельности. Такой подходо реализован в системе windows. В системе linux применяется иное решение, которое заключается в монтировании одного диска в дерево файлов другого диска. Рассмотрим содержание некоторых каталогов:

/bin – в данном каталоге содержатся двоичные программы

/dev – специальные файлы для устройств ввода-вывода

/etc – различные системные файлы.

/lib – библиотеки

/usr – файлы и каталоги пользователя

 

2*. Виртуальная файловая система linux.

Vfs определяет набор основных абстракций файловой системы и разрешенные с этими абстракциями операции. Существует 4 основные структуры файловой системы, поддерживаемые vfs:

-суперблок (конкретная файловая система). Суперблок содержит критичную информацию о компоновке файловой системы. Разрушение суперблока делает файловую систему нечитаемой.

-i-узел – конкретный файл.

Следует обратить внимание на то, что и каталоги и устройства также представлены в виде i-узлов

-Элемент каталога – данный элемент содержит компонент пути

- Файл – это открытый и связанный с каким-либо процессом файл. Данная структура создается при помощи системного вызова open.

 



<== предыдущая лекция | следующая лекция ==>
Тема 15: Реализация ввода-вывода в системе linux | Файловая система в ОС Linux. Файловая система Ext2.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.