- •1. Определение ос. Требования, предъявляемые к ос. Классификация ос.
- •2. Основные принципы построения ос.
- •3. Понятие процесса и ресурса. Классификация процессов
- •4. Диаграмма состояния процесса.
- •5. Контекст и дескриптор процесса.
- •6. Классификация процессов.
- •7. Понятие потока. Способы реализация потоков. Планирование потоков.
- •1)Потоки на уровни пользователя
- •2)Потоки на уровни ядра
- •3)Смешанная реализация
- •8. Планирование и диспетчеризация процессов. Стратегии планирования.
- •9. Планирование в системах пакетной обработки данных. Дисциплины fcfs, sjn, srn.
- •10. Планирование в интерактивных системах. Дисциплина rr (круговое планирование), дисциплины приоритетного планирования.
- •16. Понятие взаимного исключения. Критический участок.
- •17. Семафорные примитивы Дейкстры. Решение задачи производителя и потребителя с помощью семафоров.
- •18. Монитор Хоара как примитив синхронизации высокого уровня.
- •19. Понятие физического и виртуального адреса.
- •20. Назначение и функции подсистемы управления памятью.
- •21.Статическое распределение памяти.
- •22.Динамическое распределение памяти.
- •23.Сегментная организация памяти. Трансляция адресов, основанная на сегментации.
- •24.Сегментно–страничная организация памяти. Преимущества и недостатки данного способа.
- •25.Страничная организация памяти. Дескриптор страниц.
- •26. Виртуальная память. Архитектуры.
- •27. Физические принципы организации ввода/вывода в ос.
- •28. Структура системы ввода-вывода. Классификация устройств.
- •29.Сетевые операционные системы
- •30. Операционные системы суперкомпьютеров.
1)Потоки на уровни пользователя
В ядре есть табл. процессов, к-рыми оно управляет. О потоках ядру ничего не известно. Каждый процесс имеет табл. своих потоков и сам управляет ими. Ядро выделяет процессам кванты процессорного времени, а сами процессы распределяют это время между своими потоками. При чём переключение между потоками одного процесса производится не по таймеру, а в результате выполнения соответствующей инструкции в коде самих потоков.
Достоинства: 1) Потоки могут быть реализованы в системе не поддерживающих многопоточность. 2)Минимум переключений контекстов за счёт переключения потоков одного процесса в рамках кванта времени.
Недостатки: 1) Если 1 поток узурпирует всё процессорное время выделенное данному процессу, и не выполняет инструкцию передачи управления др. потокам, то др. потоки не выполняются.
2)При блокирующем системном вызове произведенном 1 потоком в состояние блокировки или ожидания переводится весь процесс поскольку ядро знает какой процесс сделал вызов но не знает о его потоках. В результате из-за одного потока не могут выполнятся остальные потоки данного процесса.
2)Потоки на уровни ядра
Ядро на ряду с табл. процессов имеет табл. потоков управляя непосредственно потоками каждый поток имеет своё состояние и не зависит от др. потоков одного процесса.
Достоинства: 1)переключение между потоками производится по таймеру и каждый поток может получить своё процессорное время.
2)При блокирующем системном вызове в ожидание переводит только этот поток.
Недостатки: Значительно большое количество переключений контекстов поскольку потоки планируются независимо от их принадлежности процессам.
3)Смешанная реализация
а)Мультиплексирование потоков
в процессе выделяется несколько потоков управления ядра каждый из которых делится на потоки управления пользователя. Благодаря этому блокирующие вызовы и зацикливание потоков управления пользователя блокируют только небольшую часть потоков процесса, т.е. к-рые принадлежат 1 потоку ядра. Кроме того на много меньше переключений контекста благодаря наличию мн-ва потоков пользователя
б) Потоки работают на уровни пользователя, при блокирующем системном вызове переводятся на уровне ядра. Переключение по таймеру нету.
8. Планирование и диспетчеризация процессов. Стратегии планирования.
3 уровня планирования:
1)долгосрочный(выбор процесса для поступления в систему)
2)краткосрочный или диспетчеризация(выбор из очереди готовых процессов процесса к-рый поступит на выполнение)
3)среднесрочный(выбор процесса для свопинга)
Свопинг – это выгрузка одного из процессов целиком во вторичную память с последующем возвратом его в первичную.
Существует вытесняющее и не вытесняющие планирование. Если в системе есть возможность возврата из выполнения непосредственно к готовности это вытесняющее, а при невытесняющем из выполнения только в ожидание на выход.
Планирование производится вынужденное и невынужденное:
1)выполняемый процесс завершил работу и покидает с-му
2)выполняемый процесс перешёл в состояние ожидания
3)поступление нового процесса в очередь готовности
4)окончание кванта времени у выполняемого процесса
Невытеснянное только в вынужденных случаях.