- •Принципи роботи апаратури введення-виведення. Пристрый введення-виведення.
- •Переривання персональної кс.
- •Задачі програмного забезпечення введення-виведення.
- •Способи здійснення операції введення- виведення.-------------
- •Обробники переривань.
- •Драйвери пристроїв.
- •Способи здійснення введення-виведення.
- •Аспекти проектування пристроїв введення-виведення.
- •Еволюція функцій введення-виведення.
- •Прямий доступ до памяті.
- •Логічна структура пристроїв введення-виведення.
- •Буферизація операцій введення-виведення.
- •Багаторівневі таблиці сторінок.--------------
- •Буфери швидкого перетворення адреси.
- •Інвертовані таблиці сторінок.
- •Поняття про алгоритм заміщення сторінок.
- •Оптимальне заміщення сторінок.
- •Алгоритм nru.
- •Алгоритм fifo.
- •Алгоритм «Друга спроба»
- •Алгоритм годинник
- •Алгоритм lru
- •Поняття файлової системи
- •Іменування файлів
- •Структура файлу
- •Типи файлів.
- •Доступ до файлів. Атрибути файлів
- •Файли відображувані на адресний простір памяті
- •Каталоги
- •Структура файлової системи
- •Реалізація файлів. Неперервні файли
- •Звязні списки
- •Звязний список за допомогою таблиці розміщеної в оп.
- •Реалізація файлів: і-вузли. Реалізація каталогів.
- •Поняття планування в системах з одним процесором
- •Типи планування процесора
- •Критерії короткотривалого планування
- •Використання пріоритетів
- •Альтернативні стратегії планування
- •Стратегія планування перший пішов-перший обслужив ся
- •Стратегія кругового планування
- •Віртуальне кругове планування
- •Стратегія вибору найкоротшого процесу
- •Стратегія найменшого часу, що залишився
- •Стратегія найвищого відношення відгуку
- •Зниження пріоритету
- •Порівняння продуктивності стратегій
- •Справедливе планування
- •Класифікація багатопроцесорних систем
- •Основні поняття про зернистості синхронізацій
- •Задачі планування в багатопроцесорній системі
- •Планування процесів
- •Планування потоків
- •Основні підходи до планування потоків
- •Розділення навантаження
- •Бригадне планування
- •Призначення процесорів
- •Динамічне планування
- •Поняття про обчислення реального часу
- •Характеристики ос реального часу
- •Планування реального часу
- •Планування граничними термінами
- •Частотно-монотонне планування
- •Постановка задачі проектування ос
- •Причини ускладнення проектування ос
- •Розробка інтерфейсу ос
- •Особливості проектування ос. Парадигми
- •Реалізація ос
- •Тенденції у проектуванні ос
- •Історичні відомості про ос типу unix
- •Загальна архітектура системи unix
- •Сучасні системи unix
- •Історія виникнення ос linux
- •Модульна структура ос linux
- •Традиційне планування unix
- •Історія виникнення windows
- •Архітектура ос windows 2000
- •Архітектура ос windows xp
Логічна структура пристроїв введення-виведення.
Функції операційної системи потрібно розділяти у відповідності з їх складністю, характерною часовою шкалою та рівнем абстракції. Керуючись цим підходом, можна прийти до такої організації операційної системи, при якій вона буде представлена серією рівнів. Кожен рівень представляє зв’язану підмножину функцій, необхідних операційній системі. Деякі частини операційної системи повинні безпосередньо взаємодіяти з апаратним обладнанням комп’ютера, де тривалість різних подій може виявитись на рівні декількох мікросекунд; інші частини операційної системи працюють з користувачем, введення команд яким може здійснюватись з швидкістю один раз в декілька секунд. Використання множини рівнів ідеально підходить для цих умов.
Деталі організації будуть залежати від типу пристрою та його застосування. Конкретна операційна система може й не відповідати схемам ри.3, але загальні положення залишаються справедливими в будь-якому, і більшість операційних систем використовують введення-виведення приблизно так.
Буферизація операцій введення-виведення.
При розгляді різних методів буферизації потрібно враховувати, що існують пристрої введення-виведення двох типів: блочно-орієнтовані і поточно-орієнтовані.
Блочно-орієнтовані пристрої зберігають інформацію блоками, звичайно фіксованого розміру, і виконують передавання даних блоками. Як правило, при цьому можна посилатись на данні з використанням номеру блоку (диски і магнітні плівки). Поточно-орієнтовані пристрої виконують передавання даних у вигляді неструктурованих потоків байтів (термінали, принтери, комунікаційні порти і т.д.).
Одинарний буфер – це найкращий тип підтримки зі сторони ОС. В той момент коли процес користується використанням введення-виведення ОС призначеє йому буфер в системній частині. Схема одинарного буферу для блочно-орієнтованих пристроїв може бути описана так: спочатку здійснюється передача вхідних даних в системний буфер. Коли це закінчеться то процес переміщує блок в простір користувача і негайно здійснює зпис іншого плоку. Така процедура називається зчитуванням, або випередженим методом. Вона використовує з перспективою що цей блок з часом буде =1.
Вітруальна пам'ять. Сторінкова організація памяті.
Більшість систем віртуальної пам’яті використовують техніку, яку називають сторінкова організація пам’яті. На будь-якому комп’ютері існує множина адрес в пам’яті, до яких може звернутись програма. Коли програма використовує наступну інструкцію MOV REG, 1000 вона робить це для того, щоб скопіювати вміст пам’яті за адресою 1000 в REG або навпаки в залежності від ПК. Адреси можуть формуватись з використанням індексації, базових регістрів, сегментних регістрів та іншими шляхами. Ці програмно-формовані адреси називаються віртуальними і вони формують віртуальний адресний простір.
Центральний процесор надає віртуальні адреси диспетчеру пам’яті.
На рисунку диспетчер памяті показано як частину процесора бо на сучасних комп’ютерах саме так, але логічно він міг би бути окремою мікросхемою.
Таблиці сторінок.
В теорії відображення віртуальних адрес фізичні віртуальні адреси діляться на номер віртуальної сторінки (старші біти зміщення, молодші біти). При 16-ти розрядним адресам і розмірі сторінки в 16кБ старші 4 біти можуть вказувати на одну з 16ти віртуальних сторінок, а нижні 12 біт можуть визначати байт зміщення від 0 до 4095. В середині вибрано її сторінки, але розбиття сторінок на 3-5, або інше число бітів також можливе. Різна величина поділу визначає різні розміри сторінок. Номер віртуальної сторінки використовуються як індекс в таблиці сторінок для пошуку запису цієї сторінки. По запису в таблиці сторінок знаходиться номер фізичного блоку сторінки. Даний номер приєднується до старших розрядів числа зміщення замінюючи собою номер віртуальної сторінки, таким чином формуючи фізичну адресу, яка може бути відправлена в пам'ять. Призначення таблиці сторінок полягає у у відображенні віртуальних сторінок на сторінкові блоки. Таблиця сторінок – це функція яка має в якості аргументу номер віртуальної сторінки і видає в результаті нмер фізичного блоку. На основі отриманого результату поле віртуальної сторінки у віртуальній адресі може бути заміщено полем сторінки блоку.
Проблеми:
Таблиця сторінок може бути дуже велика.
Відображення повинно бути швидким.
