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

1)Потоки на уровни пользователя

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

Достоинства: 1) Потоки могут быть реализованы в системе не поддерживающих многопоточность. 2)Минимум переключений контекстов за счёт переключения потоков одного процесса в рамках кванта времени.

Недостатки: 1) Если 1 поток узурпирует всё процессорное время выделенное данному процессу, и не выполняет инструкцию передачи управления др. потокам, то др. потоки не выполняются.

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

2)Потоки на уровни ядра

Ядро на ряду с табл. процессов имеет табл. потоков управляя непосредственно потоками каждый поток имеет своё состояние и не зависит от др. потоков одного процесса.

Достоинства: 1)переключение между потоками производится по таймеру и каждый поток может получить своё процессорное время.

2)При блокирующем системном вызове в ожидание переводит только этот поток.

Недостатки: Значительно большое количество переключений контекстов поскольку потоки планируются независимо от их принадлежности процессам.

3)Смешанная реализация

а)Мультиплексирование потоков

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

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

8. Планирование и диспетчеризация процессов. Стратегии планирования.

3 уровня планирования:

1)долгосрочный(выбор процесса для поступления в систему)

2)краткосрочный или диспетчеризация(выбор из очереди готовых процессов процесса к-рый поступит на выполнение)

3)среднесрочный(выбор процесса для свопинга)

Свопинг – это выгрузка одного из процессов целиком во вторичную память с последующем возвратом его в первичную.

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

Планирование производится вынужденное и невынужденное:

1)выполняемый процесс завершил работу и покидает с-му

2)выполняемый процесс перешёл в состояние ожидания

3)поступление нового процесса в очередь готовности

4)окончание кванта времени у выполняемого процесса

Невытеснянное только в вынужденных случаях.