
- •1.Лекция 1.Операционная система. Введение
- •1.1.Структура вычислительной системы
- •1.2.Что такое операционная система
- •1.2.1. Операционная система как виртуальная машина.
- •1.2.2.Операционная система как менеджер ресурсов
- •1.2.3.Операционная система как защитник пользователей и программ
- •1.2.4.Операционная система как постоянно функционирующее ядро
- •1.3.История эволюции вычислительных систем
- •1.3.1.Первый период (1945–1955 гг.). Ламповые машины. Операционных систем нет
- •1.3.2.Второй период (1955 г.–начало 60-х). Компьютеры на основе транзисторов. Пакетные операционные системы
- •1.3.3.Третий период (начало 60-х – 1980 г.). Компьютеры на основе интегральных микросхем. Первые многозадачные ос
- •1.3.4.Четвертый период (с 1980 г. По настоящее время). Персональные компьютеры. Классические, сетевые и распределенные системы
- •1.4. Функции операционной системы.
- •1.5.Основные понятия, концепции ос
- •1.5.1.Системные вызовы
- •1.5.2.Прерывания
- •1.5.3.Исключительные ситуации
- •1.5.4.Файлы
- •1.6.Архитектурные особенности ос
- •1.6.1.Монолитное ядро
- •1.6.2.Многоуровневые или слоеные системы (Layered systems)
- •1.6.3.Виртуальные машины
- •1.6.4.Микроядерная архитектура
- •1.6.5.Смешанные системы
- •1.7.Классификация операционных систем
- •1.7.1.Реализация многозадачности
- •1.7.2.Поддержка многопользовательского режима
- •1.7.3.Многопроцессорная обработка
- •1.7.4.Системы реального времени
- •2 Процессы
- •2.1.Понятие процесса
- •2.2.Состояния процесса
- •2.3.Операции над процессами и связанные с ними понятия
- •2.3.1.Набор операций
- •2.3.2.Блок управления процессом (рсв Process Control Block) и контекст процесса
- •2.3.3.Одноразовые операции
- •2.3.4.Многоразовые операции
- •2.3.5.Переключение контекста
- •2.3.7.Нити исполнения
- •2.4.Заключение
- •3. Планирование процессов
- •3.1.Уровни планирования
- •3.2.Цели планирования
- •3.4. Критерии планирования
- •3.5.Вытесняющее и не вытесняющее планирование
- •3.5.Алгоритмы планирования
- •3.5.1.Планирование по принципу fifo
- •3.5.2.Циклическое планирование)
- •3.5.3. Планирование по принципу кратчайшее задание - первым
- •3.5.4.Гарантированное планирование
- •3.5.5.Приоритетное планирование
- •3.5.6.Многоуровневые очереди (Multilevel Queue)
- •3.5.7.Многоуровневые очереди с обратной связью (Multilevel Feedback Queue)
- •3.6.Заключение
- •4. Лекция: Кооперация процессов и основные аспекты ее логической организации
- •4.1.Взаимодействующие процессы
- •4.2.Средства обмена информацией
- •4.3.Логическая организация механизма передачи информации
- •4.4.Информационная валентность процессов и средств связи
- •4.5.Особенности передачи информации с помощью линий связи
- •4.5.1.Буферизация
- •4.5.2.Поток ввода/вывода и сообщения
- •4.5.3.Надежность средств связи
- •4.5.4.Завершение связи
- •4.6.Нити исполнения
- •4.7.Заключение
3.5.6.Многоуровневые очереди (Multilevel Queue)
В многоуровневых очередях процессы сортируются по группам. Организация очередей с помощью групп способствует повышению гибкости планирования. Для каждой группы процессов создается своя очередь процессов, находящихся в состоянии «готовность» Этим очередям приписываются фиксированные приоритеты. Например, приоритет очереди системных процессов устанавливается выше, чем приоритет очередей пользовательских процессов, приоритет очереди процессов, запущенных студентами, ниже, чем очереди процессов, запущенных преподавателями. Процессы с более низкими приоритетами не могут быть выбраны до тех пор, пока имеются высокоприоритетные процессы. Пример организации многоуровневой очереди показан на рисунке 7.
Рис. 7. Несколько очередей планирования
3.5.7.Многоуровневые очереди с обратной связью (Multilevel Feedback Queue)
В многоуровневых очередях с обратной связью процесс может переходить из одной очереди в другую в зависимости от своего поведения. Для этого нужны следующие данные:
Количество очередей процессов, находящихся в состоянии готовность.
Алгоритм планирования, действующий между очередями.
Алгоритмы планирования, действующие внутри очередей.
Правила помещения родившегося процесса в одну из очередей.
Правила перевода процессов из одной очереди в другую.
Многоуровневые очереди с обратной связью представляют собой наиболее общий подход к планированию процессов. Они наиболее трудны в реализации, но в то же время обладают наибольшей гибкостью.
3.6.Заключение
Одним из наиболее ограниченных ресурсов вычислительной системы является процессорное время. Процедура планирования процессов распределяет процессорное время между процессами. В зависимости от длительности влияния планирования на поведение вычислительной системы различают краткосрочное, среднесрочное и долгосрочное планирование процессов. Выбор алгоритма планирования процессов зависит от поставленных целей, класса решаемых задач. Алгоритмы планирования опираются на статические и динамические параметры процессов и компьютерных систем. Различают вытесняющий и невытесняющий режимы планирования. При невытесняющем планировании исполняющийся процесс уступает процессор другому процессу только при переходе в состояния «ожидание» или «закончил исполнение». При вытесняющем планировании исполняющийся процесс переводится в состояние «готовность» по окончании кванта времени.
4. Лекция: Кооперация процессов и основные аспекты ее логической организации
В вычислительной системе одновременно может протекать несколько процессов. Любой процесс может находиться в одном 5 состояний: ожидание, исполнение, готовность, рождение и закончил исполнение. Всем процессам компьютер предоставляет свои ресурсы, которые едины для всех. Поэтому процессы не должны мешать друг другу и не должны конфликтовать между собой. Эта задача возложена на операционную систему, которая старается максимально обособить процессы. Каждый процесс имеет свое адресное пространство, а при необходимости операционная система ему предоставляет дополнительные ресурсы. Для решения некоторых задач процессы могут объединяться.
4.1.Взаимодействующие процессы
В вычислительной системе параллельно исполняется множество процессов. При этом они взаимодействуют между собой. Параллелизм исполнения процессов преследует следующие цели:
Повышение скорости работы. (Процессорное время при переводе процесса из состояния «исполнение» в состояние «ожидание» используется другими процессами. В многопроцессорных системах программа может разбиваться на отдельные кусочки, каждый из которых исполняется на своем процессоре.)
Совместное использование данных. (Различные процессы могут работать с одной и той же базой данных, изменяя содержимое базы.)
Модульная конструкция системы. (При микроядерном способе построения операционной системы различные ее части представляют собой отдельные процессы, которые взаимодействуют между собой путем передачи сообщений через микроядро.)
Удобство работы пользователя, желающего, одновременно работать с несколькими программами
При взаимодействии процессы обмениваются информацией. Как правило, поведение процессов зависит от полученной информации. Если поведение процесса неизменно при любой принятой информации, то данный процесс в обмене информацией не нуждается и называется независимым. Процессы, которые влияют на поведение друг друга при обмене информацией, называются кооперативными или взаимодействующими процессами.
Каждый процесс имеет свои особенности. Работа одного процесса не должна приводить к нарушению работы другого процесса. Одной из задач операционной системы является организация работы процессов. Избежать нарушения работы процессов позволяет разделение адресных пространств и системных ресурсов процессов. Например, нельзя поместить значение, вычисленное в одном процессе, в область памяти, которая соответствует переменной другого процесса.