Главная » Все файлы » Просмотр файлов из архивов » Документы » Операционные системы учебное пособие

Операционные системы учебное пособие

2018-01-12СтудИзба

Описание файла

Документ из архива "Операционные системы учебное пособие", который расположен в категории "". Всё это находится в предмете "операционные системы" из 7 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "операционные системы" в общих файлах.

Онлайн просмотр документа "Операционные системы учебное пособие"

Текст из документа "Операционные системы учебное пособие"

Архитектура операционной системы

Любая сложная система должна иметь понятную и рациональную структуру, или делиться на модули, имеющие законченное функциональное назначение с четко оговоренными правилами взаимодействия. Ясное понимание каждого модуля существенно упрощает его понимание и развитие.

Широкая функциональность ОС неизбежно приводит к сложности ее архитектуры, под которой понимают структурную организацию ОС на основе различных модулей. Обычно в состав ОС входят исполняемые модули и объектные модули стандартных для данной ОС форматов, библиотеки разных типов, программные модули специальных формата (например, загрузчик и драйверы), конфигурационные файлы, документация и т.д.

Большинство современных ОС представляют собой хорошо структурированные модульные системы, способные к развитию, расширению и переносу на другие платформы. Какой либо единой архитектуры ОС не существует, но есть универсальные подходы к структурированию ОС.

Ядро и вспомогательные модули

В состав ядра входят функции решающие внутрисистемные задачи организации вычислительного процесса, такие как переключение контекстов, загрузка станиц, обработка прерываний. Эти функции недоступны для приложений. Другой задачей ядра является поддержка приложений, использую так называемую прикладную программную среду. Приложения могут обращаться к ядру с запросами - системными вызовами - для выполнения тех или иных действий. Функции ядра которые могут быть вызваны приложениями образуют интерфейс прикладного программирования -API.

Функции которые выполняет ядро наиболее часто востребованы, поэтому скорость их выполнения определяет производительность системы в целом. Для обеспечения высокой скорости работы ОС все модули ядра или большая их часть находятся постоянно в памяти, то есть являются резидентными.

Обычно ядро оформляется в виде программного модуля некоторого специального формата, отличающегося от формата пользовательских приложений.

Остальные модули ОС выполняют полезные, но менее обязательные функции. Решение о принадлежности программы к ОС принимает производитель.

Вспомогательные модули ОС обычно подразделяют на следующие группы:

Утилиты - программы, решающие задачи управления и сопровождения компьютерной системы.

Системные обрабатывающие программы -текстовые и графические редакторы, компиляторы и т.д.

Программы предоставления пользователю дополнительных услуг- специальный вариант пользовательского интерфейса или игры.

Библиотеки процедур различного назначения, упрощающие разработку приложений. Разделение ОС на ядро и модули обеспечивает легкую расширяемость.

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

Важным свойством ОС основанной на ядре, является возможность защиты кодов и данных ОС за счет выполнения функций ядра в привилегированном режиме.

Ядро

  • Работает в привилегированном режиме, защищено от приложений пользователя

  • Распределяет основные ресурсы системы

  • Выполняет роль арбитра в споре приложений за ресурсы

  • Аппаратура компьютера должна поддерживать как минимум два режима работы:

    • Режим пользователя

    • Режим супервизора

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

Для обеспечения уровней привилегий, без поддержки аппаратуры - не обойтись. Аппаратура должна поддерживать как минимум для режима - пользовательский и привилегированный режим.

Многослойная структура ОС



Система под управлением ОС на основе ядра

Характеристики многослойного подхода:

  • Универсальность

  • Каждый слой обслуживает вышележащий

Достоинства:

  • Упрощается разработка

  • Наращиваемость

Вычислительную систему, работающую под управлением ОС на основе ядра, можно рассматривать как систему, из трех иерархически расположенных слоев: нижний слой образует аппаратура, промежуточный - ядро, а утилиты составляют верхний слой.

При такой организации приложения не могут напрямую взаимодействовать с аппаратурой, а только через слой ядра.



Состав ядра

