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

1.6.5.Смешанные системы

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

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

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

1.7.Классификация операционных систем

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

1.7.1.Реализация многозадачности

По числу одновременно выполняемых задач операционные системы делятся на два класса:

  • многозадачные (Unix, OS/2, Windows);

  • однозадачные (MS-DOS).

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

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

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

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

  • однопользовательские (MS-DOS, Windows 3.x);

  • многопользовательские (Windows NT, Unix).

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

1.7.3.Многопроцессорная обработка

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

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

В асимметричных ОС процессоры неравноправны. Существует главный процессор (master) и подчиненные (slave), загрузку и характер работы которых определяет главный процессор.