- •Краткая история эволюции вычислительных систем.
- •Третий период (начало 60-х – 1980 г.). Компьютеры на основе интегральных микросхем. Первые многозадачные ос
- •Четвертый период (с 1980 г. По настоящее время). Персональные компьютеры. Классические, сетевые и распределенные системы
- •Основные понятия, концепции операционных систем.
- •Архитектурные особенности ос. Монолитное ядро. Многоуровневые системы. Виртуальные машины. Микроядерная архитектура. Смешанные системы.
- •1.4.1 Монолитное ядро
- •1.4.2 Слоеные системы (Layered systems)
- •1.4.3 Виртуальные машины
- •1.4.4 Микроядерная архитектура.
- •1.4.5 Смешанные системы
- •Классификация ос. Критерии классификации.
- •Процессы. Понятие процесса. Состояние процесса.
- •2.1. Понятие процесса
- •2.2. Состояния процесса
- •Операции над процессами. Набор операций. Process Control Block и контекст процесса.
- •Одноразовые и многоразовые операции. Переключение контекста.
- •2.3.3. Одноразовые операции
- •2.3.4. Многоразовые операции
- •2.3.5. Переключение контекста
- •Планирование процессов. Уровни планирования. Критерии планирования и требования к алгоритмам.
- •3.1. Уровни планирования
- •3.2. Критерии планирования и требования к алгоритмам
- •Планирование процессов. Параметры планирования. Вытесняющее и невытесняющее планирование.
- •3.3. Параметры планирования
- •3.4. Вытесняющее и невытесняющее планирование
- •Алгоритмы планирования процессов. First-Come, First-Served (fcfs).
- •Алгоритмы планирования процессов. Round Robin (rr).
- •Алгоритмы планирования процессов. Shortest-Job-First (sjf).
- •Гарантированное планирование процессов. Приоритетное планирование.
- •3.5.5. Приоритетное планирование
- •Многоуровневые очереди (Multilevel Queue), многоуровневые очереди с обратной связью (Multilevel Feedback Queue).
- •3.5.7. Многоуровневые очереди с обратной связью (Multilevel Feedback Queue)
- •Кооперация процессов. Взаимодействующие процессы. Категории средств обмена информацией.
- •4.1. Взаимодействующие процессы
- •4.2. Категории средств обмена информацией
- •Логическая организация механизма передачи информации. Информационная валентность процессов и средств связи.
- •Особенности передачи информации с помощью линий связи. Буферизация. Нити исполнения.
- •4.3.3.1 Буферизация
- •Механизмы синхронизации процессов. Семафоры. Концепция семафоров. Мониторы. Сообщения.
- •6.1. Семафоры
- •6.1.1. Концепция семафоров
- •6.3. Сообщения
- •Тупики. Условия возникновения. Обнаружение тупиков. Основные направления борьбы с тупиками.
- •7.2 Концепция ресурса
- •7.3 Условия возникновения тупиков
- •7.4 Основные направления борьбы с тупиками.
- •Физическая организация памяти компьютеров.
- •21.Логическая память. Связывание адресов.
- •Схемы управления памятью. Схема с фиксированными разделами.
- •Схемы управления памятью. Оверлейная структура.
- •24.Схемы управления памятью. Динамическое распределение. Свопинг. Схема с переменными разделами.
- •8.3.3 Мультипрограммирование с переменными разделами.
- •Страничная память. Сегментная и сегментно-страничная организация памяти.
- •9.2.1 Страничная память
- •Архитектурные средства поддержки виртуальной памяти. Страничная виртуальная память.
- •9.2.1 Страничная память
- •Архитектурные средства поддержки виртуальной памяти. Сегментно-страничная организация виртуальной памяти. Структура таблицы страниц.
- •9.2.3 Таблица страниц
- •Ассоциативная память. Размер страниц. Инвертированная таблица страниц.
- •Аппаратно-независимый уровень управления виртуальной памятью. Алгоритмы замещения страниц. Алгоритм fifo. Выталкивание первой пришедшей страницы. Аномалия Билэди.
- •10.3.1 Fifo алгоритм. Выталкивание первой пришедшей страницы.
- •10.3.2 Оптимальный алгоритм
- •Аппаратно-независимый уровень управления виртуальной памятью. Управление количеством страниц, выделенным процессу. Модель рабочего множества. Трешинг.
- •Файловая система. Имена файлов. Типы файлов. Атрибуты файлов. Организация файлов и доступ к ним. Операции над файлами.
- •11.2 Имена файлов
- •11.4 Типы и атрибуты файлов
- •11.5 Доступ к файлам
- •Директории. Логическая структура файлового архива. Операции над директориями. Реализация файловой системы. Структура файловой системы. Защита файлов
- •11.8 Операции над директориями
- •Управление внешней памятью. Методы выделения дискового пространства. Управление свободным и занятым дисковым пространством. Размер блока.
- •12.3.2 Управление свободным и занятым дисковым пространством.
- •12.3.3 Размер блока
- •Система управления вводом – выводом. Физические принципы организации ввода – вывода. Структура контроллера устройств. Прямой доступ к памяти (Direct Memory Access – dma).
- •13.1 Физические принципы организации ввода-вывода.
- •Структура контроллера устройства.
- •Прямой доступ к памяти (Direct Memory Access – dma).
- •Логические принципы организации ввода – вывода. Структура системы ввода – вывода. Буферизация и кэширование.
- •13.2.1. Структура системы ввода-вывода.
- •Буферизация и кэширование.
- •Сети и сетевые операционные системы. Сетевые и распределенные операционные системы. Понятие протокола. Структура сетевой операционной системы
- •Адресация в сети. Одноуровневые адреса. Двухуровневые адреса. Удаленная адресация и разрешение адресов. Локальная адресация. Понятие порта. Полные адреса
- •Безопасность операционных систем. Угрозы безопасности. Криптография – базовая технология безопасности операционных систем.
- •15.2 Классификация угроз
- •15.3 Формализация подхода к обеспечению информационной безопасности. Классы безопасности
- •15.4 Политика безопасности
- •15.5 Криптография, как одна из базовых технологий безопасности ос.
- •Защитные механизмы операционных систем. Идентификация и аутентификация. Пароли, уязвимость паролей. Авторизация. Разграничение доступа.
- •16.1 Идентификация и аутентификация
- •16.1.1 Пароли, уязвимость паролей
Операции над процессами. Набор операций. Process Control Block и контекст процесса.
2.3.1. Набор операций
Процесс не может сам перейти из одного состояния в другое. Изменением состояния процессов занимается операционная система, совершая операции над ними. Количество таких операций в нашей модели пока совпадает с количеством стрелок на диаграмме состояний. Удобно объединить их в три пары:
Создание процесса — завершение процесса;
Приостановка процесса (перевод из состояния исполнение в состояние готовность) — запуск процесса (перевод из состояния готовность в состояние исполнение);
Блокирование процесса (перевод из состояния исполнение в состояние ожидание) — разблокирование процесса (перевод из состояния ожидание в состояние готовность);
В дальнейшем, когда мы будем говорить об алгоритмах планирования, в нашей модели появится еще одна операция, не имеющая парной: изменение приоритета процесса.
Операции создания и завершения процесса являются одноразовыми, так как применяются к процессу не более одного раза (некоторые системные процессы никогда не завершаются при работе вычислительной системы). Все остальные операции, связанные с изменением состояния процессов, будь то запуск или блокировка, как правило, являются многоразовыми. Рассмотрим подробнее, как операционная система выполняет операции над процессами.
2.3.2. Process Control Block и контекст процесса
Для того чтобы операционная система могла выполнять операции над процессами, каждый процесс представляется в ней некоторой структурой данных. Эта структура содержит информацию, специфическую для данного процесса:
состояние, в котором находится процесс;
программный счетчик процесса или, другими словами, адрес команды, которая должна быть выполнена для него следующей;
содержимое регистров процессора;
данные, необходимые для планирования использования процессора и управления памятью (приоритет процесса, размер и расположение адресного пространства и т. д.);
учетные данные (идентификационный номер процесса, какой пользователь инициировал его работу, общее время использования процессора данным процессом и т. д.);
информацию об устройствах ввода-вывода, связанных с процессом (например, какие устройства закреплены за процессом, таблицу открытых файлов);
Конкретный ее состав и строение зависят, конечно, от конкретной операционной системы. Во многих операционных системах информация, характеризующая процесс, хранится не в одной, а в нескольких связанных структурах данных. Эти структуры могут иметь различные наименования, содержать дополнительную информацию или, наоборот, лишь часть описанной информации. Для нас это не имеет значения. Для нас важно лишь то, что для любого процесса, находящегося в вычислительной системе, вся информация, необходимая для совершения операций над ним, доступна операционной системе. Для простоты изложения будем считать, что она хранится в одной структуре данных. Мы будем называть ееPCB (Process Control Block) или блоком управления процессом. Блок управления процессом является моделью процесса для операционной системы. Любая операция, производимая операционной системой над процессом, вызывает определенные изменения в PCB. В рамках принятой модели состояний процессов содержимое PCB между операциями остается постоянным.
Информацию, для хранения которой предназначен блок управления процессом, удобно для дальнейшего изложения разделить на две части. Содержимое всех регистров процессора (включая значение программного счетчика) будем называть регистровым контекстом процесса, а все остальное – системным контекстом процесса. Знания регистрового и системного контекстов процесса достаточно для того, чтобы управлять его поведением в операционной системе, совершая над ним операции. Однако этого недостаточно, чтобы полностью характеризовать процесс. Операционную систему не интересует, какими именно вычислениями занимается процесс, т. е. какой код и какие данные находятся в его адресном пространстве. С точки зрения пользователя, наоборот, наибольший интерес представляет содержимое адресного пространства процесса, возможно наряду с регистровым контекстом, определяющее последовательность преобразования данных и полученные результаты. Код и данные, находящиеся в адресном пространстве процесса, будем называть его пользовательским контекстом. Совокупность регистрового, системного и пользовательского контекстов процесса для краткости принято называть просто контекстом процесса. В любой момент времени процесс полностью характеризуется своим контекстом.