русс | укр

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

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

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

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


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

Логическая структура функций ввода-вывода


Дата добавления: 2014-11-28; просмотров: 1389; Нарушение авторских прав


 

В главе 2, "Обзор операционных систем", при обсуждении структуры сис­темы мы придавали особое значение иерархической природе современных опе­рационных систем. Философия иерархии состоит в том, что функции операци­онной системы следует разделять в соответствии с их сложностью, характер­ной временной шкалой и уровнем абстракции. Следуя этому подходу, можно прийти к такой организации операционной системы, при которой она будет представлена серией уровней. Каждый уровень представляет связанное под­множество функций, необходимых операционной системе. Выполнение прими­тивных функций передается более низкому уровню; при этом более высокий уровень не знает никаких деталей выполнения поставленных задач более низ­ким уровнем. Со своей стороны любой из уровней обеспечивает обслуживание следующего верхнего уровня. В идеале уровни нужно организовывать таким образом, чтобы изменения в одном уровне не приводили к необходимости вне­сения изменений в остальных уровнях.

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

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



Рассмотрим в первую очередь самый простой случай, когда локальное периферийное устройство осуществляет связь посредством потока байтов или запи­сей (рис. 11.5,а). В этом случае уровни будут следующими.

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

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

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

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

На рис. 11.5,в представлена характерная структура управления вводом-выводом во внешнее запоминающее устройство, поддерживающее файловую сис­тему. Здесь имеется три уровня, с которыми мы не сталкивались ранее.

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

Рис. 11.5. Модель организации ввода-вывода

 

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


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

Учитывая значимость файловой системы, в этой и следующей главе мы ос­тановимся на рассмотрении ее различных компонентов. В данной главе обсуж­даются три нижних уровня; два верхних уровня рассматриваются в главе 12, "Управление файлами".

 



<== предыдущая лекция | следующая лекция ==>
Цели проектирования | БУФЕРИЗАЦИЯ ОПЕРАЦИЙ ВВОДА-ВЫВОДА


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


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

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

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


 


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

 
 

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

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