- •Питання до контрольної роботи та іспиту:
- •Операційна система як віртуальна машина
- •Операційна система як менеджер ресурсів
- •Що таке операційна система? Структура обчислювальної системи
- •Коротка історія еволю
- •Операційна система як захисник користувачів і програм
- •Комп'ютери на основі інтегральних мікросхем. Перші багатозадачні ос
- •Персональні комп'ютери. Класичні, мережні й розподілені системи
- •Взаємодія операційної системи з переферійними пристоями
- •Поняття процесу. Стани процесу.
- •Процес. Рівні планування процесу
- •Критерії планування процесів й вимоги до алгоритмів
- •Параметри планування процесів
- •Гарантоване планування процесів
- •Пріоритетне планування процесів
- •Багаторівневі черги (Multilevel Queue) процесів
- •Створення процесів
- •Створення потоків
- •Планування й диспетчеризація потоків (процесів)
- •Мультипрограмування в системах пакетної обробки, в системах поділу часу, в системах реального часу
- •Мультипроцесорна обробка
- •Мультипрограмування на основі переривань
- •Механізм переривань, та системні виклики
- •Взаємодіючі процеси
- •Категорії засобів обміну інформацією
- •Особливості передачі інформації за допомогою ліній зв'язку
- •Буферизація. Потік уведення/виводу й повідомлення
- •Тупіки. Визначення та умови виникнення тупіків.
- •Основні напрямки боротьби з тупиками та ігнорування проблеми тупиків
- •Способи запобігання тупиків шляхом ретельного розподілу ресурсів. Алгоритм банкіра
- •Запобігання тупиків за рахунок порушення умов виникнення тупиків
- •Фізична організація пам'яті комп'ютера
- •Логічна пам'ять, локальність, зв'язування адрес
- •Функції системи керування пам'яттю
Процес. Рівні планування процесу
Планування використання процесора вперше виникає в мультипрограмних обчислювальних системах, де в стані готовність можуть одночасно перебувати кілька процесів. Саме для процедури вибору з них одного процесу, що одержить процесор у своє розпорядження, тобто буде переведений у стан виконання, ми використали це словосполучення. Тепер,познайомившись із концепцією процесів в обчислювальних системах, обидва види планування ми будемо розглядати як різні рівні планування процесів. Планування завдань використається як довгострокове планування процесів. Воно відповідає за породження нових процесів у системі, визначаючи її ступінь мультипрограмування, тобто кількість процесів, що одночасно перебувають у ній. Планування використання процесора застосовується як короткострокове планування процесів. Воно проводиться, приміром, при обігу процесу, що виконується, до пристроїв вводу-виводу або просто по завершенні певного інтервалу часу. Тому короткострокове планування здійснюється, як правило, не рідше одного разу в 100 мілісекунд Вибір нового процесу для виконання впливає на функціонування системи до настання чергової аналогічної події, тобто протягом короткого проміжку часу, чим й обумовлена назва цього рівня планування - короткострокове.
Критерії планування процесів й вимоги до алгоритмів
Для кожного рівня планування процесів можна запропонувати багато різних алгоритмів. Вибір конкретного
алгоритму визначається класом завдань, До числа таких цілей можна віднести наступні:
· Справедливість - гарантувати кожному завданню або процесу певну частину часу
використання процесора в комп'ютерній системі, намагаючись не допустити виникнення ситуації, коли процес
одного користувача постійно займає процесор, у той час як процес іншого користувача фактично не починав
виконуватися.
· Ефективність - постаратися зайняти процесор на всі 100% робочого часу, не дозволяючи
йому простоювати чекаючи процесів, готових до виконання. У реальних обчислювальних системах
завантаження процесора коливається від 40 до 90%.
· Скорочення повного часу виконання (turnaround time) - забезпечити мінімальний час між
стартом процесу або постановкою завдання в чергу для завантаження і його завершенням.
· Скорочення часу очікування (waiting time) - скоротити час, що проводять процеси в стані
готовність і завдання в черзі для завантаження.
· Скорочення часу відгуку (response time) - мінімізувати час, що потрібно процесу в
інтерактивних системах для відповіді на запит користувача.
Незалежно від поставлених цілей планування бажано також, щоб алгоритми мали наступні властивості.
· Були передбачуваними. Те саме завдання повинне виконуватися приблизно за те саме час.
Застосування алгоритму планування не повинне приводити, приміром, до добування квадратного кореня з 4 за
соті частки секунди при одному запуску й за кілька доби - при другому запуску.
Параметри планування процесів
Для здійснення поставлених цілей розумні алгоритми планування повинні опиратися на які-небудь
характеристики процесів у системі, завдань у черзі на завантаження, стани самої обчислювальної системи, іншими
словами, на параметри планування. У цьому розділі ми опишемо ряд таких параметрів, не претендуючи на повноту
викладу. Всі параметри планування можна розбити на дві більші групи: статичні параметри й динамічні параметри.
Статичні параметри не змінюються в ході функціонування обчислювальної системи, динамічні ж, навпроти, піддані
постійним змінам.27 До статичних параметрів обчислювальної системи можна віднести граничні значення її ресурсів (розмір оперативної пам'яті, максимальна кількість пам'яті на диску для здійснення свопінга, кількість підключених пристроїв вводу-виводу й т.п.). Динамічні параметри системи описують кількість вільних ресурсів на даний момент.
До статичних параметрів процесів ставляться характеристики, як правило властивим завданням уже на етапі
завантаження.
· Яким користувачем запущені процес або сформований завдання.
· Наскільки важливої є поставлене завдання, тобто який пріоритет її виконання.
· Скільки процесорного часу запитано користувачем для рішення завдання.
· Яке співвідношення процесорного часу й часу, необхідного для здійснення операцій вводу-
виводу.
