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