Диспетчеризація потоків, безкоштовні курсові, реферати, дипломні роботи

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

Дескриптор завдання - це спеціальна інформаційна структура, в якій ...
зберігаються характеристики завдання необхідні для цілей управління з боку ОС. Спочатку, дескриптор завдання формується на етапі е¨ трансляції. Перед виконанням завдання, такий дескриптор завантажується в оперативну пам'ять спільно з е¨ кодом і даними. Інформація про задачу, яка зберігається в дескрипторі, розділяється на кілька груп, і частина е¨ динамічно змінюється на інтервалі існування завдання. Розглянемо ці групи:

· Інформація по ідентифікації завдання (ім'я завдання, тип завдання);

· Інформація про ресурсах, які необхідні задачі для е¨ виконання і про ресурси, які використовуються в даний час (ідентифікатори необхідних зовнішніх пристроїв);

· Інформація про поточний стан завдання (вміст деяких регістрів процесора);

· Інформація про родинні зв'язки завдання (імена батьківського процесу і процесів-предків);

Диспетчеризація потоків, безкоштовні курсові, реферати, дипломні роботи

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

1. FCFS (first come - first served - першим прийшов, першим обслужився) - перш процесор отримує те завдання, яка раніше перейшла в стан готовності. Дана дисципліна проста в реалізації, рівноправна по відношенню як до "довгих" так і до "коротким" процесам, середній час перебування в черзі готовності далеко не останнє.

2. SJN (shortest job next - наступний з найкоротшим завданням) - перш процесор отримує те завдання, яка має мінімальне замовне час обслуговування. Дана дисципліна вимагає, щоб для кожного завдання була відома оцінка потреби в машинному часу, значення якої задається як параметр завдання. Така дисципліна складніша в реалізації в порівнянні з FCFS, вона дискримінаційна по відношенню до "довгих процесам", середній час перебування в черзі готовності менше ніж для FCFS. SJN має істотний недолік. Завдання, які були тимчасово заблоковані (наприклад, очікували завершення введення / виводу), в результаті потраплять в кінець черги готовності, навіть якщо для їх виконання потрібна невелика процесорний час.

3. SRT (shortest remaining time) - насамперед процесор отримує завдання, яке має найменше часу для свого завершення. Це час визначається як різниця між замовленим часом обслуговування і тим процесорним часом, яка задача вже отримала. SRT вільна від нестачі, характерного для SJN. SRT складна в реалізації та дискримінаційна по відношенню до "довгих" процесам.

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

4. RR (round robin) - циклічна (карусельна) дисципліна. Диспетчер виділяє готової до виконання задачі деякий квант процесорного часу (інтервал мультиплексування). Якщо завдання не встигає виконатися протягом цього кванта, диспетчер переводить е¨ назад в кінець черги готовності і виділяє наступний квант процесорного часу для іншої готової завдання. Дана дисципліна є дискримінаційною по відношенню до довгих процесам. Е¨ зручно використовувати в багатокористувацьких обчислювальних системах, де потрібно обслуговувати велику кількість запитів, що надходять з різних робочих станцій системи.

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

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

7. Дисципліни з декількома чергами. Диспетчер підтримує кілька черг готових до виконання завдань. Кожна чергу обслуговується по своїй дисципліні. Такий диспетчер складний в реалізації, так як в його складі повинен бути додатковий механізм перемикання з однієї черги готовності на іншу. Ще простіше реалізації диспетчера (статичний) передбачає, що завдання потрапивши в деяку чергу готовності, там і залишається до свого повного виконання. Більш складним способом реалізації (динамічним) є спосіб, при якому задача може переходити з однієї черги готовності в іншу на інтервалі свого існування.

Додаткові купи в процесі

Схожі статті