69771

Особливості архітектури: Windows XP

Лекция

Информатика, кибернетика и программирование

Менеджер об’єктів відповідає за розподіл ресурсів у системі підтримуючи їхнє універсальне подання через об’єкти. Концепція об’єктів забезпечує важливі переваги. Імена об’єктів організовані в єдиний простір імен де їх легко знаходити. Доступ до всіх об’єктів здійснюється однаково.

Украинкский

2014-10-10

97 KB

25 чел.

Тема 1. Особливості архітектури: Windows XP

У цьому розділі ми розглянемо основні компоненти Windows XP [14, 44], які зображені на рис. 2.4.

Деякі компоненти Windows XP виконуються у привілейованому режимі, інші компоненти — у режимі користувача. Ми почнемо розгляд системи з компонентів режиму ядра.

1.1. Компоненти режиму ядра

У традиційному розумінні ядро ОС містить усі компоненти привілейованого режиму, однак у Windows XP поняття ядра закріплене тільки за одним із цих компонентів.

Рівень абстрагування від устаткування

У Windows XP реалізовано рівень абстрагування від устаткування (у цій системі його називають HAL, hardware abstraction layer). Для різних апаратних конфігурацій фірма Microsoft або сторонні розробники можуть постачати різні реалізації HAL.

Хоча код HAL є дуже ефективним, його використання може знижувати продуктивність застосувань мультимедіа. У такому разі використовують спеціальний пакет DirectX, який дає змогу прикладним програмам звертатися безпосередньо до апаратного забезпечення, обминаючи HAL та інші рівні системи.

Ядро

Ядро Windows XP відповідає за базові операції системи. До його основних функцій належать:

♦ перемикання контексту, збереження і відновлення стану потоків;

  •  планування виконання потоків;

♦ реалізація засобів підтримки апаратного забезпечення, складніших за засоби HAL (наприклад, передача керування оброблювачам переривань).

Ядро Windows XP відповідає базовим службам ОС і надає набір механізмів для реалізації політики керування ресурсами.

Основним завданням ядра є якомога ефективніше завантаження процесорів системи. Ядро постійно перебуває в пам'яті, послідовність виконання його інструкцій може порушити тільки переривання (під час виконання коду ядра багатозадачність не підтримується). Для прискорення роботи ядро ніколи не перевіряє правильність параметрів, переданих під час виклику його функцій.

Windows XP не можна віднести до якогось певного класу ОС. Наприклад, хоча за функціональністю ядро системи відповідає поняттю мікроядра, для самої ОС не характерна класична мікроядрова архітектура, оскільки у привілейованому режимі виконуються й інші її компоненти.

Виконавча система

