
- •1.Средства межпроцессного взаимодействия. Сигнальные средства связи.
- •2.Средства межпроцессного взаимодействия. Канальные средства связи.
- •3. Синхронизация параллельных процессов. Критические ресурсы. Критический участок.
- •5. Синхронизация параллельных процессов. Условия Бернстайна.
- •6. Требования, предъявляемые к алгоритмам организации взаимодействия процессов.
- •7. Способы реализации взаимного исключения: запрещение прерываний
- •8. Способы реализации взаимного исключения: переменная-замок
- •9. Способы реализации взаимного исключения: строгое чередование
- •10. Способы реализации взаимного исключения: флаги готовности
- •11. Способы реализации взаимного исключения: алгоритм Петерсона и алгоритм булочной. Алгоритм Петерсона
- •Алгоритм булочной
- •12. Аппаратная реализация взаимоисключений.
- •13. Семафорные примитивы Дейкстры. Решение задачи производителя и потребителя с помощью семафоров.
- •14. Монитор Хоара как примитив синхронизации высокого уровня. Решение задачи производителя и потребителя с помощью мониторов.
- •15. Тупиковые ситуации.
- •16. Иерархия памяти. Локальность.
- •17. Понятие физического и виртуального адреса. Связывание адресов.
- •18. Статическое распределение памяти: разделы с фиксированными границами
- •19. Статическое распределение памяти: один процесс в памяти.
- •20. Динамическое распределение памяти: разделы с подвижными границами. Уплотнение памяти. Свопинг.
- •22. Страничная организация памяти.
- •23. Таблицы страниц: одноуровневые, многоуровневые, инвертированные.
- •24. Сегментно-страничная организация памяти.
- •25. Понятие виртуальной памяти. Страничный механизм трансляции.
- •26. Стратегии управления виртуальной памятью.
- •30. Дисциплины замещения страниц: выталкивание редко используемой страницы.
- •31. Модель рабочего множества. Трешинг.
18. Статическое распределение памяти: разделы с фиксированными границами
Память предварительно разбивается на разделы фиксированного размера. В каждом разделе может разместить только 1 процесс. При этом процесс не может занимать больше 1 раздела. Недостатки: количество процессов ограничено количеством разделов; большая внутренняя фрагментация; потеря свободного места в каждом разделе. Во время работы процесс ограничен по размерам размером своего раздела.
19. Статическое распределение памяти: один процесс в памяти.
Все физическое пространство выделяется одному процессу, многозадачность реализована быть не может. Логический адрес равен физическому, связывание не требуется.
20. Динамическое распределение памяти: разделы с подвижными границами. Уплотнение памяти. Свопинг.
Раздел с подвижными границами.
Изначально память не разбивается на разделы, а представляет собой единое свободное пространство. Во время работы процессам выделяется свободное место. Таким образом, чтобы максимально плотно занять физическую память. Завершаясь, процессы освобождают выделенные им участки, тем самым создавая свободные разделы произвольного размера. В дальнейшем система размещает новые процессы в этих свободных разделах. Достоинства: кол-во процессов не ограничено кол-вом разделов; соседние свободные разделы объединяются. Недостатки: Внешняя фрагментация, из-за того что размеры новых процессов не равны размерам свободных разделов; процесс ограничивается по размеру соседними процессами.
Стратегии уплотнения памяти.
а) BestFit. Процесс размещается в разделе наиболее подходящем ему по размеру. На фрагментацию теряется минимум пространства.
б) WorseFit. Процесс размещается в разделе более всего отличающимся по размеру. В оставшемся свободном пространстве может быть размещен другой процесс.
в) FirstFit / RandomFit. Процесс размещается в первом разделе подходящем по размеру. Благодаря отсутствию необходимого поиска более подходящего раздела, стратегия наиболее производительна.
21. Сегментная организация памяти. Недостатком страничной памяти является разбиение адресного пространства на страницы не зависимо от логического содержимого. Поскольку содержимое разного рода (код, данные) может храниться и обрабатываться по разному, то адресное пространство необходимо разбивать не на фиксированные участки, а по содержимому. Такой участок называется сегментом. Процесс разбивается на логические сегменты, каждый из которых размещен в физическом пространстве не зависимо друг от друга. Благодаря тому, что ОС известен тип содержимого сегмента, сегменты могут разделяться между несколькими процессами, получать различные права доступа и прочие атрибуты (код только чтение, данные – чтение и запись). Логический адрес представляет собой пару чисел: сегмент-смещение. При размещении сегмента в физической памяти физический адрес его начала, права доступа и прочая информация сохраняется в таблице сегментов процесса. При связывании по номеру сегмента из таблицы сегмента процесса получается адрес его начала, к которому добавляется смещение для получения физического адреса ячейки. Поскольку сегменты различного размера, то размещение их в физической памяти аналогично размещению памяти с подвижными разделами. Поэтому при размещении сегментов в памяти могут быть использованы стратегии BestFit, WorstFit, RandomFit. Достоинства: осмысленность разбиения приводит к возможности различной интерпретации сегментов. Недостатки: поскольку сегменты различного размера, то наблюдаются те же проблемы, что и при распределении памяти с подвижными разделами, в первую очередь – фрагментация.