Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОКМ_ЛК.doc
Скачиваний:
10
Добавлен:
13.04.2015
Размер:
623.1 Кб
Скачать

100%, Отже в обох випадках ці значення будуть дорівнювати 1, тоді

надійність можна визначити як

РА = РА (normal) = u10 * p10 + u11 * p11 = 1*0,18+1*0,81=0,99.

де u10 – < використовується один сервер >,

u11 – < використовуються обидва сервери >.Лекція 5. Визначення продуктивності мережі\ Саенко В.І

В умовах великих навантажень відповідно до умови, якщо

використовуються два сервери, то припустиме використання їх дорівнює 0,8,

отже.

РА =РА (peak)= u10 * p10 + u11 * p11 = 1*0,81 + 0,8*0,18=0,1458 + 0,81=0.955.

З огляду на те, що в період роботи протягом дня 0,6 часу припадає на

період навантаженого режиму, остаточно можна порахувати надійність, як

РА = 0.6 x РА (peak) + 0.4 x РА (normal) = 0,6*0,955+0,4*0,99=0.969.Лекція 5. Визначення продуктивності мережі\ Саенко В.І

Лекція 6. Архітектура операційної системи Windows \ Саенко В.І.

ЛЕКЦІЯ 6

Архітектура операційної системи Windows. (Частина 1)

1. Структура: NT executive і захищені підсистеми

2. Множинні прикладні середовища

3. Об'єктно-орієнтований підхід

4. Процеси і нитки

Основний практичний результат: як працювати в середовищі Windows NT

Основний теоретичний результат: принципи побудови, архітектура Windows NT

Самостійна робота

1.Лабораторна робота 5: Тестування мережевих робочих станцій на платформі Windows 98

2.Лабораторна робота 6: Тестування мережевих робочих станцій на платформі Windows NT

3.Ознайомиться з Глосарієм.

1 Структура: NT executive і захищені підсистеми

При розробці структури Windows NT (Windows 2000\2003) була в значній мірі використана

концепція мікроядра. Відповідно до цієї ідеї ОС розділена на декілька підсистем, кожна з яких

виконує окремий набір сервісних функцій - наприклад, сервіс пам'яті, сервіс по створенню

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

користувача режимі, виконуючи цикл перевірки запиту від клієнта на одну з його сервісних

функцій. Клієнт, яким може бути або інша компонента ОС, або прикладна програма, запрошує

сервіс, посилаючи повідомлення на сервер. Ядро ОС (або мікроядро), працюючи в

привілейованому режимі, доставляє повідомлення потрібного сервера, потім сервер виконує

операцію, після цього ядро повертає результати клієнтові за допомогою іншого повідомлення.

Структурно Windows NT може бути представлена у вигляді двох частин: частина

операційної системи, що працює в режимі користувача, і частина операційної системи, що

працює в режимі ядра (рис. 1).

Частина Windows NT, що працює в режимі ядра, називається executive - виконавчою

частиною. Вона включає ряд компонент, які керують віртуальною пам'яттю, об'єктами

(ресурсами), введенням-виводом і файловою системою (включаючи мережеві драйвери),

взаємодією процесів і частково системою безпеки. Ці компоненти взаємодіють між собою за

допомогою міжмодульного зв'язку. Кожна компонента викликає інші за допомогою набору

ретельно специфікованих внутрішніх процедур.

Другу частину Windows NT, що працює в режимі користувача, складають сервери - так

звані захищені підсистеми. Сервери Windows NT називаються захищеними підсистемами,

оскільки кожен з них виконується в окремому процесі, пам'ять якого відокремлена від інших

процесів системою управління віртуальною пам'яттю NT executive. Оскільки підсистеми

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

допомогою посилки повідомлень. Повідомлення можуть передаватися як між клієнтом і

сервером, так і між двома серверами. Всі повідомлення проходять через виконавчу частину

Windows NT. Ядро Windows NT планує нитки захищених підсистем точно так, як і нитки

звичайних прикладних процесів.Лекція 6. Архітектура операційної системи Windows \ Саенко В.І.

Replicator Service

controller

WinLogon

Session

manager

Alerter

RSP

Event

logger

User application

Subsystem

DLLs

POSIX

OS/2

Win32

System Processes Services Applications

Environment

Subsystem

User

mode

Kernel

mode

System

thread

Object management / Executive RTL

Executive API

LPC

facility

Cache

manager

Process/

Tread

manager

Security

reference

monitor

Virtual

memory

manager

Windows

manager

File

systems

I/O manager

Device drivers Microkernel

Hardware abstraction layer (HAL)

Hardware interfaces (buses, I/O, interrupts, timers,

clocks, DMA, cache control, etc.)

Windows 2000

Executive

NTDLL.DLL

Рис. 1- Структура Windows NT

Підтримку захищених підсистем забезпечує виконавча частина - Windows NT executive,

яка працює в просторі ядра і ніколи не скидається на диск. Її складовими частинами є:

• Менеджер об'єктів. Створює, видаляє і управляє об'єктами NT executive -

абстрактними типами даних, використовуваних для вистави ресурсів системи.

• Монітор безпеки. Встановлює правила захисту на локальному комп'ютері.

Охороняє ресурси операційної системи, виконує захист і реєстрацію виконуваних об'єктів.

• Менеджер процесів. Створює і завершує, припиняє і відновлює процеси і нитки, а

також зберігає про них інформацію.

• Менеджер віртуальної пам'яті.

• Підсистема введення-виводу. Включає наступні компоненти:

