Процеси і ресурси
Ідентифікація всіх програм і даних.
Організація режиму реального часу. (Відноситься до класифікації операційних систем). Реальне час- час реакції системи на зміну параметрів керованого об'єкта має забезпечувати реалізацію процесу виконання. ОСРВ призначені для реалізації управління об'єктами і процесами.
Забезпечення роботи систем програмування.
Ф-ції операційної системи:
1. Управління завданнями
Гарантія обслуговування передбачає, що будь-яка призначена для користувача завдання повинна бути виконана і виконана в прийнятний час. Завдання будь-якої операційної системи це забезпечення гарантії обслуговування. Для забезпечення гарантії обслуговування використовується планування потоку виконуваних завдань (черга) та диспетчеризація. Планування є довгостроковим процесом, який встановлює деякі правила на тривалий період. Диспетчеризація довгостроковий процес.
2. Управління пам'яттю.
Процес - завдання, що виконується на послідовному процесорі.
У кожен момент часу виконується тільки одна задача.
Ресурс поняття дуже загальне. Ресурси обчислювальної системи це якісь об'єкти входять до її складу які характеризуються наступним:
1. Ресурси обчислювальної системи це відносно стабільні, постійно відсутні і конкурентно використовувані об'єкти.
Ресурси можна розділити на апаратні і інформаційні.
Апаратні: Процесорний час, оперативна пам'ять, зовнішній пристрій, пристрої введення виведення, пристрій зв'язку з об'єктом і т.д.
Інформаційні - будь-які дані необхідні процесору для виконання. Ресурси бувають подільні та неподільні. приклади:
Ділені ресурси (колективні):
Оперативна пам'ять і т.д.
Пристрій виведення обслуговує деяку задачу. До завершення операції виведення цей пристрій іншим завданням недоступно.
Отримавши запит на доступ до ресурсу, операційна система або задовольняє його і повертає управління завдання видав запит, або якщо цей ресурс зайнятий, ставлять завдання в чергу до нього. Після завершення роботи з ресурсом, завдання повідомляє операційній системі про відмову від нього. При видачі запиту на ресурс завдання може вказати монопольне його використання або спільне, з іншими завданнями.
Стан процесів (Діаграма стану)
За час свого існування будь-який процес багаторазово переходить з одного стану в інший. Існує такі стани:
1. Стан готовності (до виконання)
2. Стан виконання (виконання)
3. Стан очікування
4. Стан бездіяльності
Процес - завдання здійсненне на послідовному процесі.
Перехідний стан з бездіяльності в готовність.
За переривання від зовнішнього пристрою.
Сигнал про настання якої-небудь події може запустити відповідне завдання обробника цієї події.
При настанні запланованого часу запуску завдання.
З ініціативи іншої задачі.
Викликом до диспетчера задач, один процес може створити ініціалізувати, призупинити, зупинити, знищити будь-який процес.
За командою оператора.
Зі стану виконання процес може бути бути по слід. причин:
1. Процес завершено, управління передається операційній системі. Диспетчер завдань переводить його або в стан бездіяльних, або знищує. Завершення може статися з ініціативи оператора або будь-який інший команди.
2. Процес переходить в стан готовності після закінчення кванта часу або в зв'язку з появою завдання більш високого пріоритету.
3. Процес переходить в стан очікування або в зв'язку з виконанням операції введення \ виводу, які повинні бути завершені перш ніж процес зможе продовжити свою роботу, або через неможливість надати процесу необхідний ресурс. Цей перехід може бути виконаний так само, по команді оператора (призупинити процес) або за запитом іншої програми.
Перехід зі стану очікування в готовність, відбувається при завершенні операції введення \ виводу або звільнення необхідного ресурсу.
Причиною переходу процесу з одного стану в інший можуть бути деякі події. Події є рушійною силою керуючої станами процесу. Необхідний певний механізм дозволяє обчислювальної системі реагувати на події. Цим механізмом є переривання. Ідентифікатор процесу це ціле число, яке замінює в операційній системі назву процесу зрозуміле користувачу.
Тип або клас процесу.
Мінлива стану процесу. Захищена область пам'яті. Описувачі завдань зазвичай зберігаються в зарезервованої області оперативної пам'яті. Максимальне число описателей задається при генерації системи. Описувачі, формуються в черзі (для кожного стану процесу).
Процеси і потоки.
Іноді в рамках єдиного процесу можна виділити кілька логічно-самостійних (незалежних) одна від одної частин. В такому випадку зручно (навіть в однопроцессорной системі) розбити процес на ряд потоків (під процесів). Потік відрізняється від процесу тим, що йому виділяється єдиний персональний ресурс (процесорний час), інші ресурси необхідні для виконання потоку-належати породив процесу. Потоки іноді називають «Полегшені процеси». У однопроцессорной системі - потоки поділяють процесорний час, як звичайні процеси.
Рекомендації по створенню багато-потокових систем.
Для однопроцессорной системи, безліч паралельних потоків може негативно позначитися на ефективність роботи. Це пов'язано зі зростанням накладних витрат при багаторазовому перемиканні контексту завдань. Потік здійснює тривалу обробку даних, може зменшити швидкість реакцій на запити введення \ виводу. Потоки (в рамках процесу) можуть мати різні пріоритети, це дозволяє виконувати менш значущі програми у фоновому режимі.
Багато-потоковість працює добре тільки в тому випадку, коли потоки логічно незалежні. Реалізація синхронізації потоків може бути джерелом важко виявлених помилок. Не рекомендується створювати потоки реалізують кілька функцій. Потоки різних процесів взаємодіяти можуть.
Переривання - примусове передача управління від однієї програми до іншої. (Реакція системи на якусь подію).
Переривання забезпечує асинхронний режим роботи. Обробка переривань виконується в кілька етапів, апаратно-програмними засобами (механізм обробки переривань є апаратно-програмним).
1. Виявлення факту переривання.
2. Ідентифікація переривання.
3. Збереження апаратними засобами контексту переривається завдання.
4. Передача управління в програмі оброблювачу переривань.
5. Збереження контексту переривається завдання якої могла бути виконано програмними засобами.
6. Обробка переривань.
7. Після завершення обробки переривання, система переривання розблокується.
8. Відновлення та продовження перерваної програми.
Для того, щоб замаскувати переривання, використовується маска переривань. Двійкове число містить нулі в маскуються розрядах. Вміст регістра переривань і маски логічно множаться (), в результаті в маскуються розрядах завжди буде міститися нуль, незалежно від наявності (відсутності) сигналу переривання.