- •Еволюція спз.
- •Призначення та склад операційних систем.
- •Системне програмування.
- •Загальна схема трансляції
- •Основні принципи розробки системного програмного забезпечення.
- •Умови зміни станів процесу (з Рис.1.)
- •Властивості та класифікація процесу.
- •Визначення ресурсу та класифікації.
- •2. Дисципліни диспетчеризації.
- •3. Алгоритми в диспетчеризації з витісненням та без.
- •4. Способи забезпечення гарантованого обслуговування процесів.
- •5. Критерії порівняння алгоритмів диспетчеризації.
- •6. Вплив планування на ефективність обчислювальних систем.
- •7. Використання динамічних пріоритетів.
- •2. Види задач синхронізації паралельних процесів.
- •3. Синхронізація за допомогою блокування пам’яті.
- •4. Алгоритм Деккера.
- •5. Команда “перевірка” та “встановлення”.
- •6. Використання семафорів для синхронізації та впорядкування паралельних процесів.
- •7. Монітороподібні засоби синхронізації паралельних процесів.
- •8. Поштові ящики.
- •9. Конвеєри.
- •10. Черги повідомлень.
- •Неперервний розподіл оперативної пам’яті.
- •Розподіл з перекриттям.
- •Статичний розподіл пам’яті.
- •Динамічний розподіл пам’яті.
- •Розділи пам’яті з фіксованими розмірами.
- •Розділи пам’яті зі змінними розмірами.
- •Сегментна схема організації віртуальної пам’яті.
- •Сторінкова схема організації віртуальної пам’яті.
- •Сегментно - сторінкова схема організації віртуальної пам’яті..
- •Тема 7. Архітектурні особливості мікропроцесорів Intel 80x86.
- •Мал. 3.1 Схема визначення фізичної адреси для процесора 8086.
- •2. Нові системні регістри мікропроцесорів і80x86.
- •Мал. 7.2 Основні системні регістри мікропроцесорів і80x86.
- •3. Підтримка сегментного способу організації віртуальної пам'яті.
- •Мал. 7.3 Дескриптор сегменту.
- •Мал. 7.4. Селектор сегменту.
- •Мал. 7.5 Сегмент стану задачі (tss).
- •Мал. 7.6 Процес отримання лінійної адреси команди.
- •4. Підтримка сторінкового способу організації віртуальної пам'яті.
- •Мал. 7.7 Дескриптор сторінки.
- •Мал. 7.8 Трансляція лінійної адреси в мікропроцесорах і80x86.
- •5. Режим віртуальних машин для виконання додатків реального режиму.
- •6. Захист адресного простору задач.
- •Якщо цільовий сегмент є сегментом стека, то правило перевірки має вид
- •7. Механізм шлюзів для передачі керування на сегменти коду з іншими рівнями привілеїв.
- •Мал. 7.9 Механізм шлюзів для переходу на другий рівень привілеїв.
- •Мал. 7.10 Перехід на сегмент більш привілейованого коду.
- •Мал. 7.11 Формат дескриптора шлюзу.
- •Тема 8. Організація системи переривань 32-розрядних мікропроцесорів i80х80.
- •2. Типи переривань.
- •4. Узагальнена процедура обробки переривання.
- •5. Робота системи переривань у захищеному режимі роботи процесора.
- •Обробка переривань у контексті поточної задачі.
- •7. Обробка переривань з переключенням на нову задачу.
- •Тема 9. Керування вводом/виводом даних.
- •2. Режими керування вводом/виводом.
- •3. Закріплення пристроїв, загальні пристрої вводу/виводу.
- •4. Основні системні таблиці вводу/виводу.
- •Синхронний і асинхронний ввід/вивід.
- •6. Кешування операцій вводу/виводу при роботі з накопичувачами на магнітних дисках.
- •Тема 10.Організація файлових систем.
- •Тема 11. Файлові системи fat, vfat, fat32, hpfs.
- •Тема 12.Файлова система ntfs (Mew Technology File System)
- •Можливості файлової системи ntfs по обмеженню доступу до файлів і каталогів.
- •Інтерфейс прикладного програмування арі.
- •Реалізація функцій арі на рівні операційної системи.
- •Реалізація функцій арі на рівні системи програмування.
- •Реалізація функцій арі за допомогою зовнішніх бібліотек.
- •Posix інтерфейс.
- •Віртуальна машина.
- •Типи та інтерфейс користувачів.
- •Команди та командний інтерпретатор.
- •Процеси та їх виконання.
- •Підсистема вводу/виводу.
- •Структура файлової системи.
- •Засоби захисту файлів і даних.
- •Сигнали і семафори.
- •Програмні канали та черги повідомлень.
- •Розділювана пам’ять та виклики віддалених процедур.
Визначення ресурсу та класифікації.
Однією з основних цілей ОС є забезпечення ефективного та безконфліктного розподілу ресурсів.
Ресурс – це деякі матеріальні, енергетичні, системні характеристики певного предмету в складі деякого об’єкту.
Ресурси поділяються на такі категорії:
по формі існування:
фізичні – ресурс, який реально існує і володіє всіма притаманними йому фізичними характеристиками при його розподілі між користувачами,
віртуальні – це деяка узагальнена модель фізичного ресурсу;
по можливості розширення властивостей:
еластичний – це фізичний ресурс, який допускає віртуалізацію, а також відтворення і розширення своїх властивостей,
нееластичний (жорсткий) – це ресурс, який по своїх внутрішніх властивостях не допускає віртуалізації;
по ступеню активності:
активний ресурс – при використанні його він здатний виконувати дії по відношенню до інших ресурсів або процесів,
пасивний ресурс – це ресурси які не володіють активними ресурсами;
по часу існування:
постійний – це ресурс по відношенню до певного процесу, якщо він існує до породження певного процесу і доступний для користувача під час виконання цього процесу,
тимчасовий – даний ресурс може з’являтися і може знищуватися в системі динамічно під час існування певного процесу (наприклад: буфер обміну);
по ступеню важливості:
головний ресурс – по відношенню до певного процесу, якщо без цього ресурсу процес взагалі не може працювати,
другорядний – це ресурс, який допускає певне артельнативне виділення інших ресурсів при умові власної недоступності;
по структурі:
простий – це ресурс, який не містить складових елементів і при своєму розподілі розглядається як єдине ціле,
складний – характеризується деякою структурою, складається з деяких частин і не може розглядатися як єдине ціле;
по характеру використання:
паралельно використовувані,
послідовно використовувані;
по формі реалізації:
м’який,
твердий;
по функціональній надлишковості:
дорогий – може бути використаний для здійснення декількох функцій,
дешевий – для здійснення однієї функції;
по відновлюваності:
відновлювальні – можуть відновлюватись,
спожиті – не можуть відновлюватись.
Тема 3. Планування та диспетчеризація процесів
Стратегії планування.
Дисципліни диспетчеризації.
Алгоритми в диспетчеризації з витісненням та без.
Способи забезпечення гарантованого обслуговування процесів.
Критерії порівняння алгоритмів диспетчеризації.
Вплив планування на ефективність обчислювальних систем.
Використання динамічних пріоритетів.
1. Стратегії планування.
Планування – це системний процес, який здійснює установку користувацьких процесів в чергу та визначення атрибутів їх виконання в рамках використовуваної обчислювальної системи.
В загальному випадку стратегія планування визначає які процеси повинні бути заплановані на виконання з метою досягнення результатів вирішуваної задачі.
Стратегії можуть бути наступними:
закінчувати обчислення в тому самому порядку, в якому вони були розпочаті;
перевагу надавати біль коротким процесам;
надавати всім процесам однакові послуги, в тому числі і однаковий час очікування.
Розрізняють два типи планування:
короткострокове планування називається диспетчеризацією;
довгострокове планування полягає у виборі таких обчислювальних процесів, які менше всього б конкурували між собою в процесі досягнення мети обчислень.
Системний процес який здійснює планування може бути реалізований двома способами:
цілісний планувальник – це програмний модуль, який є частиною операційної системи, його робота ініціюється перериваннями і він виконується як окремий системний процес;
розподілений планувальник – програмний модуль планувальника або його частина записується в кожний процес при його завантаженні в оперативну пам’ять.
У загальному випадку планувальник здійснює наступні функції:
запис копії процесу в пам’ять обчислювальної системи;
аналіз атрибутів при виконанні обчислювального процесу та формування набору робочих атрибутів в залежності від характеристик обчислювальної системи;
запис процесу в чергу процесів у випадку, якщо є вільне місце в черзі, або перевід процесу в пасивний стан у випадку, якщо всі елементи черги зайняті;
періодичний перегляд черги процесів, запис або знищення процесів в черзі у відповідності з часом функціонування процесів.