Виконавча система (ВС) Windows XP (Windows XP Executive) - це набір компонентів, відповідальних за найважливіші служби ОС (керування пам'яттю, процесами і потоками, введенням-виведенням тощо).

Компонентами ВС є передусім базові засоби підтримки. Ці засоби використовують у всій системі.

Менеджер об'єктів — відповідає за розподіл ресурсів у системі, підтримуючи їхнє універсальне подання через об'єкти.

Засіб локального виклику процедур (LPC) — забезпечує механізм зв'язку між процесами і підсистемами на одному комп'ютері.

Інші компоненти ВС реалізують найважливіші служби Windows XP. Зупинимося на деяких із них.

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

Менеджер віртуальної пам'яті — реалізує керування пам'яттю в системі, насамперед підтримку віртуальної пам'яті.

Менеджер введення-виведення — керує периферійними пристроями, надаючи іншим компонентам апаратно-незалежні засоби введення-виведення. Цей менеджер реалізує єдиний інтерфейс для драйверів пристроїв.

Менеджер кеша - керує кешуванням для системи введення-виведення. Часто використовувані блоки диска тимчасово зберігаються в пам'яті, наступні операції введення-виведення звертаються до цієї пам'яті, внаслідок чого підвищується продуктивність.

Менеджер конфігурації — відповідає за підтримку роботи із системним реєстром (registry) — ієрархічно організованим сховищем інформації про налаштування системи і прикладних програм.

Довідковий монітор захисту — забезпечує політику безпеки на ізольованому комп'ютері, тобто захищає системні ресурси.

Драйвери пристроїв

У Windows XP драйвери не обов'язково пов'язані з апаратними пристроями. Застосування, якому потрібні засоби, доступні в режимі ядра, завжди варто оформляти як драйвер. Це пов'язане з тим, що для зовнішніх розробників режим ядра доступний тільки з коду драйверів. Докладніше реалізацію драйверів Windows XP буде розглянуто в розділі 15.

Віконна і графічна підсистеми

Віконна і графічна підсистеми відповідають за інтерфейс користувача — роботу з вікнами, елементами керування і графічним виведенням.

Менеджер вікон — реалізує високорівневі функції. Він керує віконним виведенням, обробляє введення з клавіатури або миші й передає застосуванням повідомлення користувача.

Інтерфейс графічних пристроїв (Graphical Device Interface, GDI) — складається з набору базових операцій графічного виведення, які не залежать від конкретного пристрою (креслення ліній, відображення тексту тощо).

Драйвери графічних пристроїв (відеокарт, принтерів тощо) — відповідають за взаємодію з контролерами цих пристроїв.

Під час створення вікон або елементів керування запит надходить до менеджера вікон, який для виконання базових графічних операцій звертається до GDI. Потім запит передається драйверу пристрою, затим — апаратному забезпеченню через HAL.

1.2. Компоненти режиму користувача

Компоненти режиму користувача не мають прямого доступу до апаратного забезпечення, їхній код виконується в ізольованому адресному просторі. Більша частина коду режиму користувача перебуває в динамічних бібліотеках, які у Windows називають DLL (dynamic-link libraries).

Бібліотека системного інтерфейсу

Для доступу до засобів режиму ядра в режимі користувача необхідно звертатися до функцій бібліотеки системного інтерфейсу (ntdli.dll). Ця бібліотека надає набір функцій-перехідників, кожній з яких відповідає функція режиму ядра (системний виклик). Застосування зазвичай не викликають такі функції безпосередньо, за це відповідають підсистеми середовища.

Підсистеми середовища

Підсистеми середовища надають застосуванням користувача доступ до служб операційної системи, реалізуючи відповідний АРІ. Ми зупинимося на двох підсистемах середовища: Win32 і POSIX.

Підсистема Win32, яка реалізує Win32 АРІ, є обов'язковим компонентом Windows ХР. До неї входять такі компоненти:

  •  процес підсистеми Win32 (csrss.exe), що відповідає, зокрема, за реалізацію текстового (консольного) введення-виведення, створення і знищення процесів та потоків;
  •  бібліотеки підсистеми Win32, які надають прикладним програмам функції Win32 АРІ. Найчастіше використовують бібліотеки gdi32.dll (низькорівневі графічні функції, незалежні від пристрою), user32.dll (функції інтерфейсу користувача) і kernel32.dll (функції, реалізовані у ВС і ядрі). Після того як застосування звернеться до функції Win32 АРІ, спочатку буде викликана відповідна функція з бібліотеки підсистеми Win32.

Розглянемо варіанти виконання такого виклику.

  1.   Якщо функції потрібні тільки ресурси її бібліотеки, виклик повністю виконується в адресному просторі застосування без переходу в режим ядра.
  2.   Якщо потрібен перехід у режим ядра, з коду бібліотеки підсистеми виконується системний виклик. Так відбувається у більшості випадків, наприклад під час створення вікон або елементів керування.
  3.   Функція бібліотеки підсистеми може звернутися до процесу підсистеми Win32, при цьому:
  •  коли потрібна тільки функціональність, реалізована даним процесом, переходу в режим ядра не відбувається;

♦  коли потрібна функціональність режиму ядра, процес підсистеми Win32 виконує системний виклик аналогічно до варіанта 2.

Зазначимо, що до виходу Windows NT 4.0 (1996 рік) віконна і графічна підсистеми працювали в режимі користувача як частина процесу підсистеми Win32 (тобто виклики базових графічних функцій Win32 АРІ оброблялися відповідно до варіанта 3). Надалі для підвищення продуктивності реалізацію цих підсистем було перенесено в режим ядра [14].

Підсистема POSIX працює в режимі користувача й реалізує набір функцій, визначених стандартом POSIX 1003.1. Оскільки застосування, або прикладні програми (applications), написані для однієї підсистеми, не можуть використати функції інших, у POSIX-програмах не можна користуватися засобами Win32 АРІ (зокрема, графічними та мережними функціями), що знижує важливість цієї підсистем-и. Підсистема POSIX не є обов'язковим компонентом Windows XP.

Наперед визначені системні процеси

Ряд важливих процесів користувача система запускає автоматично до закінчення завантаження.

Розглянемо деякі з них.

  •  Менеджер сесій (Session Manager, smss.exe) створюється в системі першим. Він запускає інші важливі процеси (процес підсистеми Win32, процес реєстрації в системі тощо), а також відповідає за їхнє повторне виконання під час аварійного завершення.

♦ Процес реєстрації в системі (winlogon.exe) відповідає за допуск користувача
в систему. Він відображає діалогове вікно для введення пароля, після введен
ня передає пароль у підсистему безпеки і в разі успішної його верифікації за
пускає засоби створення сесії користувача.

  •  Менеджер керування службами (Service Control Manager, services.exe) відповідає за автоматичне виконання певних застосувань під час завантаження системи. Застосування, які будуть виконані при цьому, називають службами (services). Такі служби, як журнал подій, планувальник задач, менеджер друкування, постачають разом із системою. Крім того, є багато служб сторонніх розробників; так зазвичай реалізовують серверні застосування (сервери баз даних, веб-сервери тощо).

Застосування користувача

Застосування користувача можуть бути створені для різних підсистем середовища. Такі застосування використовують тільки функції відповідного АРІ. Виклики цих функцій перетворюються в системні виклики за допомогою динамічних бібліотек підсистем середовища.

1.3. Об'єктна архітектура Windows XP

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

Імена об'єктів організовані в єдиний простір імен, де їх легко знаходити.

Доступ до всіх об'єктів здійснюється однаково. Після створення нового об'єкта або після отримання доступу до наявного менеджер об'єктів повертає у застосування дескриптор об'єкта (object handle).

Забезпечено захист ресурсів. Кожну спробу доступу до об'єкта розглядає підсистема захисту — без неї доступ до об'єкта, а отже і до ресурсу, отримати неможливо.

Менеджер об'єктів відповідає за створення, підтримку та ліквідацію об'єктів, задає єдині правила для їхнього іменування, збереження й забезпечення захисту. Підсистеми середовища звертаються до менеджера об'єктів безпосередньо або через інші сервіси ВС. Наприклад, під час запуску застосування підсистема Win32 викликає менеджер процесів для створення нового процесу. В свою чергу менеджер процесів звертається до менеджера об'єктів для створення об'єкта, що представляє процес.

Об'єкти реалізовано як структури даних в адресному просторі ядра. При перезавантаженні системи вміст усіх об'єктів губиться.

Особливості отримання доступу до об'єктів із процесів режиму користувача буде розглянуто в розділі 3.

Структура заголовка об'єкта

Об'єкти складаються з двох частин: заголовка і тіла об'єкта. У заголовку міститься інформація, загальна для всіх об'єктів, у тілі — специфічна для об'єктів конкретного типу.

До атрибутів заголовка об'єкта належать:

ім'я об'єкта і його місце у просторі імен;

дескриптор захисту (визначає права, необхідні для використання об'єкта);

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

список процесів, що дістали доступ до дескрипторів об'єкта.

Менеджер об'єктів здійснює керування об'єктами на підставі інформації з їхніх заголовків.

Об'єкти типу

Формат і вміст тіла об'єкта визначається його типом. Новий тип об'єктів може бути визначений будь-яким компонентом ВС. Існує визначений набір типів об'єктів, які створюються під час завантаження системи (такі об'єкти, наприклад, відповідають процесам, відкритим файлам, пристроям введення-виведення).

Частина характеристик об'єктів є загальними для всіх об'єктів цього типу. Для зберігання відомостей про такі характеристики використовують спеціальні об'єкти типу (type objects). У такому об'єкті, зокрема, зберігають:

  •  ім'я типу об'єкта («процес», «потік», «відкритий файл» тощо);

♦ режими доступу (залежать від типу об'єкта: наприклад, для файла такими режимами можуть бути «читання» і «запис»).

Об'єкти типу недоступні в режимі користувача.

Методи об'єктів

Коли компонент ВС створює новий тип об'єкта, він може зареєструвати у диспетчері об'єктів один або кілька методів. Після цього диспетчер об'єктів викликає ці методи на певних етапах життєвого циклу об'єкта. Наведемо деякі з методів об'єктів:

open — викликається при відкритті дескриптора об'єкта;

close — викликається при закритті дескриптора об'єкта;

del ete — викликається перед вилученням об'єкта з пам'яті. Покажчики на код реалізації методів також зберігаються в об'єктах типу.

Простір імен об'єктів

Усі імена об'єктів у ВС розташовані в глобальному просторі імен, тому будь-який процес може відкрити дескриптор об'єкта, вказавши його ім'я. Простір імен об'єктів має ієрархічну структуру, подібно до файлової системи. Аналогом каталогу файлової системи в такому просторі імен є каталог об'єктів. Він містить імена об'єктів (зокрема й інших каталогів). Перелічимо деякі наперед визначені імена каталогів:

Device — імена пристроїв введення-виведення;

Driver — завантажені драйвери пристроїв;

  •  ObjectTypes — об'єкти типів.

Простір імен об'єктів, як і окремі об'єкти, не зберігається після перезавантаження системи.

Контрольні запитання:

1. Компоненти режиму ядра.

2. Рівень абстрагування ядра від устаткування

3. Ядро.

4. Виконавча система.

5. Драйвери пристроїв.

6. Віконна і графічна підсистеми.

7. Компоненти режиму користувача.

8. Бібліотека системного інтерфейсу.

9. Підсистеми середовища.

10. Об'єктна архітектура Windows XP.

11. Структура заголовка об'єкта.

12. Об'єкти типу.

13. Методи об'єктів.

14. Простір імен об'єктів.


 

А также другие работы, которые могут Вас заинтересовать

21249. Цель и общие принципы аудита 53 KB
  Нормативно правовое обеспечение аудиторской деятельности. Управление аудиторской деятельностью. Закон Об аудиторской деятельности 5. Закон Об аудиторской деятельности 6.
21250. АУДИТОРСЬКИЙ РИЗИК ТА ОЦІНКА СИСТЕМИ ВНУТРІШНЬОГО КОНТРОЛЮ Й АУДИТУ 111.5 KB
  Ризик системи внутрішнього контролю. ОЦІНКА СИСТЕМИ ВНУТРІШНЬОГО КОНТРОЛЮ Й АУДИТУ Організація внутрішнього контролю й аудиту. Мета та завдання вивчення системи внутрішнього контролю й аудиту.
21251. ОЦІНКА ОБСТАНОВКИ В НАДЗВИЧАЙНИХ СИТУАЦІЯХ 709.5 KB
  За масштабами тривалістю й уражаючою дією на людей і сільськогосподарське виробництво особливо небезпечним є радіоактивне забруднення і хімічне зараження. Радіаційні аварії на РНО можуть бути двох видів : коли викид радіонуклідів у навколишнє середовище відбувається внаслідок аварії або теплового вибуху та зруйнування РНО; коли аварія відбувається внаслідок вибухової ядерної реакції в цьому випадку зараження навколишнього середовища було таким як при наземному ядерному вибуху. Це може призвести до радіоактивного зараження місцевості і...
21252. АУДИТОРСЬКІ ДОКАЗИ 75 KB
  СУТНІСТЬ ТА ВИДИ АУДИТОРСЬКИХ ДОКАЗІВ Сутність аудиторських доказів відповідно до МСА 500 501. Поняття аудиторських доказів. Достатність і відповідність аудиторських доказів. Види аудиторських доказів.
21253. СТІЙКІСТЬ РОБОТИ ПРОМИСЛОВИХ ОБ’ЄКТІВ У НАДЗВИЧАЙНИХ СИТУАЦІЯХ 152 KB
  Основи стійкості роботи промислових підприємств Під стійкістю роботи промислових підприємств обєктів розуміють їх можливість в умовах надзвичайних ситуацій мирного і воєнного часу виробляти продукцію в запланованому обсязі і номенклатурі а при слабких пошкодженнях відновлювати виробництво в мінімальні терміни. Стійкість роботи промислового підприємства складається із : стійкості інженернотехнічного комплексу будівель споруд систем енерго газо водозабезпечення технологічного обладнання і т. до дії зовнішніх факторів при аваріях...
21254. Підготовка населення по цивільній обороні 82 KB
  Організація навчання населення з цивільної оборони Одним із основних завдань цивільної оборони що визначені Законом України Про Цивільну оборону України є підготовка і передпідготовка керівного складу Цивільної оборони її органів управління та сил навчання населення вмінню застосувати засоби індивідуального захисту та дій у надзвичайних ситуаціях. Підготовка керівного складу Метою навчання цієї категорії є підготовка до управління силами ЦО своїх обєктів у випадку стихійного лиха або аварії. Підготовка проводиться на курсах ЦО в...
21255. Облік витрат та калькулювання собівартості продукції тваринництва 250 KB
  Собівартість окремих видів сільськогосподарської продукції визначається виходячи з витрат віднесених на відповідний вид групу тварин. Розрахунок собівартості продукції у тваринництві здійснюється в такій послідовності: розподіляють між окремими об'єктами обліку витрати на утриманняосновних засобів визначають собівартість робіт та послуг допоміжних виробництв та списують калькуляційні різниці між фактичною та плановою їх собівартістю списують частину витрат бджільництва на сільськогосподарські культури що запилюються списують з витрат...
21256. Облік інших операцій на сільськогосподарських підприємствах 279.5 KB
  За дебетом субрахунку 234 обліковуються всі витрати по виконанню робіт та послугу розрізі типової номенклатури статей. За дебетом рахунку відображаються прямі матеріальні трудові та інші прямі витрати а також загально виробничі витрати за кредитом списання собівартості виготовлених виробів вартість послуг на ремонти техогляди та ін. Усі витрати по капітальному та поточному ремонтах основних засобів по виготовленню запасних частин та інших роботах що виконують майстерні обліковуються за статтями: 1 витрати на оплату праці 2 паливо і...
21257. Загальна характеристика автотранспортних підприємств. Облік рухомого складу транспортних засобів 486.5 KB
  Послуги пасажирського автомобільного транспорту поділяють на послуги з перевезення пасажирів автобусами в таксі та легкових автомобілях на замовлення. Таксі легковий автомобіль обладнаний розпізнавальним ліхтарем оранжевого кольору який встановлюється на даху автомобіля діючим таксометром сигнальним ліхтарем із зеленим та червоним світлом розташованим у верхньому правому кутку лобового скла і який має нанесені композиції з квадратів розташованих у шаховому порядку на дверцятах автомобіля з лівого та правого боків призначений для...