
готов лаби 4 курс 1 сим / СПЗ / laba_1
.docxМіністерство освіти і науки, молоді та спорту України
Кіровоградський національний технічний університет
МТФ
Кафедра Програмного забезпечення
Дисципліна СПЗ
Лабораторна робота №1
Виконав ст. гр. КІ-10-1
Перевірив викладач
Бісюк В.А.
Кіровоград 2013
Завдання: Скласти звіт - описати архітектуру ОС Windows її особливості та відмінності. У висновках проаналізувати її переваги та недоліки, можливо запропонувати власні пропозиції щодо операційних систем.
Архітектура Windows NT має модульну структуру і складається з двох основних рівнів – компоненти, що працюють в режимі користувача та компоненти режиму ядра. Програми і підсистеми, що працюють в режимі користувача мають обмеження на доступ до системних ресурсів. Режим ядра має необмежений доступ до системної пам'яті і зовнішніх пристроїв. Ядро системи NT називають гібридним ядром або макроядром. Архітектура включає в себе саме ядро, рівень апаратних абстракцій (HAL), драйвери та ряд служб (Executives), які працюють в режимі ядра (Kernel – mode drivers) або в режимі користувача (User – mode drivers).
Користувацький режим Windows NT складається з підсистем, що передають запити введення/виведення відповідного драйверу режиму ядра за допомогою менеджера введення/виведення. Є дві підсистеми на рівні користувача: підсистема оточення (запускає програми, написані для різних операційних систем) та інтегрована підсистема (управляє особливими системними функціями від імені підсистеми оточення). Режим ядра має повний доступ до апаратної частини і системних ресурсів комп'ютера. І також запобігає доступ до критичних зон системи з боку користувача служб і додатків.
Windows є монолітною ОС, як і більшість Unix систем – більша частина коду та драйверів використовують один ітой же адресний простір захищеної памяті режиму ядра. Це означає, що будь-який компонент ОС чи драйвер потенційно здатен пошкодити дані, що використовуються іншими компонентами системи.
Контрольні запитання :
Режим користувача та режим ядра їх особливості.
Головні функції ядра ОС.
Системні сервіси – їх функції та використання.
Особливості архітектури ОС Windows (витісняюча багатозадачність, кросплатформність, динамічна конфігурованість, багатопоточність).
1. Програмний код, який виконується в режимі користувача, не має прямого доступу до апаратного забезпечення і має обмежений доступ до пам’яті. Це найменш привілейований режим. CPU перемикається в режим RING 3. В цьому режимі набір машинних інструкцій обмежений.
Програмний код, що виконується в режимі ядра має прямий доступ до апаратних засобів (через драйвери) і пам’яті. Це найбільш привілейований режим. CPU перемикається в режим RING 0 – доступні всі команди.
2. Ядро виконує функції, що є критичними для роботи системи. Ядро ОС реагує на переривання і виключення, займається плануванням потоків, збереженням і відновленням контекстів потоків, направляє потоки на виконання в CPU, виконує міжпроцесорну синхронізацію та надає набір сервісів елементарних об’єктів та інтерфейсів, що використовуються компонентами виконавчої підсистеми.
3. Системні сервіси – це модульні компоненти ОС, які завантажуються під час запуску ОС, працюють в режимі ядра і експортують власні набори функцій. Виконуються в системних робочих потоках або створюють власні потоки.
-
Сс
Диспетчер кешу
Dbg
Підтримка від лагодження
Ex
Підтримка виконавчої підсистеми Ex(ecutive)
FsRtl
Бібліотека часу виконання для підтримки файлової системи (File System Run-Time Library)
Hal
Диспетчер рівня апаратних абстракцій, the Hardware Abstraction Layer (HAL)
Inbv
Драйвер ініціалізації системи VGA
Init
Ініціалізація системи
Interlocked
Потокобезпечне оперування змінними
Io
Диспетчер вводу/виводу Io (I/O Manager)
Kd
Підтримка Kernel Debugger
Ке
Підпрограми ядра (Kernel)
Ki
Обробка ядра
Ldr
Завантажник образу
Lpc
Локальний виклик процедур (Local Procedure Call)
Lsa
Local Security Authority
Mm
Менеджер памяті (Менеджер Виртуальной памяти, VMM)
Nls
Лінгвістична підтримка (National Language Support)
Nt
NT Native API
Ob
Менеджер обектів (Object Manager)
Pfx
Обробка префіксів
Po
Менеджер електроживлення
Ps
Підтримка процесів (Process Structure)
Rtl
Бібліотека часу виконання (Run-Time Library)
Se
Управління безпекою
Zw
Альтернативний ітерфейс Native API
другие
Допоміжні функції
4. Витісняюча багатозадачність (preemptive multitasking)
NT дозволяє декільком одиницям виконання - потокам - виконуватися одночасно, швидко перемикаючись між ними. Така поведінка називається багатозадачністю (multitasking).
Кожному потоку на виконання виділяється квант часу процесора. Після закінчення цього часу операційна система насильно віддасть час процесора іншому потоку (говорять, що потік буде витиснений). Така поведінка називається витісняючою багатозадачністю (на відміну від невитвсняючої багатозадачності, коли потік сам повинен звільнити процесор).
Багатопоточність
Кожна що виконується в NT програма представляється як процес.
Процес (process) - це програма (статична послідовність команд і дані) і системні ресурси, необхідні для її роботи. Ос надає кожному процесу адресний простір, виділений для програми, і гарантує, що програма кожного процесу прямуватиме на виконання в певному порядку і в потрібний час. Щоб процес зміг запрацювати, він повинен включати, принаймні, один потік виконання (thread execution).
Потік (thread) - одиниця виконання в NT. Потік - це єство усередині процесу, яке ядро направляє на виконання, він може належати тільки одному процесу. Потік складається з покажчика поточної команди, призначеного для користувача стека, стека ядра і набору значень регістрів. Всі потоки процесу мають однаковий доступ до його адресного простору, описувачів об'єктів і інших ресурсів. Потоки реалізовані як об'єкти-потоки.
Початковий потік виникає при створенні процесу, і потім він може створити додаткові потоки.
Кожний потік має свій власний пріоритет, відповідно до якого, Ос ухвалюватиме рішення про його запуск. При цьому приналежність потоку до конкретного процесу не враховується.
Кросплатформенність
Кросплатформенне програмне забезпечення – програмне забезпечення, що працює на жекількох апаратних платформах або операційних системах.