Лекція 9.
Керування введенням-виведенням.
Прямий доступ до пам'яті.
Рис.9.1. Блок-схема прямого доступу до пам'яті.
На рис.9.1 зображено логічну схему прямого доступу до пам'яті. Пристрій прямого доступу до пам'яті здатен дублювати функції процесора, зокрема отримувати від процесора керування системою. Ця можливість необхідна йому для передачі даних по системній шині – як в пам'ять, так і з неї. Модуль DMA використовує системну шину лише в тому випадку, коли процесор не потребує її (в іншому випадку він заставляє процесор тимчасово призупинити свою роботу). Цей спосіб найбільш розповсюджений та іменується захопленням циклу, бо модуль DMA виконує захоплення циклу шини.
Аспекти проектування пристроїв введення-виведення.
При проектуванні керуються двома цілями.
Досягнення високої ефективності та універсальності.
Ефективність важлива, бо операції введення-виведення часто є причиною утворення затримок в комп’ютерній системі. Вони порівняно з основною пам’яттю і процесором дуже повільні. Одним із способів вирішення цієї проблеми є багатозадачний режим, який дозволяє процесору під час виконання операцій введення-виведення одного процесу працювати над виконанням інших. Застосовують також підкачку. Таким чином, при створенні операційної системи основна увага приділяється пошуку ефективної схеми виконання операцій введення-виведення.
Друга важлива задача – це універсальність. Щоб спростити роботу з пристроями введення-виведення та знизити ймовірність виникнення помилок, бажано мати можливість однакового керування різними пристроями. Це відноситься як до керування пристроями введення-виведення зі сторони процесів користувача, так і з сторони операційної системи.
Логічна структура функцій введення-виведення.
Функції операційної системи потрібно розділяти у відповідності з їх складністю, характерною часовою шкалою та рівнем абстракції. Керуючись цим підходом, можна прийти до такої організації операційної системи, при якій вона буде представлена серією рівнів. Кожен рівень представляє зв’язану підмножину функцій, необхідних операційній системі. Виконання примітивних функцій передається більш низькому рівню; при цьому більш високий рівень не знає деталей виконання поставлених задач більш низьким рівнем. З своєї сторони будь-який з рівнів забезпечує обслуговування наступного верхнього рівня. В ідеалі рівні потрібно організувати таким чином, щоб зміни в одному рівні не приводили до необхідності внесення змін в інших рівнях. Взагалі, чим нижче рівень, тим більш короткою виявляється його часова шкала.
Така філософія по відношенню до засобів введення-виведення визначає організацію, наведену на рис.8.5.
Деталі організації будуть залежати від типу пристрою та його застосування. Конкретна операційна система може й не відповідати схемам ри.3, але загальні положення залишаються справедливими в будь-якому, і більшість операційних систем використовують введення-виведення приблизно так.
Розглянемо рис.9.5 а), коли локальний периферійний пристрій здійснює зв'язок шляхом потоку байтів або записів. Рівні:
Логічне введення-виведення. Модуль логічного введення-виведення поводиться з пристроєм як з логічним ресурсом і не звертає уваги на деталі фактичного керування пристроєм. Логічний модуль введення-виведення працює посередником між процесами користувача і пристроєм (надає набір високорівневих функцій).
Планування і контроль. На цьому рівні відбувається реальна організація черг і планування операцій введення-виведення, а також керування виконанням операцій. Здійснюється робота з перериваннями, отримання і передавання інформації про стан пристрою. Це рівень програмного забезпечення , яке безпосередньо взаємодіє з контролером введення-виведення, а тому, з апаратним забезпеченням пристрою.
Три рівні розглядались вище, а інші:
Керування каталогами. На цьому рівні відбувається перетворення символьних імен файлів в ідентифікатори, які вказують на файл – безпосередньо або непрямо («косвенно»), з використанням файлового дескриптора або індексної таблиці. Цей рівень такожповязаний з операціями користувача з каталогами файлів: доповнення, видалення або реорганізація.
Фізична організація. Як адреси віртуальної пам'яті повинні бути перетворені в фізичні адреси основної пам'яті з врахуванням сегментації і сторінкової організації, так і логічні зсилки на файли і записи повинні бути конвертованими в фізичні адреси конкретного зовнішнього запам’ятовуючого пристрою з врахуванням фізичної структури доріжок і секторів зовнішнього запам’ятовуючого пристрою. На цьому ж рівні відбувається загальне керування розподілом простору зовнішньої пам'яті і буферів основної пам'яті.
Буферизація операцій введення-виведення.
При розгляді різних методів буферизації потрібно враховувати, що існують пристрої введення-виведення двох типів: блочно-орієнтовані і поточно-орієнтовані.
Блочно-орієнтовані пристрої зберігають інформацію блоками, звичайно фіксованого розміру, і виконують передавання даних блоками. Як правило, при цьому можна посилатись на данні з використанням номеру блоку (диски і магнітні плівки). Поточно-орієнтовані пристрої виконують передавання даних у вигляді неструктурованих потоків байтів (термінали, принтери, комунікаційні порти і т.д.).
- Лекція 1. Вступ до операційних систем.
- 1.Поняття про операційні системи та їх місце в загальній структурі комп’ютера.
- 2. Основні функції операційної системи : розширення можливостей комп’ютера та керування його ресурсами.
- 3. Історія операційних систем.
- Лекція 2. Структура операційної системи.
- Таблиця 2.1
- Екзоядро
- Модель клієнт-сервер
- Лекція 3. Концепція процесу
- Лекція 4. Потоки в операційних системах.
- 3. Міжпроцесна взаємодія.
- 4.Примітиви міжпроцесної взаємодії.
- 5.Семафори та їх використання.
- 6.Поняття м’ютекса.
- 7.Поняття моніторів.
- 8.Поняття про бар’єри.
- 9.Поняття про системи передачі повідомлень.
- Лекція 5. Взаємоблокування.
- 2.Умови та моделювання взаємоблокувань.
- 3.Виявлення та усунення взаємоблокувань.
- 4.Уникнення взаємоблокувань при наявності декількох ресурсів кожного типу.
- 6. Уникнення взаємоблокувань.
- 7. Алгоритм банкіра для одного та декількох видів ресурсів.
- 8. Уникнення взаємоблокувань шляхом порушення умов їх здійснення
- Лекція 6. Основні поняття керування пам’яттю.
- 1.Однозадачна система без підкачки на диск.
- 2.Багатозадачність з фіксованими розділами
- 3.Поняття про підкачку даних.
- 5.Віртуальна пам’ять. Основні поняття.
- 6.Віртуальна пам’ять. Сторінкова організація пам’яті.
- 7.Характеристика основних алгоритмів заміщення сторінок.
- Лекція 7. Принципи роботи апаратури введення-виведення.
- 1.Пристрої введення-виведення.
- 2.Переривання персональної кс.
- Лекція 8.
- Лекція 9.
- Лекція 10. Файли та їх властивості.
- 1.Поняття файлової системи.
- 2.Іменування файлів.
- 3.Структура файлу.
- 4.Типи файлів.
- 5.Доступ до файлів. Атрибути файла.
- 6.Файли, відображувані на адресній простір памяті.
- 7.Каталоги.
- Лекція 11. Реалізація файлової системи.
- 1.Структура файлової системи.
- 2.Реалізація файлів.
- 3.Реалізація каталогів.
- Лекція 12 Планування в системах з одним процесором.
- 1.Поняття про планування.
- 2.Типи планування процесора.
- 3.Планування вводу-виводу.
- Лекція 13. Критерії планування.
- 1.Критерії короткотривалого планування.
- 2.Використання пріоритетів.
- 3.Альтернтитвні стратегії планування
- Лекція 14. Стратегії планування.
- 1.Стратегія планування „першим прийшов – першим обслуговується”.
- 2.Стратегія”кругове планування” .
- 4.Вибір самого короткого процесу.
- 5.Стртегія найменшого часу, що залишився.
- 7.Зниження пріорітету.
- Лекція 15. Багатопроцесорне планування і планування реального часу.
- 1. Класифікація багатопроцесорних систем.
- 3.Задачі планування в багатопроцесорній системі.
- 4. Планування процесів.
- 5.Планування потоків.
- Лекція 16. Основні підходи до планування потоків.
- 1.Розділення навантаження.
- 2.Бригадне планування.
- 3.Призначення процесорів.
- 4.Динамічне планування.
- Лекція 17. Планування реального часу.
- Лекція 18.
- 4. Парадигми.
- 5. Реалізація операційної системи
- Лекція 19. Операційні системи типу unix.
- 1.Історичні відомості про операційні системи типу unix.
- 2.Загальна архітектура системи unix.
- 3.Сучасні системи unix.
- 4.Історія виникнення операційної системи Linux.
- 5.Модульна структура операційної системи Linux.
- 6.Традиційне планування unix.
- Лекція 20. Характеристики операційної системи Windows 2000.
- 1. Історія виникнення Windows.
- Лекція 21. Особливості архітектури Windows xp.
- 1. Основні компоненти Windows xp.