Составители:
системы. Прерывания от системного таймера используются ОС в первую
очередь для слежения за тем, как отдельные процессы расходуют время
процессора.
Средства защиты областей памяти обеспечивают на аппаратном
уровне проверку возможности программного кода осуществлять с данными
определенной области памяти такие операции, как чтение, запись или
выполнение (при передачах управления). Если аппаратура компьютера
поддерживает механизм трансляции адресов, то средства защиты областей
памяти встраиваются в этот механизм. Функции аппаратуры по защите
памяти обычно состоят в сравнении уровней привилегий текущего кода
процессора и сегмента памяти, к которому производится обращение.
1.4.2 Переносимость ОС
Опыт разработки операционных систем показывает: ядро можно
спроектировать таким образом, что только часть модулей будут
машинно-зависимыми, а остальные не будут зависеть от особенностей
аппаратной платформы. В хорошо структурированном ядре машинно-
зависимые модули локализованы и образуют программный слой, естественно
примыкающий к слою аппаратуры, как это и показано на рис. 3.8. Такая
локализация машинно-зависимых модулей существенно упрощает перенос
операционной системы на другую аппаратную платформу.
Переносимая (portable) или мобильная ОС – система код которой
может быть сравнительно легко перенесен с аппаратной платформы
одного типа на аппаратную платформу другого типа.
Для обеспечения свойства мобильности ОС, разработчики должны
следовать следующим правилам:
− Большая часть кода должна быть написана на языке,
трансляторы которого имеются на всех машинах, куда
предполагается переносить систему. Такими языками являются
стандартизованные языки высокого уровня. Большинство
переносимых ОС написано на языке С, который имеет много
особенностей, полезных для разработки кодов операционной
системы, и компиляторы которого широко доступны. Ассемблер
используется только для тех непереносимых частей системы,
которые должны непосредственно взаимодействовать с аппаратурой
(например, обработчик прерываний), или для частей, которые
требуют максимальной скорости (например, целочисленная
арифметика повышенной точности).
− Объем машинно-зависимых частей кода, которые непосредственно
взаимодействуют с аппаратными средствами, должен быть по
возможности минимизирован. Следует всячески избегать прямого
манипулирования регистрами и другими аппаратными средствами
21
системы. Прерывания от системного таймера используются ОС в первую
очередь для слежения за тем, как отдельные процессы расходуют время
процессора.
Средства защиты областей памяти обеспечивают на аппаратном
уровне проверку возможности программного кода осуществлять с данными
определенной области памяти такие операции, как чтение, запись или
выполнение (при передачах управления). Если аппаратура компьютера
поддерживает механизм трансляции адресов, то средства защиты областей
памяти встраиваются в этот механизм. Функции аппаратуры по защите
памяти обычно состоят в сравнении уровней привилегий текущего кода
процессора и сегмента памяти, к которому производится обращение.
1.4.2 Переносимость ОС
Опыт разработки операционных систем показывает: ядро можно
спроектировать таким образом, что только часть модулей будут
машинно-зависимыми, а остальные не будут зависеть от особенностей
аппаратной платформы. В хорошо структурированном ядре машинно-
зависимые модули локализованы и образуют программный слой, естественно
примыкающий к слою аппаратуры, как это и показано на рис. 3.8. Такая
локализация машинно-зависимых модулей существенно упрощает перенос
операционной системы на другую аппаратную платформу.
Переносимая (portable) или мобильная ОС – система код которой
может быть сравнительно легко перенесен с аппаратной платформы
одного типа на аппаратную платформу другого типа.
Для обеспечения свойства мобильности ОС, разработчики должны
следовать следующим правилам:
− Большая часть кода должна быть написана на языке,
трансляторы которого имеются на всех машинах, куда
предполагается переносить систему. Такими языками являются
стандартизованные языки высокого уровня. Большинство
переносимых ОС написано на языке С, который имеет много
особенностей, полезных для разработки кодов операционной
системы, и компиляторы которого широко доступны. Ассемблер
используется только для тех непереносимых частей системы,
которые должны непосредственно взаимодействовать с аппаратурой
(например, обработчик прерываний), или для частей, которые
требуют максимальной скорости (например, целочисленная
арифметика повышенной точности).
− Объем машинно-зависимых частей кода, которые непосредственно
взаимодействуют с аппаратными средствами, должен быть по
возможности минимизирован. Следует всячески избегать прямого
манипулирования регистрами и другими аппаратными средствами
21
Страницы
- « первая
- ‹ предыдущая
- …
- 19
- 20
- 21
- 22
- 23
- …
- следующая ›
- последняя »
