
- •IV поколение 5
- •Состав и назначение ос
- •I поколение (50 годы)
- •II поколение (начало 60 годов)
- •III поколение
- •IV поколение
- •Общая теория ос.
- •Функции ос при управлении памятью:
- •Причины включения системы в ос
- •Стратегии разработки файловой системы
- •Функции системы управления файлами
- •Организация хранения файлов
- •Методы доступа
- •Система управления базами данных
- •Архитектура ос
- •Структура ос.
- •Операционные системы Windows.
- •Операционные системы Windows nt.
- •Файловые системы.
- •Журналирование в ntfs.
- •Сравнительные характеристики ntfs и fat.
Структура ос.
Вычислительная система, работающая под управлением ОС на основе ядра, рассматривается как многослойная структура. Пример 3 слойная: 3-утилиты и обрабатывающие программы; 2-ядро; 1 аппаратура. Отдельный модуль может выполнить свою работу самостоятельно или обратиться к другому модулю своего слоя или обратиться за помощью к ниже лежащему слою через межслойный интерфейс. Ядро можно рассмотреть как несколько слоев
Слои ядра:
Средства аппаратной поддержки. Самый распространенный вид-это система прерываний, средства защиты памяти.
Машинно-зависимые компоненты. Этот слой экранирует вышележащие слои от особенности аппаратуры, т.е. вышележащие слои должны быть аппаратно-независимыми.
Базовые механизмы ядра. Пример: программное переключение процесса, диспетчеризация прерываний, перемещение страниц (из памяти ни диск и обратно). Модули этого слоя не принимают решений о распределении ресурсов, они образуют принятые на веру решения.
Менеджеры ресурсов. Этот слой образован модулями, которые реализуют стратегические задачи управления основными ресурсами. Пример: менеджер или диспетчер процесса, ввод/вывод файловой системы, оперативная память.
Интерфейс системных вызовов. Этот верхний слой ядра непосредственно взаимодействует с приложениями и системными утилитами, образуя прикладной программный интерфейс операционной системы. Пример: операционная система ”Юникс” имеет не упорядоченное ядро с небольшим количеством четко выделенных слоев. Операционная система Windows NT ядро разделено на большое количество слоев и взаимодействие формализовано в большей степени.
Аппаратная зависимость и переносимость операционной системы.
Многие операционные системы работают на различных аппаратных платформах без существенных изменений в своем составе.
Типовые средства аппаратной поддержки операционной системы.
Аппаратные платформы имеют набор средств аппаратной поддержки ОС:
1.Средства поддержки привилегированного режима
2. Средства трансляции адресов (страничная сегментация…)
3. Средства переключения процессов
4. Системы прерываний
5. Средства защиты областей памяти
3. запомнить состояния всех регистров процессора и восстановить состояния всех регистров процессора.
Машинно-зависимые компоненты.
Одной и той же ОС без изменений не может устанавливаться на компьютерах с различным типом процессора или различной архитектурой. Операционную систему можно спроектировать так, что часть модулей будут машинозависисимыми, а остальные не будут зависеть от аппаратуры.
Если код операционной системы легко переносится с процессора одного типа на другой, то такую операционную систему называют переносимой или мобильной. Для обеспечения переносимости разработчики операционных систем должны придерживаться следующих правил:
Большая часть кода должна быть написана на языке трансляторы с которого имеется на всех машинах.
Должна исключаться возможность по умолчанию использовать стандартные конфигурации аппаратуры. Для осуществления действий по управлению аппаратурой должен быть написан набор аппаратно-зависимых функций. Пример:Windows NT диспетчер прерываний, преобразует аппаратные уровни прерываний конкретного процессора в стандартный набор прерываний с которым работают модули операционной системы.
Аппаратнозависимый код должен быть надежно изолирован в нескольких модулях, а не распределен по всей системе. У разработчика появляется возможность создать вариант машинно независимой части операционной системы.
Микроядерная архитектура.
Альтернатива классической архитектуре. В привилегированном режиме остается работать небольшая часть операционной системы, которая называется микроядро. В состав микроядра входят модули, выполняющие некоторые базовые функции - управление процессами, обработка прерываний и т.д. Набор функций микроядра соответствует функциям базовых механизмов обычного ядра. Эти функции невозможно выполнить в пользовательском режиме. Остальные функции оформляются в виде приложений. Работающие в пользовательском режиме менеджеры ресурсов имеют принципиальные отличия от традиционных обрабатывающих программ и утилит, хотя и оформлены они в виде приложений. Возникают случаи, когда одному приложению требуются функции другого приложения. В операционной системе с микроядерной архитектурой поддерживается этот режим Менеджеры ресурсов, вынесенные в пользовательский режим, называются серверами операционных систем. Их назначение обслуживание запросов локальных приложений.
Достоинства и недостатки микроядерной архитектуры:
(+)ОС построеные на концепции микроядерной архитектуры, удовлетворяют большинству современных требований.
-переносимость
-расширяемость
-надежность
-поддержка распределенных приложений.
(-) снижение производительности.
(+) высокая степень расширяемости. Добавление новых функций требует разработки нового приложения и не затрагивает микроядро.
Каждый сервер выполняется в виде отдельного процесса в собственной области памяти и поэтому защищен от других серверов - надежность.
Операционная система с микроядром подходит для поддержки механизма распределенных вычислений, т.к. использует механизмы аналогичные сетевым.
Серверы микроядерной операционной системы могут работать как на одном, так и на различных компьютерах.
При выполнении системного вызова: в классической два переключения, в микроядерной - четыре.
Совместимость и множественные прикладные среды.
Архитектурные особенности операционных систем касаются разработчика операционной системы и системного программиста, концепция множественных прикладных сред связана с конечными пользователями. Множественность – возможность выполнить приложения, написанные для других операционных систем или совместимость. Двоичная совместимость машинный код программы выполняется под управлением другой операционной системы. Совместимость на уровне исходного текста – важна для разработчиков приложений. Двойственная совместимость зависит от архитектуры процессора и набора команд, если процессор использует тот же набор команд, то двоичная совместимость достигается при следующих условиях:
вызов функции API прикладных программ интерфейса, которая содержит данное приложение, должно поддерживаться операционной системой.
внутренняя структура исполняемого файла приложения должна соответствовать структуре исполняемых файлов данной операционной системы.
Команды одной ЭВМ могут эмулироваться компонентами ОС других ЭВМ. Для повышения производительности используют трансляцию библиотек. Эффективность этого подхода связана с использованием графического интерфейса пользователя во многих операционных системах.
Тщательно спроектированная прикладная программная среда имеет в своем составе библиотеки реализующие функции графического интерфейса, замена эмуляции на непосредственное выполнение программ значительно повышает производительность, совместимость на уровне API недостаточна для полной совместимости приложений.
Способы реализации прикладных программных средств.
Создание полноценной прикладной среды полностью совместимой со средой другой операционной системы – сложная задача, тесно связанная со структурой операционных систем. Создание множественной прикладной среды обеспечивается особенностями архитектуры решений и функциональными возможностями.
При микроядерной архитектуре все функции операционных систем реализуются микроядром и серверами пользовательского режима. Прикладная среда оформляется в виде отдельного сервера пользовательского режима и не включает базовых механизмов. Приложения, используя API, обращаются с системными вызовами к соответствующей прикладной среде через микроядро. Прикладная среда обрабатывает запрос, выполняет его, обращаясь к базовым функциям микроядра, и отправляет результат приложению. При выполнении запроса возможно обращение к базовым механизмам, которые реализуются другими серверами операционных систем.
Достоинства и недостатки микроядерной архитектуры при конструировании множественных прикладных сред.
просто исключать и добавлять прикладные среды
надежность и стабильность
низкая производительность микроядерных операционных систем, поэтому она уменьшает производительность прикладной среды.