Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Аппаратная зависимость и переносимость ОС.Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Многие ОС успешно работают на различных аппаратных платформах без существенных изменений в своем соответствии. Во многом это объясняется тем, что средства аппаратной поддержки на большинстве компьютеров имеют много типовых черт, а именно эти средства в первую очередь влияют на работу компонентов ОС. В результате в ОС можно выделить довольно компактный слой машино-зависимых компонентов ядра и сделать остальные слои ОС общими для разных аппаратных платформ.
Типовые средства поддержки ОС. · Средства поддержки привилегированного режима, обычно основано на системном регистре процессора, который содержит некоторые признаки, определяющие режимы работ процессора. · Средства трансляции адресов выполняют операции преобразования виртуальных адресов, которые содержатся в кодах процессора, в адреса физической памяти. · Средства переключения процессов служат для быстрого сохранения контекста приостанавливаемого процесса и восстановления процесса, который становиться активным. · Система прерываний позволяет компьютеру реагировать на внешние события, синхронизировать выполнение процессов и работу устройств ввода/вывода. · Системный таймер (счетчик времени) необходим ОС для выдержки интервалов времени. Прерывания от системного таймера используются ОС в первую очередь для слежения за тем, как отдельные процессы расходуют время процессора. · Средства защиты областей памяти обеспечивают на аппаратном уровне проверку возможностей программного кода осуществлять с данными в определенной области памяти такие операции, как чтение, запись или выполнение (при передачах управления). (Процессор контролирует где в памяти хранятся переменные, данные, а где - код, чтобы не записать в область памяти, где расположен код, данные, или какое-нибудь значение. В этом случае процессор должен сообщить об ошибке. В области данных хранятся глобальные (статические) переменные. В области памяти, которая отводится для какого-то процесса, хранятся машинные команды. Автоматические переменные хранятся в области стека, для каждого процесса создается свой стек, там же хранятся параметры функции и локальные переменные).
Машино-зависимые компоненты ОС. На разработку таких компонентов влияют следующие характеристики аппаратуры: - ширина шины адреса (16, 32, 64. Чем больше каналов, тем больше можно адресовать, т.е. обратиться к большему числу ячеек памяти 216, 232= 4 миллиарда ячеек, если 264 - то нужны новые процессоры). - число процессов (1,2,4,8, на супер-компьютерах - сотни процессоров). - наличие/отсутствие поддержки виртуальной памяти и др.
Переносимость ОС. Если код ОС может быть сравнительно легко перенесен с процессора одного типа на процессор другого типа и аппаратной платформы одного типа на платформу другого типа, то такую ОС называют переносимой. Переносимость имеет не 2 состояния - есть/не, присутствует в большей или меньшей степени. Для обеспечения следует придерживаться таких правил:
1. Большая часть кода должна быть на языке, трансляторы которого есть на всех платформах, куда предполагается переносить ОС. Как правило, используется язык высокого уровня Си. 2. Объем машинно-зависимых частей кода должен быть минимизирован. 3. Аппаратно-зависимый код должен быть изолирован в нескольких модулях, а не распределен по всей системе.
Микроядерная архитектура.
Микроядерная архитектура является альтернативой классическому способу построения ОС, рассмотренному выше. При классическом способе все основные функции, составляющие многослойное ядро, выполняются в привилегированном режиме. При микроядерном подходе в привилегированном режиме остается работать только небольшая часть ОС, называемая микроядром. В его состав обычно входят машинно-зависимые модули, также модули, выполняющие базовые (но не все) функции ядра по управлению процессами, обработке прерываний, управлению виртуальной памятью, управлению устройствами ввода/вывода, связанные с загрузкой или чтением регистров устройств. Набор функций микроядра обычно соответствует функциям слоя базовых механизмов обычного ядра. Все другие более высокоуровневые функции ядра оформляются в виде приложений, работающих в пользовательском режиме. Например, менеджеры ресурсов; файловая система, подсистема управления процессами, виртуальной памятью и т.д. Такие менеджеры, работающие в пользовательском режиме, называются серверами ОС. Поскольку одно приложение не может обращаться к функциям другого, то все приложения обращаются к серверам ОС через микроядро, которое имеет доступ к адресным пространствам всех процессов и служит посредником при общении процессов с серверами ОС. Таким образом, микроядерная архитектура ОС соответствует модели клиент–сервер.
Приложения пользователей файловый сервер сетевой сервер
пользовательский режим
сообщение запрос сообщение ответ
Рис 6. Реализация системного вызова в микроядерной архитектуре.
Преимущества микроядерной архитектуры: - высокая степень переносимости; - расширяемость (в очень высокой степени). Добавление новой подсистемы сводится к разработке нового приложения не затрагивая ядро; - -высокая конфигурируемость (можно легко отключать ненужные серверы ОС); - повышенная надежность ОС (крах одного из серверов ОС не вызывает краха всей ОС, так как он может быть перезапущен; малый объем ответственного кода, который легче отладить); - пригодность для поддержки распределенных вычислений (т.к. используется механизмы, аналогичные сетевым, т.е. взаимодействие клиентов и серверов путем обмена сообщениями). Недостаток микроядерной архитектуры - более низкая производительность. Поскольку при классической архитектуре выполнение системных вызовов сопровождается двумя преключениями режимов, а при микроядерной архитектуре - четырьмя.
|
||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2017-02-07; просмотров: 549; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.146 (0.008 с.) |