Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект обзорных лекций.ВС.ОС.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
221.18 Кб
Скачать

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

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

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

  1. модульная организация;

  2. функциональная избыточность;

  3. функциональная избирательность;

  4. параметрическая универсальность;

  5. концепция многоуровневой иерархической вычислительной системы, по которой ОС представляется многослойной структурой;

  6. разделение модулей на 2 группы по функциям: ядро - модули, выполняющие основные функции ОС, и модули, выполняющие вспомогательные функции ОС;

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

  8. реализация двух режимов работы вычислительной системы: привилегированного режима (или режима ядра - Kernel mode), или режима супервизора (supervisor mode), и пользовательского режима (user mode), или режима задачи (task mode);

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

Первые ОС разрабатывались как монолитные системы без четко выраженной структуры.

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

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

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

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

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

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

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

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

В то же время признаны следующие достоинства микроядерной архитектуры:

  • единообразные интерфейсы;

  • простота расширяемости;

  • высокая гибкость;

  • возможность переносимости;

  • высокая надежность;

  • поддержка распределенных систем;

  • поддержка объектно-ориентированных ОС.

Сетевые операционные системы, структура сетевой операционной системы: средства управления локальными ресурсами компьютера, сетевые средства (серверная часть, клиентская часть, транспортные средства). Требования, предъявляемые к сетевым операционным системам.

Термин «сетевая операционная система» используется в двух значениях: во-первых, как совокупность ОС всех компьютеров сети и, во-вторых, как операционная система отдельного компьютера, способного работать в сети.

В структуре сетевой ОС можно выделить следующие основные функциональные компоненты:

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

2. Сетевые средства, содержащие три основных компонента:

  • средства предоставления локальных ресурсов и услуг в общее пользование - серверная часть ОС;

  • средства запроса доступа к удаленным ресурсам и услугам - клиентская часть ОС;

  • транспортные средства ОС, которые совместно с коммуникационной системой обеспечивают передачу сообщений между компьютерами сети.

Правила взаимодействия компьютеров при передаче сообщений по сети заложены в коммуникационные протоколы (Ethernet, Token Ring, IP, IPX и пр.), которые должны быть общими для всех компьютеров сети..

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

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

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

  • компьютер, обращающийся с запросами к ресурсам другой машины, исполняет роль клиентского узла;

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

Сеть может быть построена по одной из трех следующих схем:

  • сеть на основе одноранговых узлов - одноранговая сеть;

  • сеть на основе клиентов и серверов - сеть с выделенными серверами;

  • сеть, включающая узлы всех типов, - гибридная сеть.

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

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

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

Единственным по-настоящему важным отличием распределенных систем от централизованных является способ взаимодействия процессов. Межпроцессное взаимодействие может осуществляться двумя способами:

  • с помощью совместного использования одних и тех же данных, помещенных в разделяемую память;

  • путем передачи данных друг другу в виде сообщений.

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

В заголовке содержатся следующие элементы:

  • адреса процесса-отправителя и процесса-получателя;

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

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

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

Требования, предъявляемые к сетевым операционным системам:

  1. органичная поддержка многосерверной сети;

  2. высокая эффективность файловых операций;

  3. возможность эффективной интеграции с другими ОС;

  4. наличие централизованной масштабируемой справочной службы;

  5. хорошие перспективы развития;

  6. эффективная работа удаленных пользователей;

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

  8. разнообразные программно-аппаратные хост-платформы;

  9. разнообразные транспортные протоколы: TCP/IP, IPX/SPX, NetBIOS, Apple Talk;

  10. поддержка многообразных операционных систем конечных пользователей;

  11. поддержка сетевого оборудования стандартов Ethernet, Token Ring, FDDI, ARCnet;