Архітектура операційної системи Windows XP - Студопедія

Лабораторна робота 4. Архітектура операційних систем

Теоретична частина лабораторної роботи 4

Архітектура операційної системи Windows XP

Програмна оболонка Windows XPмає модульну структуру (рис. 4.1), в якій код операційної системи та драйвери виконуються в привілейованому режимі процесора (режимі ядра), що забезпечує повний доступ до всієї апаратної частини комп'ютера, а користувацькі додатки виконуються в непривілейованому режимі процесора – режимі користувача без прямого доступу до обладнання комп'ютера. У режимі ядра працюють такі компоненти.

windows

1.Рівень абстрагування від обладнання(Hardware Abstraction Layer, HAL). Його завданням є відокремлення операційної системи від особливостей конкретних реалізацій в апаратному забезпеченні комп'ютера, тобто від відмінностей у материнських платах, у модифікаціях процесорів, у наборах мікросхем та ін. Завдяки цьому рівню, управління підсистемами переривань, прямого доступу до пам'яті, системними шинами, таймерами для ядра операційної системи однакові. РівеньHALреалізований у системному файліHal.dll.

2.Ядро операційної системи. Ядро містить найчастіше викликані низькорівневі функції операційної системи: планування та розподіл ресурсів між процесами, їх перемикання та синхронізацію. До обов'язків ядра входить також управління перериваннями та обробка помилкових ситуацій при функціонуванні операційної системи. Код ядраWindows XPне поділяється на потоки, а знаходиться лише в оперативній пам'яті і не може бути вивантажений на диск. Код ядраWindows XPзнаходитьсяу системному файліNtoskrnl. exe.

