- •Питання контролю спз
- •Класифікація програмного забезпечення обчислювальних систем. Предмет та задачі спз.
- •Еволюція спз.
- •Призначення та склад операційних систем.
- •Основні принципи розробки системного програмного забезпечення.
- •Стратегії планування.
- •Дисципліни диспетчеризації.
- •3. Алгоритми в диспетчеризації з витісненням та без.
- •4. Способи забезпечення гарантованого обслуговування процесів.
- •6. Вплив планування на ефективність обчислювальних систем.
- •7. Використання динамічних пріоритетів.
- •1. Незалежні та взаємодіючі обчислювальні процеси.
- •2. Види задач синхронізації паралельних процесів.
- •3. Синхронізація за допомогою блокування пам’яті.
- •5. Команда “перевірка” та “встановлення”.
- •6. Використання семафорів для синхронізації та впорядкування паралельних процесів.
- •7. Монітороподібні засоби синхронізації паралельних процесів.
- •8. Поштові ящики.
- •9. Конвеєри.
- •10. Черги повідомлень.
- •Підходи до керування реальною пам’яттю.
- •Неперервний розподіл оперативної пам’яті.
- •Розподіл з перекриттям.
- •Статичний розподіл пам’яті.
- •Динамічний розподіл пам’яті.
- •Структура, основні принципи віртуалізації пам’яті.
- •1. Реальний і захищений режими роботи процесора.
- •Мал. 3.1 Схема визначення фізичної адреси для процесора 8086.
- •2. Нові системні регістри мікропроцесорів і80x86.
- •Мал. 7.2 Основні системні регістри мікропроцесорів і80x86.
- •4. Підтримка сторінкового способу організації віртуальної пам'яті.
- •Мал. 7 Дескриптор сторінки.
- •6. Захист адресного простору задач.
- •Якщо цільовий сегмент є сегментом стека, то правило перевірки має вид
- •1. Основні поняття і визначення процесу вводу/виводу.
- •2. Режими керування вводом/виводом.
- •Керування вводом/виводом.
- •3. Закріплення пристроїв, загальні пристрої вводу/виводу.
- •4. Основні системні таблиці вводу/виводу.
- •Процес управління вводом/виводом.
- •Синхронний і асинхронний ввід/вивід.
- •6. Кешування операцій вводу/виводу при роботі з накопичувачами на магнітних дисках.
- •Файлові системи fat, vfat, fat32, hpfs.
- •Структура системи файлів.
- •Файлова система ntfs (New Technology File System)
3. Закріплення пристроїв, загальні пристрої вводу/виводу.
Як відомо, багато пристроїв не допускають спільного використання. Насамперед, це пристрої з послідовним доступом. Такі пристрої можуть стати закріпленими, тобто бути наданими деякому обчислювальному процесу на весь час життя цього процесу. Однак це приводить до того, що обчислювальні процеси часто не можуть виконуватися паралельно — вони очікують звільнення пристроїв вводу/виводу. Для організації використання багатьма паралельно виконуючими задачами пристроїв вводу/виводу, що не можуть бути поділюваними, вводиться поняття віртуальних пристроїв. Використання принципу віртуалізації дозволяє підвищити ефективність обчислювальної системи.
Узагалі говорячи, поняття віртуального пристрою ширше, ніж використання цього терміну для позначення спулінгу (SPOOLing — simultaneous peripheral operation on-line, тобто імітація роботи з пристроєм у режимі «он-лайн»). Головна задача спулінгу — створити видимість паралельного поділу пристрою вводу/виводу з послідовним доступом, що фактично повинно використовуватися тільки монопольно і бути закріпленим. Наприклад, ми вже говорили, що у випадку, коли кілька програм повинні виводити на друк результати своєї роботи, якщо дозволити кожній такій програмі друкувати рядок на першу вимогу, то це приведе до потоку рядків, що не представляють ніякої цінності. Однак можна кожному обчислювальному процесу надавати не реальний, а віртуальний принтер і потік виведених символів (чи керуючих кодів для їхнього друку) спочатку направляти в спеціальний файл на магнітному диску. Потім, по закінченні віртуального друку, відповідно до прийнятої дисципліни обслуговування і пріоритетами додатків виводити вміст спул-файла на принтер. Системний процес, що керує спул-файлом називається спулером (spool-reader чи spool-writer).
4. Основні системні таблиці вводу/виводу.
Кожна ОС має свої таблиці вводу/виводу, їхній склад (кількість і призначення кожної таблиці) може сильно відрізнятися. У деяких ОС замість таблиць створюються списки, хоча використання статичних структур даних для організації вводу/виводу, як правило, приводить до більшої швидкодії. Тут дуже важко відокремити загальні складові, тим більше, що докладної документації на цю тему вкрай мало, тільки якщо скористатися матеріалами нині застарілих ОС. Проте спробуємо це зробити, спираючись на ідеї сімейства простих, але ефективних ОС реального часу, розроблених фірмою Hewlett-Packard для своїх міні-комп'ютерів.
Виходячи з принципу керування вводом/виводом через супервізор ОС і з огляду на те, що драйвери пристроїв вводу/виводу використовують механізм переривань для встановлення зворотного зв'язку центральної частини з зовнішніми пристроями, можна зробити висновок про необхідність створення принаймні трьох системних таблиць.
Перша таблиця (чи список) містить інформацію про всі пристрої вводу/виводу, підключених до обчислювальної системи. Назвемо її умовно таблицею устаткування (equipment table), а кожен елемент цієї таблиці нехай називається UCB (unit control block, блок керування пристроєм вводу/виводу). Кожен елемент UCB таблиці устаткування, як правило, містить наступну інформацію про пристрій:
тип пристрою, його конкретна модель, символічне ім'я і характеристики пристрою;
як цей пристрій підключений (через який інтерфейс, до якого роз‘єму, які порти і лінія запиту переривання використовуються і т.д.);
номер і адресу каналу (і підканалу), якщо такі використовуються для керування пристроєм;
вказівка на драйвер, що повинний керувати цим пристроєм, адреса секції запуску і секції продовження драйвера;
інформація про те, використовується чи ні буферизація при обміні даними з цим пристроєм, «ім'я» (чи просто адреса) буфера, якщо такий виділяється із системної області пам'яті;
уставка тайм-ауту і комірки для лічильника тайм-ауту;
стан пристрою;
поле покажчика для зв'язку задач, що очікують пристрій, і, можливо, багато іншої інформації.