- •Системне програмне забезпечення Конспект лекцій з дисципліни „Системне програмне забезпечення”
- •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
- •Список рекомендованої літератури:
2.2 Ресурс
2.2.1 Означення ресурсу
Ресурс – це засіб обчислювальної системи, який може бути надано процесові на певний інтервал часу. Забезпечення ефективного та безконфліктного розподілу ресурсу поміж користувачами є загальною ціллю будь-якої операційної системи. Межі, що вони визначають поняття “ресурс”, є доволі умовні, тому можна вважати, що кожний споживаний об’єкт, незалежно від форми його існування, який має для споживача практичну цінність, є ресурс [2].
Для врегульовуювання конфліктів ресурси мають розподілюватись поміж споживачами за ефективними правилами, що їх задовольняють. Обчислювальна система може тлумачитися як обмежена послідовність функціональних елементів, за допомогою яких можна виконувати дії, пов’язані з опрацюванням, зберіганням або передаванням даних. Такі елементи споживаються іншими елементами, які, в загальному випадку, є споживачами.
Рівень деталізації елементів, які надаються за запитом у системі, може бути різним. Можна всю обчислювальну систему вважати елементом, надаванним для використання, а можна окремий розряд комірки пам’яті тлумачити як окремий розподілюваний елемент. Тому вважають, що споживачами елементів, надаваних обчислювальною системою, є процеси, що в ній розвиваються.
2.2.2 Властивості та класифікування ресурсів
Впорядкованість ресурсів за класифікаційними ознаками потрібна в ОС для окреслення тотожних дій щодо ресурсів певного класу – обліку та розподілу ресурсів, усунення конфліктів у їхньому використанні тощо.
Фізичні ресурси – реально існують і при розподілі поміж споживачами мають усі притаманні їм характеристики. Це, наприклад, уся апаратна частина обчислювальної системи – процесор, ПЗП, ОЗП, пристрої введення/виведення.
Віртуальні ресурси (ті, що надаються) – це моделі реальних ресурсів, які зреалізовуються програмно на базі реальних фізичних ресурсів. За наявності одного фізичного ресурсу можна на його підставі побудувати кілька віртуальних. Кожен з них матиме не лише властивості, притаманні об’єктові моделювання, тобто фізичному ресурсові, але й більш широкі властивості, оптимальні за властивості реального об’єкта. Наприклад, 32-розрядні мікропроцесори адресують 4 Гбайти пам’яті у лінійній моделі, а віртуалізація пам’яті на базі твердого диска надає можливість кожному з 70...80 процесів, що вони одночасно можуть розвиватись у ОС, користуватися 64 Тбайтами пам’яті. Віртуалізуються також процесор, який працює в режимі розподілу часу, пристрої введення/виведення, принтери, порти тощо.
Еластичні ресурси – це фізичні ресурси, які припускають віртуалізацію, тобто відтворювання та розширювання власних ресурсів.
Нееластичні, або тверді ресурси – це фізичні ресурси, що вони за своїми внутрішніми властивостями не припускають віртуалізації. Це, наприклад, твердий диск.
Активні ресурси – це ресурси, які можуть виконувати дії стосовно інших ресурсів чи стосовно самих себе, чи стосовно процесів, які призводять до змінівання останніх. За найбільш характерний приклад може слугувати процесор чи пристрій введення/виведення, що запитав переривання.
Пасивні ресурси – це ресурси, над якими можна виконувати дозволені для них дії, які можуть призводити до змінювання у їхньому стані – змінювання їхних внутрішніх чи зовнішніх характеристик. За приклад може слугувати пристрій пам’яті, який надається за вимогою процеса.
Постійні ресурси – це ресурси, які існують в ОС до моменту породження процесу і є приступними впродовж інтервалу існування процесу.
Тимчасові ресурси – можуть з’являтися чи знищуватись у системі динамічно впродовж існування певного процесу, причому створювання та знищування може здійснюватися як самим процесом, так і іншими процесами – системними чи користувацькими. Ресурси, які можуть бути постійними для одних процесів, є тимчасовими для інших.
Головні ресурси – є такими лише стосовно конкретного процесу, якщо без них процес принципово не може розвиватися. До таких, насамперед, належать центральний процесор та пристрої пам’яті.
Другорядні ресурси – припускають альтернативне розвинення процесу. Наприклад, дані можуть зберігатися на гнучкому дискові або на твердому дискові. Якщо розвинення процесу може відбуватися в умовах відмов та збоїв устаткування, то він має розділити використовувані ресурси за ознакою “головні чи другорядні”, оскільки система розподілу ресурсів гарантує зберігання лише головних ресурсів.
Дорогі ресурси – переважно мають функціональну надлишковість. Надто часто ціна за використання ресурсів є функцією часу. Переважно ОС пропонує різний сервіс: різноманітні умови використання одного ресурсу або інші ресурси. Наприклад, ОС UNIX пропонує користувачеві текстові редактори для набирання програм мовою С (сс, vi), які відрізнюються потребами в пам’яті, зручністю тощо.
Дешеві ресурси – їх може бути надано після довгого очікування або вони можуть бути менш зручними. Наприклад, транслятори з мов високого рівня, які потребують небагато ресурсу пам’яті, працюють довго.
Простий ресурс – не має складових елементів і надається процесові як єдине ціле.
Складений ресурс – схарактеризовується певною структурою й має у своєму складі певну кількість однотипових елементів. При кожному розподілі складеного ресурсу користувач може дістати один чи більш таких складових елементів. Процесам-користувачам є байдуже, який з елементів складеного ресурсу їм буде надано при запитуванні.
Простий та складений ресурси відрізнюються кількістю можливих станів. Простий ресурс може бути або “зайнятий”, якщо його надано певному процесові для використання, або “вільний”, якщо його не розподілено. Складений ресурс перебуває у стані “вільний”, якщо жоден з його складових елементів не є розподілено для використання. Складений ресурс може бути зайнятий частково. Характерним прикладом є пам’ять; при її розподілі використовуються механізми обміну нерозподілених в кожний даний момент неперервних областей.
Відтворювані ресурси – це ресурси, які мають нескінченний термін життя, вони живуть, до поки не загублять свої функціональні властивості. За приклад також може слугувати пристрій пам’яті, який надається різним процесам за чергою.
Споживані ресурси – після використання вилучаються зі сфери споживання. Наприклад, коли процеси обмінюються повідомленнями, то після прийняття одним з процесів повідомлення від іншого, цей ресурс – повідомлення – вже втрачає сенс і вилучається з системи.
Послідовні ресурси – це послідовно використовувані кількома процесами ресурси. За приклад послідовного ресурсу може слугувати принтер.
Паралельні ресурси – припускають паралельне, одночасне використання одного ресурсу більш ніж одним процесом. Таке використання не повинно вносити жодних помилок у розвинення кожного з процесів. Ресурс може бути паралельно використовуваний завдяки власній природі або організації роботи з ним, приміром масив даних в оперативній пам’яті, який припускає лише читання, або регістри МП загального призначення.
Тверді ресурси – це апаратні компоненти обчислювальної машини, а також людські ресурси.
М’які ресурси – вся решта. На відміну від твердих м’які ресурси не можуть стати непрацездатними з причини їхньої “втоми”. Будь-яка програма чи інформаційний масив не може зноситися за тривалого терміну експлуатації, а процесор може вийти з ладу через певний час. М’які ресурси поділяються на програмні та інформаційні. Програмні ресурси можна копіювати й тиражувати. Ефект від використання копії є такий самий, як і від використання оригіналу. За приклад м’яких ресурсів можуть слугувати файли, дескриптори процесів, масиви. М’які інформаційні ресурси принципово не дозволяють копіювання. Це різного виду використовувані ресурси: сигнали, повідомлення, запити до ОС, запити на переривання від зовнішніх пристроїв тощо. Такі ресурси мають інформаційну значимість впродовж обмеженого інтервалу часу.
Наведена класифікація є узагальненою для багатьох ОС і може бути використана для системи розподілу ресурсів [2].