2011. Машбук (1114722), страница 65
Текст из файла (страница 65)
Заметим, что каждая запись таблиц LDT и GDT хранит полнуюинформацию о сегменте (адрес базы, размер и пр.). Итак, в селекторе хранится тип242сегмента, после которого следует номер сегмента (номер записи в соответствующейтаблице). Помимо перечисленного, селектор хранит различные атрибуты, касающиесярежимов доступа к сегменту.Преобразование виртуального адреса в физический имеет достаточно простуюорганизацию (Рис. 143).
На основе виртуального адреса, посредством использованияинформации из таблиц LDT и GDT, получается 32-разрядный линейный адрес, которыйинтерпретируется в терминах двухуровневой иерархической страничной организации.Последние 12 разрядов отводятся под смещение в физической странице, а первые 20разрядов интерпретируют как 10-разрядный индекс во «внешней» таблице групп страници 10-разрядное смещение в соответствующей таблице второго уровня иерархии.Виртуальный адресИспользование селектора и содержимого таблиц LDT и GDTЛинейный адресДвухуровневая страничная организацияP1P2offset101012Физический адресРис.
143. Схема преобразования адресов.Среди особенностей данной модели можно отметить, что можно «выключать»страничную функцию, и тогда модель Intel начинает работать по сегментномураспределению. А можно не использовать сегментную организацию процесса, и тогдаданная реализация будет работать по страничному распределению памяти.24366.1Управление внешними устройствамиОбщие концепции6.1.1 Архитектура организации управления внешними устройствамиКак отмечалось ранее, при организации взаимодействия работы процессора ивнешних устройств различают два потока информации: поток управляющей информации(т.е.
поток команд какому-либо устройству управления) и поток данных (потокинформации, участвующей в обмене обычно между ОЗУ и внешним устройствами).Рассматривая историю вопроса, необходимо отметить, что управление внешнимиустройствами претерпело достаточно большие изменения.Первой исторической моделью стало непосредственное управление центральнымпроцессором внешними устройствами (Рис. 144.А), когда процессор на уровнемикрокоманд полностью обеспечивал все действия по управлению внешнимиустройствами.
Иными словами, поток управления полностью шел через ЦПУ, а наравне сним через процессор шел и поток данных. Эта модель иллюстрирует синхронноеуправление: если начался обмен, то, пока он не закончится, процессор не продолжаетвычисления (поскольку занят обменом).А.Б.ОЗУОЗУВ.ОЗУВнешнееустройствоЦПЦПконтроллервнешнегоустройстваDMA-контроллер+контроллер илипроцессорввода-выводаВнешнееустройствоВнешнееустройствоЦПРис. 144. Модели управления внешними устройствами: непосредственное (А),синхронное/асинхронное (Б), с использованием контроллера прямогодоступа или процессора (канала) ввода-вывода (В).Вторая модель, появившаяся с развитием вычислительной техники, связана споявлением специализированных контроллеров устройств, которые концептуальнорасполагались между центральным процессором и соответствующими внешнимиустройствами (Рис. 144.Б).
Контроллеры позволяли процессору работать с болеевысокоуровневыми операциями при управлении внешними устройствами. Таким образом,процессор частично освобождался от потока управления внешними устройствами за счеттого, что вместо большого числа микрокоманд конкретного устройства он оперировал244меньшим количеством более высокоуровневых операций. Но и эта модель оставаласьсинхронной.Следующим этапом стало развитие предыдущей модели до асинхронной,осуществление которой стало возможным благодаря появлению аппарата прерываний.Данная модель позволяла запустить обмен для одного процесса, после этого поставить насчет другую задачу (или же текущий процесс может продолжить выполнять какие-то своивычисления), а по окончании обмена (успешного или неуспешного) в системе возникнетпрерывание, сигнализирующее возможность дальнейшего выполнения первого процесса.Но и эти две модели предполагали, что поток данных идет через процессор.Кардинальным решением проблемы перемещения обработки потока данных изпроцессора стало использование появившихся контроллеров прямого доступа к памяти(или DMA-контроллеров, Direct Memory Access, Рис.
144.В). Процессор генерировалпоследовательность управляющих команд, указывая координаты в оперативной памяти,куда надо положить или откуда надо взять данные, а DMA-контроллер занималсяперемещением данных между ОЗУ и внешним устройством. Таким образом, поток данныхшел в обход процессора.И, наконец, можно отметить последнюю модель, основанную на том, чтоуправлениевнешнимиустройствамиосуществляетсясиспользованиемспециализированного процессора (или даже специализированных компьютеров) иликаналов ввода-вывода.
Данная модель подразумевает снижение нагрузки нацентральный процессор с точки зрения обработки потока управления: ЦПУ теперьоперирует функционально-емкими макрокомандами. Решение задачи осуществлениянепосредственного обмена, а также решение всех связанных с обменом вопросов (в т.ч.оптимизация операций обмена, например, за счет использования аппаратной буферизациив процессоре ввода-вывода) ложится «на плечи» специализированного процессора.6.1.2 Программное управление внешними устройствамиРассмотрим архитектуру программного управления внешними устройствами,которую можно представить в виде некоторой иерархии (Рис. 145). В основании лежитаппаратура, а далее следуют программные уровни: программы обработки прерываний,драйверы физических устройств, а на вершине иерархии лежит уровень драйверовлогических устройств, причем каждый уровень строится на основании нижележащегоуровня.Драйверы виртуальных устройствДрайверы физических устройствПрограммы обработки прерыванийАппаратураРис.
145. Иерархия архитектуры программного управления внешнимиустройствами.Можно выделить следующие цели программного управления устройствами. Вопервых, это унификация программных интерфейсов доступа к внешним устройствам.Иными словами, это стандартизация правил использования различных устройств.Преследуя данную цель, мы абстрагируемся от аппаратных характеристик обмена. Еслиданная цель достигнута, то, например, пользователю, пожелавшему распечататьтекстовый файл, не надо будет заботиться об организации управления конкретнымпечатающим устройством - ему достаточно воспользоваться некоторым общимпрограммным интерфейсом.245Следующая цель — это обеспечение конкретной модели синхронизации привыполнении обмена (синхронный или асинхронный обмен). Отметим здесь, что,несмотря на то, что синхронный вид обмена появился хронологически одним из первых,он остается актуальным и по сей день.
Таким образом, ставится цель поддерживать обавида обмена, а выбор конкретного типа зависит от пользователя.Еще одной целью является выявление и локализация ошибок, а такжеустранение их последствий. Для любой системы справедливо, что чем более она сложна,тем больше статистически в ней возникает сбоев. Соответственно, система должна бытьорганизована таким образом, чтобы она могла выявить момент появления сбоя и старатьсяобработать эту сбойную ситуацию: либо самостоятельно ее обойти, либо известитьпользователя.Следующая цель — буферизация обмена — связана с различнойпроизводительностью основных компонентов системы. Известно, что любое внешнееустройство работает медленнее центральной части компьютера, и, соответственно, стоитпроблема сглаживания разброса производительностей различных компонентов системы.Причем, если речь идет об устройствах, не являющихся устройствами оперативногодоступа (т.е. не являющихся устройствами, к которым идет массовое обращение на обменот процессов), то для таких устройств проблема сглаживания отодвигается на второйплан.
Например, если это медленное устройство печати, то для него особо не требуетсяреализация буфера, а если дело касается магнитного диска, рассчитанного наиспользование в качестве массового устройства, то тут операции обмена должныобрабатываться по возможности быстро. Решением указанной задачи являетсяорганизация разного рода кэширования в системе.Также необходимо отметить такую цель, как обеспечение стратегии доступа кустройству (распределенный или монопольный доступ). Во время рассмотренияфайловых систем ОС Unix говорилось, что один и тот же файл может быть доступен черезмножество файловых дескрипторов, которые могут быть распределены междуразличными процессами, т.е. файл может быть многократно открыт в системе, и системапозволяет организовывать распределенный доступ к его информации.
Система позволяеторганизовать управление этим доступом и синхронизацию. Система также позволяеторганизовать и монопольный доступ к устройству.И, наконец, последней целью, которую стоит отметить, является планированиевыполнения операций обмена. Это важная проблема, поскольку от качествапланирования может во многом зависеть эффективность функционированиявычислительной системы. Неправильно организованное планирование очереди заказов наобмен может привести к деградации системы, связанной, к примеру, с началом голоданиякаких-то процессов и, соответственно, зависания их функциональности.6.1.3 Планирование дисковых обменовРассмотрим различные стратегии организации планирования дисковых обменов.При этом преследуется цель проиллюстрировать то многообразие подходов к решениюданной проблемы, которые имеют место в мире, с краткими результатами и выводами.Будем рассматривать некоторое дисковое устройство, обмен с которымосуществляется дорожками (т.е.