Средства аппаратной поддержки ОС. До сих пор говорилось о ОС как о комплексе программ, но вообще часть функций ОС может выполняться аппаратными средствами. К ОС относят не все аппаратные устройства компьютера, а только те которые прямо участвуют в организации вычислительных процессов: средства поддержки привилегированного режима, систему прерываний, средства переключения контекстов процессов, средства защиты областей памяти и т.д.

Машинно-зависимые компоненты ОС. Этот слой образуют программные модули, в которых отражается специфика аппаратной платформы компьютера. В идеале этот слой полностью изолирует вышележащие слои ядра от особенностей аппаратуры. Это позволяет разрабатывать вышележащие слои на основе машинно-независимых модулей, существующих в одном экземпляре для всех типов аппаратных платформ. Пример - HAL в ОС Windows 2000.

Базовые механизмы ядра. Этот слой выполняет наиболее примитивные операции ядра, например, диспетчеризацию прерываний, перемещение страниц памяти на диск. Модули данного слоя не принимают решений они только выполняют решения сверху, что позволяет называть их исполнительным механизмом или механизмами.

Менеджеры ресурсов. Этот слой состоит их мощных функциональных модулей, реализующих стратегические задачи по управлению ресурсами вычислительной системы. Обычно здесь представлены менеджеры процессов, ввода-вывода (в/в), файловой системы и оперативной памяти. Внутри слоя менеджеров существуют тесные взаимосвязи, отражающие факт, что для выполнения процессу нужен доступ одновременно к нескольким ресурсам. Например при создании процесса менеджер процессов обращается к менеджеру памяти для того чтобы тот выделил определенную область памяти для его кодов и данных.

Типовые средства аппаратной поддержки

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

Четкой границы между программой и аппаратной реализацией функций ОС не существует - решение о том какие функции ОС будут выполняться программно, а какие аппаратно, принимается разработчиками. Однако почти все современные аппаратные платформы имеют некоторый типовой набор средств аппаратной поддержки ОС.

Средства поддержки привилегированного режима обычно основаны на системном регистре процессора. Этот регистр содержит признаки, определяющие режимы работы процессора, в том числе текущий уровень привилегий. Число градаций привилегированности может быть разным у разных процессоров, наиболее часто используется два уровня (ядро-пользователь) или четыре. В обязанности средств поддержки привилегированного режима входит выполнение проверки допустимости выполнения программой инструкции процессора.

Средства трансляции адресов выполняют операции преобразования виртуальных адресов в физические. Таблицы преобразования обычно имеют большой объем, поэтому для их хранения используется оперативная память, а аппаратура процессора содержит только указатели на это области. Средства трансляции адресов используют данные указатели для доступа к элементам таблиц и аппаратного выполнения алгоритма преобразования адреса.

Средства переключения процессов предназначены для быстрого сохранения контекста приостанавливаемого процесса и восстановления контекста восстанавливаемого процесса. Содержимое контекста обычно включает содержимое всех регистров общего назначения, регистра флагов операций, и системных регистров и указателей которые связаны с данным процессом.

Переключение контекста выполняется по определенным командам процессора.

Система прерываний позволяет компьютеру реагировать на внешние события, синхронизовать выполнение процессов и работу устройств в/в.

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

Системный таймер, часто реализуемый в виде быстродействующего регистра-слетчика, необходим ОС для выдержки интервалов времени. Частота пиков таймера, связана частой тактового генератора процессора. При достижении нулевого значения счетчика таймер инициирует прерывание, которое обрабатывается процедурой ОС. Например в системе разделения времени при обработке очередного прерывания от таймера планировщик процессов может принудительно передать управление другому процессу, если данный процесс исчерпал выделенный ему квант времени.

Средства защиты областей памяти обеспечивают на аппаратном уровне проверку возможности программного кода осуществлять с данными определенной области памяти такие операции, как чтение, запись или выполнение. Если аппаратура компьютера поддерживает механизм трансляции адресов, то средства защиты областей памяти встраиваются в этот механизм. Функции аппаратуры по защите памяти обычно состоят в сравнении уровней привилегий текущего кода процессора и сегмента памяти, к которому производится обращение.