3.Драйвери пристроїв. Драйвери являють собою підпрограми, що транслюють виклики, що надійшли від програм користувача в запити обробки даних для конкретних пристроїв. Значна кількість драйверів входить до складуWindows XP(вони розташовуються в підкаталозіIsystem32l driversсистемного каталогу і мають тип файлу*.sys, наприклад, драйвер дискової підсистеми знаходиться в файлі (6>disk.sys ), а для нестандартних периферійних пристроїв драйвери знаходяться в комплектах постачання.

Операційна системаWindows XPзначною мірою використовує можливості процесорів, сумісних із сімействомIntel x86. У їх апаратній архітектурі передбачається чотири рівні привілеїв виконання коду програм від 0-го найвищого привілейованого, до 4-го режиму користувача з обмеженим набором команд процесора. Програми режиму ядра операційної системиWindows XPфункціонують у нульовому, захищеному та привілейованому режимі, а інші програми користувача працюють у менш привілейованих режимах, перебуваючи під контролем програм режиму ядра.

Недоступні в режимі користувача операції та програми звертаються до системних викликів ядра операційної системи, які називаютьWin32 API. До складу API входить більше 250 функцій, звернення до яких здійснюється за допомогою системних викликів, заснованих на підпрограмах ядра операційної системи. Всі викликиWin32 APIобслуговуються як системними службамиNT, так і модулемNT Executive– виконуючої системиWindows XP. МодульNT Executiveє кілька програмних потоків, які виконуються як ядра. Код практично всіх підсистем цього модулязнаходиться у файліntoskrnl.exe(крім підсистемиWin32, код якої розташований у файліwin32k.sys) та рівні абстрагування від обладнанняHAL, що міститься у файліhal.dll. МодульNT Executiveзосереджує всі найважливіші частини операційної системи.

Мікроядро відповідає за виділення пам'яті додатків та розподіл процесорного часу, тобто за реалізацію багатозадачності. Для цього до складу мікроядра входитьпланувальник потоків(threads scheduler), який призначає кожному з потоків один із 32 рівнів пріоритету. Рівень 0 зарезервований для системи. Рівні від 1 до 15 призначаються програмам, що виконуються, а рівні від 16 до 31 можуть призначатися тільки адміністраторами. Планувальник ділить весь процесорний час на кванти фіксованого розміру. При цьому кожен програмний потік виконується тільки протягом відведеного йому часу, і якщо після закінчення кванта він не звільняє процесор, планувальник у примусовому порядку зупиняє цей потік і змінює програмне оточення процесу, налаштовуючи його на виконання іншого потоку, що має той самий пріоритет. Мікроядро також здійснює всю роботу, пов'язану з обробкою програмних та апаратних переривань.

5.Диспетчеризація управління програмами. Модуль складається з наступного набору системних програм:

-Диспетчер вводу-виводу- інтегрує драйвери пристроїв, що додаються в систему, в ОС Windows XP.

-Диспетчер об'єктів– служить для керування всіма ресурсами комп'ютера. У момент звернення програми до будь-якого ресурсу диспетчер об'єктів зіставляє цьому ресурсу об'єкт (наприклад, вікно) і надає додатку дескриптор[1] (№ вікна) цього об'єкта. Використовуючи дескриптор, додатоквзаємодіє з об'єктом, здійснюючи щодо нього різні операції. Монітор системи безпеки слідкує за тим, щоб з об'єктом виконувались лише дозволені дії.

- Головне завдання диспетчера віртуальної пам'яті – організація логічної пам'яті, розмір якої більший за розмір фізичної, встановленої на комп'ютері. Це досягається завдяки тому, що сторінки пам'яті, до яких довго не було звернень, і які не мають атрибута непереміщуваних, зберігаються диспетчером у файліpagefile.sysна жорсткому диску та видаляються з оперативної пам'яті, звільняючи її для інших програм . У момент, коли відбувається звернення до даних, що знаходяться у переміщеній на вінчестер сторінці, диспетчер віртуальної пам'яті копіює сторінку назад до оперативної пам'яті, потім забезпечує доступ до неї. Цей механізм забезпечує виділення додаткової пам'яті програмам, які потребують її, і при цьому стежить за тим, щоб всі працюючі в системі програми мали достатній обсяг фізичної пам'яті для того, щоб продовжувати функціонування.

-Диспетчер кешу– використовується для кешованого читання та запису та дозволяє суттєво прискорити роботу жорстких дисків та інших пристроїв. При цьому найбільш затребувані файли дублюються диспетчером кеша в оперативній пам'яті комп'ютера, і звернення до них обслуговується з використанням цієї копії, а не оригіналу, розташованого на повільному довгостроковому носії. Кеш уWindows XPє єдиним для всіх логічних дисків, незалежно від використовуваної файлової системи. Крім того, він є динамічним, а це означає, що диспетчер керує його розмірами в залежності від доступного обсягу вільної фізичної пам'яті у кожний конкретний момент.

-Диспетчеривікон та графіки– виконую всі функції, пов'язані з пересиланням системних повідомлень та відображенням інформації на екрані.

Процес функціонуванняWindows XPумовно поділяється на три фази: процес початкового навантаження, штатний режим роботи та завершення роботи. Для завантаженняWindows XPвикористовується наступний мінімальний набір файлів:

- файли, що знаходяться в кореневому каталозі завантажувального диска:Ntldr,Boot.ini,Bootsect.dos(необхідний тільки при використанні мультизавантаження),Ntdetect. com;

- файли, що знаходяться в системному підкаталозі /system32:Ntoskrnl.exe,Hal.dll, розділи реєструSYSTEM;

- файли, що знаходяться в системному підкаталозі /system32/drivers: необхідні драйвери пристроїв.

Процес завантаження комп'ютера починається з процедури початкового тестування обладнання(POSTPower-On Self Test).Код, що виконуєPOST,зашитий в базовій системі введення-виводу(BIOS)кожного комп'ютера, при включенні живлення йому передається керування. Якщо в процесі тестування виявляються будь-які помилки, тоBIOSгенерує коди помилок(POSTcodes),які відрізняються дляBIOSрізних виробників та звукові коди. Якщо процедураPOSTзавершується успішно, тоBIOSпередає управління головного завантажувального запису(MBRMaster Boot Record)та перша «апаратна» стадія завантаження комп'ютера, коли процес залежить від апаратури комп'ютера, завершується.

Далі завантажувальний запис, оперуючи даними про розбиття жорсткого диска на логічні томи, передає управління коду, що виконується, завантажувачуNtldr, розташованому в завантажувальному секторі.Завантажувач переходить у захищений режим івиробляє необхідні для успішного функціонування маніпуляції з пам'яттю, крім цього, Ntldr має модулі, що дозволяють працювати з файловою системою і деякими іншими базовими ресурсами системи. Всі інші дії виконуються за допомогою виклику перериваньBIOS.

Якщо у файліboot.iniзареєстровано більше однієї операційної системи, після первинної ініціалізації завантажувач надає користувачеві можливість вибору шляхом виведенняNtldrзапрошення про вибір операційної системи. Якщо вибрано операційну системуWindows XP, завантажувач запускає файлNtdetect. сот.Цей компонент зчитує зCMOS-пам'яті системну дату і час, після чого здійснює пошук і розпізнавання апаратних засобів, підключених в даний момент до комп'ютера. Завершивши роботу,Ntdetectповертає управління та зібрану ним інформацію назад уNtldr.Далі завантажується та ініціалізується ядро ​​операційної системиNtoskrnl.exeта рівень абстрагування від обладнанняHal.dll.При ініціалізації ядро ​​робить ряд дій у наступній послідовності:

- ініціалізація диспетчера пам'яті;

- ініціалізація диспетчера об'єктів;

- встановлення системи безпеки;

- Налаштування драйвера файлової системи;

- завантаження та ініціалізація диспетчера введення-виводу;

- Завантаження системних сервісів, що реалізують взаємодію з користувачем.

До складу системних сервісів входять такі модулі:

-Smss.exe(диспетчер сеансів) – модуль керує іншими сервісами та службами Windows; запускає:Win32(Csrss) та деякі системні утиліти, що виконуються на етапі завантаження; реалізує графічний інтерфейс користувача і запуск процесівCsrss.exe таWinLogon.exe;

-Csrss.exe– модуль призначений для організації взаємодії між комп'ютером та користувачем;

-Lsass.exe– служба, що запускаєтьсяWinLogon.exeта відповідає за безпеку системи; надає можливість користувачеві зареєструватися в системі.

Після завантаження операційної системи користувач повинен пройти процедуруаутентифікації– ввести власне реєстраційне ім'я (логін) та пароль. Процедура підключення до системи дозволяє визначити, чи має користувач право входу та роботи з системою. Цю процедуру виконує службаWinLogon.При цьому в системі відбуваються такі події:

-процес WinLogonвідображає на екрані фон робочого столу та запрошення до введення користувачем логіну та паролю; введені дані передаються підсистему безпеки;

- підсистема безпеки звертається до бази данихSAM(Security Accounts Manager) і перевіряє, чи має користувач повноваження роботи з системою.

Чи не знайшли те, що шукали? Скористайтеся пошуком: