Слайд 1ЛЕКЦІЯ 3
Архітектура операційної системи Windows NT.
Огляд архітектури ОС Windows
NT.
Захищені підсистеми ОС Windows NT.
Управління пам’яттю.
Операційні системи
доц. Сінельнікова Т.Ф.
Слайд 2АРХИТЕКТУРА ОС WINDOWS NT
Операційні системи. Кафедра Інформатики. E-mail: informatika@kture.kharkov.ua
При розробці
архітектури Windows NT була в значній мірі використана
концепція мікроядра.
Відповідно до
цієї концепції ОС розділена на декілька підсистем, кожна з
яких виконує окремий набір сервісних функцій. Наприклад, сервіс пам'яті,
сервіс по створенню процесів, або сервіс по плануванню процесів. Кожен сервіс виконується в режимі користувача, виконуючи цикл перевірки запиту від клієнта на одну з його сервісних функцій. Клієнт, яким може бути або інша компонента ОС, або прикладна програма, запитує сервіс, посилаючи повідомлення на сервер.
Ядро ОС (або мікроядро), працюючи в привілейованому режимі, доставляє повідомлення потрібного сервісу, потім сервіс виконує операцію, після цього ядро повертає результати клієнту за допомогою іншого повідомлення.
Слайд 3АРХИТЕКТУРА ОС WINDOWS NT
Операційні системи. Кафедра Інформатики. E-mail: informatika@kture.kharkov.ua
Структурно Windows
NT може бути представлена у вигляді двох частин:
частина
операційної системи, що працює в режимі користувача;
частина операційної системи, що працює в режимі ядра.
Частина Windows NT, що працює в режимі ядра і містить компоненти, які управляють віртуальною пам'яттю, об'єктами (ресурсами), введенням-виведенням і файловою системою (включаючи мережеві драйвери), взаємодією процесів і частково системою безпеки, називається NT executive - виконавчою частиною.
Слайд 4АРХИТЕКТУРА ОС WINDOWS NT
Операційні системи. Кафедра Інформатики. E-mail: informatika@kture.kharkov.ua
Слайд 5АРХИТЕКТУРА ОС WINDOWS NT
Операційні системи. Кафедра Інформатики. E-mail: informatika@kture.kharkov.ua
Слайд 6АРХИТЕКТУРА ОС WINDOWS NT
Операційні системи. Кафедра Інформатики. E-mail: informatika@kture.kharkov.ua
Склад виконавчої
частини - NT executive:
Менеджер об'єктів
Менеджер процесів
Менеджер безпеки
Менеджер віртуальної пам'яті
Менеджер кеша
Менеджер plug and play
Менеджер енергоспоживання
Менеджер конфігурації
Менеджер локального виклику процедур
Слайд 7АРХИТЕКТУРА ОС WINDOWS NT
Операційні системи. Кафедра Інформатики. E-mail: informatika@kture.kharkov.ua
У режимі
ядра працюють і такі важливі підсистеми як:
Менеджер (підсистема)
введення-виведення:
менеджер введення-виведення;
файлові системи - NT-драйвери;
мережевий редиректор і мережевий сервер.
Інтерфейс графічних пристроїв GDI (Graphics Device Interface).
Слайд 8АРХИТЕКТУРА ОС WINDOWS NT
Операційні системи. Кафедра Інформатики. E-mail: informatika@kture.kharkov.ua
Виконавча частина,
в свою чергу, грунтується на службах нижнього рівня, що надаються
ядром (його можна назвати й мікроядром) NT.
У функції ядра входить:
планування процесів;
обробка переривань і виняткових ситуацій;
синхронізація процесорів для багатопроцесорних систем;
відновлення системи після збоїв.
Слайд 9АРХИТЕКТУРА ОС WINDOWS NT
Операційні системи. Кафедра Інформатики. E-mail: informatika@kture.kharkov.ua
Ядро працює
в привілейованому режимі і ніколи не видаляється з пам'яті. Звернутися
до ядра можна тільки за допомогою переривання.
Ядро розташоване над рівнем апаратних абстракцій (Hardware Abstraction Level / HAL), який концентрує в одному місці велику частину машинно-залежних процедур. HAL розташовується між NT executive і апаратним забезпеченням і приховує від системи такі деталі, як контролери переривань, інтерфейси введення / виведення і механізми взаємодії між процесорами. Таке рішення дозволяє легко переносити Windows NT з однієї платформи на іншу шляхом заміни тільки шару HAL.
Слайд 10ЗАХИЩЕНІ ПІДСИСТЕМИ WINDOWS NT
Операційні системи. Кафедра Інформатики. E-mail: informatika@kture.kharkov.ua
Захищені підсистеми
Windows NT працюють в режимі користувача і створюються Windows NT
під час завантаження операційної системи. Відразу після створення вони починають нескінченний цикл свого виконання, відповідаючи на повідомлення, що надходять до них від прикладних процесів та інших підсистем. Серед захищених підсистем можна виділити підклас, званий підсистемами оточення. Підсистеми оточення реалізують інтерфейси додатків операційної системи (API). Інші типи підсистем, звані інтегральними підсистемами, виконують необхідні операційній системі завдання.
Слайд 11ЗАХИЩЕНІ ПІДСИСТЕМИ WINDOWS NT
Операційні системи. Кафедра Інформатики. E-mail: informatika@kture.kharkov.ua
Найбільш важливою
підсистемою оточення є Win32 - підсистема, яка забезпечує доступ для
додатків до 32-bit Windows API. Додатково ця система забезпечує графічний інтерфейс з користувачем і управляє введенням / виведенням даних користувача.
Також підтримуються підсистеми POSIX, OS/2, 16-розрядна Windows і MS-DOS.
Слайд 12ЗАХИЩЕНІ ПІДСИСТЕМИ WINDOWS NT
Операційні системи. Кафедра Інформатики. E-mail: informatika@kture.kharkov.ua
Windows NT
використовує захищені підсистеми для того, щоб:
забезпечити кілька програмних
інтерфейсів (API), по можливості не ускладнюючи при цьому базовий програмний код (NT executive);
ізолювати базову операційну систему від змін або розширень в підтримуваних API;
об'єднати частину глобальних даних, потрібних всім API, і в той же час відокремити дані, що використовуються кожним окремим API від даних, що використовуються іншими API;
захистити оточення кожного API від додатків, а також від оточень інших API, і захистити базову операційну систему від різних оточень;
дозволити операційній системі розширюватися в майбутньому за рахунок нових API.
Слайд 13УПРАВЛІННЯ ПАМ’ЯТТЮ
Операційні системи. Кафедра Інформатики. E-mail: informatika@kture.kharkov.ua
ОС сімейства Windows використовують
адреси, що формуються програмно, звані віртуальними адресами, які в свою
чергу формують віртуальний адресний простір (віртуальну пам'ять).
Більшість систем віртуальної пам'яті, зокрема, система, реалізована в ОС Windows, використовують сторінкову організацію пам'яті. Коли використовується механізм віртуальної пам'яті, віртуальні адреси передаються диспетчеру пам'яті, який відображає віртуальні адреси на фізичні адреси пам'яті.
Слайд 14УПРАВЛІННЯ ПАМ’ЯТТЮ
Операційні системи. Кафедра Інформатики. E-mail: informatika@kture.kharkov.ua
Простір віртуальних адрес розділений
на частини (одиниці), звані сторінками. Відповідні одиниці у фізичній пам'яті
називаються сторінковими блоками.
Сторінка - це певна область пам'яті з даними, що має фіксований розмір, що залежить від конкретного процесора. Наприклад, на комп'ютерах з процесором Pentium розмір сторінки дорівнює 4 Кбайт, а для процесора Itanium він може дорівнювати 8 або 16 Кбайт. Сторінки підвантажуються на вимогу додатків чи операційної системи. Передача даних між оперативною пам'яттю і жорстким диском завжди відбувається в сторінках.
Слайд 15УПРАВЛІННЯ ПАМ’ЯТТЮ
Операційні системи. Кафедра Інформатики. E-mail: informatika@kture.kharkov.ua
В ОС Windows у
кожного користувача процесу є власний віртуальний адресний простір. Віртуальні адреси
є 32-розрядними.
Це дає можливість надати кожному процесу до 4 Гбайт віртуального адресного простору. Нижні 2 Гбайти виключаючи 256 Мбайт, доступні для програми і даних процесу, а верхні 2 Гбайт захищеним чином відображуються на пам'ять ядра.
Слайд 16УПРАВЛІННЯ ПАМ’ЯТТЮ
Операційні системи. Кафедра Інформатики. E-mail: informatika@kture.kharkov.ua
Слайд 17УПРАВЛІННЯ ПАМ’ЯТТЮ
Операційні системи. Кафедра Інформатики. E-mail: informatika@kture.kharkov.ua
Кожна віртуальна сторінка може
знаходитися в одному з трьох станів:
Вільна сторінка. Це сторінка, яка
не використовується в даний момент. При зверненні до неї викликається сторінкове переривання. Коли процес запускається, всі його сторінки знаходяться у вільному стані, поки програма і вихідні дані не будуть відображені на їх адресний простір.
Фіксованою сторінка стає відразу, як тільки дані або програма відображаються на неї. Звернення до цієї сторінки перетворюється за допомогою апаратного забезпечення віртуальної пам'яті і завершується успіхом, якщо ця сторінка знаходиться в оперативній пам'яті. В іншому випадку відбувається сторінкове переривання, операційна система знаходить потрібну сторінку на диску і зчитує її в оперативну пам'ять.
Слайд 18УПРАВЛІННЯ ПАМ’ЯТТЮ
Зарезервованою сторінка може бути в тому випадку якщо вона
не може відображатися, поки резервування не буде явно видалено програмою,
що резервувала сторінку. Такий стан корисний в тому випадку, якщо необхідно забезпечити резервування певного безперервного адресного простору пам'яті для роботи програми.
Крім цих станів сторінка може мати атрибут доступності для читання, запису або виконання.
Операційні системи. Кафедра Інформатики. E-mail: informatika@kture.kharkov.ua
Слайд 19УПРАВЛІННЯ ПАМ’ЯТТЮ
Операційні системи. Кафедра Інформатики. E-mail: informatika@kture.kharkov.ua
Процесом переміщення сторінок з
пам'яті на диск і назад управляє операційна система. Для кожного
процесу ядро підтримує так звану таблицю сторінок - внутрішню структуру, яка дозволяє перетворити віртуальні адреси у фізичні. Коли сторінка переміщується в фізичну пам'ять, ядро оновлює таблиці сторінок відповідних процесів. Якщо ядру потрібне місце у фізичній пам'яті, воно витісняє найстаріші сторінки фізичної пам'яті в сторінковий файл. Маніпуляції ядра з фізичною пам'яттю абсолютно непомітні (прозорі) для додатків, які працюють тільки зі своїми віртуальними адресними просторами.