Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



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

Скачати 142.38 Kb.

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




Скачати 142.38 Kb.
Сторінка2/2
Дата конвертації10.03.2017
Розмір142.38 Kb.
ТипЛекція
1   2

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

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



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

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

Програміст, також програмник[Джерело?] - фахівець, що займається програмуванням, виконує розробку програмного забезпечення (в простіших випадках - окремих програм) для програмованих пристроїв, які, як правило містять один чи більше CPU.
Елеме́нт (лат. elementum - стихія, первинна речовина) - нерозкладний (у даній системі) компонент складних тіл, матеріальних систем, теоретичних побудов; будь-який об'єкт, пов'язаний певними відношеннями з іншими об'єктами в єдиний комплекс.
Гра́фіка (нім. Graphik, грец. graphikos «написаний») - вид образотворчого мистецтва, для якого характерна перевага ліній і штрихів, використання контрастів білого і чорного та менше, ніж у живописі, використання кольору.
Інтерфе́йс користувача́ (англ. user interface, UI, дружній інтерфейс) - засіб зручної взаємодії користувача з інформаційною системою. Сукупність засобів для обробки та відображення інформації, максимально пристосованих для зручності користувача; у графічних системах інтерфейс користувача реалізовується багатовіконним режимом, змінами кольору, розміру, видимості (прозорість, напівпрозорість, невидимість) вікон, їхнім розташуванням, сортуванням елементів вікон, гнучкими налаштовуваннями як самих вікон, так і окремих їхніх елементів (файли, папки, ярлики, шрифти тощо), доступністю багатокористувацьких налаштувань.



  • Менеджер вікон — реалізує високорівневі функції. Він керує віконним виве­денням, обробляє введення з клавіатури або миші й передає застосуванням повідомлення користувача.
    Клавіату́ра (англ. keyboard) - сукупність розміщених у певному порядку клавіш пристрою, що використовується для введення і редагування даних, а також керування виконанням окремих операцій.


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


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

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

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

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



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

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

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

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

Операційна система Операці́йна систе́ма, скорочено ОС (англ. operating system, OS) - це базовий комплекс програм, що виконує управління апаратною складовою комп'ютера або віртуальної машини; забезпечує керування обчислювальним процесом і організовує взаємодію з користувачем.
Ми зупинимося на двох під­системах середовища: Win32 і POSIX.



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

  • процес підсистеми Win32 (csrss.exe), що відповідає, зокрема, за реалізацію текстового (консольного) введення-виведення, створення і знищення проце­сів та потоків;

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

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

  1. Якщо функції потрібні тільки ресурси її бібліотеки, виклик повністю вико­нується в адресному просторі застосування без переходу в режим ядра.

  2. Якщо потрібен перехід у режим ядра, з коду бібліотеки підсистеми виконується системний виклик. Так відбувається у більшості випадків, наприклад під час створення вікон або елементів керування.

  3. Функція бібліотеки підсистеми може звернутися до процесу підсистеми Win32, при цьому:

  • коли потрібна тільки функціональність, реалізована даним процесом, пе­реходу в режим ядра не відбувається;
    Функціоналі́зм - архітектурний напрям, різновид раціоналізму, що виник у 1920-х роках у Німеччині. Основні вимоги функціоналізму: обумовленість зовнішнього виду будівлі її конструкцією і внутрішнім плануванням, які, у свою чергу, визначаються її практичним призначенням (функцією).


♦ коли потрібна функціональність режиму ядра, процес підсистеми 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) відповідає за допуск користувача
в систему. Він відображає діалогове вікно для введення пароля, після введен­
ня передає пароль у підсистему безпеки і в разі успішної його верифікації за­
пускає засоби створення сесії користувача.
Верифіка́ція (пізньолат. verificatia - підтвердження; лат. verus - істинний, facio - роблю) - доказ того, що вірогідний факт або твердження є істинним. Термін використовується в залежності від того, як обґрунтовується істина: базується вона на приведенні одного доказу або аргументу - чи вона повинна підтверджуватися можливістю багаторазового відтворювання, тобто перевірятися практикою.


  • Менеджер керування службами (Service Control Manager, services.exe) від­повідає за автоматичне виконання певних застосувань під час завантаження системи. Застосування, які будуть виконані при цьому, називають службами (services). Такі служби, як журнал подій, планувальник задач, менеджер дру­кування, постачають разом із системою. Крім того, є багато служб сторонніх розробників; так зазвичай реалізовують серверні застосування (сервери баз даних, веб-сервери тощо).
    Автома́тика (грец. αύτόματος - самодіючий) - галузь науки і техніки, яка розробляє технічні засоби і методи для здійснення технологічних процесів без безпосередньої участі людини.
    Веб-се́рвер (англ. Web Server) - це сервер, що приймає HTTP-запити від клієнтів, зазвичай веб-браузерів, видає їм HTTP-відповіді, зазвичай разом з HTML-сторінкою, зображенням, файлом, медіа-потоком або іншими даними.


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

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



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

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



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

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

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

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

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

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

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

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

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


  • ім'я об'єкта і його місце у просторі імен;
    Атрибу́т (attribute) - невід'ємна, необхідна для забезпечення цілісності об'єкта (предмета) або суб'єкта (людини) властивість, його частина, додаток.


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

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

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

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

Об'єкти типу

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

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

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

Зберіга́ння - дія за значенням зберігати; технологічний процес.
У такому об'єкті, зокрема, зберігають:

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

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

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



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

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



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

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

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

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

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

Ієра́рхія (грец. ίεράρχίά, від ίερσς - священний, та άρχή - влада) - поділ на вищі й нижчі посади, чини; суворий порядок підлеглості нижчих щодо посади або чину осіб вищим. В ієрархії між її членами діють вертикальні зв'язки - відносини субординації.
Аналогом каталогу файлової системи в такому просторі імен є каталог об'єктів. Він містить імена об'єктів (зокрема й інших каталогів).
Катало́г (рос. каталог, англ. catalogue, нім. Katalog m) - список, перелік книг, карт, рукописів, картин тощо, складений у певному порядку, щоб полегшити їхній пошук. Розрізняють алфавітний та систематичний каталоги.
Перелічимо деякі наперед визначені іме­на каталогів:

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

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



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

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


Скачати 142.38 Kb.

  • 5. Компоненти режиму користувача
  • Бібліотека системного інтерфейсу
  • Застосування користувача
  • 6. Обєктна архітектура Windows XP
  • Структура заголовка обєкта
  • Обєкти типу