
- •1) Классификация ос и этапы развития ос.
- •2) Основные задачи ос. Назначение и функции.
- •3) Основные понятия, концепции ос
- •4) Архитектура ос
- •5) Прерывания: определение, типы, переключение контекста и обработка
- •6) Потоки: определение, назначение, состояния.
- •7) Процессы: понятие, состояния, модель представления в ос и операции.
- •8) Планирование процессов: уровни, основные цели, критерии и параметры.
- •9) Алгоритмы планирования. Shortest-Job-First(sjf).
- •10) Алгоритмы планирования. Round-Robin(rr).
- •11) Алгоритмы планирования. First-Come, First-Served(fcfs)
- •12) Эволюция видов организации памяти. Связное и несвязное распределение памяти.
- •13) Управление памятью: основные задачи, механизмы.
- •14) Основные концепции виртуальной памяти
- •15) Многоуровневая организация виртуальной памяти
- •16) Организация памяти компа. Простейшие схемы и способы управления памятью. Связывание логических и физических адресных пространств.
- •17) Сегментная организация виртуальной памяти
- •18) Стратегия управления виртуальной памяти. Первой выталкивается первая пришедшая страница(fifo).
- •19) Страничная организация виртуальной памяти.
- •20) Стратегия управления виртуальной памяти. Первой выталкивается наименее часто использовавшаяся страница(lfu).
- •21) Странично-сегментная организация виртуальной памяти
- •22) Стратегия управления виртуальной памяти. Выталкивание случайной страницы.
- •23) Стратегия управления виртуальной памяти. Первой выталкивается дольше всего не использовавшаяся страница(lru).
- •24) Стратегия управления виртуальной памяти. Первой выталкивается не использовавшаяся в последнее время страница.
- •25) Стратегия управления виртуальной памяти. Рабочее множество.
- •26) Стратегия управления виртуальной памяти. Принцип оптимальности.
- •27) Файловая система: назначение, функции, основные настройки.
- •28) Файловая система ms-dos(fat)
- •29) Типы файловых систем. Их особенности.
- •32) Безопасность операционных систем
14) Основные концепции виртуальной памяти
Виртуальная память – это совокупность программно-аппаратных средств, позволяющая пользователю составлять программы, размер которых превосходит имеющийся размер ОЗУ.
Для этого виртуальная память решает следующие задачи:
· Размещает данные в запоминающих устройствах разного типа, например, часть в ОЗУ, часть на жестком диске.
· Перемещает по мере необходимости данные между устройствами разного типа. Например, подгружает нужную часть программы с диска в ОЗУ.
· Преобразует виртуальный (линейный) адрес в физический.
15) Многоуровневая организация виртуальной памяти
16) Организация памяти компа. Простейшие схемы и способы управления памятью. Связывание логических и физических адресных пространств.
Физическая память, к которой микропроцессов имеет доступ по шине адреса, называется оперативной памятью ( или оперативным запоминающим устройством - ОЗУ).
ОП организована как последовательность байтов. Каждому байту соответствует уникальный адрес (его номер), который называется физическим адресом.
Понятие о сегментированной модели памяти.
Память для программы делится на непрерывные области памяти, называемые сегментами.
Сегменты - это логические элементы программы.
Сама программа может обращаться только к данным, которые находятся в этих сегментах.
Сегмент представляет собой независимый, поддерживаемый на аппаратном уровне блок памяти.
Сегментация - механизм адресации, обеспечивающий существование нескольких независимых адресных пространств как в пределах одной задачи, так и в системе в целом для защиты задач от взаимного влияния.
Понятие о страничной модели памяти.
ОП делится на блоки фиксированного размера 4 Кб (должно быть число, кратное степени двойки, чтобы операции сложения можно было бы заменить на операции конкатенации). Каждый такой блок называется страницей.
Суть его заключается в том, что у микропроцессора существует возможность по обмену страницами памяти с жестким диском. В случае, если программа требует памяти больше, чем объем физической памяти, редко используемые страницы памяти записываются на жесткий диск в специальный файл виртуальной памяти(файл подкачки). В настоящее время файл подкачки может динамически изменять свой размер в зависимости от потребностей системы.
Основное достоинство страничного способа распределения памяти -минимально возможная фрагментация (эффективное распределение памяти).
Недостатки: 1)потери памяти на размещение таблиц страниц 2) потери процессорного времени на обработку таблиц страниц (диспетчер памяти).
Типы адресов.
Для идентификации переменных и команд на разных этапах жизненного цикла программы используются символьные имена (метки), виртуальные адреса и физические адреса
► Физические адреса соответствуют номерам ячеек оперативной памяти, где в действительности расположены или будут расположены переменные и команды.
► Символьные имена, называемые иногда логическими адресами, присваивает пользователь при написании программы на алгоритмическом языке или ассемблере.
► Виртуальные адреса называемые иногда математическими, вырабатывает транслятор, переводящий программу на машинный язык.
Простейшие схемы управления памятью
8.5.1.Схема с фиксированными разделами
Схема с фиксированными разделами является самым простым способом управления оперативной памятью. На этапе генерации или в момент загрузки системы оперативная память разбивается на несколько разделов фиксированной величины. Очередь может быть организована по разделам или быть общей для всех разделов.
Подсистема управления памятью оценивает размер поступившего процесса, выбирает подходящий для него раздел, осуществляет загрузку процесса в этот раздел и настройку адресов.
Недостатками представленной схемы организации памяти являются:
· ограничение числа одновременно выполняемых процессов из-за ограниченного количества разделов;
· потеря части памяти в результате сильной фрагментации (память выделена процесса, но не используется им)
8.5.2.Один процесс в памяти
Частным случаем схемы с фиксированными разделами является случай размещения в памяти одного пользовательского процесса. По данному принципу построена операционная система MS-DOS. В этом случае необходимо определить расположение пользовательской программы по отношению к ОС. Это может быть верхняя, нижняя или средняя части памяти. Решение зависит от расположения вектора прерываний. Обычно он находится в нижней части памяти. Поэтому ОС размещают в нижней части памяти.
Защита адресного пространства ОС от пользовательской программы осуществляется при помощи одного граничного регистра, содержащего адрес границы ОС.
8.5.3.Оверлейная структура
Оверлейная структура или структура с перекрытием используется, когда размер логического адресного пространства процесса больше размера выделенного ему раздела физической памяти.
Коды ветвей оверлейной структуры программы находятся на диске как абсолютные образы памяти и по мере необходимости считываются драйвером оверлеев. Для описания оверлейной структуры используется специальный несложный язык. Совокупность файлов исполняемой программы дополняется файлом (обычно с расширением .odl), который описывает дерево вызовов внутри программы. Синтаксис данного файла распознается загрузчиком. Привязка к физической памяти происходит в момент очередной загрузки одной из ветвей программы.
Оверлеи применяются на пользовательском уровне в системах с простой файловой структурой. Тщательное проектирование оверлейной структуры отнимает много времени, требует знаний устройства программы, ее кода, данных и языка описания оверлейной структуры. Оверлейные структуры использовались компьютерами с небольшим логическим адресным пространством. Появление виртуальной памяти привело к устранению проблемы оверлейных сегментов.
8.5.4.Динамическое распределение. Свопинг
Свопинг используется при нехватке памяти. Свопингом называется полное перемещение процессов из оперативной памяти на диск и обратно. Частичная выгрузка процессов на диск осуществляется в системах со страничной организацией памяти.
Свопинг не имеет отношения к управлению памятью, он связан с планированием процессов. Свопинг увеличивает время переключения контекста. Время выгрузки может быть сокращено за счет организации специально отведенного пространства на диске (раздел для свопинга). Обмен с диском при этом осуществляется блоками большего размера и быстрее, чем через стандартную файловую систему. Во многих версиях Unix свопинг начинает работать при возникновении необходимости в снижении загрузки системы.
8.5.5.Схема с переменными разделами
При схеме с переменными разделами память заранее не делится на разделы, необходимое количество памяти выделяется вновь поступающему процессу, после выгрузки процесса память временно освобождается, два соседних свободных участка могут объединяться между собой.
По истечении некоторого времени память представляет собой переменное число разделов разного размера.
Существуют разные способы выбора раздела памяти при поступлении нового процесса.
· Стратегия первого подходящего. Процесс помещается в первый подходящий по размеру раздел.
· Стратегия наиболее подходящего. Процесс помещается в тот раздел, где после его загрузки останется меньше всего свободного места.
· Стратегия наименее подходящего. Процесс помещается в самый большой раздел и в нем остается достаточно места для возможного размещения еще одного процесса.
По результатам моделирования доля полезно используемой памяти в первых двух случаях больше, при этом первый способ работает быстрее.
Типовой цикл работы диспетчера памяти
· анализ запроса на выделение свободного участка и выбор свободного участка по тому или иному способу;
· загрузка процесса в выбранный раздел и последующие изменения таблиц свободных и занятых областей.
Аналогичная корректировка требуется и после завершения процесса. Связывание адресов осуществляется на этапах загрузки или выполнения.
Данный метод более гибок по сравнению с методом фиксированных разделов. Недостатком метода является внешняя фрагментация – наличие большого числа участков неиспользуемой памяти, не выделенной ни одному процессу. Выбор стратегии размещения процесса слабо влияет на величину фрагментации. Статистический анализ показывает, что пропадает в среднем 1/3 памяти.
Проблему внешней фрагментации решается за счет сжатия, то есть перемещения всех занятых (свободных) участков в сторону возрастания (убывания) адресов. После сжатия фрагментация в идеале должна отсутствовать. Сжатие является дорогостоящей процедурой.