Page 22 - 6111
P. 22

У  стані  виконання  у  однопроцесорній  системі  може
                            знаходитися тільки один процес, а в кожному зі станів очікування і
                            готовність  -  кілька  процесів,  ці  процеси  утворюють  черги
                            відповідно  очікують  і  готових  процесів.  Життєвий  цикл  процесу
                            починається  зі  стану  готовність,  коли  процес  готовий  до
                            виконання і чекає своєї черги. При активізації процес переходить у
                            стан  виконання  і  знаходиться  в  ньому  до  тих  пір,  поки  він  сам
                            звільнить  процесор,  перейшовши  в  стан  очікування  якої-небудь
                            події,  або  буде  насильно  “витиснутий”  із  процесора,  наприклад,
                            внаслідок  вичерпання  відведеного  даному  процесу  кванта
                            процесорного  часу.  В  останньому  випадку  процес  повертається  в
                            стан  готовність.  У  цей  же  стан  процес  переходить  зі  стану
                            очікування, після того, як очікуване подія відбудеться.
                                Протягом  існування  процесу  його  виконання  може  бути
                            багаторазово  перерване  і  продовжене.  Для  того,  щоб  відновити
                            виконання  процесу,  необхідно  відновити  стан  його  операційного
                            середовища. Стан операційного середовища відображається станом
                            регістрів  і  програмного  лічильника,  режимом  роботи  процесора,
                            покажчиками  на  відкриті  файли,  інформацією  про  незавершені
                            операції  введення-виведення,  кодами  помилок  виконуваних  даним
                            процесом  системних  викликів  і  т.д.  Ця  інформація  називається
                            контекстом процесу.
                                Крім  цього,  операційної  системи  для  реалізації  планування
                            процесів  потрібна  додаткова  інформація:  ідентифікатор  процесу,
                            стан  процесу,  дані  про  ступінь  привілейованості  процесу,  місце
                            знаходження  кодового  сегмента  й  інша  інформація.  У  деяких  ОС
                            (наприклад, в ОС UNIX) інформацію такого роду, використовувану
                            ОС для планування процесів, називають дескриптором процесу.
                                Дескриптор  процесу  в  порівнянні  з  контекстом  містить  більш
                            оперативну  інформацію,  яка  повинна  бути  легко  доступна
                            підсистемі  планування  процесів.  Контекст  процесу  містить  менш
                            актуальну  інформацію  і  використовується  операційною  системою
                            тільки  після  того,  як  прийнято  рішення  про  відновлення
                            перерваного процесу.
                                Черги процесів являють собою дескриптори окремих процесів,
                            об’єднані  в  списки.  Таким  чином,  кожен  дескриптор,  крім  всього
                            іншого, містить принаймні один покажчик на інший дескриптор, що
                            є  сусідами  з  ним  в  черзі.  Така  організація  черг  дозволяє  легко  їх
                            переупорядочівать,  включати  і  виключати  процеси,  переводити
                            процеси з одного стану в інший.
                                Програмний  код  тільки  тоді  почне  виконуватися,  коли  для
                            нього операційною системою буде створений процес.
                                                              21
   17   18   19   20   21   22   23   24   25   26   27