- •Тема 1: Основні поняття обчислювальних систем Призначення та склад системного програмного забезпечення
- •Основні концепції операційних систем
- •Типи операційних систем
- •Основні етапи розвитку операційних систем
- •Функціональні компоненти операційних систем
- •Керування процесами й потоками
- •Керування ресурсами
- •Керування введенням-виведенням
- •Керування файлами та файлові системи
- •Мережна підтримка
- •Тема 2: Архітектура операційних систем Основні принципи побудови операційних систем
- •Принцип модульності
- •Принцип функціональної вибірковості
- •Принцип здатності до генерування
- •Принцип функціональної надмірності
- •Принцип віртуальності
- •Принцип незалежності програм від зовнішніх пристроїв
- •Принцип сумісності
- •Принцип відкритої і нарощуваної ос
- •Принцип мобільності (переносимості)
- •Принцип забезпечення безпеки обчислень
- •Базові поняття архітектури операційних систем
- •Ядро операційної системи
- •Монолітні системи
- •Багаторівневі системи
- •Системи з мікроядром
- •Концепція віртуальних машин
- •Засоби апаратної підтримки операційних систем
- •Інтерфейс прикладного програмування
- •Варіанти реалізації api
- •Особливості архітектури unix і Linux
- •Особливості побудови ос Linux
- •Особливості архітектури Windows xp
- •Компоненти режиму ядра
- •Компоненти режиму користувача
- •Об’єктна архітектура Windows xp
- •Тема 3: Процеси та потоки
- •Базові поняття процесів та потоків
- •Блок керування процесом
- •Операції над процесами
- •Обробка переривань
- •Алгоритми планування процесів
- •Витісняючі та невитісняючі алгоритми планування
- •Нитки, потоки (Thread)
- •Керування процесорами
- •Планування з переключення та без переключення
- •Лекція 4: Ядро операційної системи
- •Основні функції ядра
- •Асинхронні паралельні процеси
- •Взаємо-виключення
- •Семафори
- •Кільцевий буфер
- •Конвеєр (програмний канал)
- •Черги повідомлень (Queue)
- •Лекція 5. Керування ресурсами
- •Керування пам’яттю
- •Ієрархія пам’яті
- •Розподіл пам’яті
- •Зв’язний розподіл пам’яті для одного користувача
- •Мультипрограмування з фіксованими розділами
- •Мультипрограмування із змінними розділами
- •Боротьба з фрагментацією
- •Стратегії розміщення інформації в пам’яті
- •Системи з розподілом часу. Сторінкова організація пам’яті. Концепція віртуальної (уявної) пам’яті.
- •Принцип кешування даних
- •Лекція 6. Керування даними Файлова система
- •Функції файлової системи
- •Ієрархія даних
- •Об’єднання в блоки та буферизація
- •Організація файлів
- •Методи доступу
- •Характеристики файлів
- •Файлова система
- •Виділення та звільнення місця в пам’яті
- •Зв’язаний розподіл пам’яті
- •Незв’язаний розподіл пам’яті
- •1) Розподіл за допомогою списків секторів
- •2) Поблочний розподіл
- •Дескриптор файлу (file descriptor)
- •Матриця керування доступом
- •Керування доступом в залежності від класів користувачів
- •Копіювання та відновлення інформації
- •Планування роботи з дисковою пам’яттю
- •Призначення планування
- •Цільові характеристики принципів планування
- •Оптимізація пошуку циліндру
- •Оптимізація за часом очікування записів
- •Архітектура сучасних файлових систем
- •Лекція 8. Основи організації ms-dos
- •Будова та функції основних складових дос
- •Керування пам’яттю
- •Відображена пам’ять
- •Розширена пам’ять
- •Висока пам’ять
- •Верхня пам’ять
- •Драйвери верхньої та розширеної пам’яті
- •Завантажувані модулі com та exe – файли
- •Логічна структура диску в ms-dos
- •Формат елементів таблиці розділів
- •Запис завантаження (boot)
- •Використання boot-сектору
- •Визначення формату fat
- •Формат fat
- •Файли та каталоги
- •Недоліки ms-dos
- •Переваги які надає користувачам Windows
- •Windows як операційна оболонка
- •Обмін даними в Windows
- •Зв’язування чи вбудовування
- •Первинність повідомлень: механізм повідомлень
- •Незалежна (preemptive) багатозадачність
- •Взаємодія 32– та 16–розрядних кодів
- •Робота з 16–розрядними продуктами
- •Робота з dos–продуктами
- •Робота 32–розрядних Windows–продуктів
- •Вдосконалення розподілу системних ресурсів
- •Vcache – 32–розрядний дисковий кеш
- •Варіанти модифікацій ос Windows xp
- •Нові характеристики реалізовані в Windows xp
- •Продуктивність
- •Лекція 8. Ос unix
- •Ядро ос unix
- •Генерування ос
- •Процеси
- •Початкове завантаження. Процеси 0 та 1
- •Файлова система unix
- •Будова файлової системи unix
- •Каталоги
- •Тема 1: Основні поняття обчислювальних систем 1
- •Тема 2: Архітектура операційних систем 9
- •Тема 3: Процеси та потоки 25
Призначення планування
В багатопрограмних обчислювальних системах одночасно виконується багато процесів, які можуть генерувати запити на звертання до дисків.
Оскільки ці процеси роблять запити значно швидше, ніж їх обслуговують дискові пристрої, в яких головки переміщаються, то до кожного пристрою формується черга запитів.
В деяких обчислювальних системах ці запити обслуговуються в порядку надходження, тобто за принципом FCFS (First Come First Served, перший, що прийшов, обслуговується першим).
Це справедливий метод надання послуг, але при підвищенні частоти запитів, тобто навантаження, він може приводити до дуже великих затримок.
Для методу FCFS характерним є випадковість пошуку, при якому запити, що надходять послідовно, можуть викликати досить довгі в часі підводи головок від самих зовнішніх до самих внутрішніх циліндрів.
Щоб звести до мінімуму час пошуку, доцільно навести порядок в запитах, за яким –небудь іншим принципом, ніж FCFS. Цей порядок і називається плануванням роботи з диском.
Рис. __
Планування вимагає ретельного аналізу запитів, що очікують в черзі для того, щоб визначити найбільш ефективний порядок їх обслуговування. Планувальник дискової пам’яті аналізує позиційні взаємозв’язки між запитами, що очікують. Після чого черга запитів перебудовується таким чином, щоб їх виконання відбувалось при мінімальних механічних переміщеннях.
Маємо два найбільш поширених види планування:
- оптимізація (за часом) пошуку циліндра;
- оптимізація (за часом) очікування запису.
Оскільки час пошуку циліндрів перевищує час очікування записів, як правило, на порядок, більшість алгоритмів планування ставить за мету мінімізацію часу пошуку циліндрів для деякої множини запитів.
Мінімізація часу очікування дає якийсь ефект тільки при дуже великих навантаженнях.
В умовах малих навантажень (тобто при невеликій середній довжині черги запитів) принцип FCFS можна вважати найбільш прийнятною дисципліною обслуговування запитів.
Але при середніх і більших навантаженнях планування може забезпечити значно кращі швидкісні характеристики, ніж простий метод FCFS.
Цільові характеристики принципів планування
Для розділення принципів планування на категорії існують і деякі інші критерії:
1) Пропускна здатність.
2) Середній час відповіді.
3) Розкид, або дисперсія відповіді в часі (тобто передбачуваність).
Ці критерії направлені на покращення загальних швидкісних характеристик, можливо і за рахунок деяких індивідуальних запитів. Плануванння часто поліпшує загальну картину, хоча і дещо знижує швидкість обслуговування певних запитів.
Одним з важливих кількісних показників для оцінки цього явища може служити розкид, або дисперсія відповідей в часі.
Дисперсія – це міра того, наскільки далеко значення індивідуальних елементів може відхилятись від середнього значення цих елементів.
В зв’язку з чим ми використовуємо дисперсію, як показник передбачуваності – чим менша дисперсія, тим більша передбачуваність.
Нам необхідна така стратегія планування, яка б мінімізувала дисперсію. Інакше може статися таке, що час обслуговування певних запитів просто не можна буде передбачити. (Неприпустимо, наприклад, в системі резервування авіаквитків). Якби стратегія планування була направлена тільки на досягнення максимальної пропускної здатності без одночасної мінімізації дисперсії, система обробляла би тільки зручні для обслуговування запити, а деякі ігнорувала би повністю.
