- •Системне програмне забезпечення Конспект лекцій з дисципліни „Системне програмне забезпечення”
- •2 Концептуальні основи ос.....................................................................................16
- •2.4 Концепція віртуалізації....................................................................................28
- •2.5 Концепція переривань.....................................................................................30
- •5 Операційна система unix....................................................................................57
- •1 Операційні системи та середовища
- •Основні означення та терміни
- •Сучасні системи програмування
- •Віртуальний адресний простір
- •Операційні системи для персональних комп’ютерів
- •1.5 Принципи побудови ос
- •1.5.1 Модульність
- •1.5.2 Функціональна вибірковість
- •1.5.3 Генерованость ос
- •1.5.4 Функціональна надлишковість
- •1.5.5 Незалежність програм від зовнішніх пристроїв
- •1.5.7 Відкритість та нарощуваність ос
- •1.5.9 Забезпечення безпеки обчислень
- •1.5.10 Принципи проектування ос
- •2 Концептуальні основи ос
- •2.1 Процеси
- •2.1.1 Означення процесу та граф його існування
- •2.1.2 Класифікування процесів
- •2.2 Ресурс
- •2.2.1 Означення ресурсу
- •2.2.2 Властивості та класифікування ресурсів
- •2.3 Система керування процесами
- •2.3.1 Дворівнева система керування процесами
- •2.3.2 Дисципліни розподілу процесів
- •2.4 Концепція віртуалізації
- •2.5 Концепція переривань
- •3 Захищений режим 32-розрядних процесорів
- •3.1 Основні поняття захищеного режиму
- •3.2 Сегментний механізм віртуалізації пам’яті
- •3.3 Сторінковий механізм віртуалізації пам’яті
- •4 Архітектура операційних системWindows
- •4.1 Архітектура ос Windows 98se
- •4.1.1 Драйвери пристроїв
- •4.1.2 Диспетчер віртуальних машин
- •4.1.3 Встановлювані файлові системи
- •4.1.4 Диспетчер конфігурування
- •4.1.5 Диспетчер драйверів wdm
- •4.1.6 Ядро Windows 98se
- •4.1.8 Оболонка ос
- •4.1.9 Стандартні програми Windows 98se та додатки
- •4.2 Мережна підтримка ос Windows 98se
- •4.2.1 Взаємодія відкритих систем
- •4.2.2 Мережна архітектура Windows 98se
- •4.3 Апаратна підтримка захисту ос
- •4.4 Особливості розподілу оперативної пам’яті в ос Windows nt
- •4.5 Архітектура Windows 2000
- •5 Операційна система unix
- •5.1 Загальна характеристика ос сімейства unix
- •5.2 Архітектура операційної системи unix
- •5.3 Функціонування ос unix
- •5.3.1 Ядро системи
- •5.3.2 Файлова підсистема
- •5.3.3 Підсистема керування процесами та пам’яттю
- •5.3.4 Підсистема введення/виведення
- •5.3.5 Користувачі ос unix
- •5.4 Поняття процесу в ос unix
- •5.4.1 Компоненти процесу
- •5.4.2 Ідентифікатор процесу
- •5.4.2.1 Ідентифікатор батьківського процесу
- •5.4.2.2 Ідентифікатор користувача та групи
- •5.4.3 Стани процесу в unix
- •5.4.4 Керування процесами
- •5.5 Права доступу ос unix
- •5.5.1 Поняття прав доступу користувача
- •5.5.2 Основні біти доступу
- •5.5.3 Додаткові біти доступу
- •5.5.4 Сполучення бітів доступу
- •5.6 Мережні можливості ос unix
- •Список рекомендованої літератури:
4 Архітектура операційних системWindows
4.1 Архітектура ос Windows 98se
Операційна система Windows 98SE має такі характерні риси, що відрізнюють її від попередніх версій:
32-розрядна архітектура та підтримка 16-розрядної;
багатозадачність та багатопоточність для додатків;
відкритість архітектури – можливість додавати нові компоненти;
підтримка стабільності та захищеність;
спрощене встановлювання та налаштовування нових периферійних пристроїв – Plug and Play;
висока сумісність з вже накопиченим програмним забезпеченням – W 3.2x, W95, MS-DOS;
підтримка різноманітних технічних засобів, як старих – DOS-драй-верів, так і нових – WDM (Windows Driver Model);
наявність нових файлових систем – FAT-32, UDF тощо.
На рисунку 4.1 подано архітектуру ОС Windows 98SE.
Рисунок 4.1 – Архітектура ОС Windows 98SE
4.1.1 Драйвери пристроїв
Драйвери пристроїв (Device Driver) – це програма, яка безпосередньо керує будь-яким пристроєм введення/виведення або іншими ресурсами комп’ютера. Драйвери у Windows 98SE забезпечують функціональність багатозадачного середовища, яке має дати можливість одночасного доступу кількох додатків до одного зовнішнього пристрою чи ресурсу. Завдання віртуалізування ресурсів в ОС Windows 98SE розв’язувається саме драйверами віртуальних пристроїв. Файлам з драйверами віртуальних пристроїв надається розширення VxD. Замість “х” можна підставити: Т-таймер, отримаємо VTD – драйвер віртуального таймера, р – VРD – драйвер віртуального принтера тощо.
Драйвери є динамічні, тобто можуть завантажуватись до оперативної пам’яті в разі необхідності й вилучатися, якщо не є потрібні. Частка драйверів є статичними: обов’язково завантажуються разом з ОС і залишаються в оперативній пам’яті постійно. Драйвери VxD мають такі переваги: функціонують в захищеному режимі процесора, використовують усі можливості 32-розрядних процесорів й забезпечують високу продуктивність ОС.
При роботі в MS-DOS використовують драйвери реального часу, тобто не динамічні.
Для розробляння нових драйверів у разі необхідності працювати з нестандартними зовнішніми пристроями використовується двокомпонентна модель:
універсальний драйвер, який зреалізовує функції керування пристроями певного класу (принтери, модеми, монітори);
міні-драйвери, що враховують особливості конкретного пристрою.
4.1.2 Диспетчер віртуальних машин
Диспетчер віртуальних машин (Virtual Machine Manager – VMM) – основний компонент Windows 98SE, що забезпечує багатозадачність та багато-поточність на підставі створення віртуальних машин та керування ними. Він зберігається у файлі C:\WINDOWS\SYSTEM\WMM32.VxD і складається з таких частин:
планувача процесів (Process Scheduler), який здійснює розподіл процесорного часу поміж виконуваними процесами та потоками, які використовують процесор поперемінно;
модуля підкачування сторінок пам’яті (Memory Pager), який вико-ристовується для безпосереднього керування пам’яттю;
інтерфейсу захищеного режиму MS-DOS (MS-DOS Protected mode Interface);
Windows 98SE виконується на рівні тредів (Treads), яким планувач процесів надає за певними правилами кванти процесорного часу. За відносно невеликої оперативної пам’яті комп’ютер під керуванням ОС підтримує віртуальну пам’ять шляхом використання фізичної – оперативної та дискової. Виконуваний програмний код зберігається в основній пам’яті, а решта може зберігатися у віртуальній на диску. Коли програмний код на диску стає активним, він підкачується до основної пам’яті й навпаки. Цей процес називається свопінгом (Swapping), або підкачкою. Файл свопінга має адресу C:\WINDOWS\WIN386.SWP.
Віртуальна пам’ять має сторінкову організацію (Page) фіксованої довжини (64 Кбайти), свопінг йде посторінково. Драйвери VxD розташовані поза одномегабайтовим адресним простором. На рис. 4.2 подано модель віртуальної пам’яті.
У системі використовується плоска модель пам’яті, коли всі сегменти об’єднані й мають максимальний розмір. Кожна сторінка може розташовуватись де завгодно в оперативній пам’яті під керуванням диспетчера пам’яті, котрий перебуває у невивантажуваній області пам’яті або переноситься на диск. Молодші адреси віртуального простору разом використовуються усіма процесами для забезпечення сумісності з драйверами пристроїв реального режиму (клавіатура, монітор), резидентними програмами та деякими 16-розрядними програмами Windows 98SE. Це не є оптімальним з точки зору надійності, оскільки призводить до того, що будь-який процес може зіпсувати компоненти, розташовані за цими адресами.
Кожна 32-розрядна програма виконується у власному адресному просторі, але всі вони використовують один 32-розрядний системний код. Доступ до чужих адресних просторів у принципі є можливий. Віртуальний адресний простір у цій моделі не використовує всі апаратні засоби захисту, які надає процесор. Помилково написаний 32-розрядний додаток може призвести до аварійного збою системи. Область пам’яті поміж 2 та 4 Гбайтами використовується спільно усіма 32-розрядними додатками. Така організація дозволяє обслуговувати усі виклики АРІ безпосередньо в адресному просторі додатка. Але ніщо не заважає додаткові, що він вміщує помилковий код, зробити запис за адресами, які належать системним DLL, і спричинити збій у ОС.
Рисунок 4.2 – Розподіл віртуальної пам’яті у Windows 98SE