- •1. Понятие и структура ос. Эволюция вычислительных и ос. Основные функции ос
- •Первый период (1945–1955 гг.)
- •Второй период (1955 г.– нач. 60-х)
- •Третий период (нач. 60-х – 1970 г.)
- •Четвертый период (с 1970 – 80 гг.) Персональные компьютеры.
- •Пятый период (с 1980 г. По н.В.)
- •3. Мультипрограммирование. Особенности реализации мультипрограммирования в системах пакетной обработки, разделения времени, реального времени, с мультипроцессорной обработкой
- •В системах пакетной обработки
- •В системах разделения времени
- •В системах реального времени
- •4.1. Различают симметричную и ассиметричную архитектуру таких систем
- •4.2. По способу организации процесса:
- •4. Роль прерываний при мультипрограммировании.
- •5. Понятие процесса и потока. Создание процессов и потоков. Управляющие структуры процессов и потоков
- •6. Контекст процесса и его состояния
- •7. Планирование процессов и потоков: критерии, виды, алгоритмы планирования
- •8. Параллельные процессы, синхронизация процессов, пример необходимости синхронизации, критическая секция.
- •9. Механизмы синхронизации: блокирующие переменные, семафоры, мониторы.
- •1) Блокирующие переменные
- •2) Семафоры
- •10. Проблемы синхронизации(тупики) и способы их разрешения.
- •11. Механизмы межпроцессного взаимодействия (каналы, очереди сообщений, разделяемая память)
- •12. Управление памятью: задачи управления, типы адресации
- •13. Распределение памяти: общие принципы управления памятью в однопрограммных ос, распределение памяти фиксированными, динамическими, перемещаемыми разделами
- •14. Сегментное распределение памяти
- •15. Страничное распределение памяти
- •16. Особенности эффективного использования таблицы страниц: многоуровневые таблицы страниц, ассоциативная память, инвертированная таблица страниц, хеширование
- •17. Сегментно - страничное распределение памяти
- •18. Физическая организация жёсткого диска
- •19. Принципы построения файловой системы: интерфейс, функциональная схема, типовая структура файловой системы
- •20. Способы выделения дискового пространства. Управление дисковым пространством. Размер логического блока
- •21. Особенности организации некоторых файловых систем
- •Vfat (Virtual fat)
12. Управление памятью: задачи управления, типы адресации
Задачи управления:
-
Отслеживание свободной и занятой памяти
-
Выделение памяти процессам и ее освобождения после их завершения
-
Частично или полное вытеснения процессов из ОП на диск, когда недостаточно основной памяти для размещения всех процессов, и возвращение их в ОВ, когда в ней освобождается место.
-
Настройка адресов программы на конкретную область физ. памяти.
-
Динамическое распределение и перераспределение памяти после ее первоначального выделения процессам.
-
Защита памяти: защита от записи или чтения данных данных выполняемым процессом у другого процесса.
Типы адресации:
НЕ ОТОБРАНИЕ, А ОТОБРАЖЕНИЕ
Между этими этапами, обращения к памяти имеют форму виртуального адреса.
Виртуальное адресное пространство (виртуальная память) – множество всех допустимых значений виртуального адреса для некоторой программы. Зависит от архитектуры и системы программирования, а не от объема реальной физ. памяти.
Для перехода от символьных имен к физическим адресам существует несколько вариантов:
-
Тождественность виртуального адресного пространства исходному логическому пространству имен – отображение проводит ОС с использованием таблицы символьных имен.
-
Полная тождественность физической памяти виртуальному адресному пространству – т.е. генерируется абсолютно двоичная программа, которая может работать только при соответствии физических и виртуальных адресов. Некоторые программные модули должны быть абсолютно двоичными (программы загрузки ОС и пр.)
-
Прочие промежуточные варианты.
13. Распределение памяти: общие принципы управления памятью в однопрограммных ос, распределение памяти фиксированными, динамическими, перемещаемыми разделами
Распределение памяти в однопрограммных ОС:
-
Непрерывное распределение – самая простая и распространенная схема, согласно которой память делится на три части:
-
Область, занимаемая ОС (ОС+ необходимые программам модули)
-
Область, в которой находится активный процесс
-
Свободная область памяти
Привязка к физическому адресному пространству осуществляется на этапе загрузки процесса в память.
Для того, чтобы предоставить задачам больше памяти, ОС проектируют так что бы в ОП постоянно находилось только ее основная часть – ядро ОС, в которое, прежде всего, входят основные модули супервизора.
«-» - Потери процессорного времени, пока задача ожидает завершения ввода-вывода.
Потери ОП, тк. не каждая задача занимает всю ОП.
-
Оверлейное распределение
Используется для создания программ, логическое адресное пространство которой должно быть больше чем свободная область памяти или весь объем ОП.
Суть: Программа разбивается на сегменты, в памяти же находится главная часть программы и один или несколько неперекрывающихся сегментов.
Не выполняющиеся сегменты во внешней памяти.
Пример программы с перекрытием, в данном случае, в память можно загружать ветви A-B, A-C-D, A-C-E.
Распределение памяти в мультипрограммных ОС:
-
Фиксированными разделами
Суть: Память разбивается на несколько областей фиксированной величины, называемой разделами. После разбиения, границы разделов не меняются. В каждом разделе может располагаться не более одной задачи.
Задачи подсистемы памяти: выбрать подходящий раздел, выполнить в него загрузку программы и провести настройку адресов.
«-» - Существенные потери при внутренней фрагментации.
-
Распределение динамическими разделами
Суть: Память выделяется динамически, при поступлении приложения на исполнение (если необходимый объем памяти отсутствует, то приложение не принимается на выполнение и процесс не создается). После завершения процесса, память освобождается и может быть использована для загрузки другого процесса.
* На освободившееся от процесса П4 место загружается процесс П6
Задачи ОС:
-
Ведение таблиц свободных и занятых областей, в которых указываются начальные адреса и размеры участков памяти.
-
При поступлении новой задачи – анализ запроса, поиск по таблицам достаточной свободной области для размещения задачи.
-
Загрузка задачи в раздел и соотв. Корректировка таблиц свободных и занятых областей.
-
После завершения задачи – корректировка таблиц свободных и занятых областей.
«-» - Существенные потери при внутренней фрагментации.
Выбор раздела для вновь поступившей задачи может осуществляться по разным правилам:
-
Первый попавшийся достаточного раздела
-
Раздел имеющий наименьший достаточный размер
-
Раздел имеющий наибольший достаточный размер
Распределение перемещаемыми разделами
Суть: те же динамические разделы, но периодически перемещаемые из одного места в памяти, в другое, корректируя таблицы свободных и занятых областей. Т.е. выполняется процедура сжатия.
Сжатие может выполняться: при поступлении новой задачи, или когда для вновь поступившей задачи нет свободного раздела достаточного размера.
Процедура приводит к более эффективному использованию памяти, но может требовать значительного времени.