Поява операційних систем і їх функції. | Класифікація операційних систем. | Диспетчеризація задач з використанням динамічних пріоритетів. | Методи боротьби з тупиками | Інтерфейси операційних систем |

загрузка...
загрузка...
На головну

Кешування операцій введення-виведення при роботі з накопичувачами на магнітних дисках.

  1. Quot; Помилка в роботі ".
  2. Активізація особистісного потенціалу при роботі в команді.
  3. Аместітель керівника установи по клініко-експертній роботі
  4. Аналіз валютних операцій комерційного банку
  5. АНАЛІЗ КРЕДИТНИХ ОПЕРАЦІЙ ВАТ
  6. Аналіз методів контролю параметрів електромагнітних реле залізничної автоматики
  7. Аудит касових операцій

1. Основні концепції організації введення-виведення в операційних системах

- Головний принцип: будь-які операції з управління введенням-висновком оголошуються привілейованими і можуть виконуватися тільки кодом самої операційної системи.

- Для забезпечення цього принципу в більшості процесорів вводяться режими користувача і супервізора (привілейований режим, або режим ядра). Як правило, в режимі супервізора виконання команд вводу-виводу дозволено, а в призначеному для користувача режимі - заборонено.

- Звернення до команд вводу-виводу в режимі користувача викликає виключення (певний вид внутрішнього переривання), і управління передається коду операційної системи.

- Існують пристрої:

- Колективні - допускають поділ за допомогою механізму доступу. Приклади - накопичувач на магнітних дисках, пристрої читання компакт-дисків - пристрої з прямим доступом;

- Неподільні - пристрої з послідовним доступом. Приклади -прінтер, накопичувач на магнітних стрічках.

- ОС повинна управляти і тими, і іншими пристроями.

- Не можна дозволяти кожної окремої користувальницької програмі звертатися до зовнішніх пристроїв безпосередньо з причин:

1) необхідність вирішувати можливі конфлікти в доступі до пристроїв введення-виведення;

2) бажання збільшити ефективність використання ресурсів введення-виведення;

3) необхідність позбавити програми введення-виведення від помилок.

- Управління введенням-висновком здійснюється компонентом операційної системи, який часто називають супервизором введення-виведення.

- Основні завдання супервізора:

1) супервизор завдань (модуль супервізора ОС) отримує запити від прикладних задач на виконання тих чи інших операцій, в тому числі на введення-виведення. Ці запити перевіряються на коректність і, якщо вони відповідають специфікаціям і не містять помилок, то обробляються далі; 2) супервизор введення-виведення отримує запити на введення-виведення від супервізора завдань або від програмних модулів самої операційної системи.

3) супервизор введення-виведення викликає відповідні розподільники каналів і контролерів, планує введення-виведення Запит на введення-виведення або відразу виконується, або ставиться в чергу на виконання.

4) супервизор введення-виведення ініціює операції введення-виведення і (при використанні переривань) надає процесор диспетчеру завдань, щоб передати його першому завданні, що стоїть в черзі на виконання;

5) при отриманні сигналів переривань від пристроїв введення-виведення супервизор ідентифікує ці сигнали і передає управління відповідними програмами обробки переривань;

6) супервизор введення-виведення здійснює передачу повідомлень про помилки, якщо такі відбуваються в процесі управління операціями вводу-виводу.

7) супервизор введення-виведення посилає повідомлення про завершення операції введення-виведення запросила цю операцію задачі і знімає її з стану очікування введення-виведення, якщо завдання очікувала завершення операції.

2. Режими управління введенням-виведенням. Закріплені і загальні пристрої введення-виведення

- Є два основні режими введення-виведення:

1) режим обміну з опитуванням готовності пристрої введення-виведення;

2) режим обміну з перериваннями

- Якщо керування вводом-висновком здійснює центральний процесор, то це програмний канал обміну даними між зовнішніми пристроєм і оперативною пам'яттю (на відміну від каналу прямого доступу до пам'яті, при якому управління введенням-виведенням здійснює спеціальне додаткове обладнання).

- Центральний процесор посилає команду пристрою управління, що вимагає, щоб пристрій вводу-виводу виконало деяку дію. Пристрій управління виконує команду, транслюючи сигнали, зрозумілі йому і центрального пристрою, в сигнали, зрозумілі пристрою введення-виведення. Після виконання команди пристрій введення-виведення видає сигнал готовності, і процесор може видати нову команду для продовження обміну даними. Найчастіше сигнал готовності доводиться довго чекати, опитуючи відповідну лінію інтерфейсу на наявність або відсутність потрібного сигналу.

- Вигідніше, видавши команду введення-виведення, перейти на виконання іншої програми. А поява сигналу готовності трактувати як запит на переривання від пристрою введення-виведення. Саме ці сигнали готовності і є сигналами запиту на переривання.

- Для того щоб не втратити зв'язок з пристроєм, може бути встановлений тайм-аут (максимальний інтервал часу, протягом якого пристрій введення-виведення або його контролер повинні видати сигнал запиту на переривання).

