- •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. Операционные системы суперкомпьютеров.
21.Статическое распределение памяти.
При статическом распределении вся необходимая оперативная память выделяется процессу в момент его порождения. При этом память выделяется единым блоком необходимой длины, начало которого определяется базовым адресом. Программа пишется в адресах относительно начала блока, а физический адрес команды или операнда при выполнении программы формируется как сумма базового адреса блока и относительного адреса в блоке. Значение базового адреса устанавливается при загрузке программы в оперативную память. Так как в разных программах используются блоки разной длины, то при таком подходе возникает проблема фрагментации памяти, то есть возникают свободные участки памяти, которые невозможно без предварительного преобразования использовать для вычислительного процесса.
Недостаток: невозможна многозадачность.
Статическое распределение с фиксированными разделами. Вся физическая память разбивается на неравные разделы, в каждом из которых может размещаться один процесс. Поскольку размер логических пространств процесса случаен, то в каждом фиксированном разделе будет оставаться свободное место, поэтому из-за внутренней фрагментации может теряться большое количество свободного пространства. Дефрагментация невозможна, т.к. разделы фиксированы.
22.Динамическое распределение памяти.
Изначально память не разбивается на разделы. Процессы занимают физическую память вплотную друг к другу. В течение работы процессы выгружаются и образовывают свободные разделы различного размера. Благодаря отсутствию фиксированного разбиения свободного пространства теряется намного меньше., но всё равно фрагментация остаётся, поскольку размеры свободных разделов не равны логическим пространствам процессов, которые будут туда загружены. Если программы написаны в перемещаемом коде, то может быть произведена дефрагментация.
При этом существует 2 подхода к управлению памятью. 1) Подкачка (своппинг) – каждый процесс полностью перемещается в память, работает в ней некоторое время и затем полностью возвращается на диск. 2) Виртуальная память – данный подход позволяет программам работать даже тогда, когда они частично располагаются в оперативной памяти. Разница между фиксированными и изменяющимися разделами в том, что во втором случае кол-во , размер и размещение разделов изменяется динамически по мере поступления процессов.
Уплотнение памяти.
Т.к. задачи появляются в разное время и различны их объемы, возможна сильная фрагментация( объем свободной памяти велик, но нельзя её выделить). Организуется уплотнение памяти – все вычисления приостанавливаются и диспетчер памяти корректирует списки, перемещая все разделы например в начало памяти.
Недостаток: время на уплотнение.
Преимущество: можно выделить необходимый размер.
23.Сегментная организация памяти. Трансляция адресов, основанная на сегментации.
Сегменты- участки адресного пространства процесса на который оно разбивается по смыслу (стек, ….).
В отличие от страничной памяти, сегменты имеют различный размер.
Адресное пространство процесса может быть представлено в виде нескольких логических элементов (сегментов), каждый сегмент размещается в памяти как самостоятельная единица. Логическое обращение к элементам программы будет представляться как указание имени сегмента и смещения относительно его начала. Физическое имя сегмента будет соответствовать некому адресу (базовому адресу) с которого он начинается в памяти. Для данного метода виртуальный адрес будет состоять из двух частей: селектора сегмента и смещение относительно начала сегмента. Селектор сегмента содержит номер сегмента в таблице дескриптора, которую ОС формирует в памяти для каждого процесса.
Достоинство:
Осмысленное разбиение памяти.
Недостаток:
– длительность доступа к искомой ячейке: сначала нужно найти и прочитать дескриптор сегмента (эти данные используются для нахождения сегмента в физическом адресном пространстве, а затем ячейки в пределах сегмента). Для уменьшения этого времени применяется копирование дескрипторов в сверхоперативной памяти;
– фрагментация оперативной памяти.