- •Системне програмне забезпечення Конспект лекцій з дисципліни „Системне програмне забезпечення”
- •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
- •Список рекомендованої літератури:
1.5.5 Незалежність програм від зовнішніх пристроїв
Принцип полягає в тому, що зв’язок програм з конкретними пристроями здійснюється не на рівні трансляції, а в період планування їхнього виконання. Тому перекомпілювання при роботі програми з новим пристроєм не потрібне. Це дозволяє однаково здійснювати операції керування зовнішніми пристроями незалежно від їхніх конкретних фізичних характеристик. Наприклад, програмі опрацювання послідовного набору даних є байдуже, на якому носії ці дані розташовано.
1.5.6 Сумісність
Найважливішим аспектом сумісності ОС є її здатність виконувати програми, написані для інших ОС та інших апаратних платформ. Двійкова сумісність досягається при запуску виконуваної програми на іншій ОС. Для цього потрібні сумісність на рівні команд процесора, системних викликів та на рівні викликів динамічно позв’язуваних бібліотек DLL. Сумісність на рівні вихідних текстів потребує наявності відповідного транслятора у складі СПЗ і сумісності на рівні бібліотек та системних викликів. При цьому необхідне перекомпілювання наявних текстів у новий виконуваний модуль. Двійкова сумісність на рівні різних процесорів потребує емуляції бібліотечних функцій та окремих команд за допомогою підпрограм. Одним з розв’язків цієї проблеми є відповідність стандартам POSIX (Portable Operating System Interface for Computer Environments), які було запропоновано за ініціативами Всесвітньої організації ІЕЕЕ (Institute of Electrical and Electronical Engeneers – американський Інститут інженерів з електротехніки та радіоелектроніки) з метою розроблення абстрактного, платформо-незалежного стандарту. Стандартизованими є звернення до АРІ, файлова система, організація доступу до зовнішніх пристроїв, набір системних команд (моніторів). POSIX – це платформо-незалежний системний інтерфейс комп’ютерного оточення. Він стандартизує системні інтерфейси для відкритих операційних систем, оболонки, утиліти та інструментарій. Стандартизованими є завдання реального часу, процеси адміністрування, безпеки, мережні функції. На платформі POSIX створені UNIX- подібні ОС.
1.5.7 Відкритість та нарощуваність ос
Відкриті ОС мають такі властивості:
доступність до аналізу;
нарощуваність: у них можна вводити нові модулі, вдосконалювати попередні тощо, не порушуючи цілісності системи;
розширення ОС надає можливості структурування за типом клієнт-сервер та програмування розподілених систем. ОС будується як сукупність привілейованої керуючої програми та набору непривілейованих послуг – “серверів”. Основна частина ОС залишається незмінною, але до неї можна додати нові сервіси або поліпшені старі. Прикладами таких систем є UNIX та LINUX.
1.5.8 Мобільність
За своєю суттю дуже близький до принципу сумісності, але відрізняється деякими вимогами до побудови ОС за такими правилами:
ОС має бути написана мовою високого рівня й мати мінімізований обсяг коду ядра, який безпосередньо взаємодіє з апаратною частиною;
апаратно-залежний код має бути злокалізован в кількох модулях. Можна “заховати” апаратно-залежну структуру у програмно-задані абстрактні дані. Інші модулі системи будуть працювати з цими даними, а не з апаратурою, використовуючи набір кількох функцій. У разі перенесення ОС змінюватимуться лише ці дані й функції, які маніпулюють цими даними.