Машинно-зависимые компоненты ОС

  • Установка ОС без изменений на разные аппаратные платформы практически невозможна:

    • Количество и тип прерываний

    • Состав регистров

    • Особенности подключения внешних устройств

  • Объем машинно-зависимых компонент ОС зависит от разницы в аппаратных платформах на которых ОС работает

    • 32 битная ОС и 16 битный процессор

    • Система команд процессора

    • Количество процессоров

    • Отсутствие поддержки виртуальной памяти

  • Драйверы занимают особое место среди модулей ядра

  • Для компьютеров использующих процессоры х86 задачу упрощает BIOS

Опыт разработки ОС показывает: ядро можно спроектировать таким образом, что только часть модулей будут машинно-зависимыми. В хорошо структурированном ядре машинно-зависимые модули локализованы и образуют программный слой, естественно примыкающий к слою аппаратуры.

Объем машинно-зависимых компонентов ОС зависит от того, насколько велики отличия в аппаратных платформах, для которых разрабатывается ОС. Например, ОС, построенную на 32-битных адресах, для переноса на 16-битную систему придется полностью переписать. Одно из очевидных отличий - несовпадение системы команд процессоров - преодолевается достаточно просто. ОС программируется на языке высокого уровня, а затем соответствующим компилятор вырабатывается код для конкретного типа процессора.

Однако различия обычно глубже, например, поддержка или нет многопроцессорности, требует использования совершенно разных алгоритмов распределения процессорного времени.

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

Для х86 компьютеров разработка экранирующего слоя упрощается наличием BIOS. BIOS содержит драйверы для всех устройств входящих в базовую конфигурацию компьютера: FDD и HDD, клавиатуры, дисплея и т.д. Разработчики ОС могут использовать BIOS для работы с этими устройствами или нет.



Переносимость ОС

Для обеспечения мобильности ОС используются следующие правила:

  • Большая часть кода пишется на языках, трансляторы которых есть для всех платформ

  • Минимизация машинно-зависимого кода

  • Аппаратно-зависимый код должен быть изолирован в нескольких модулях

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



Микроядерная архитектура



Микроядерная архитектура

Микроядерная архитектура является альтернативой классическому способу построения ОС. Под классической архитектурой понимается рассмотренная выше структурная организация ОС, в соответствии с которой все основные функции ОС, составляющие многослойное ядро, выполняются в привилегированном режиме. При этом некоторые вспомогательные функции ОС оформляются в виде приложений, выполняющихся в пользовательском режиме. Каждое приложение пользовательского режима работает в собственном адресном пространстве и защищено от вмешательства. Код ядра имеет доступ ко всей памяти, но сам полностью защищен. Приложения обращаются к ядру с запросами на выполнение системных функций.

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

Все остальные функции ядра оформляются в виде приложений, работающих в пользовательском режиме.

Работающие в пользовательском режиме менеджеры имеют принципиальные отличия от традиционных утилит. Утилиты вызываются в основном пользователями, а для микроядерной архитектуры менеджеры вытесненные в пользовательский режим нужны часто для работы других приложений, поэтому они называются серверами ОС. Для микроядерной архитектуры необходимо наличие в ОС удобного эффективного способа вызова процедур одного процесса из другого. Поддержка такого механизма и является одной из главных задач миктоядра.

Преимущества и недостатки микроядерной архитектуры

  • Достоинства:

    • Переносимость

    • Расширяемость

    • Надежность

    • Поддержка распределенности

  • Недостатки:

    • Снижение производительности

ОС, основанные на концепции микроядра, в высокой степени удовлетворяют большинству требований, предъявляемых к современным ОС, обладая переносимостью, расширяемостью, надежностью и создавая хорошие предпосылки для поддержки распределенных приложений. За данные достоинства приходится платить снижением производительности, и это основной недостаток.

Высокая степень переносимости обусловлена тем, что весь машинно-зависимый код изолирован в микроядре.

Расширяемость присуща микроядерной ОС в очень высокой степени. В традиционных системах сложно удалить один слой и поменять его на другой по причине множественности и размытости интерфейсов между слоями. Обычно традиционные ОС позволяют динамически добавлять в ядро или удалять только драйвера устройств. При микроядерном подходе конфигурировать ОС не вызывает никаких проблем и не требует особых мер - достаточно изменить файл с начальной конфигурации системы или остановить ненужные серверы.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее