![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Процесс является фундаментальным понятием, отражающим функционирование ОС. По своей сути это динамический объект, над которым ОС выполняет определенные действия.
Рассмотрим модели процессов, их возможные состояния, условия переходов из одного состояния в другое, а также операции, которые ОС может проводить над процессом.
Ранее мы использовали категории «программа» и «задание» - это код, данные и команды управления. Для того чтобы описывать исполняемую программу нужны новые понятия. Дело в том, что задание и программа отражают статические объекты, а исполняемая программа является динамическим объектом.
Действительно, по ходу ее работы компьютер обрабатывает различные команды и преобразует значения переменных. Кроме того, для выполнения программы ОС должна зарезервировать определенные ресурсы из общего числа ресурсов всей ВС. Их количество и конфигурация с течением времени могут изменяться.
Для описания таких активных объектов вместо терминов «программа» и «задание» будет использоваться новый термин «процесс».
Процесс характеризует некоторую совокупность набора исполняющихся команд, ассоциированных с ним ресурсов (выделенная для исполнения память или адресное пространство, стеки, используемые файлы, устройства ввода-вывода и т.д.) и текущего момента его выполнения (значения регистров, программного счетчика, состояние стека и значение переменных), находящегося под управлением ОС.
Процесс находится под управлением ОС, поэтому в нем может выполняться часть кода ее ядра (не находящаяся в исполняемом файле).
Эта ситуация может быть специально запланирована авторами программы (например, при использовании системных вызовов, так и в непредвиденных ситуациях (например, при обработке внешних прерываний).
Состояние процесса
При использовании такой абстракции, как процесс, все что выполняется в ВС организовано как набор процессов (среди них могут быть процессы как пользовательские, так и самой ОС).
Для однопроцессорной компьютерной системы исполняться в каждый момент времени может только один процесс.
Для мультипрограммных систем возможна псевдо параллельная обработка нескольких процессов. Псевдопараллельность достигается с помощью переключения процессора с одного процесса на другой. Пока один процесс выполняется, остальные ждут своей очереди.
Модель процесса может быть представлена следующим образом:
Как видно, процесс может находиться в одном из пяти состояний: рождение, готовность, исполнение, ожидание, завершение.
Для появления в ВС процесс должен пройти через состояние рождения. При этом он получает в свое распоряжение:
· адресное пространство, в которое загружается программный код процесса
· ему выделяются стек и системные ресурсы
· устанавливается начальное значение программного счетчика этого процесса
Всякий новый процесс, появившийся в системе, пройдя стадию рождения переходит в состояние готовность.
ОС, используя те или иные алгоритмы планирования, выбирает из очереди готовых процессов один из них и переводит его в состояние исполнение. В этом состоянии происходит непосредственное выполнение программного кода процесса.
Из этого состояние процесс может выйти по 3 причинам:
1. ОС прекращает его деятельность
2. он не может продолжить свою работу, пока не произойдет некоторое событие, и ОС переводит его в состояние ожидание
3. в результате возникновения прерывания в ВС (например, прерывание от таймера по истечении предусмотренного времени исполнения) его возвращают в состояние готовность
Из состояния ожидание процесс попадает в состояние готовность после того, как ожидаемое событие произошло, и он снова может быть выбран для исполнения.
При завершении своей деятельности процесс из состояния исполнение попадает в состояние завершение.
Дата публикования: 2014-11-04; Прочитано: 2369 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!