Реализация потоков в пространстве пользователя, ядра и смешанное 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Реализация потоков в пространстве пользователя, ядра и смешанное



 

А - потоки в пространстве пользователя

B - потоки в пространстве ядра

В случае А ядро о потоках ничего не знает. Каждому процессу необходима таблица потоков, аналогичная таблице процессов.

Преимущества случая А:

· Такую многопоточность можно реализовать на ядре не поддерживающим многопоточность

· Более быстрое переключение, создание и завершение потоков

· Процесс может иметь собственный алгоритм планирования.

Недостатки случая А:

· Отсутствие прерывания по таймеру внутри одного процесса

· При использовании блокирующего (процесс переводится в режим ожидания, например: чтение с клавиатуры, а данные не поступают) системного запроса все остальные потоки блокируются.

· Сложность реализации

Мультиплексирование потоков пользователя в потоках ядра

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

 

Структура операционных систем

Монолитная система

Структура системы:

1. Главная программа, которая вызывает требуемые сервисные процедуры.

2. Набор сервисных процедур, реализующих системные вызовы.

3. Набор утилит, обслуживающих сервисные процедуры.

Простая модель монолитной системы

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

Этапы обработки вызова:

· Принимается вызов

· Выполняется переход из режима пользователя в режим ядра

· ОС проверяет параметры вызова для того, чтобы определить, какой системный вызов должен быть выполнен

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


Многоуровневая структура ОС

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

 

Пример структуры многоуровневой системы

Преимущества:

· Высокая производительность

Недостатки:

· Большой код ядра, и как следствие большое содержание ошибок

· Ядро плохо защищено от вспомогательных процессов

Пример реализации многоуровневой модели UNIX.

 

 

Структура ОС UNIX

 

 

Ядро ОС UNIX

Пример реализации многоуровневой модели Windows

 

Структура Windows 2000



Поделиться:


Последнее изменение этой страницы: 2017-02-06; просмотров: 582; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.23.56 (0.005 с.)