вторник, 1 апреля 2014 г.

Unix подсистема управления процессами. подсистема ввода-вывода. драйвера

Происходит в управления процессе инициализации операционной системы, когда ядро определяет наличие доступных устройств.

Непосредственное взаимодействие операционной системы с устройствами ввода-вывода обеспечивают их драйверы.

Для монтирования файловой системы в существующем графе должна быть найдена или создана некоторая пустая директория - точка монтирования, к которой и присоединится корень монтируемой файловой системы.

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

Такая возможность достигается с помощью разбиения каждой существующей файловой системы на зависимую и независимую от конкретной реализации части, подобно тому, как на лекции, посвященной вопросам ввода-вывода, мы отделяли аппаратно-зависимые части для каждого устройства (драйвера) от общей базовой подсистемы ввода-вывода.



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

Обремененные знаниями об устройстве современных файловых систем в unix, мы можем, наконец, заняться вопросами реализации подсистемы ввода-вывода.

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

К устройствам неструктурированного ввода-вывода, иногда именуемым устройствами посимвольного ввода-вывода (текстовыми относятся устройства, отличные от устройств ввода-вывода блоками.

В частности, на ней слева изображена файловая подсистема, а справа подсистема управления процессами, две главные компоненты ядра.

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

Подсистема управления вводом-выводом, подсистема управления вводом-выводом реализует базовые механизмы обмена данными между устройствами ввода-вывода и оперативной памятью вычислительной машины и обеспечивает организацию файлов в файловые системы.

В виртуальной файловой системе, в отличие от s5fs, каждый файл характеризуется не индексным узлом inode, а некоторым виртуальным узлом vnode.



Swapping - обмен) - в зависимости от терминологии конкретной ОС.

Файловая подсистема управляет файлами, размещает записи файлов, управляет свободным пространством, доступом к файлам и поиском данных для пользователей.

Модуль "планировщик" распределяет между процессами время центрального процессора.

Драйверы устройств являются такими модулями в составе ядра, которые управляют работой периферийных устройств.

Примерами обращений к операционной системе, используемых при управлении процессами, могут служить fork (создание нового процесса exec (наложение образа программы на выполняемый процесс exit (завершение выполнения процесса wait (синхронизация продолжения выполнения основного процесса с моментом выхода из порожденного процесса brk (управление размером памяти, выделенной процессу) и signal (управление реакцией процесса на возникновение экстраординарных событий).

Системный вызов в один из машинно-зависимых способов реализует механизм получения адресов функций ядра и передачу в эти функции необходимых параметров системного вызова, а также получения результата системного вызова.

Зависимые части для различных файловых систем могут встраиваться в ядро на этапе компиляции, либо добавляться к нему динамически по мере необходимости, без перекомпиляции системы (как в системах с микроядерной архитектурой).

При операции монтировании в ядре заводятся структуры данных, описывающие файловую систему, а в vnode для точки монтирования файловой системы помещается специальная информация.

Подсистема управления файлами и подсистема управления процессами взаимодействуют между собой, когда файл загружается в память на выполнение ( см.

Различия доступа к различным устройствам и файловым системам обеспечиваются дополнительными программными модулями - драйверами устройств и файловых систем.



Swapping - обмен) - в зависимости от терминологии конкретной ОС.

Повторная инициализация устройства или останов операционной системы.

Подсистема управления задачами (процессами подсистема управления задачами (процессами) обеспечивает создание задачи (процесса загрузка программного кода и его выполнения и завершения задачи (процесса).

Например, драйвер запоминающего устройства на магнитной ленте позволяет ядру системы воспринимать это устройство как запоминающее устройство с произвольной выборкой.

При выполнении операций над файлами по таблице операций, адрес которой содержится в vnode, определяется системный вызов, который будет на самом деле выполнен над реальными физическими данными файла, адрес которых также находится в vnode.

Эти функции были систематизированы и представляют собой интерфейс между драйверами и базовой подсистемой ввода-вывода.

Заметим, что для последующей корректной работы операционной системы при удалении физического носителя информации, обязательно необходимо предварительное логическое разъединение файловых систем, если они перед этим были объединены.

Для первого накопителя на гибких магнитных дисках такая команда в Linux будет выглядеть следующим образом: mount /dev/fd0 имя пустой директории, где имя пустой директории описывает точку монтирования, а /dev/fd0 - специальный файл устройства, соответствующего этому накопителю (о специальных файлах устройств.


Комментариев нет:

Отправить комментарий