- •Питання до контрольної роботи та іспиту:
- •Операційна система як віртуальна машина
- •Операційна система як менеджер ресурсів
- •Що таке операційна система? Структура обчислювальної системи
- •Коротка історія еволю
- •Операційна система як захисник користувачів і програм
- •Комп'ютери на основі інтегральних мікросхем. Перші багатозадачні ос
- •Поняття процесу. Стани процесу.
- •Персональні комп'ютери. Класичні, мережні й розподілені системи
- •Взаємодія операційної системи з переферійними пристоями
- •Процес. Рівні планування процесу
- •Критерії планування процесів й вимоги до алгоритмів
- •Параметри планування процесів
- •Гарантоване планування процесів
- •Пріоритетне планування процесів
- •Багаторівневі черги (Multilevel Queue) процесів
- •Створення процесів
- •Створення потоків
- •Планування й диспетчеризація потоків (процесів)
- •Мультипрограмування в системах пакетної обробки, в системах поділу часу, в системах реального часу
- •Мультипроцесорна обробка
- •Мультипрограмування на основі переривань
- •Механізм переривань, та системні виклики
- •Взаємодіючі процеси
- •Категорії засобів обміну інформацією
- •Особливості передачі інформації за допомогою ліній зв'язку
- •Буферизація. Потік уведення/виводу й повідомлення
- •Тупіки. Визначення та умови виникнення тупіків.
- •Основні напрямки боротьби з тупиками та ігнорування проблеми тупиків
- •Способи запобігання тупиків шляхом ретельного розподілу ресурсів. Алгоритм банкіра
- •Запобігання тупиків за рахунок порушення умов виникнення тупиків
- •Фізична організація пам'яті комп'ютера
- •Логічна пам'ять, локальність, зв'язування адрес
- •Функції системи керування пам'яттю
Створення процесів
Створити процес - це створити описувач процесу (інформаційна структура, що містить відомості необхідні для
керування цим процесом)
Зміст: ідентифікатор, адреса модуля, що виконує, пріоритет, права доступу й ін.
Приклади описувачів для:
· Windows NT/2000/XP - процес^-процес-об'єкт-процес (object-process)
· UNIX - дескриптор процесу
· OS/2 - керуючий блок процесу (PCB -Process Control Block)
Крім того створити процес - це включає також наступні дії:
· Знайти програму на диску
· перерозподілити оперативну пам'ять
· виділити пам'ять новому процесу
· переписати програму у виділену пам'ять
· змінити деякі параметри програм
Створення потоків
У багато потоковій системі при створенні процесу створюється хоча б один потік. Для потоку ОС генерує
описувач потоку (ідентифікатор потоку, дані про права, пріоритет, стан потоку й ін.)вихідний стан потоку - припинене.
Потік може породити інший потік - нащадок. При завершення потоку-батька використаються різні алгоритми.
Асинхронне завершення припускає продовження виконання нащадок^-нащадків-потоків-нащадків після завершення
потоку-батька. Синхронне завершення потоку-батька приводить до завершення всіх його нащадків.
Приклад створення потоків в Windows (object Pascal)
T=TThread.Create(false);
Приклад видалення потоку
T.Suspend; T.Terminate; T.Free;
Планування й диспетчеризація потоків (процесів)
Планування означає визначення моменту: коли перервати виконання активного потоку і який потік активізувати
Планування виконується на основі описувач потоків.
Застосовуються різні алгоритми планування.
У більшості ОС планувань динамічне, тобто рішення приймаються під час роботи ОС на основі аналізу поточної ситуації.
Інший тип планування статичний, у яких весь набір одночасно виконуваних завдань визначений заздалегідь (off-line),
наприклад за розкладом. Такий тип планування застосовується в спеціалізованих ОС, у системах реального часу
Диспетчеризація: реалізація результатів планування. Містить у собі:
· перемикання потоків
· збереження контексту поточного потоку
· завантаження контексту нового
Планування й диспетчеризація потоків (процесів)
Диспетчеризація: реалізація результатів планування. Містить у собі:
· перемикання потоків
· збереження контексту поточного потоку
· завантаження контексту нового потоку
· запуск нового потоку
Збереження, завантаження й запуск потоків виконуються разом з апаратними засобами
Стан потоку
Потік може перебуває в одному із трьох основні стани:
· Виконання - активне
· Очікування - пасивне, заблокований по внутрішніх причинах
· Готовність - пасивне, заблокований у зв'язку із зовнішніми обставинами. Тільки при
мультипрограмуванні. Наприклад, процесор зайнятий іншим потоком.
Черги потоків - це черги їх описувачів
Планування процесів і потоків включає:
· Знищення^-знищення-створення-знищення процесів
· Взаємодія між процесами
· розподіл процесорного часу
· Забезпечення процесів необхідними ресурсами (одноосібно, спільно)
· Синхронізація (контроль за виникненням «гонок», блокувань)
· Після завершення процесу - «зачищення», тобто видалення слідів перебування в системі
