- •1. Назначение и функци ос
- •Операционные системы пакетной обработки.
- •Операционные системы разделения времени.
- •Операционные системы реального времени.
- •2. Процессы
- •2.2. Состояния процесса
- •2.3.1. Набор операций
- •2.3.2. Process Control Block и контекст процесса
- •2.3. Операции над процессами и связанные с ними понятия
- •3. Организация памяти компьютера.
- •4. Система управления ввода-вывода
- •13.2. Логические принципы организации ввода-вывода.
- •13.2.1. Структура системы ввода-вывода.
2.3. Операции над процессами и связанные с ними понятия
Создание процесса
Порождение нового PCB с состоянием процесса «рождение»
Присвоение идентификационного номера
Выделение ресурсов (из ресурсов родителя, из ресурсов ОС)
Занесение в адресное пространство кода и установка значения программного счетчика (дубликат родителя, из файла)
Окончание заполнения PCB
Изменение состояния процесса на «готовность»
Завершение процесса
Изменение состояния процесса на «закончил исполнение»
Освобождение ресурсов
Очистка соответствующих элементов в PCB
Сохранение в PCB информации о причинах завершения
Запуск процесса
Выбор одного из процессов, находящихся в состоянии «готовность»
Изменение состояния выбранного процесса на «исполнение»
Обеспечение наличия в оперативной памяти информации, необходимой для его выполнения
Восстановление значений регистров
Передача управления по адресу, на который указывает программный счетчик
Приостановка процесса
Автоматическое сохранение программного счетчика и части регистров (работа оборудования)
Передача управления по специальному адресу (работа оборудования)
Сохранение динамической части регистрового и системного контекстов в PCB
Изменение состояния процесса на «готовность»
Обработка прерывания
Блокирование процесса
Обработка системного вызова
Сохранение контекста процесса в PCB
Перевод процесса в состояние «ожидание»
Разблокирование процесса
Уточнение того, какое именно событие произошло
Проверка наличия процесса, ожидающего этого события
Перевод ожидающего процесса в состояние «готовность»
Обработка произошедшего события
Набор операций
Одноразовые
создание процесса – завершение процесса
Многоразовые
запуск процесса – приостановка процесса
блокирование процесса – разблокирование процесса
(изменение приоритета)
Переключение контекста,
Переключение контекста (англ. Context Switch) — в многозадачных ОС и средах, процесс прекращения выполнения процессором одной задачи (процесса, потока, нити) с сохранением всей необходимой информации и состояния, необходимых для последующего продолжения с прерванного места, и восстановления и загрузки состояния задачи, к выполнению которой переходит процессор.
Переключение контекста происходит в момент, когда процессор переключается с одного процесса на другой. При переключении контекста система сохраняет контекст текущего процесса и восстанавливает контекст следующего процесса, выбранного для использования процессора. БУП-блок прерванного процесса при этом обновляется, а также изменяется значение поля состояния процесса (т.е. признак состояния выполнения заменяется признаком другого состояния: готовности, блокирования или «зомби»). Сохраняется и обновляется содержимое регистров процессора, состояние стека, данные об идентификации (и привилегиях) пользователя и процесса, а также о стратегии планирования и учетная информация.
Система должна отслеживать статус устройств ввода-вывода процесса и других ресурсов, а также состояние всех структур данных, связанных с управлением памятью. Вы г руженный (прерванный) процесс помещается в соответствующую очередь.
Переключение контекста происходит в случаях, когда:
• процесс выгружается;
• процесс добровольно отказывается от процессора;
• процесс делает запрос к устройству ввода-вывода или должен ожидать наступления события;
• процесс переходит из пользовательского режима в режим ядра.
Когда выгруженный процесс снова выбирается для использования процессора, его контекст восстанавливается, и выполнение продолжается с точки, на которой он был прерван в предыдущем сеансе.