Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
NuM_Lektsii_OSISP - лекции на Линуксу.doc
Скачиваний:
74
Добавлен:
18.02.2016
Размер:
287.74 Кб
Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]