
- •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.3. Планирование по принципу кратчайшее задание - первым
Эффективность работы ранее рассмотренных алгоритмов зависит от порядка расположения в очереди процессов, находящихся в состоянии «готовность». Их производительность возрастает при расположении коротких процессов в начале очереди.
Алгоритм планирования по принципу кратчайшее задание – первым относится к невытесняющему планированию, когда для выполнения выбирается процесс с минимальным оценочным рабочим временем. Это позволяет уменьшить среднее время ожидания по сравнению с методом FIFO. Одни разработчики считают это правильным, другие придерживаются иного мнения, особенно когда следует учитывать приоритеты.
Основной сложностью данного вида планирования является не всегда известное значение продолжительности выполнения процесса. Возможен прогноз длительности работы процесса, исходя из его предыстории.
3.5.4.Гарантированное планирование
Гарантированное планирование гарантирует каждому пользователю ~1/N часть процессорного времени, где N – количество пользователей. Ti – время нахождения пользователя в системе, τi – суммарное процессорное время, выделенное всем процессам пользователя в течение сеанса.
Если τi<<Ti/N, то i-й пользователь обделен процессорным временем. Если τi>>Ti/N, пользователю предоставлено значительное количество процессорного времени. По рассчитываемому коэффициенту справедливости τi=N/Ti очередной квант времени предоставляется процессу с наименьшей величиной этого отношения. Недостатком алгоритма является невозможность предугадывания поведения пользователей. Если пользователь, не прерывая сеанса работы решил отдохнуть, то по возвращении его процессы получат много процессорного времени.
3.5.5.Приоритетное планирование
При приоритетном планировании процессу присваивается числовое значение – приоритет, в соответствии с которым ему выделяется процессор. Процессы с одинаковыми приоритетами планируются в порядке FCFS. Алгоритмы SJF и гарантированного планирования представляют собой частные случаи приоритетного планирования. Для алгоритма SJF в качестве приоритета выступает продолжительность следующего CPU burst. Чем меньше его значение, тем выше приоритет процесса. Для алгоритма гарантированного планирования приоритетом служит вычисленный коэффициент справедливости. Меньшее его значение соответствует большему приоритету.
В качестве приоритетов могут выступать как внутренние, так и внешние параметры процесса. К внутренним параметрам относятся количественные и качественные характеристики процесса такие как: ограничения по времени использования процессора, требования к размеру памяти, число открытых файлов и используемых устройств ввода-вывода, отношение средних продолжительностей I/O burst к CPU burst и т. д. Алгоритмы SJF и гарантированного планирования используют внутренние параметры. К внешним параметрам относятся важность процесса, стоимость оплаченного процессорного времени и т.д.
Планирование с использованием приоритетов может быть как вытесняющим, так и невытесняющим. При вытесняющем планировании появление в очереди готовых процессов высокоприоритетного процесса ведет к вытеснению исполняющегося низкоприоритетного процесса. В случае невытесняющего планирования он становится в начало очереди готовых процессов.
Существуют статические и динамические приоритеты процессов. Статические приоритеты не меняются с течением времени. Они просты в реализации. Недостатком статических приоритетов является отсутствие реакции на изменения ситуации в вычислительной системе. Динамические приоритеты меняют свои значения по ходу исполнения процессов. Примерами алгоритмов с динамическими приоритетами являются алгоритм SJF и алгоритм гарантированного планирования. Схемы с динамической приоритетностью сложнее в реализации и требуют больших издержек по сравнению со статическими схемами, но они улучшают работу системы.
Главной проблемой приоритетного планирования является долгое время ожидания низкоприоритетных процессов, которое находится в зависимости от выбора механизма назначения и изменения приоритетов процессов.