- Драйвери, що працюють в режимі переривань, являють собою складний комплекс програмних модулів і можуть мати кілька секцій:

1) секцію запуску - ініціює операцію введення-виведення.

2) одну або кілька секцій продовження - здійснює основну роботу з передачі даних і є основним обробником переривання; 3) секцію завершення - зазвичай вимикає пристрій введення-виведення або просто завершує операцію.

- Багато пристроїв не допускають спільного використання. Такі пристрої можуть стати закріпленими за процесом, тобто їх можна надати певного обчислювальному процесу на весь час життя цього процесу. Однак це призводить до того, що обчислювальні процеси часто не можуть виконуватися паралельно.

- Щоб організувати спільне використання багатьма паралельно виконуються завданнями тих пристроїв введення-виведення, які не можуть бути розділяються, вводиться поняття віртуальних пристроїв.

- Поняття віртуального пристрою ширше, ніж поняття спулінга (spooling - Simultaneous Peripheral Operation On-Line). Основне призначення спулінга - створити видимість поділу пристрої введення-виведення, яке фактично є пристроєм з послідовним доступом і має використовуватися тільки монопольно і бути закріпленим за процесом.

- Наприклад, кілька додатків повинні виводити на друк результати своєї роботи. Кожному процесу надають віртуальний принтер, і потік символів, що виводяться спочатку направляють в спеціальний файл на диску (спула-файл - spool-file) і тільки після закінчення віртуальної друку виводять вміст спула-файлу на принтер. Системні процеси, які управляють спула-файлом, називаються спулер читання (spool-reader) або спулер записи (spool-writer).

3. Основні системні таблиці введення-виведення

- Для управління всіма операціями вводу-виводу і відстеження стану всіх ресурсів, зайнятих в обміні даними, операційна система повинна мати відповідні інформаційні структури, які відображають інформацію:

- Склад пристроїв введення-виведення і способи їх підключення;

- Апаратні ресурси, закріплені за наявними в системі пристроями введення-виведення;

- Логічні (символьні) імена пристроїв введення-виведення, використовуючи які обчислювальні процеси можуть запитувати ті чи інші операції введення-виведення;

- Адреси розміщення драйверів пристроїв введення-виведення і області пам'яті для зберігання поточних значень змінних, що визначають роботу з цими пристроями;

- Області пам'яті для зберігання інформації про поточний стан пристрою введення-виведення і параметрах, що визначають режими роботи пристрою;

дані про поточний процес, який працює з цим пристроєм;

- Адреси тих областей пам'яті, які містять дані, власне і беруть участь в операціях введення-виведення (одержувані при операціях введення даних і виводяться на пристрій при операціях виводу даних).

- Створюються три системних таблиці.

- Перша таблиця містить інформацію про всі пристрої введення-виведення, підключених до обчислювальної системи - таблиця обладнання, а кожен елемент цієї таблиці називається UCB (Unit Control Block - блок керування пристроєм введення-виведення). Кожен елемент UCB містить інформацію:

? тип пристрою, його конкретна модель, символічне ім'я і характеристики пристрою;

? спосіб підключення пристрою;

? номер і адресу каналу (і подканала), якщо такі використовуються для управління пристроєм;

? інформація про драйвер, який повинен керувати цим пристроєм,

? інформація про те, використовується чи ні буферизація під час обміну даними з пристроєм, «ім'я» буфера;

? установка тайм-ауту і осередки для лічильника тайм-ауту;

? стан пристрою;

? поле покажчика для зв'язку завдань, які очікують пристрій;

? можливо, безліч інших відомостей.

- Друга таблиця призначена для реалізації принципу незалежності від пристрою. Бажано, щоб програмісту не доводилося враховувати конкретні параметри того або іншого пристрою введення-виведення, яке встановлено на комп'ютер. Для нього повинні бути важливими тільки загальні можливості, характерні для даного класу пристроїв. Тому в запиті на введення-виведення програміст вказує логічне ім'я пристрою.

- Друга системна таблиця називається таблицею віртуальних логічних пристроїв (Device Reference Table, DRT). Призначення її - встановлення зв'язку між віртуальними (логічними) пристроями і реальними пристроями, описаними за допомогою першої таблиці (таблиці обладнання).

- Третя таблиця - таблиця переривань - необхідна для організації зворотного зв'язку між центральною частиною і пристроями введення-виведення. Вказує для кожного сигналу запиту на переривання той елемент UCB, який зіставлений Цей пристрій. Кожен пристрій або має свою лінію запиту на переривання, або розділяє лінію запиту на переривання з іншими пристроями, але при цьому є механізм другого рівня адресації пристроїв введення-виведення.

- Таким чином, таблиця переривань відображає зв'язку між сигналами запиту на переривання і самими пристроями введення-виведення.




Сегментна, сторінкова і сегментно-сторінкова організація пам'яті. | Файлова система NTFS
загрузка...
© um.co.ua - учбові матеріали та реферати