План выполнения занятия
Ознакомиться с лекционным материалом
Сделать конспект лекции
Ответить на контрольные вопросы
Создать фотоотчет о проделанной работе
Переслать на почту преподавателя фотоотчет в виде файла с именем фамилия_группа_дата занятия (например: Петров_551_19-03-20)
Лекция 3-1. Взаимодействие и планирование процессов
Цель занятия: сформировать знания студентов о взаимодействии процессов, об операциях над процессами
Управление процессами.
Процесс - это программа во время выполнения, т.е. когда ей предоставлен центральный процессор.
Во время работы процесс может находиться в одном из трех состояний: "готов", "выполняется", "блокирован".
Процесс находится в состоянии "готов", когда он мог бы сразу использовать ЦП, как только он предоставится ему.
При предоставлении ЦП, программа переходит в состояние "выполняется", т.е. процесс находится в состоянии "выполняется", когда ему предоставлен ЦП.
ЦП предоставляется на определенный промежуток времени (квант времени). В том случае, когда данного кванта не достаточно для полного выполнения программы, процесс останавливается и переходит в состояние "готов".
Из состояния "выполняется" в "блокирован", процесс переходит, когда ему необходимо записать или считать информацию. По завершению считывания или записи данных, процесс переходит из состояния "блокирован" в "готов".
В состоянии "выполняется " очередей никогда нет, а в состояниях "готов" и "блокирован" очереди из программ могут быть.
Очередь упорядочена по приоритетам в состоянии "готов", а в состоянии "блокирован" - нет.
Блок управления процессом (БУП).
БУП - структура данных или объект, содержащий определенную, важную информацию о процессе:
текущее состояние процесса
уникальный идентификатор процесса (номер)
приоритет
область памяти
ресурсы, выделенные процессу
область сохранения регистров
Когда ОС переключает ЦП с процесса на процесс, она использует области сохранения регистров данных процессов, чтобы запомнить информацию, необходимую для рестарта.
2. Операции над процессами.
ОС должна иметь возможность выполнять определенные операции над процессами:
создание процесса
уничтожение
возобновление
изменение приоритета
блокирование
пробуждение
запуск
Создание нового процесса состоит из нескольких подопераций:
присвоение имени
включение этого имени в список имен процессов, известных ОС
присвоение начального приоритета
формирование БУП
выделение процессу начальных ресурсов
Новый процесс может породить дочерние процессы.
Уничтожение процесса - удаление его из системы. Ресурсы, выделенные ему, возвращаются ОС, а имя стирается из всех системных списков и таблиц, БУП освобождается, но не удаляется.
При удалении родительского процесса в одних ОС удаляются и дочерние процессы, в других - они работают самостоятельно.
Возобновление - операция подготовки процесса к повторному запуску с той точки, в которой он был приостановлен (БУП, область сохранения регистров).
Изменение приоритета - это изменение значения приоритета в БУП.
3. Прерывания в ОС.
Прерывание — это событие, при котором меняется нормальная последовательность команд, выполняемых ЦП.
Если произошло прерывание, то:
Управление передается ОС
ОС запоминает состояние прерванного процесса
ОС анализирует тип прерывания и передает управление соответствующей программе по обработке данного типа прерывания.
Контрольные вопросы:
Что такое процесс?
Расскажите о «модели трех состояний».
Какие существуют операции над процессами?
Что нужно для создания процесса в операционной системе?
Что такое взаимодействие и синхронизация процессов и потоков? Как они выполняются?
Что такое в прерывание в ОС?
Какие действия происходят при прерывании?