![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Свойство переносимости (или мобильности) ОС состоит в возможности переноса ее кода с процессора (в общем случае аппаратной платформы) одного типа на процессор (в общем случае аппаратную платформу) другого типа. Очевидно, что чем больше платформ поддерживает ОС, тем меньше проблем создает она конечному пользователю.
В действительности понятие переносимости уточняется следующим образом: возможен ли вообще перенос кода ОС с одной платформы на другую, и если возможен, то насколько сложно это сделать. Иначе говоря, речь скорее идет о степени переносимости.
Проблема переносимости тесно взаимосвязана со структуризацией компонентов ОС и обеспечением максимально возможного разделения аппаратно-зависимых и аппаратно-независимых компонентов и уменьшения числа первых, т.е. с архитектурой ОС.
Объем машинно-зависимых компонентов ОС зависит от различий в аппаратных платформах, для которых разрабатывается ОС. Чем сложнее преодолимы различия (система команд процессора, разрядность процессора, количество процессоров, наличие или отсутствие аппаратной поддержки виртуальной памяти и др.), тем больше объем таких компонентов и вероятность переписывания ОС практически заново.
Для уменьшения количества машинно-зависимых модулей производители ОС обычно ограничивают универсальность машинно-независимых модулей (например, в Windows NT число типов процессоров ограничено четырьмя и для однопроцессорных и многопроцессорных платформ существуют различные коды ядра).
В итоге реально говорить не о переносимости вообще, а о переносимости в рамках нескольких аппаратных платформ.
Принципы обеспечения переносимости
- Большая часть кода ОС должна быть написана на языке, трансляторы с которого имеются на всех машинах, куда предполагается переносить систему. Такими языками являются стандартизованные языки высокого уровня. Большинство современных переносимых ОС написано на языке Си.
Переносимость кода на ассемблере ограничена типами процессоров с одной и той же системой команд. В общем случае ассемблер используется для непереносимых частей системы, взаимодействующих с аппаратурой (обработчик прерываний) или обязанных обеспечивать максимальную скорость работы (арифметика повышенной точности).
Объем машинно-зависимых частей кода, взаимодействующих с аппаратурой, должен быть минимизирован. Для управления аппаратурой должен быть написан набор аппаратно-зависимых функций. Тогда при переносе ОС должны быть изменены только эти функции и данные (характеристики аппаратных средств), которыми они манипулируют.
Аппаратно-зависимый код должен быть сосредоточен (локализован) в нескольких модулях, а не распределен по всей системе.
В идеале слой машинно-зависимых компонентов должен полностью экранировать остальную часть ОС от аппаратной платформы, имитируя некую виртуальную аппаратуру, и все вышележащие слои могут быть написаны для управления этой виртуальной аппаратурой. Схема, иллюстрирующая идею переносимости, приведена на рис. 5.6.
Рисунок 5.6- Иллюстрация переносимости ОС
ЛИТЕРАТУРА
1. Андреев А. Г. и др. Microsoft Windows 2000 Server и Professio-nal / Под общ. ред. А.Н. Чекмарева иД.Б. Вишнякова. - СПб.: БХВ - Петербург, 2001. - 1056 с.: ил.
2. Андреев А. Г. и др. Microsoft Windows XP. Руководство администратора/ Под общ. ред. А. Н. Чекмарева. - СПб.: БХВ - Петербург, 2003. - 848 с.: ил.
3. Бэкон Д., Харрис Т. Операционные системы. - СПб.: Питер, 2004. - 800 с.: ил.
4. Вишневский А. В. Windows Server 2003. Для профессионалов. - СПб.: Питер, 2004. - 767 с.: ил.
5. Гордеев А.В. Операционные системы. - СПб.: Питер, 2005. - 418 с.: ил.
6. Гордеев А. В., Молчанов А. Ю. Системное программное обеспечение. - СПб.: Питер, 2001. - 736 с.: ил.
7. Назаров С. В. Администрирование локальных сетей Windows NT/2000/NET: Учеб. пособие. - М.: Финансы и статистика, 2003. - 478 с.: ил.
8. Новиков Ю., Черепанов А. Персональные компьютеры: аппаратура, системы, Интернет: Учебный курс. - СПб.: Питер, 2001.- 464 с.: ил.
9. Олаф Кирх. Linux: Руководство администратора сети. - СПб.: Питер, 2000. - 242 с.: ил.
10. Олифер В.Г., Олифер Н. А. Сетевые операционные системы. - СПб.: Питер, 2001. - 544 с.: ил.
11. Основы операционных систем: Курс лекций. / В. Е. Карпов, К. А. Коньков. - М.: ИНТУИТ.РУ «Интернет-Университет Информационных Технологий», 2004. - 632 с.: ил.
12. Партыка Т. Л., Попов И. И. Операционные системы, среды и оболочки. - М.: ФОРУМ - ИНФРА-М, 2005. - 400 с.: ил.
13. ТаненбаумЭ. Современные операционные системы. - СПб.: Питер, 2004. - 1040 с.: ил.
14. Таненбаум Э., М. ван Стеен. Распределенные системы. Принципы и парадигмы. - СПб.: Питер, 2003. - 877 с.: ил.
15. Ханикат Дж. Знакомство с Microsoft Windows Server 2003: Пер. с англ. - М.: Издательско-торговый дом «Русская Редакция», 2003. - 464 с.: ил.
16. Чекмарев А. Н., Вишневский А. В., Кокорева О. И. Microsoft Windows Server 2003. - СПб.: БХВ - Петербург, 2003. - 1184 с.: ил.
Дата публикования: 2015-10-09; Прочитано: 506 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!