Відмінності між версіями «Стани процесів»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
 
(не показано одну проміжну версію цього учасника)
Рядок 2: Рядок 2:
  
  
 +
 +
 +
[[Файл:Рис1.JPEG]]
  
 
Процес, що знаходиться в стані '''процес виконується''', може через деякий час завершитися або бути припинений операційною системою і знову переведено в стан '''процес не виконується'''. Призупинення процесу відбувається за однією з двох причин: для його подальшої роботи знадобилося виникнення якого-небудь події (наприклад, завершення операції введення-виведення) або закінчився часовий інтервал, відведений операційною системою для роботи цього процесу. Після цього операційна система за певним алгоритмом вибирає для виконання один з процесів, що знаходяться в стані '''процес не виконується''', і переводить його в стан '''процес виконується'''. Новий процес, що з'являється в системі, спочатку поміщається в стан '''процес не виконується'''.
 
Процес, що знаходиться в стані '''процес виконується''', може через деякий час завершитися або бути припинений операційною системою і знову переведено в стан '''процес не виконується'''. Призупинення процесу відбувається за однією з двох причин: для його подальшої роботи знадобилося виникнення якого-небудь події (наприклад, завершення операції введення-виведення) або закінчився часовий інтервал, відведений операційною системою для роботи цього процесу. Після цього операційна система за певним алгоритмом вибирає для виконання один з процесів, що знаходяться в стані '''процес не виконується''', і переводить його в стан '''процес виконується'''. Новий процес, що з'являється в системі, спочатку поміщається в стан '''процес не виконується'''.
  
  
 
+
[[Файл:Рис2.JPEG]]
  
 
Така модель не враховує що процес, обраний для виконання, може все ще чекати події, із-за якої він був призупинений, і реально до виконання не готовий. Для того щоб уникнути такої ситуації, розіб'ємо стан '''процес не виконується''' на два нових стани: '''готовність''' і '''очікування'''.  
 
Така модель не враховує що процес, обраний для виконання, може все ще чекати події, із-за якої він був призупинений, і реально до виконання не готовий. Для того щоб уникнути такої ситуації, розіб'ємо стан '''процес не виконується''' на два нових стани: '''готовність''' і '''очікування'''.  
 
 
 
  
 
Кожен новий процес, що з'являється в системі, потрапляє в стан '''готовність'''. Операційна система, користуючись яким-небудь алгоритмом планування, вибирає один з готових процесів і переводить його в стан '''виконання'''. У стані '''виконання''' відбувається безпосереднє виконання програмного коду процесу. Покинути цей стан процес може з трьох причин:  
 
Кожен новий процес, що з'являється в системі, потрапляє в стан '''готовність'''. Операційна система, користуючись яким-небудь алгоритмом планування, вибирає один з готових процесів і переводить його в стан '''виконання'''. У стані '''виконання''' відбувається безпосереднє виконання програмного коду процесу. Покинути цей стан процес може з трьох причин:  
  
або він закінчує свою діяльність;
+
- або він закінчує свою діяльність;  
 
+
або він не може продовжувати свою роботу, поки не відбудеться деяке подія, і операційна система переводить його в стан очікування;  
+
  
або в результаті виникнення переривання в обчислювальній системі (наприклад, переривання від таймера після закінчення дозволеного часу виконання) його повертають в стан готовність.
+
- або він не може продовжувати свою роботу, поки не відбудеться деяке подія, і операційна система переводить його в стан очікування;
  
Наша нова модель добре описує поведінку процесів під час їх життя, але вона не акцентує уваги на появі процесу в системі і його зникнення з системи. Для повноти картини нам необхідно ввести ще два стани процесів: народження і закінчив виконання (див. малюнок 2.3).  
+
- або в результаті виникнення переривання в обчислювальній системі (наприклад, переривання від таймера після закінчення дозволеного часу виконання) його повертають в стан готовність.  
  
 +
Нова модель добре описує поведінку процесів під час їх життя, але вона не акцентує уваги на появі процесу в системі і його зникнення з системи. Для повноти картини нам необхідно ввести ще два стани процесів: '''народження''' і '''закінчив виконання'''.
  
 
 
Рис. 2.3. Діаграма станів процесу, прийнята в курсі.
 
  
Тепер для появи в обчислювальній системі процес повинен пройти через стан народження. При народженні процес отримує в своє розпорядження адресний простір, до якого завантажується програмний код процесу; йому виділяються стек і системні ресурси; встановлюється початкове значення програмного лічильника цього процесу і т. д. Народжений процес переводиться в стан готовність. При завершенні своєї діяльності процес зі стану виконання потрапляє в стан закінчив виконання.  
+
[[Файл:Рис3.JPEG]]
 +
  
У конкретних операційних системах стану процесу можуть бути ще більш деталізовані, можуть з'явитися деякі нові варіанти переходів зі стану в стан. Так, наприклад, модель станів процесів для операційної системи Windows NT містить 7 різних станів, а для операційної системи UNIX - 9. Тим не менш, в принципі, всі операційні системи підкоряються викладеної вище моделі.
+
Тепер для появи в обчислювальній системі процес повинен пройти через стан '''народження'''. При народженні процес отримує в своє розпорядження адресний простір, до якого завантажується програмний код процесу; йому виділяються стек і системні ресурси; встановлюється початкове значення програмного лічильника цього процесу і т. д. Народжений процес переводиться в стан '''готовність'''. При завершенні своєї діяльності процес зі стану '''виконання''' потрапляє в стан '''закінчив виконання'''.
 +
У конкретних операційних системах стани процесів можуть бути ще більш деталізовані, можуть з'явитися деякі нові варіанти переходів зі стану в стан. Так, наприклад, модель станів процесів для операційної системи Windows NT містить 7 різних станів, а для операційної системи UNIX - 9. Тим не менш, в принципі, всі операційні системи підкоряються викладеної вище моделі.

Поточна версія на 22:49, 24 квітня 2011

Кожен процес може знаходитися як мінімум в двох станах: процес виконується і процес не виконується. Діаграма станів процесу в такій моделі зображена на малюнку:



Рис1.JPEG

Процес, що знаходиться в стані процес виконується, може через деякий час завершитися або бути припинений операційною системою і знову переведено в стан процес не виконується. Призупинення процесу відбувається за однією з двох причин: для його подальшої роботи знадобилося виникнення якого-небудь події (наприклад, завершення операції введення-виведення) або закінчився часовий інтервал, відведений операційною системою для роботи цього процесу. Після цього операційна система за певним алгоритмом вибирає для виконання один з процесів, що знаходяться в стані процес не виконується, і переводить його в стан процес виконується. Новий процес, що з'являється в системі, спочатку поміщається в стан процес не виконується.


Рис2.JPEG

Така модель не враховує що процес, обраний для виконання, може все ще чекати події, із-за якої він був призупинений, і реально до виконання не готовий. Для того щоб уникнути такої ситуації, розіб'ємо стан процес не виконується на два нових стани: готовність і очікування.

Кожен новий процес, що з'являється в системі, потрапляє в стан готовність. Операційна система, користуючись яким-небудь алгоритмом планування, вибирає один з готових процесів і переводить його в стан виконання. У стані виконання відбувається безпосереднє виконання програмного коду процесу. Покинути цей стан процес може з трьох причин:

- або він закінчує свою діяльність;

- або він не може продовжувати свою роботу, поки не відбудеться деяке подія, і операційна система переводить його в стан очікування;

- або в результаті виникнення переривання в обчислювальній системі (наприклад, переривання від таймера після закінчення дозволеного часу виконання) його повертають в стан готовність.

Нова модель добре описує поведінку процесів під час їх життя, але вона не акцентує уваги на появі процесу в системі і його зникнення з системи. Для повноти картини нам необхідно ввести ще два стани процесів: народження і закінчив виконання.


Рис3.JPEG


Тепер для появи в обчислювальній системі процес повинен пройти через стан народження. При народженні процес отримує в своє розпорядження адресний простір, до якого завантажується програмний код процесу; йому виділяються стек і системні ресурси; встановлюється початкове значення програмного лічильника цього процесу і т. д. Народжений процес переводиться в стан готовність. При завершенні своєї діяльності процес зі стану виконання потрапляє в стан закінчив виконання. У конкретних операційних системах стани процесів можуть бути ще більш деталізовані, можуть з'явитися деякі нові варіанти переходів зі стану в стан. Так, наприклад, модель станів процесів для операційної системи Windows NT містить 7 різних станів, а для операційної системи UNIX - 9. Тим не менш, в принципі, всі операційні системи підкоряються викладеної вище моделі.