Головна

перемикання контексту

  1. Завдання 28. Визначте, норми системи або норми структури порушені в наступних контекстах.
  2. зміна контексту
  3. зміна контексту
  4. Культура і вплив соціального контексту
  5. Культура і вплив соціального контексту
  6. Культура і вплив соціального контексту
  7. Відволікання І ПЕРЕМИКАННЯ УВАГИ

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

Давайте для прикладу спрощено розглянемо, як в реальності може протікати операція розблокування процесу, що очікує введення-виведення (див. Рис. 7.4.). При виконанні процесором деякого процесу (на малюнку - процес 1) виникає переривання від пристрою введення-виведення, що сигналізує про закінчення операцій на пристрої. Над що виконуються процесом здійснюється операція припинення. Далі операційна система розблокує процес, який ініціював запит на введення-виведення (на малюнку - процес 2) і здійснює запуск призупиненого або нового процесу, обраного при виконанні планування (на малюнку був обраний розблокований процес). Як ми бачимо, в результаті обробки інформації про закінчення операції введення-виведення можлива зміна процесу, що знаходиться в стані виконання.


Мал. 7.4. Рятувальна операція розблокування процесу. Використання терміна "код користувача" не обмежує спільності малюнка тільки для користувача процесами

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

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

планування процесів

Тут розглядаються питання, пов'язані з різними рівнями планування процесів в операційних системах. Описуються основні цілі та критерії планування, а також параметри, на яких воно грунтується. Наведено різні алгоритми планування.

Всякий раз, коли нам доводиться мати справу з обмеженою кількістю ресурсів і декількома їх споживачами, будь то фонд заробітної плати в трудовому колективі або студентська вечірка з декількома ящиками пива, ми змушені займатися розподілом наявних ресурсів між споживачами або, іншими словами, плануванням використання ресурсів. Таке планування повинно мати чітко поставлені цілі (чого ми хочемо добитися за рахунок розподілу ресурсів) і алгоритми, що відповідають цілям і спираються на параметри споживачів.

рівні планування

У першій лекції, розглядаючи еволюцію комп'ютерних систем, ми говорили про два види планування в обчислювальних системах: плануванні завдань і плануванні використання процесора.

Планування завдань використовується в якості довгострокового планування процесів. Воно відповідає за породження нових процесів в системі, визначаючи її ступінь мультипрограммирования, т. Е. Кількість процесів, що одночасно знаходяться в ній. Якщо ступінь мультипрограммирования системи підтримується постійною, т. Е. Середня кількість процесів в комп'ютері не змінюється, то нові процеси можуть з'являтися тільки після завершення раніше завантажених. Тому довгострокове планування здійснюється досить рідко, між появою нових процесів можуть проходити хвилини і навіть десятки хвилин.

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

Критерії планування і вимоги до алгоритмів

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

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

Багато з наведених вище цілей і властивостей є суперечливими. Покращуючи роботу алгоритму з точки зору одного критерію, ми погіршуємо її з точки зору іншого. Пристосовуючи алгоритм під один клас задач, ми тим самим дискримінуємо завдання іншого класу.

параметри планування

Для здійснення поставлених цілей розумні алгоритми планування повинні спиратися на будь-які характеристики процесів в системі, завдань в черзі на завантаження, стану самої обчислювальної системи, іншими словами, на параметри планування. У цьому розділі ми опишемо ряд таких параметрів, не претендуючи на повноту викладу.

Всі параметри планування можна розбити на дві великі групи: статичні параметри і динамічні параметри. Статичні параметри не змінюються в ході функціонування обчислювальної системи, динамічні ж, навпаки, схильні до постійних змін.

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

До статичних параметрів процесів відносяться характеристики, як правило властиві завданням вже на етапі завантаження.

Алгоритми довгострокового планування використовують в своїй роботі статичні і динамічні параметри обчислювальної системи і статичні параметри процесів (динамічні параметри процесів на етапі завантаження завдань ще не відомі). Алгоритми короткострокового і середньострокового планування додатково враховують і динамічні характеристики процесів. Для середньострокового планування в якості таких характеристик може використовуватися наступна інформація:

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

1. Коли процес переводиться зі стану виконання в стан закінчив виконання.

2. Коли процес переводиться зі стану виконання в стан очікування.

3. Коли процес переводиться зі стану виконання в стан готовність (наприклад, після переривання від таймера).

4. Коли процес переводиться зі стану очікування в стан готовність (завершилася операція введення-виведення або відбулося інше подія). Детально процедура такого переведення розглядалася в лекції 2 (розділ "Перемикання контексту"), де ми показали, чому при цьому виникає можливість зміни процесу, що знаходиться в стані виконання.

Невитісняючі планування використовується, наприклад, в MS Windows 3.1 і ОС Apple Macintosh. При такому режимі планування процес займає стільки процесорного часу, скільки йому необхідно.

Витісняють планування зазвичай використовується в системах поділу часу. В цьому режимі планування процес може бути припинений в будь-який момент виконання. Операційна система встановлює спеціальний таймер для генерації сигналу переривання після закінчення деякого інтервалу часу - кванта.

алгоритми планування

Існує досить великий набір різноманітних алгоритмів планування, які призначені для досягнення різних цілей і ефективні для різних класів задач:

1) First-Come, First-Served - першим прийшов, першим обслужений.

2) Round Robin (RR) - це вид дитячої каруселі, це модемфіцірованний вид FCFS.

3) Shortest Job First (SJF) - найкоротша робота першої.

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

Найпростішим алгоритмом планування є невитісняючі алгоритм FCFS, який, однак, може істотно затримувати короткі процеси, невчасно перейшли в стан готовність. У системах поділу часу широкого поширення набула витісняє версія цього алгоритму - RR.

Серед всіх невитисняючих алгоритмів оптимальним з точки зору середнього часу очікування процесів є алгоритм SJF.

Контрольні питання:

1. Що таке процес в ОС.

2. Стан процесу і діаграма станів

3. Контекст процесу (інформація).

4. Операції над процесами: одноразові і багаторазові операції.

5. Планування використання ресурсів.

6. Критерії планування і вимоги до алгоритмів


 




Лекція 4. Поняття операційної системи. 4 години. | Інші класи ОС. | монолітні системи | багаторівневі системи | Модель клієнт-сервер і мікроядра | Лекція 6. Поняття ресурсу в ОС. | поняття процесу | стану процесу | набір операцій | одноразові операції |

© um.co.ua - учбові матеріали та реферати