
- •Часть 1
- •Жизненный цикл выполнения программы
- •Управление оперативной памятью
- •Вторая стратегия: Распределение разделами
- •Третья Стратегия : Выделение перемещаемыми разделами
- •Логическая схема алгоритма перемещения
- •Четвертая стратегия: Выделение страницами
- •Пятая стратегия: Выделение страниц по запросу
- •Реализация виртуальной памяти
- •Алгоритмы обслуживания и вытеснения страниц
- •Шестая стратегия: Сегментное распределение
- •Седьмая стратегия: Странично-сегментное распределение
- •Резюме (Итоги)
- •Семь схем распределения памяти
- •Методы обеспечения виртуальной памяти
- •Основные термины
- •Адресация
- •Эффекты
- •Управление процессами
- •Понятие дескриптора
- •Прерывания
- •Планирование и диспетчеризация процессов и задач
- •Планирование заданий в системах без мультипрограммирования
- •Диспетчеризация в системах с мультипрограммированием
- •Синхронизация заданий и процессов
- •Резюме по управлению процессами
- •Основные понятия:
- •Виды вычислительных процессов:
- •Управление процессами. Задачи:
- •Функциональные компоненты ос по управлению процессами:
- •Место функциональных компонентов на схеме «Жизненный цикл задания»
- •Прерывания и механизм прерывания:
- •Функции по управлению задачами:
- •Диспетчеризация:
- •Конфликтные ситуации:
- •Управление информацией и внешними устройствами
- •Файловая система
- •Задача 1. Минимизация операций в/в
- •Управление внешними устройствами
- •Накопители на магнитных дисках
- •Резюме: Управление информацией и внешними устройствами
- •Основные понятия
- •Единицы хранения информации:
- •2. Управление информацией.
- •3. Структура файловой системы:
- •4. Структуры данных:
- •5. Доступ к данным:
- •4. Физический уровень файловой системы:
КОНСПЕКТ ЛЕКЦИЙ
ПО КУРСУ
«СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ»
Часть 1
Введение
Системное Программное Обеспечение – это базовое системное программное обеспечение (ОС)+СПО сервиса. СПО сервиса – это компиляторы, трансляторы, редакторы, и т.д.
Операционная система – набор программ, необходимых для управления аппаратурой машины и необходимых для функционирования другого программного обеспечения.
Изучение
ОС будет строиться по методологии
Донована: существуют 4 ресурса и есть 4
функции управления.
Ресурсы:
ЦП
оперативная память
внешние устройства
информация
Функции:
отслеживание состояния ресурса
решение о выделении ресурса
выделение ресурса
освобождение ресурса
Рисунок 1. Кольцевая схема вычислительной системы
Рассмотрим фразу: «Пользователь предоставляет свое задание операционной системе».
Пользователь – любой желающий, кто хочет, чтобы вычислительная система выполнила определенную работу; для этого он составляет:
Задание – совокупность действий, необходимых для выполнения требуемой работы; задание разбивается на шаги.
Шаг – единица работы, которая должна быть выполнена друг за другом; для их выполнения ОС создает процессы.
Процесс – единица элементарных действий, которая выполняется на отдельном устройстве.
Виды процессов:
процессы вычислений (быстрые устройства - ЦП)
процессы I/O (медленные устройства - внешние устройства)
Жизненный цикл выполнения программы
Предоставление – пользователь предоставляет свое задание вычислительной системе в понятном для нее виде (раньше – перфоленты, перфокарты; сейчас – практически сразу хранение).
Хранение – задание преобразовано к внутреннему виду, и оно может потребоваться только через очень длительное время.
Готовность – заданию, поступившему на обработку, выделяются все необходимые ресурсы, кроме ресурса ЦП; ЦП должен быть выделен в последнюю очередь, для того чтобы он не ожидал более медленные устройства; на этом этапе задание разбивается на процессы, т.е. единицы работы, назначаются определенным устройствам; ОС начинает работать с процессами.
Выполнение – процессу выделятся время ЦП; из состояния выполнения возможен переход в:
состояние завершения, если работа завершена;
в состояние ожидания, если пришел запрос на I/O;
в состояние готовности, если истек квант времени процессора
Ожидание – характеризуется тем, что у процесса отнимаются практически все ресурсы – “процесс вычисления заблокирован”; процесс вычисления ожидает завершения некоторого события. Начинается процесс ввода-вывода.
Завершение – закончились все процессы задания, и задание может быть завершено, т.е. у него отнимаются все ресурсы.
Все состояния заданий и процессов фиксируются ОС в специальных структурах (идентификаторы процессов и т.д.)
Множество ресурсов и множество претендентов на них порождает необходимость формирования очередей!!!
Управление оперативной памятью
Функции управления ОП:
Отслеживание состояния каждой единицы управления оперативной памятью (ячейка, раздел, блок, сегмент);
ОС решает, какой процесс (задача) получает ресурс оперативной памяти, на какое время, и какого объема. (7 основных стратегий!!!);
Выделение единиц управления ОП претенденту;
Освобождение ресурса ОП.
Стратегии предоставления ОП
П
ервая
стратегия:
Одиночное распределение
Идея: Вся доступная ОП выделяется одному заданию
Фрагментация – наличие выделенного, но не используемого куска ОП.
Аппаратная поддержка – вводится простое аппаратное средство – регистр границ. Он предназначен для отслеживания доступного или иного адреса ОП.
Аппарат защиты включает:
1. Регистр границ
2. Два режима работы: супервизор («adm») и пользователь («user»).
Регистр границ содержит граничный адрес области памяти ОС. Если режим работы – «user», то при каждом обращении к ОП адрес должен сравниваться с содержимым регистра границ.
А>Rgгр – normal
A<Rgгр – прерывание по защите ОП
Если режим работы “adm” –> выполняются программы самой ОС –> должен быть обеспечен доступ к любой области ОП.
+ простота
неэффективность использования ресурса ОП (фрагментация) и ЦП (большое время простоя из-за вынужденного ожидания завершения процессов ввода-вывода);
Объем задания ограничен объемом физической памяти. Vзад <=Vдост.оп
Задание в ОП помещается целиком –> возможен только однопрограммный режим работы
Варианты реализации – ранние версии MS DOS
Понятие о мультизадачности
Неэффективная работа в однопрограммном режиме объясняется тем, что невозможно согласовать постоянный набор ресурсов с разнообразными требованиями программы к этим ресурсам. Поэтому удачным является одновременная работа над несколькими заданиями с разделением выполнения их работ на разных ресурсах.
Мультипрограммирование – режим работы вычислительной машины, при котором пользователю кажется, что несколько заданий работают одновременно, если процессор одноядерный.
Источники:
наличие медленных и быстрых процессов;
возможность разделения некоторых видов ресурсов;
наличие системы прерываний.
К разделяемым ресурсам относятся ресурсы ЦП, памяти и некоторых ВУ.