Курынин Р.В., Машечкин И.В., Терехин А.Н. - Конспект лекций по ОС (1114685), страница 55
Текст из файла (страница 55)
Заметим, чтокаждая запись таблиц LDT и GDT хранит полную информацию о сегменте (адрес базы, размер ипр.). Итак, в селекторе хранится тип сегмента, после которого следует номер сегмента (номерзаписи в соответствующей таблице). Помимо перечисленного, селектор хранит различныеатрибуты, касающиеся режимов доступа к сегменту.Преобразование виртуального адреса в физический имеет достаточно простуюорганизацию (5.6). На основе виртуального адреса посредством использования информации изтаблиц LDT и GDT получается 32-разрядный линейный адрес, который интерпретируется втерминах двухуровневой иерархической страничной организации.
Последние 12 разрядовотводится под смещение в физической странице, а первые 20 разрядов интерпретируют, как 10разрядный индекс во «внешней» таблице групп страниц и 10-разрядное смещение всоответствующей таблице второго уровня иерархии.211Виртуальный адресИспользование селектора и содержимого таблиц LDT и GDTЛинейный адресДвухуровневая страничная организацияP1P2offset101012Физический адресРис. 133.Схема преобразования адресов.Среди особенностей данной модели можно отметить, что можно «выключать» страничнуюфункцию, и тогда модель Intel начинает работать по сегментному распределению. А можно неиспользовать сегментную организацию процесса, и тогда данная реализация будет работать постраничному распределению памяти.21266.16.1.1Управление внешними устройствамиОбщие концепцииАрхитектура организации управления внешними устройствамиКак отмечалось ранее, при организации взаимодействия работы процессора и внешнихустройств различают два потока информации: поток управляющей информации (т.е.
поток командкакому-либо устройству управления) и поток данных (поток информации, участвующей в обменеобычно между ОЗУ и внешним устройствами). Рассматривая историю вопроса, необходимоотметить, что управление внешними устройствами претерпело достаточно большие изменения.Первой исторической моделью стало непосредственное управление центральнымпроцессором внешними устройствами (6.1.1.А), когда процессор на уровне микрокомандполностью обеспечивал все действия по управлению внешними устройствами.
Иными словами,поток управления полностью шел через ЦПУ, а наравне с ним через процессор шел и потокданных. Эта модель иллюстрирует синхронное управление: если начался обмен, то, пока он незакончится, процессор не продолжает вычисления (поскольку занят обменом).А.Б.ОЗУВ.ОЗУВнешнееустройствоЦПОЗУЦПконтроллервнешнегоустройстваDMA-контроллер+контроллер илипроцессорввода-выводаВнешнееустройствоВнешнееустройствоЦПРис.
134.Модели управления внешними устройствами: непосредственное (А),синхронное/асинхронное (Б), с использованием контроллера прямого доступа или процессора (канала)ввода-вывода.Вторая модель, появившаяся с развитием вычислительной техники, связана с появлениемспециализированных контроллеров устройств, которые концептуально располагались междуцентральным процессором и соответствующими внешними устройствами (6.1.1.Б). Контроллерыпозволяли процессору работать с более высокоуровневыми операциями при управлениивнешними устройствами. Таким образом, процессор частично освобождался от потока управлениявнешними устройствами за счет того, что вместо большого числа микрокоманд конкретногоустройства он оперировал меньшим количеством более высокоуровневых операций.
Но и этамодель оставалась синхронной.213Следующим этапом стало развитие предыдущей модели до асинхронной модели,осуществление которой стало возможным благодаря появлению аппарата прерываний. Даннаямодель позволяла запустить обмен для одного процесса, после этого поставить на счет другуюзадачу (или же текущий процесс может продолжить выполнять свои какие-то вычисления), а поокончании обмена, успешного или неуспешного, в системе возникнет прерывание,сигнализирующее возможность дальнейшего выполнения первого процесса.
Но и эти две моделипредполагали, что поток данных идет через процессор.Кардинальным решением проблемы перемещения обработки потока данных из процессорастало использование появившихся контроллеров прямого доступа к памяти (или DMAконтроллеров, Direct Memory Access, 6.1.1.В). Процессор генерировал последовательностьуправляющих команд, указывая координаты в оперативной памяти, куда надо положить илиоткуда взять данные, а DMA-контроллер занимался перемещением данных между ОЗУ и внешнимустройством. Таким образом, поток данных шел в обход процессора.И, наконец, можно отметить последнюю модель, основанную на том, что управлениевнешними устройствами осуществляется с использованием специализированным процессором(или даже специализированных компьютеров) или каналов ввода-вывода. Данная модельподразумевает снижение нагрузки на центральный процессор с точки зрения обработки потокауправления: ЦПУ теперь оперирует макрокомандами, являющимися функционально-емкими.Решение задачи осуществления непосредственного обмена, а также решение всех связанных собменом вопросов (в т.ч.
оптимизация операций обмена, например, за счет использованияаппаратной буферизации в процессоре ввода-вывода) ложится «на плечи» специализированногопроцессора.6.1.2Программное управление внешними устройствамиРассмотрим архитектуру программного управления внешними устройствами, которуюможно представить в виде некоторой иерархии (6.1.2). В основании лежит аппаратура, а далееследуют программные уровни, начиная с уровня программ обработки прерываний, затем —драйверы физических устройств, а на вершине иерархии лежит уровень драйверов логическихустройств, причем каждый уровень строится на основании нижележащего уровня.Драйверы виртуальных устройствДрайверы физических устройствПрограммы обработки прерыванийАппаратураРис.
135.Иерархия архитектуры программного управления внешними устройствами.Можно выделить следующие цели программного управления устройствами. Во-первых, этоунификация программных интерфейсов доступа к внешним устройствам. Иными словами,это стандартизация правил использования различных устройств. Преследуя данную цель, мыабстрагируемся от аппаратных характеристик обмена. Если данная цель достигнута, то, например,пользователь, пожелавший распечатать текстовый файл, не надо будет заботиться об организацииуправления конкретным печатающим устройством, ему достаточно воспользоваться некоторымобщим программным интерфейсом.Следующая цель — это обеспечение конкретной модели синхронизации привыполнении обмена (синхронный или асинхронный обмен).
Отметим здесь, что, несмотря на то,что синхронный вид обмена появился хронологически одним из первых, он остается актуальным ипо сей день. Таким образом, ставится цель поддерживать оба вида обмена, а выбор конкретноготипа зависит от пользователя.214Еще одной целью является выявление и локализация ошибок, а также устранение ихпоследствий. Для любой системы справедливо, что чем более она сложна, тем большестатистически в ней возникает сбоев.
Соответственно, система должна быть организована такимобразом, чтобы она могла выявить момент появления сбоя и стараться обработать эту сбойнуюситуацию: либо самостоятельно ее обойти, либо известить пользователя.Следующая цель — буферизация обмена — связана с различной производительностьюосновных компонентов системы. Заведомо известно, что любое внешнее устройство работаетмедленнее центральной части компьютера, и, соответственно, стоит проблема сглаживанияразброса производительностей различных компонент системы. Причем, если речь идет обустройствах, не являющихся устройствами оперативного доступа, т.е.
не является устройством, ккоторому идет массовое обращение на обмен от процессов, то для таких устройств проблемасглаживания отодвигается на второй план. Например, если это медленное устройство печати, тодля него особо не требуется реализации буфера, а если дело касается магнитного диска,рассчитанного для использования в качестве массового устройства, то тут операции обменадолжны обрабатываться по возможности быстро. Решением указанной задачи являетсяорганизация разного рода кэширования в системе.Также необходимо отметить такую цель, как обеспечение стратегии доступа кустройству (распределенный или монопольный доступ). Во время рассмотрения файловых системОС Unix говорилось, что один и тот же файл может быть доступен через множество файловыхдескрипторов, которые могут быть распределены между различными процессами, т.е.
файл можетбыть многократно открыт в системе, и система позволяет организовывать распределенный доступк его информации. Система позволяет организовать управление этим доступом и синхронизацию.Система также позволяет организовать и монопольный доступ к устройству.И, наконец, последней целью, которую стоит отметить, является планированиевыполнения операций обмена.