![](/user_photo/_userpic.png)
- •Операционные системы
- •Типы ОС
- •Типы ОС
- •Мультипрограммирование
- •ВС для реализации режима мультипрограммирования:
- •ОС для реализации режима мультипрограммирования:
- •Операционные системы
- •Понятие процесса и ресурсы ВС
- •Программа и процесс
- •Состояния процесса
- •Структура PCB
- •Граф состояний процесса
- •Управление процессами
- •Граф состояний процесса (2)
- •Резюме
Операционные системы
Лекция 2 - 1
Типы ОС. Мультипрограммирование; режим разделения времени; многопользовательский режим работы; режим работы и ОС реального времени. Способы реализации мультипрограммирования
![](/html/88342/114/html_DKgBTb8s47.6RNz/htmlconvd-Vrcqlc2x1.jpg)
Типы ОС
Однозадачные (MS-DOS)
Многозадачные (Unix, OS/2, Windows)
Пакетные системы - запуск одной программы из пакета за другой
Системы разделения времени (time-sharing) – процессор переключается между задачами не только на время операций ввода – вывода но и по прошествии определенного времени, что позволяет пользователю интерактивно взаимодействовать с программой
Системы реального времени – для управления различными технологическими процессами – система должна обрабатывать данные быстрее, чем они могут поступать, причем от разных источников => влияние на архитектуру, например может не быть виртуальной памяти, так как она дает непредсказуемые задержки в выполнении программ
![](/html/88342/114/html_DKgBTb8s47.6RNz/htmlconvd-Vrcqlc3x1.jpg)
Типы ОС
Поддержка многопользовательского режима:
Многопользовательские (Windows NT, Unix) –механизмы защиты персональных данных каждого пользователя
Однопользовательские (MS-DOS, Windows 3.x)
Многопроцессорная обработка:
Многопроцессорные ОС (Linux, Solaris, Windows NT)
Симметричные – на каждом процессоре функционирует одно и то же ядро, и задача может быть выполнена на любом процессоре, т.е. обработка децентрализована
Ассиметричные – процессоры не равноправны (master и slave) – загрузку и характер работы определяет главный процессор
![](/html/88342/114/html_DKgBTb8s47.6RNz/htmlconvd-Vrcqlc4x1.jpg)
Мультипрограммирование
- пока одна программа выполняет операцию ввода-вывода, процессор не простаивает как при однопрограммном режиме, а выполняет другую программу
При мультипрограммировании повышается пропускная способность системы, но отдельный процесс никогда не сможет быть выполнен быстрее, чем бы он был выполнен при однопрограммном режиме.
![](/html/88342/114/html_DKgBTb8s47.6RNz/htmlconvd-Vrcqlc5x1.jpg)
ВС для реализации режима мультипрограммирования:
Программы не должны иметь самостоятельного доступа к распределению ресурсов, что приводит к появлению
привилегированных и непривилегированных команд
Наличие прерываний:
-Внешних (оповещение ОС о том что произошло асинхронное событие, например завершилась операция ввода-вывода) -Внутренних (ситуации) возникают когда выполнение программы требует вмешательства ОС, например деление на 0 или попытка нарушения защиты
Параллелизм в архитектуре:
прямой доступ к памяти и организация каналов ввода-вывода
![](/html/88342/114/html_DKgBTb8s47.6RNz/htmlconvd-Vrcqlc6x1.jpg)
ОС для реализации режима мультипрограммирования:
Организация интерфейса между прикладным ПО и ОС реализуется при помощи системных вызовов
Организация очереди из заданий в памяти требует планирования использования процессора
Переключение с одного задания на другое требует сохранения содержимого регистров и структур данных (контекста)
Поскольку память – ограниченный ресурс, используются стратегии управления памятью
Для обеспечения санкционированного обмена данными между программами – средства коммуникации
Для разрешения конфликтных ситуаций – средства синхронизации
Операционные системы
Лекция 2 - 2
Понятие процесса и ядра ОС; ресурсы ВС, управление процессами; структура контекста процесса; идентификатор и дескриптор процесса; иерархия процессов.
![](/html/88342/114/html_DKgBTb8s47.6RNz/htmlconvd-Vrcqlc8x1.jpg)
Понятие процесса и ресурсы ВС
Процесс – программа во время исполнения или объект, которому выделяются ресурсы ВС (процессор, память и ….)
Процесс – динамический объект
Программа и задание – статические объекты
Процесс характеризует:
•Набор исполняемых команд
•Выделенная для исполнения память (адресное пространство)
•Адрес и состояние стеков
•Используемые файлы
•Устройства ввода-вывода
•Значения регистров
•Программный счетчик
•Значение переменных
![](/html/88342/114/html_DKgBTb8s47.6RNz/htmlconvd-Vrcqlc9x1.jpg)
Программа и процесс
программа процесс
не существует взаимно-однозначного соответствия
Одна программа - несколько процессов
Один процесс – исполняет последовательно несколько программ
И даже в случае обработки только одной программы в рамках одного процесса: процесс – не просто динамическое описание кода исполняемого файла, данных и выделенных для них ресурсов. Процесс находится под управлением операционной системы , поэтому в нем может выполнятся часть кода ее ядра, не находящегося в исполняемом файле (предусмотренные случаи: системные вызовы, непредусмотренные: внешние прерывания)
![](/html/88342/114/html_DKgBTb8s47.6RNz/htmlconvd-Vrcqlc10x1.jpg)
Состояния процесса
Порождение – создаются условия для первого запуска Готовность – у процесса есть все необходимые ресурсы, кроме ЦП Активное – выделение процессора
Ожидание – (блокировка) нужный ресурс занят, процесс ждет его освобождения
Завершение – штатное или аварийное окончание работы программы
Основная функция ОС - управление процессами.
ОС должна обеспечить контроль над процессами в любом из возможных состояний.
Текущее состояние процесса описывается в системе с помощью PCB
(Process Control Block)