Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Переносимость операционной системы




Если код операционной системы может быть сравнительно легко перенесен с процессора одного типа на процессор другого типа и с аппаратной платформы одного типа на аппаратную платформу другого типа, то такую ОС называют пе­реносимой (portable), или мобильной.

Хотя ОС часто описываются либо как переносимые, либо как непереносимые, мобильность — это не бинарное состояние, а понятие степени. Вопрос не в том, может ли быть система перенесена, а в том, насколько легко можно это сделать. Для того чтобы обеспечить свойство мобильности ОС, разработчики должны следовать следующим правилам.

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

2. Объем машинно-зависимых частей кода, которые непосредственно взаимодейст­вуют с аппаратными средствами, должен быть по возможности минимизиро­ван. Так, например, следует всячески избегать прямого манипулирования ре­гистрами и другими аппаратными средствами процессора. Для уменьшения аппаратной зависимости разработчики ОС должны также исключить возмож­ность использования по умолчанию стандартных конфигураций аппаратуры или их характеристик. Аппаратно-зависимые параметры можно «спрятать» в программно-задаваемые данные абстрактного типа. Для осуществления всех необходимых действий по управлению аппаратурой, представленной этими параметрами, должен быть написан набор аппаратно-зависимых функций. Каждый раз, когда какому-либо модулю ОС требуется выполнить некоторое действие, связанное с аппаратурой, он манипулирует абстрактными данными, используя соответствующую функцию из имеющегося набора. Когда ОС пе­реносится, то изменяются только эти данные и функции, которые ими мани­пулируют. Например, в ОС Windows NT диспетчер прерываний преобразует аппаратные уровни прерываний конкретного типа процессора в стандартный набор уровней прерываний IRQL, с которыми работают остальные модули операционной системы. Поэтому при переносе Windows NT на новую плат­форму нужно переписать, в частности, те коды диспетчера прерываний, кото­рые занимаются отображением уровней прерывания на абстрактные уровни IRQL, а те модули ОС, которые пользуются этими абстрактными уровнями, изменений не потребуют.

3. Аппаратно-зависимый код должен быть надежно изолирован в нескольких модулях, а не быть распределен по всей системе. Изоляции подлежат все час­ти ОС, которые отражают специфику как процессора, так и аппаратной плат­формы в целом. Низкоуровневые компоненты ОС, имеющие доступ к процес­сорно-зависимым структурам данных и регистрам, должны быть оформлены в виде компактных модулей, которые могут быть заменены аналогичными модулями для других процессоров. Для снятия платформенной зависимо­сти, возникающей из-за различий между компьютерами разных производите­лей, построенными на одном и том же процессоре (например, MIPS R4000), должен быть введен хорошо локализованный программный слой машинно-зависимых функций.

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

Домашнее задание: § конспект.

Закрепление материала:

Ответьте на вопросы:

1. Назовите группы вспомогательных модулей ОС ядра?

2. Какие функции выполняют модули ядра?

3. Назовите слои ядра ОС

4. Назовите набор средств аппаратной поддержки

5. Сформулируйте правила к которым необходимо придерживаться для создания мобильных ОС.

Литература:

a. Богумирский Б. Энциклопедия Windows 98 (второе издание). — СПб.: Питер, 1999,896с.

b. Борланд Р. Знакомство с Windows 98. — М.: Microsoft Press Русская редакция,

c. 1997,376с.

d. Борланд Р. Эффективная работа с Word 97. - СПб.: Питер, 1998,960 с.

e. Коварт Р., Уотерс Б. Windows NT Server 4: Учебный курс. — СПб.: Питер, 1999, 448с.

f. Мэтьюз М. Windows 98: Книга ответов. - СПб.: Питер, 1999, 464 с.

g. Немнюгин С. Pascal: Учебный курс. — СПб.: Питер, 1999.

h. Новейший самоучитель работы на компьютере. Под ред. Симоновича С. — М.: Десс; Инфорком-Пресс, 1999,656 с.

i. Нортон П., Мюллер Дж. Windows 98: энциклопедия системных ресурсов. — СПб.: BHV-Санкт-Петербург, 1998,578 с.

 




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


Дата добавления: 2014-01-13; Просмотров: 543; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.