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