Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shp.doc
Скачиваний:
17
Добавлен:
18.09.2019
Размер:
5.46 Mб
Скачать
  1. Управление процессами в операционных системах

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

Модем процесса включает в себя: 1) код программы; 2) секцию данных, хронящие глобальную переменную; 3) стек процесса, хранящий временные переменные, параметры процедур и адреса возврата; 4) текущую активность процесса.

Состояние процессов

В многозадачной системе процесс может находиться в одном из трех основных состояний:

НОВЫЙ – процесс находится в операционной памяти, но еще не начал свою работу.

ГОТОВНОСТЬ - пассивное состояние процесса, процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы и готов выполняться, но он занят выполнением другого процесса.

ПРИОСТАНОВКА – заблокированный процесс, временно выгружается из памяти для освобождения ее новому процессу.

ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;

В ходе жизненного цикла каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования процессов. Системные вызовы.

Fork – Используется для создания нового процесса, дублирующего вызывающий. Вызов fork: Копирует з сигмента (кода) пользовательских и системных данных без инициализации из програм. Новый процесс является копией адресного пространства родителя, следовательно, оба процесса продолают выполняться с инструкции, следующей за fork. В потомке fork возвращает 0, а в родителе – № потомка.

Clone

Exec – вызывается после fork для замены дочернего процесса новой программы. Новая программа перекрываеи память работающего процесса. Перекрывший процесс инициализируется из указанной программы и начинае выполняться сначала.

Exit – Используется для завершения процесса.

Signal – набор библиотечных функций (например: сигнал прерывания, управляющий реакцией процесса на не ожидание события).

Abort – прерывание процесса.

Brk – изменяет размер и положение сигмента данных процесса.

  1. Конкуренция процессов

Конкуренция процесса связана с :

  • многозадачность (выполнение нескольких процессов на одном устройстве);

  • разделение физических ресурсов;

  • разделение логических ресурсов;

  • скорость выполнения;

  • требования реального времени к …….в-в.

Критическая секция – участок кода, модифицирующий некоторые ресурсы, требующий монопольного доступа (возникает критическая ситуация).

Семафор может рассматриваться как целочисленная переменная, для которой определены следующие операции:

р(sem) или wait (sem)

if(sem !=0)

уменьшить sem на единицу

else

ждать, пока sem не станет ненулевым, затем вычесть единицу

v(sem) или signal(sem)

увеличить sem на единицу

if(очередь ожидающих процессов не пуста)

продолжить выполнение первого процесса в очереди ожидания

Обратите внимание, что обозначения р и v происходят от голландских терминов для понятий ожидания (wait) и сигнализации (signal), причем последнее понятие не следует путать с обычными сигналами UNIX.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]