
- •Питання контролю спз
- •Класифікація програмного забезпечення обчислювальних систем. Предмет та задачі спз.
- •Еволюція спз.
- •Призначення та склад операційних систем.
- •Основні принципи розробки системного програмного забезпечення.
- •Стратегії планування.
- •Дисципліни диспетчеризації.
- •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)
Структура, основні принципи віртуалізації пам’яті.
Широко вживана концепція віртуальної пам’яті з’явилась давно. Основним питанням яке виникає при організації віртуальної пам’яті є забезпечення надійного функціонування багатозадачних систем.
В таких системах в будь–який момент часу виконуються декілька задач, кожна з яких має свій адресний простір. Використання всієї реальної пам’яті для однієї задачі є дорогим рішенням і тому віртуальна пам’ять призначена для розподілу реальної пам’яті між паралельно–працюючими задачами.
В рамках обчислювальної системи термін віртуальний ресурс – це такий ресурс, фізично якого не існує.
Використання концепції віртуальна пам’ять дозволяє розділити фізичну пам’ять на блоки, та розподілити їх між багатьма задачами. Однак цей спосіб вимагає наявності певної апаратної підтримки, зокрема необхідно мати певні регістри та відносну адресацію пам’яті.
Другим питанням, яке виникає при реалізації концепції віртуальної пам’яті є організація обчислень програм чи задач досить великого розміру. Наприклад, якщо програма є більша ніж розмір фізичної доступної оперативної пам’яті, то певну частину програми необхідно зберігати на зовнішніх носіях інформації, та організовувати правильне завантаження цих частин програми в певні розділи фізичної пам’яті.
1. Реальний і захищений режими роботи процесора.
Широко відомо, що першим мікропроцесором, на базі якого була створена IBM РС, був Intel 8088. Цей мікропроцесор відрізнявся від першого 16-розрядного мікропроцесора фірми Intel — 8086 — насамперед тим, що в нього була 8-бітова шина даних, а не 16-бітова (як у 8086). Обидва ці мікропроцесори призначалися для створення обчислювальних пристроїв, які б працювали в однозадачному режимі, тобто спеціальних апаратних засобів для підтримки надійних і ефективних мультипрограмних ОС у них не було. Однак на той час, коли розробники усвідомили необхідність включення в мікропроцесор спеціальної апаратної підтримки для мультипрограмних обчислень, вже було створено дуже багато програмних продуктів. Тому для сумісності з першими комп'ютерами в наступних версіях мікропроцесорів була реалізована можливість використовувати їх у двох режимах — реальному (real mode — так назвали режим роботи перших 16-бітових мікропроцесорів) і захищеному (protect mode – означає, що рівнобіжні обчислення можуть бути захищені апаратно-програмними механізмами).
Докладно розглядати архітектуру перших 16-бітових мікропроцесорів i8086/i8088 ми не будемо, оскільки цей матеріал повинен вивчатися в попередніх дисциплінах навчального плану. Однак нагадаємо, що в цих мікропроцесорах (а виходить, і в інших мікропроцесорах сімейства і80х86 при їх роботі у реальному режимі) звертання до пам'яті з можливим адресним простором у 1 Мбайт здійснюється за допомогою механізму сегментної адресації (мал. 3.1). Цей механізм був використаний для збільшення кількості розрядів, що беруть участь у вказівці адреси комірки пам'яті, з якою у даний момент здійснюється робота, з 16 до 20 і тим самим збільшення обсягу пам'яті.
Конкретизуємо задачу й обмежимося розглядом визначення адреси команди. Для адресації операндів використовується аналогічний механізм, тільки беруть участь у цьому випадку інші сегментні регістри. Нагадаємо, що для визначення фізичної адреси команди вміст сегментного регістра СS (code segment) перемножується на 16 за рахунок додавання зправа (до молодших бітів) чотирьох нулів, після чого до отриманого значення додається вміст покажчика команд (регістр ІР, instruction pointer). Виходить двадцатибітівое значення, що і дозволяє вказати будь-який байт із 220. Насправді, оскільки відбувається саме додавання і кожен з доданків може мати значення в інтервалі від нуля до 216-1 = 65535 – 64К, ми можемо вказати адресу початку сегмента, рівний FFFFFFFF00Н, і до нього додати зсув FFFFFFFFН. У цьому випадку ми одержимо переповнення розрядної сітки, але для сучасних 32-бітових процесорів (і для вже забутого i80286) мається можливість вказати перші 64Кбайт вище першого мегабайта.