Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Управление внешними устройствами и файлами




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

Программа, управляющая конкретной моделью внешнего устройства и учитывающая все его особенности, обычно называется драйвером этого устройства (от английского drive – управлять).

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

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

Одной из основных подсистем ОС служит файловая система.

Файловая система – это часть ОС, включающая:

· совокупность всех файлов на диске;

· наборы структур данных, используемых для управления файлами, например, как каталоги файлов, дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске;

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

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

Сектор – наименьшая адресуемая единица обмена данными дискового устройства с оперативной памятью. ОС при работе с диском использует, как правило, собственную единицу дискового пространства, называемую кластером (cluster).

Чаще всего размер сектора составляет 512 байт. При создании файла место на диске ему выделяется кластерами. Например, если файл имеет размер 2560 байт, а размер кластера в файловой системе определен в 1024 байта, то файлу будет выделено на диске три кластера.

Файлы хранятся в памяти, не зависящей от электропитания, обычно-магнитных или электронных дисках (электронный диск – когда в ОП создается структура, имитирующая файловую систему) или лазерных дисках.

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

Пользователь может с помощью ОС выполнить над файлами и каталогами такие действия, как:

· поиск файла или каталога по имени;

· удаление файла;

· вывод содержимого файла на внешнее устройство;

· изменение содержимого файла;

· сохранение содержимого файла и т. д.

2.1.3. Микроядерная архитектура ОС

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

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

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

Набор функций микроядра обычно соответствует функциям слоя базовых механизмов обычного ядра. Все остальные более высокоуровневые функции ядра оформляются в виде приложений, работающих в пользовательском режиме. В общем случае многие менеджеры ресурсов, являющиеся неотъемлемыми частями обычного ядра – файловая система, подсистемы управления виртуальной памятью и процессами, менеджер безопасности и т. п., – становятся «периферийными модулями», работающими в пользовательском режиме.

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

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

Таким образом, работа микроядерной ОС соответствует известной модели клиент – сервер, в которой роль транспортных средств выполняет микроядро.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...