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

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



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

Скачати 142.38 Kb.

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




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

Лекція № 3

Тема: Особливості архітектури: UNIX і Linux
План

1. Базова архітектура UNIX

2. Склад архітектури Linux

2.1 Призначення ядра Linux та його особливості

2.

Ядро Linux Ядро Linux - ядро UNIX-подібної операційної системи. Розповсюджується під ліцензією GNU General Public License (GPL), і розробляється людьми з усього світу, що дозволило йому стати одним із найвидатніших прикладів відкритого програмного забезпечення та увійти до числа наймасштабніших проектів з розробки програмного забезпечення: версія 4.
2 Модулі ядра

2.3 Особливості системних бібліотек

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

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

5.

Компонент (англ. component, нім. Komponente f) - різновид, складова частина чогось.
Компоненти режиму користувача Windows

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



1. Базова архітектура UNIX

UNIX є прикладом досить простої архітектури ОС. Більша частина функціональ­ності цієї системи міститься в ядрі, ядро спілкується із прикладними програмами за допомогою системних викликів. Базова структура класичного ядра UNIX зобра­жена на рис. 2.3.



Система складається із трьох основних компонентів: підсистеми керування процесами, файлової підсистеми та підсистеми введення-виведення.
Систе́ма (від дав.-гр. σύστημα - «сполучення», «ціле», «з'єднання») - множина взаємопов'язаних елементів що утворюють єдине ціле, взаємодіють з середовищем та між собою, і мають мету.


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

Файлова підсистема забезпечує єдиний інтерфейс доступу до даних, розташо­ваних на дискових накопичувачах, і до периферійних пристроїв. Такий інтерфейс є однією з найважливіших особливостей UNIX. Одні й ті самі системні виклики використовують як для обміну даними із диском, так і для виведення на термінал або принтер (програма працює із принтером так само, як із файлом). При цьому файлова система переадресовує запити відповідним модулям підсистеми введен­ня-виведення, а ті — безпосередньо периферійним пристроям.
Комп'ютерний принтер (англ. printer - друкар) - периферійний друкувальний пристрій, що підключається до комп'ютера і має змогу друкувати текстову та іншу графічну інформацію на папері.
Перифері́йний при́стрій - частина технічного забезпечення, конструктивно відокремлена від головного блоку обчислювальної системи.
Фа́йлова систе́ма - спосіб організації даних, який використовується операційною системою для збереження інформації у вигляді файлів на носіях інформації. Також цим поняттям позначають сукупність файлів та директорій, які розміщуються на логічному або фізичному пристрої.
Крім того, файлова підсистема контролює права доступу до файлів, які значною мірою визначають привілеї користувача в системі.

Підсистема введення-виведення виконує запити файлової підсистеми, взаємо­діючи з драйверами пристроїв. В UNIX розрізняють два типи пристроїв: сим­вольні (наприклад, принтер) і блокові (наприклад, жорсткий диск).
Тверди́й диск або Тверди́й магні́тний диск, або Накопичувач на магнітних дисках (англ. Hard (magnetic) disk drive, англ. HDD), у комп'ютерному сленгу - «вінчестер» (від англ. winchester), - магнітний диск, основа якого виконана з твердого матеріалу.
Основна відмінність між ними полягає в тому, що блоковий пристрій допускає прямий

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

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


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


  • Стандартом для реалізації інтерфейсу файлової системи є віртуальна файло­ва система, що абстрагує цей інтерфейс і дає змогу організувати підтримку різних типів файлових систем.

  • У цих системах підтримується багатопроцесорна обробка, а також багатопотоковість.

Базові архітектурні рішення, такі як доступ до всіх пристроїв введення-виведення через інтерфейс файлової системи або організація системних викликів, за­лишаються незмінними в усіх реалізаціях UNIX.
Про́даж - це оплатна передача майна однією особою у власність іншій особі.
Архітекту́ра (грец. αρχιτεκτονικη - будівництво) - це одночасно наука і мистецтво проектування будівель, а також власне система будівель та споруд, які формують просторове середовище для життя і діяльності людей відповідно до законів краси.


2. Склад архітектури Linux

В ОС Linux можна виділити три основні частини:

4- ядро, яке реалізує основні функції ОС (керування процесами, пам'яттю, введенням-виведенням тощо);


  • системні бібліотеки, що визначають стандартний набір функцій для вико­ристання у застосуваннях (виконання таких функцій не потребує переходу в привілейований режим);

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

2.1 Призначення ядра Linux і його особливості

Linux реалізує технологію монолітного ядра. Весь код і структури даних ядра пе­ребувають в одному адресному просторі.

Моноліт (лат. monolithus від дав.-гр. μονόλιθος) - геологічне утворення, що являє собою цілісну кам'яну брилу. Моноліти, як правило, складаються з більш твердих порід, тому часто ерозія з часом оголює їх в окремі геоморфологічні утворення.
Техноло́гія (від грец. τεχνολογια, що походить від грец. τεχνολογος; грец. τεχνη - майстерність, техніка; грец. λογος - (тут) передавати) - наука («корпус знань») про способи (набір і послідовність операцій, їх режими) забезпечення потреб людства за допомогою (шляхом застосування) технічних засобів (знарядь праці).
Станда́рт - нормативний документ, заснований на консенсусі, прийнятий визнаним органом, що встановлює для загального і неодноразового використання правила, настанови або характеристики щодо діяльності чи її результатів, та спрямований на досягнення оптимального ступеня впорядкованості в певній сфері.
В програмуванні та комп'ютерних науках структу́ри да́них - це способи організації даних в комп'ютерах. Часто разом зі структурою даних пов'язується і специфічний перелік операцій, що можуть бути виконаними над даними, організованими в таку структуру.
У ядрі можна виділити кілька функціо­нальних компонентів [63].

Планувальник процесів — відповідає за реалізацію багатозадачності в системі (обробка переривань, робота з таймером, створення і завершення процесів, пе­ремикання контексту).

Багатозадачність (англ. multitasking) - властивість операційної системи або середовища програмування забезпечувати можливість паралельної (або псевдопаралельною) обробки декількох процесів. На комп'ютерах із одним одноядерним процесором одночасно може виконуватись лише одна задача, тому багатозадачність організовується через розподілення часу виконання задачі на процесорі.

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

Віртуальна файлова система — надає універсальний інтерфейс взаємодії з різ­ними файловими системами та пристроями введення-виведення.


  • Драйвери пристроїв — забезпечують безпосередню роботу з периферійними пристроями. Доступ до них здійснюється через інтерфейс віртуальної фай­лової системи.

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

Підсистема міжпроцесової взаємодії — пропонує механізми, які дають змогу різним процесам у системі обмінюватися даними між собою. Деякі із цих підсистем є логічними компонентами системи, вони завантажу­ються у пам'ять разом із ядром і залишаються там постійно.
Механі́зм (грец. μηχανή mechané - машина) - система тіл, що призначена для перетворення руху одного або декількох тіл у потрібний рух інших тіл. Механізм складає основу більшості машин і застосовується в різноманітних технічних об'єктах.
Ло́гіка (грец. λογιχη від грец. logos - слово, значення, думка, мова) - наука про закони і різновиди мислення, способи пізнання та умови істинності знань і суджень.
Компоненти інших підсистем (наприклад, драйвери пристроїв) вигідно реалізовувати так, щоб їхній код міг завантажуватися у пам'ять на вимогу. Для розв'язання цього завдання Linux підтримує концепцію модулів ядра.

2.2 Модулі ядра

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

Задача - проблемна ситуація з чітко визначеною метою, яку необхідно досягти; в більш вузькому сенсі задачею називають також цю саму мету, що дана в рамках проблемної ситуації, тобто те, що необхідно виконати.
Конце́пція (лат. conceptio - розуміння) - система поглядів, те або інше розуміння явищ і процесів; єдиний, визначальний задум.
Можливість - це дія, що може відбутися або ні (можливо, приїду, а, можливо, і ні). Можливість можна забезпечити чи покладатись на «авось» та якось буде. Альтернатива дає шанс, але не гарантує без відповідних дій забезпечення результату і адекватності та конструктиву діяльності.
Такі секції називають модулями ядра (kernel modules) [ЗО] і виконують у привілейованому режимі. Модулі ядра надають низку переваг.



  • Код модулів може завантажуватися в пам'ять у процесі роботи системи, що спрощує налагодження компонентів ядра, насамперед драйверів.

  • З'являється можливість змінювати набір компонентів ядра під час виконання: ті з них, які в цей момент не використовуються, можна не завантажувати у пам'ять.

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

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

  • Засоби керування модулями дають можливість завантажувати модулі у па­м'ять і здійснювати обмін даними між модулями та іншою частиною ядра.

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


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


Один модуль може зареєструвати кілька драйверів, якщо це потрібно (на­приклад, для двох різних механізмів доступу до пристрою).

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



2.3 Особливості системних бібліотек

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

Бібліоте́ка або книгозбі́рня (грец. βιβλιον - книжка і θηκη - сховище, скриня) - культурно-освітній заклад, що здійснює збирання друкованих і рукописних матеріалів, проводить їх опрацювання і відображення у каталогах, організовує відповідне їх зберігання, збереження і обслуговування ними читачів.
Вони виконують ряд функцій:



  • реалізацію пакувальників системних викликів;

  • розширення функціональності системних викликів (до таких бібліотек нале­жить бібліотека введення-виведення мови С, яка реалізує на основі системних викликів такі функції, як printfO);

реалізацію службових функцій режиму користувача (сортування, функції об­робки рядків тощо).

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

Застосування користувача в Linux використовують функції із системних бібліотек і через них взаємодіють із ядром за допомогою системних викликів.

Взаємодія - широкий загальний термін, що позначає таку сумісну дію кількох об'єктів або суб'єктів (тіла, елементарної частинки, біологічної істоти, людини, співтовариства), при якій результат дії одного з них впливає на інші, що змінює їхню динамічну поведінку.



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

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



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



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

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



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

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

Обла́днання (устаткування) (англ. equipment, нім. ausrüstung) f) - сукупність пристроїв, механізмів, приладів, інструментів або конструкцій, що використовуються в певній сфері діяльності, або з певною метою.
Абстрагува́ння (від лат. abstrahere - «відволікати») - змістова операція, філософський і логічний метод «відволікання», що дає змогу переходити від конкретних предметів (елементів) до загальних понять і законів розвитку.
Для різних апаратних конфігурацій фірма Microsoft або сторонні розробники можуть постачати різні реалізації HAL.

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

У комунікації, ме́діа (англ. media - засоби, способи) - це канали та інструменти; їх використовують, щоб зберігати, передавати й подавати інформацію або дані. Медіа часто згадувано як синонім до масс-медіа або новинних медіа, але в ширшому користуванні вони означають єдине середовище; його використовують, щоб передавати будь-які дані в яких-будь цілях .
Апара́тне забезпе́чення (англ. hardware; сленг. залі́зо) - комплекс технічних засобів, який включає електронний пристрій і, зокрема, ЕОМ: зовнішні пристрої, термінали, абонентські пункти тощо, які необхідні для функціонування тієї чи іншої системи; фізична частина ЕОМ.


Ядро

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

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

Відно́влення (рос. восстановление, англ. reduction; нім. Reduktion f) -- це процес приєднання електронів речовиною, при цьому ступінь окиснення її елементів знижується.


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

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

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

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

Пара́метр (від дав.-гр. παραμετρέω) - відмірюю, розмірюю)(рос. параметр, англ. parameter, нім. Parameter m, Kennwert m, Kenngrösse f, Kennzahl f) - величина, що нею характеризують якусь властивість, стан, розмір або форму об'єкта, робочого тіла, процесу, явища або системи тощо.

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



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

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

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


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

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

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

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

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

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

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

  • Менеджер конфігурації — відповідає за підтримку роботи із системним реєст­ром (registry) — ієрархічно організованим сховищем інформації про налашту­вання системи і прикладних програм.
    Застосунок Застосунок, застосовна програма, прикладна програма (англ. application, application software; пол. aplikacja; рос. приложение, прикладная программа) - користувацька комп'ютерна програма, що дає змогу вирішувати конкретні прикладні задачі користувача.


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

  1   2


Скачати 142.38 Kb.

  • 1. Базова архітектура UNIX
  • 2. Склад архітектури Linux
  • 2.1 Призначення ядра Linux і його особливості
  • 2.3 Особливості системних бібліотек
  • Застосування користувача
  • 3. Особливості архітектури: Windows XP
  • 4. Компоненти режиму ядра
  • Рівень абстрагування від устаткування