Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpora_001.docx
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
5.16 Mб
Скачать

10 Операционные системы

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

Требования к ОС: -Эффективность -Надежность и отказоустойчивость- Безопасность -Предсказуемость Расширяемость-Переносимость-Совместимость-Удобство

С 1990-х наиболее распространёнными операционными системами являются ОС семейства Microsoft Windows и системы класса UNIX (особенно Linux).

Основные функции ОС:

  • Загрузка приложений в оперативную память и их выполнение;

  • Стандартизованный доступ к периферийным устройствам (устройствам ввода-вывода);

  • Управление оперативной памятью;

  • Управление энергонезависимой памятью (жесткий диск, компакт-диски и т.д.), как правило, с помощью файловой системы;

  • Пользовательский интерфейс.

Дополнительные функции ОС:

  • Параллельное или псевдопараллельное выполнение задач (многозадачность);

  • Взаимодействие между процессами;

  • Межмашинное взаимодействие (компьютерная сеть);

  • Защита самой системы, а также пользовательских данных и программ от вредоносных действий пользователей или приложений;

  • Разграничение прав доступа и многопользовательский режим работы (аутентификация, авторизация).

11 Архитектура ос. Ядро в привилегированном режиме.

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

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

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

Каждое приложение работает в своем адресном пространстве, что позволяет локализовать некорректно работающее приложение таким образом, чтобы его ошибки не оказывали влияния на другие приложения и операционную систему. Между количеством уровней привилегий, реализуемых аппаратно, и количеством уровней привилегий, поддерживаемых операционной системой, нет прямого соответствия. Например, на базе четырех уровней, обеспечиваемых процессорами компании Intel, операционная система OS/2 строит трехуровневую систему привилегий, а операционная система Windows NT, UNIX и некоторые другие ограничиваются двухуровневой системой.

Архитектура операционной системы, основанная на привилегированном ядре и приложениях пользовательского режима, стала классической. Ее используют многие популярные операционные системы: версии UNIX, VAX VMS, IBM OS/390, OS/2 и Windows NT (с определенными модификациями).

12 Многослойная структура операционной системы.

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

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

● Средства аппаратной поддержки операционной системы

● Машинно-зависимые компоненты операционной системы

● Слой базовых механизмов ядра

● Менеджеры ресурсов – слой состоит из мощных функциональных модулей

● Интерфейс системных вызовов – самый верхний слой ядра, который взаимодействует непосредственно с приложениями и системными утилитами

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

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

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

13 Архитектура ОС. Микроядерная структура.

Микроядро

Основная статья: Микроядро

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

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

Недостатки: Передача данных между процессами требует накладных расходов.

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

Сервисные процессы (в принятой в семействе UNIX терминологии — «демоны») активно используются в самых различных ОС для задач типа запуска программ по расписанию (UNIX и Windows NT), ведения журналов событий (UNIX и Windows NT), централизованной проверки паролей и хранения пароля текущего интерактивного пользователя в специально ограниченной области памяти (Windows NT). Тем не менее, не следует считать ОС микроядерными только из-за использований такой архитектуры.

Примеры: Symbian OS; Windows CE; OpenVMS; Mach, используемый в GNU/Hurd и Mac OS X; QNX; AIX; Minix; ChorusOS; AmigaOS; MorphOS.

14 Классификация ОС

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

Классификация ОС:

  1. По назначению различают: универсальные и спец-е.

  2. По способу загрузки: загружаемые, постоянно нах-ся в памяти.

  3. По особенностям алгоритма:

  1. Поддержка многозадачности: однозадачные и многозадачные.

  2. Поддержка многопользовательского режима: однопользовательские и многопользовательские.

  3. Многопроцессорная обработка: с поддержкой(window с 95, unix) и без поддержки(MS-DOS).

  4. По аппаратной платформе:

  1. ОС для смарт карт(одна операция)

  2. Встроенная ОС

  3. ОС для ПК

  4. ОС больших машин

  5. Серверные ОС

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]