Типовые средства аппаратной поддержки ОС


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

· поддержки привилегированного режима;

· трансляции адресов;

· переключения процессов;

· защиты областей памяти;

· системный таймер;

· система прерываний

Средства поддержки привилегированного режима обычно основаны на системном регистре процессора, часто называемом “ словом состояния” машины и процессора. Этот регистр содержит некоторые признаки, определяющие режимы работы процессора, в том числе и признак текущего режима привилегий. Смена режима привилегий выполняется за счет изменения слова состояния машины в результате прерывания или выполнения привилегированной команды. Число градаций привилегированности может быть разным у разных типов процессоров, наиболее часто используются два уровня (ядро-пользователь) или четыре (например, ядро-супервизор-пользователь у платформы VAX или 0-1-2-3 у процессоров Intel x86/Pentium). В обязанности средств поддержки привилегированного режима входит выполнение проверки доступности выполнения активной программой инструкций процессора при текущем уроне привилегированности.

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

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

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

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

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

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

 



Дата добавления: 2016-06-05; просмотров: 2733;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.