Хелпикс

Главная

Контакты

Случайная статья





Процесс (process)  [1] является  программа пользователя при ее выполнении. При своей работе операционная системы исполняет множество классов программ: пакетные задания; пользовательские программы в режиме разделения времени; системные программы и процессы



Процесс (process)  [1] является  программа пользователя при ее выполнении. При своей работе операционная системы исполняет множество классов программ: пакетные задания; пользовательские программы в режиме разделения времени; системные программы и процессы. Имеется несколько схожих терминов, характеризующих пользовательские программы: процесс (process), задание (job), задача (task)

Важная особенность процесса [1]: это единица вычислений, которая должна выполняться последовательно, т.е. каждый процесс имеет свой последовательный поток управления (control flow) –последовательность выполняемых процессом команд. Многие большие задачи решаются путем параллельноговыполнения процессов.

В том случае, когда множества ресурсов нескольких процессов имеют непустое пересечение, то возникает вопрос об использовании, так называемых, разделяемых ресурсов. Может быть несколько процессов, каждый из которых имеет в качестве своего ресурса устройство и в каждый момент времени может обратиться к этому ресурсу с заказом на какое-то действие. Синхронизация работы процессов иллюстрирует одну из функций ОС, заключающуюся в управлении функционированием процессов.


2. Состояние процесса

При исполнении процесс может изменять свое состояние следующим образом [2]:

Новый (new)[1]: Процесс создается операционной системой, но еще не начал выполняться.

Исполняемый (running)[1]: Исполняются команды процесса на процессоре или процессорах компьютерной системы под управлением ОС.

Ожидающий (waiting)[1]: Процесс ожидает наступления некоторого события, например, завершения ввода-вывода. В состоянии ожидания процесс не занимает процессор.

Готовый к выполнению (ready)[1]: Процесс ожидает получения ресурсов процессора для его исполнения. В состояние готовности к выполнению процесс попадает обычно либо при его создании, либо после завершения ввода-вывода (из состояния ожидания).

Завершенный (terminated) [1]: Исполнение процесса завершено.

Как видно из схемы, новый процесс, созданный в системе, проходит стадию допущен (admitted) [2]– включается операционной системой в очередь всех процессов в системе, после чего ОС переводит его в состояние готовности к выполнению. Замечание. Очередь готовых к выполнению процессов – одна из наиболее часто используемых системных структур для управления процессами.

Из состояния готовности в состояние выполнения процесс переводится планировщиком ОС в результате диспетчеризации– выделения кванта процессорного времени. При выполнении процесс может быть прерван (по таймеру, в результате ошибки и т.п.), а после обработки прерывания операционной системой переходит снова в состояние готовности к выполнению. Если в процессе выполняется синхронный ввод-вывод, либо процесс должен ожидать наступления некоторого события (например, определенного момента времени), процесс переходит в состояние ожидания. При завершении ввода-вывода или при наступлении ожидаемого события процесс не получает сразу же квант процессорного времени, а переходит в состояние готовности к выполнению. Процесс переходит в завершенное состояние при завершении работы программы процесса - например, в результате системного вызова exit(c), где c – код завершения. Если c = 0, процесс считается благополучно завершенным.

 


 

1.2 Управление процессами

1) Управление использованием [3] времени центрального процессора. Это ещё называют планированием ЦП, то есть управление тем, в какой момент времени какая из задач или какой из процессов будет владеть активностью ЦП: на какой из процессов будет работать ЦП.

2) Управление «подкачкой» и буфером ввода [3]. Процессором обрабатывается несколько процессов, и перед нами стоит задача освободить реальную оперативную память для других задач. В этом случае возникает необходимость какие - то из обрабатываемых задач откачать на внешнее запоминающее устройство. Как более или менее выгодно организовать процесс откачки является одной из задач ОС. Если в системе образовывается масса задач, то вся вычислительная система не может принять для работы в мультипрограммном режиме все задачи. В этом случае образуется, так называемый, буфер ввода задач, или буфер ввода процессов, то есть буфер, в котором аккумулируются те процессы, которые ожидают начала своей обработки процессором. Возникает проблема очередности выбора процессов из этого буфера для начала обработки. Это задача планирования буфера.

3)   Управление разделяемыми ресурсами [3]. Имеется набор ресурсов, доступ к которым в определенные моменты времени организуется от имени различных процессов. Одна из функций, которая во многом определяет свойства ОС, это функция, обеспечивающая организацию взаимодействия процессов и использования общих ресурсов. Проблема с простым устройством легко решается, а вот если две программы имеют общий фрагмент оперативной памяти, то управление таким разделяемым ресурсом - сложная задача.


 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.