
- •1 Вступ
- •2 Класи комп’ютерних систем Комп’ютери із спільною пам’яттю (мультиплексорні системи)
- •3 Класифікація протоколів когерентності кешів
- •4 Реалізація smp систем
- •6 Технології mmx, 3dnow!, sse1, sse2, sse3, sse4 (самостійно)
- •8 Класифікація комп’ютерних систем
- •10 Матричні процесори
- •11 Numa архітектура
- •13 Машинні потоки команд (Data Flow)
- •14 Кластерні системи
- •15 Операційні системи
- •16 Фізична організація файлових систем
- •17 Файлова система ntfs (New Technology File System)
- •18 Файлова система ext2
- •19 Архітектура ос
- •20 Багатошарова структура операційної системи
- •21 Віртуальна пам’ять
- •22 Архітектура ос
20 Багатошарова структура операційної системи
Обчислювальну систему, яка працює під управлінням операційної системи, можна розглядати, як систему, яка складається з 3-х ієрархічно розміщених шарів:
Апаратура
Ядро
Бібліотеки і утиліти
Даний підхід має ряд переваг, а саме він дозволяє суттєво спростити розробку операційної системи. Так як ядро являє собою складний багатофункціональний комплекс, то багатошаровий підхід розповсюджується і на структуру ядра. Зазвичай в ядрі виділяють наступні шари:
Засоби апаратної підтримки ОС — це програмні засоби, які приймають участь в організації обчислювальних процесів: засіб підтримки привілейованого режиму, переривань, підтримки контекстів, областей пам’яті.
Машино залежні компоненти ОС. Цей шар формує програмні модулі, в яких відображена специфіка апаратної платформи комп’ютера. В ідеалі даний шар повинен повністю екранувати всі наступні шари від особливості реалізації апаратної частини. Це дозволяє розробляти вище розміщені шари на основі машинно-незалежних компонент, які не залежать від апаратної частини.
Базовий механізм ядра. Цей шар виконує найбільш примітивні операції ядра, такі як програмне перемикання контекстів, диспетчеризація переривань, переміщення сторінок з пам’яті на диск і т.д. даний шар не приймає рішення про розподіл ресурсів, він лише виконує команди вище розміщеного шару.
Менеджер ресурсів. Цей шар складається з функціональних модулів, які реалізують задачі по управлінню основними ресурсами обчислювальної системи. Зазвичай на даному шарі працюють менеджери процесорів вводу/виводу, файлових систем та оперативної пам’яті. Кожен менеджер веде облік використаних ним ресурсів, а також керує доступом до них.
Інтерфейс системних виходів? Цей шар є самим верхнім шаром ядра і через нього всі інші модулі операційної системи взаємодіють з ядром. Цей шар формує API систем. В деяких ОС можливе пряме звернення одного шару до іншого в обхід проміжних для покращення швидкодії.
21 Віртуальна пам’ять
Віртуальна пам’ять — це механізм розподілу оперативної пам’яті між процесами, який дозволяє використовувати об’єми оперативної пам’яті більші, ніж фізично встановлено в системі. При запуску будь-якого процесу операційна система виділяє даному процесу свій власний адресний простір. Адресний простір — це область оперативної пам’яті, з якою може працювати даний процес. Операційна система виділяє максимально можливий розмір оперативної пам’яті , що дозволяється апаратною архітектурою (наприклад, для х86 процесу виділяється 4 Гб оперативної пам’яті). Фізично наявних ОЗП буде не вистачати, тому ОС не використовує блоки завантаження на диск, а вивільнену оперативну пам’ять використовує для активного процесу. Якщо виникає необхідність у зверненні до даних, записаних на диск, операційна система їх автоматично завантажує назад. Даний механізм є абсолютно прозорим для кінцевого користувача і не може вплинути на хід роботи. Кожному процесу виділяється максимально можливий розмір пам’яті.
22 Архітектура ос
Будь яка складна система повинна мати чітку та зрозумілу логічну структуру. Іншими словами, система повинна розділяться на частини, які мають чітке функціональне призначення і, які взаємодіють між собою по чітко виражених правилах взаємодії. Функціональна складність ОС приводить до складності її архітектури. Архітектура ОС – внутрішня структура та організація її програмних модулів. Більшість сучасних ОС представляють собою структуровані модульні системи, які мають властивості розширюватись, переносу, розвитку, ЕТС.
Більш загальним підходом до структуризації ОС є розбиття всіх модулів на дві частини:
1. Ядро.
2. Модулі, які виконують додаткові функції.
Модулі ядра виконують: управління процесами, пам'яттю, пристроями введення/виведення, ЕТС. До складу ядра входять функції, які вирішують внутрішньо системні задачі, такі як регулювання роботи процесів, перемикання контекстів, обробка переривань, ЕТС. Процес - програма користувача, яка була запущена на виконання. Область ОП і дані з якими працює процес, називається контекстом даного процесу. У рамках одного процесу може бути декілька паралельних потоків. Функції ядра недоступні програм користувача. Інший клас функцій ядра призначений для підтримки програмних додатків, створюючи для них так звану прикладну програмну середу. Ці функції ядра, які можуть викликатися прикладними програмами, називається інтерфейс прикладного програмування.