* ОС трябва да организира изпълнението на няколко процеса (multiprogramming),
за да максимизира използването на процесора, докато осигурява разумно време
за отговор (multiuser).
* ОС трябва да разпределя ресурси на процесите в съответствие със специфичните
им изисквания и приоритети, като в същото време избягва "мъртва хватка".
* ОС поддържа връзките между процесите и създаването на процеси от
потребителите.
3.1 Състояния на процеси
Процесорът изпълнява машинни инструкции, съхраняващи
се в ОП. Списъкът на инструкциите на един процес се нарича следа на процеса.
Пример:
--- FIGURE 3.1 ---
--- FIGURE 3.2 --- --- FIGURE 3.3 ---
** Модел с 2 състояния:
-- изпълнение (running);
-- неизпълнение (nonrunning).
--- FIGURE 3.4 ---
** Създаване на процеси.
Причини за създаване на процес:
- ново пакетно задание (new batch job) - с команди на ОС;
- диалогов login - потребител влиза в системата;
- създаден от ОС за осигуряване на услуга - във връзка с потребителска
програма, без да чака потребителят;
- породен от съществуващ процес (parent and child processes).
** Унищожаване на процеси.
Причини за унищожаване на процес:
- нормално завършване;
- превишаване на максималната време;
- няма памет;
- нарушаване на границите на паметта;
- грешка от защита;
- аритметична грешка;
- превишаване на времето за чакане на събитие;
- входно-изходна грешка;
- невалидна инструкция;
- инструкция, изпълнявана само от ОС;
- неправилна работа с данни;
- намеса на оператор или ОС;
- завършване на родителски процес;
- по заявка на родителски процес.
** Модел с 5 състояния.
Състоянията са:
1. Running - изпълнение;
2. Ready - готов;
3. Blocked- блокиран (чака събитие);
4. New - нов;
5. Exit - прекратен;
Преходи между различните състояния:
--- FIGURE 3.5 ---
--- FIGURE 3.6 --- --- FIGURE 3.7 ---
** Преустановени процеси (suspended processes).
Необходимостта от размяна (swapping).
Нови състояния на процесите:
3. Blocked, suspend
4. Ready, suspend
Преходи между различните състояния:
--- FIGURE 3.8 ---
Обобщени характеристики на преустановени процеси:
1. Процесът не е готов за непосредствено изпълнение.
2. Независимост от блокировка.
3. Поставяне в това състояние с цел недопускане до изпълнение.
4. Смяна на това състояние става само с "нарочна заповед".
Причини за преустановяване на процес:
- размяна;
- друга причина за ОС;
- диалогово искане на потребителя;
- по време, ако се изпълнява периодично;
- искане на родителя.