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

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

Суть микроядерной архитектуры ОС состоит в следующем.

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

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

- Микроядро защищено от остальных частей ОС и приложений.

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

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

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

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

Механизм обращения к функциям ОС, оформленным в виде серверов, выглядит следующим образом (рис.).

- Клиент, (прикладная программа, либо другой компонент ОС), запрашивает выполнение функции у сервера, посылая ему сообщение.

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

-Микроядро передает сообщение, содержащее имя и параметры вызываемой процедуры нужному серверу,

- Сервер выполняет запрошенную операцию,

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

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

Система управления процессами и потоками

Понятие процесса и потока

Мультипрограммирование, или многозадачность (multitasking), — это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются сразу несколько программ.

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

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

Понятие «поток» возникло в операционных системах как средство распараллеливания вычислений в рамках одного исполняемого программного модуля, т.е. «процесса».

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

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

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