• менеджер введення-виводу, що надає засоби введення-виводу, незалежні від

пристроїв;

• файлові системи - nt-драйвері, що виконують орієнтовані для файлу запити на

уведення-виведення і транслюють їх у виклики звичайних пристроїв;

• мережевий редіректор і мережевий сервер - драйвери файлових систем, які

передають віддалені запити вводу-виводу на комп’ютери мережі і отримують запити від них;

• драйвери пристроїв NT executive - низькорівневі драйвери, які безпосередньо

керують пристроєм;

• менеджер кеша, що реалізовує кешування диска.

Виконавча частина, у свою чергу, грунтується на службах нижнього рівня, що надаються

ядром (його можна назвати і мікроядром) NT. У функції ядра входить:

• планування процесів,

• обробка переривань і виняткових ситуацій,Лекція 6. Архітектура операційної системи Windows \ Саенко В.І.

• синхронізація процесорів для багатопроцесорних систем,

• відновлення системи після збоїв.

Ядро працює в привілейованому режимі і ніколи не віддаляється з пам'яті. Звернутися до

ядра можна лише за допомогою переривання. Ядро розташоване над рівнем апаратних

абстракцій (Hardware Abstraction Level HAL), який концентрує в одному місці велику частину

машинно-залежних процедур. HAL розташовується між NT executive і апаратним

забезпеченням і приховує від системи такі деталі, як контроллери переривань, інтерфейси

вводу/виводу і механізми взаємодії між процесорами.

Захищені підсистеми Windows NT працюють в призначеному для користувача режимі і

створюються Windows NT під час завантаження операційної системи. Відразу після створення

вони починають нескінченний цикл свого виконання, відповідаючи на повідомлення, що

поступають до них від прикладних процесів і інших підсистем. Серед захищених підсистем

можна виділити підклас, званий підсистемами оточення. Підсистеми оточення реалізують

інтерфейси додатків операційної системи (API). Інші типи підсистем, звані інтегрованими

підсистемами, виконують необхідні операційній системі завдання. Наприклад, велика частина

системи безпеки Windows NT реалізована у вигляді інтегральної підсистеми, мережеві сервери

також виконані як інтегральні підсистеми.

Найбільш важливою підсистемою оточення є Win32 - підсистема, яка забезпечує доступ

для додатків до 32-bit Windows API. Додатково ця система забезпечує графічний інтерфейс з

користувачем і управляє введенням/виводом даних користувача. Також підтримуються

підсистеми POSIX, Os/2,16-разрядная Windows і MS-DOS.

Кожна захищена підсистема працює в режимі користувача, викликаючи системний

сервіс NT executive для виконання привілейованих дій в режимі ядра. Мережеві сервери можуть

виконуватися як в режимі користувача, так і в режимі ядра, залежно від того, як вони

розроблені.

Підсистеми зв'язуються між собою шляхом передачі повідомлень. Коли, наприклад,

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

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

ядра, або посилаючи повідомлення іншої підсистеми. Після завершення процедури підсистема

оточення посилає додатку повідомлення, що містить зворотнє значення. Посилка повідомлень і

інша діяльність захищених підсистем невидима для користувача.

Основним засобом, що скріпляє всі підсистеми Windows NT в єдине ціле, є механізм

виклику локальних процедур (Local Procedure Call - LPC). LPC є оптимізованим варіантом

загальнішого засобу - видаленого виклику процедур (RPC), яке використовується для зв'язку

клієнтів і серверів, розташованих на різних машинах мережі.

Засоби LPC підтримують декілька способів передачі даних між клієнтами і серверами:

один зазвичай використовується для передачі коротких повідомлень, інший - для довгих

повідомлень, а третій оптимізований спеціально для використання підсистемою Win32. Кожна

підсистема встановлює порт - канал зв'язку, за допомогою якого з нею можуть зв'язуватися інші

процеси. Порти реалізуються як об'єкти.

Windows NT використовує захищені підсистеми для того, щоб:

• Забезпечити декілька програмних інтерфейсів (API), по можливості не

ускладнюючи при цьому базовий програмний код (NT executive).

• Ізолювати базову операційну систему від змін або розширень в підтримуваних

API.

• Об'єднати частину глобальних даних, потрібних всім API, і в той же час

відокремити дані, що використовуються кожним окремим API від даних, що використовуються

іншими API.

• Захистити оточення кожного API від додатків, а також від оточень інших API, і

захистити базову операційну систему від різних оточень.Лекція 6. Архітектура операційної системи Windows \ Саенко В.І.

• Дозволити операційній системі розширюватися в майбутньому за рахунок нових

API.

Таким чином, реалізація частин ОС у вигляді серверів, що виконуються в режимі

користувача, є найважливішою частиною проекту Windows NT і надає глибоку дію на все

функціонування системи.

Мікроядро NT служить, головним чином, засобом підтримки для переносимої основної

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

залежних програм усередині мікроядра робить перенесення NT на всілякі процесори відносно

легким. Але в той час, як деякі мікроядра (Mach і Chorus) передбачається поставляти як

самостійний програмний продукт, з операційної системи Windows NT ядро навряд чи може

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

Windows NT істинно мікроядерною ОС в тому сенсі, в якому такими є Mach і Chorus. Ті ж

критики відзначають також, що NT не виключає, як це належить, всі надбудовані служби з

простору ядра і що драйвери пристроїв в NT по мінімуму взаємодіють з ядром, вважаючи за

краще працювати безпосередньо з лежачим нижче шаром апаратної абстракції HAL.