Билет №16. Аппаратная зависимость и переносимость ОС. Типовые средства аппарат-ной поддержки ОС.
Многие операционные системы успешно работают на различных аппаратных платформах без существенных изменений в своем составе. В ОС можно выделить достаточно компактный слой машинно-зависимых компонентов ядра и сделать остальные слои ОС общими для разных аппаратных платформ.
Практически все современные аппаратные платформы имеют некоторый типичный набор средств аппаратной поддержки ОС, в который входят следующие компоненты: средства поддержки привилегированного режима; средства трансляции адресов; средства переключения процессов; система прерываний; системный таймер; средства защиты областей памяти. Средства поддержки привилегированного режима обычно основаны на сис-темном регистре процессора, часто называемом «словом состояния» машины или процессора. В обязанности средств поддержки привилегированного режима входит выполнение проверки допустимости выполнения активной программой инструкций процессора при текущем уровне привилегирован-ности. Средства трансляции адресов выполняют операции преобразования вирту-альных адресов, которые содержатся в кодах процесса, в адреса физической памяти. Средства переключения процессов предназначены для быстрого сохранения контекста приостанавливаемого процесса и восстановления контекста процесса, который становится активным. Содержимое контекста обычно включает содержимое всех регистров общего назначения процессора, регистра флагов операций (то есть флагов нуля, переноса, переполнения и т. п.), а также тех системных регистров и указателей, которые связаны с отдельным процессом, а не операционной системой. Система прерываний позволяет компьютеру реагировать на внешние события, синхронизировать выполнение процессов и работу устройств ввода-вывода, быстро переходить с одной программы на другую. Механизм прерываний нужен для того, чтобы оповестить процессор о возникновении в вычислительной системе некоторого непредсказуемого события или события, которое не синхронизировано с циклом работы процессора. Системный таймер, часто реализуемый в виде быстродействующего регистра-счетчика, необходим операционной системе для выдержки интервалов времени. После того, как время требуемого интервала истекает, таймер инициирует прерывание, которое обрабатывается процедурой операционной системы. Прерывания от системного таймера используются ОС в первую очередь для слежения за тем, как отдельные процессы расходуют время процессора. Средства защиты областей памяти обеспечивают на аппаратном уровне про-верку возможности программного кода осуществлять с данными определенной области памяти такие операции, как чтение, запись или выполнение (при передачах управления).