- •2. Назначение и функции операционной системы.
- •3. Эволюция операционных систем.
- •4. Понятие процесса (потока). Состояние процессов. Управление процессами со стороны операционной системы.
- •5. Мультипрограммирование.
- •6. Ресурсы вычислительной системы. Виды ресурсов. Виртуальные ресурсы.
- •7. Управление ресурсами со стороны операционной системы.
- •8. Системы разделения времени.
- •9. Системы пакетной обработки.
- •Системы реального времени
- •Создание процессов. Очередь процессов, дескриптор процесса, контекст процесса.
- •Механизм прерываний. Виды прерываний.
- •Алгоритмы обработки прерываний различных типов.
- •Дисциплины обслуживания прерываний.
- •Классификации операционных систем.
- •Монолитные операционные системы.
- •Микроядерные операционные системы.
- •Реализация технологии клиент – сервер в микроядерных операционных системах.
- •Сетевые операционные системы. Локальные и распределенные сети.
- •Основные принципы построения операционных систем.
- •Планирование процессов. Долгосрочный и краткосрочный планировщики.
- •Проблемы синхронизации процессов. Понятие критической секции. Блокирующие переменные. Семафоры.
- •Тупики. Распознавание и предотвращение тупиков. Восстановление системы из состояния дедлока.
- •Функции операционной системы по управлению памятью. Понятие виртуального адресного пространства.
- •Методы управления памятью. Проблемы фрагментации памяти.
- •Сегментное распределение памяти. Таблица сегментов. Преобразование виртуального адреса в физический адрес.
- •Страничное распределение памяти. Преобразование виртуального адреса в физический адрес.
- •Сегментно-страничное распределение памяти. Преобразование виртуального адреса в физический адрес.
- •Задачи операционной системы по управлению файлами и устройствами ввода/вывода. Синхронный и асинхронный ввод/вывод.
- •Многослойная модель подсистемы ввода/вывода.
- •Файловые системы. Функции операционной системы по управлению файлами.
- •Основные файловые операции. Поддержка со стороны операционной системы.
- •Файловые системы. Общие принципы построения. !!!!!!!
- •Файловая система ufs. Принципы организации.
- •Файловая система fat. Принципы организации.
- •Файловая система ntfs. Принципы организации.
- •Основные понятия информационной безопасности. Классификация угроз.
- •Системный подход к обеспечению информационной безопасности. Политика информационной безопасности.
- •Базовые технологии информационной безопасности.
- •Технология клиент-сервер как основа построения микроядерных операционных систем. Поддержка технологии клиент-сервер со стороны операционной системы.
- •Распределенные вычислительные сети. Механизм обмена сообщений. Гарантированная доставка сообщений.
- •Модель osi.
- •Объектно-ориентированный подход к проектированию. Базовые принципы. Использование при разработке операционных систем.
Функции операционной системы по управлению памятью. Понятие виртуального адресного пространства.
Функции ОС по управлению памятью:
отслеживание свободной и занятой памяти;
выделение памяти процессам и освобождение памяти при завершении процессов;
вытеснение процессов из оперативной памяти на диск, когда размеры основной памяти не достаточны для размещения в ней всех процессов;
возвращение процессов в оперативную память, настройка адресов программы на конкретную область физической памяти;
дефрагментация памяти при ее динамическом выделении и возвращении;
защита памяти.
Для идентификации переменных и команд используются:
символьные имена (метки),
виртуальные адреса,
физические адреса.
Программист обращается к памяти с помощью некоторого набора логических имен. Имена переменных и входных точек модулей составляют область имен. Физическая память представляет собой множество ячеек, которые пронумерованы, к каждой ячейке можно обратиться, указав ее порядковый номер (адрес). Количество ячеек физической памяти ограничено и фиксировано.
Системное программное обеспечение должно связать каждое указанное пользователем имя с физической ячейкой памяти, т.е. осуществить отображение пространства имен на физическую память компьютера. Это происходит в два этапа:
посредством системы программирования;
посредством операционной системы (с помощью специальных программных модулей управления памятью и использования соответствующих аппаратных средств вычислительной системы).
Между этими этапами обращение к памяти имеет форму виртуального или логического адреса. Множество всех допустимых значений виртуального адреса для некоторой программы определяет ее виртуальное адресное пространство или виртуальную память (р2).
Множество всех допустимых значений виртуального адреса для некоторой программы определяет ее виртуальное адресное пространство. Виртуальное адресное пространство программы зависит, прежде всего, от архитектуры процессора и от системы программирования и не зависит от объема реальной физической памяти компьютера. Адреса команд и переменных в готовой машинной программе, подготовленной к выполнению системой программирования, как раз и являются виртуальными адресами.
Способы структуризации адресного пространства:
Плоская структура (m)
Сегментная структура (n,m)
Сложная структура f(n,m)
Задача ОС: отображение индивидуальных виртуальных адресных пространств всех одновременно выполняющихся процессов на общую физическую память
Виртуальное адресное пространство и виртуальная память – это различные механизмы и они не обязательно реализуются в ОС одновременно.
Методы управления памятью. Проблемы фрагментации памяти.
Методы управления памятью делятся на два класса:
1. Методы управления памятью без использования внешней памяти:
Распределение памяти фиксированными разделами.
С общей очередью
С отдельными очередями
Сравнивается объем памяти необходимый процессу с имеющимся объемами разделов. Выбирается подходящий раздел. Загрузка программы в один из разделов, настройка адресов.
Распределение памяти разделами переменной величины. Динамические разделы. (память машины не делится заранее на разделы. Сначала вся память свободна. Каждой вновь поступающей задаче выделяется необходимая ей память. Если достаточный объем памяти отсутствует, то задача не принимается на выполнение и стоит в очереди. После завершения задачи память освобождается, и на это место может быть загружена другая задача.)
Перемещаемые разделы.
2. Методы управления памятью с использованием внешней памяти:
Сегментное распределение;
Страничное распределение;
Сегментно-страничное распределение.
К 1. Простое непрерывное распределение – это самая простая схема, согласно которой вся память условно может быть разделена на три части:
область, занимаемая операционной системой;
область, в которой размещается исполняемая задача;
незанятая ничем (свободная) область памяти.
Эта схема предполагает, что ОС не поддерживает мультипрограммирования, поэтому не возникает проблемы распределения памяти между несколькими задачами.
Два вида потерь:
потери процессорного времени из-за простоя в связи с вводом/выводом;
потери самой оперативной памяти, так как она не всегда используется полностью.
Проблемы фрагментации.
Представим, что диск - это длинная последовательная дорожка, куда можно записывать данные.
Запишем на диск три файла, закрашивая квадратики разными цветами - каждому файлу будет отвечать свой.
Теперь удалим второй файл (желтый цвет).
И когда понадобится записать новый файл (длиной в 3 кубика), его уже нельзя будет поместить между красным и зеленым, он будет записан правее, а слева получится пропуск.
Продолжая, можно получить фрагментацию - есть свободное место на 6 кубиков, но максимальная длина свободного куска - 2 кубика.
Поэтому попытка записать новый файл длины 5 (голубой цвет) приводит к тому, что этот файл не хранится на диске последовательно.
Невозможность считать файл последовательно приводит к замедлению работы с диском.
Одним из методов борьбы с фрагментацией является перемещение всех занятых участков в сторону старших либо в сторону младших адресов, так, чтобы вся свободная память образовывала единую свободную область.
