
- •Операційні системи
- •1.Принципи побудови ос. Теоретичні основи процесу
- •2. Властивості та класифікація процесів. Життєвий цикл процесу.
- •Арі процесів. Функція fork. Функція exit.
- •Сигнали. Функція wait, waitpid. Функція exec.
- •Ресурси ос. Визначення ресурсу. Властивості та класифікація ресурсів.
- •Концепція віртуалізації. Віртуальна машина.
- •Дисципліни розподілу ресурсів які використовуються в ос.
- •Концепція переривань Теорія переривань
- •Блокування. Сигнали. Сигнальна маска. Функція sigaction.
- •Процеси-демони. Поняття про демони. Основні демони unix. Приклад програми демону
- •Засоби, механізми і підсистеми ос. Системи керування процесами. Дворівнева система керування процесами.
- •Засоби, механізми і підсистеми ос. Рівень довгострокового планування. Схема довгострокового рівня планування.
- •Засоби, механізми і підсистеми ос. Рівень короткострокового планування. Схема рівня планування.
- •Структури даних процесів. Стан процесів у unix. Особливості планувальника unix ( Linux).
- •Дескриптори процесів.
- •Взаємодія між процесами у unix.
- •Канали. Fifo (First InFirst Out). Повідомлення (черги повідомлень).
- •Семафори. Задачі синхронізації.
- •Архітектура та основні питання побудови механізмів синхронізації
- •Семафорна техніка синхронізації та упорядкування процесів.
- •Підсистема введення/виведення системи unix. Драйвери пристроїв. Типи драйверів. Базова архітектура драйверів
- •Файлова підсистема ос. Суперблок. Індексні дескриптори. Імена файлів. Каталоги.
- •Побудова підсистем ядра мультипрограмних ос. Організація віртуальної оп. Основні поняття та принципи віртуалізації пам’яті.
- •Принципи керування пам’яттю у unix. Віртуальна та фізична пам’ять. Сегменти. Сторінковий механізм.
- •Адресний простір процесів. Керування пам’яттю процесу.
- •Планування виконання процесі. Обробка переривань таймеру. Відкладений виклик. Аларми. Контекст процесу.
- •Архітектура віртуальної фс. Віртуальні індексні дескриптори. Монтування фс.
- •Архітектура віртуальної фс. Трансляції імен. Доступ до фс. Файлова таблиця.
- •Архітектура віртуальної фс. Блокування доступу до файлу.
Ресурси ос. Визначення ресурсу. Властивості та класифікація ресурсів.
Ресурс - будь споживаний (витрачуваний) об'єкт. За запасами ресурси поділяються на вичерпні і невичерпні. Споживачі ресурсів - процеси. Ресурс - засіб обчислювальної системи, яке може бути виділено процесу на певний інтервал часу.
Процесор - будь-який пристрій у складі ЕОМ, здатне автоматично виконувати допустимі для нього дії (процесори, канали і пристрої, що працюють з каналами). Реалізації системи управління процесами у складі ОС пред'являє певні вимоги до властивостей процесорів.
По можливості розширення властивостей діляться на еластичні і жорсткі (що не допускають віртуалізації).
За ступенем активності ресурси розділяються на пасивні і активні (можуть виконувати дії по відношенню до інших ресурсів).
За часом існування: постійні (доступні у весь час процесу і до, і після його роботи) і тимчасові.
За ступенем важливості: основні та другорядні (допускають альтернативний розвиток процесу при їх відсутності).
За функціональної надмірності при розподілі: дорогий, не надається швидко, і дешевий, але що надається з очікуванням.
За структурою: прості (не містить складових елементів) і складові. Вони розрізняються числом станів: простій може бути тільки в двох станах - доступний або зайнятий.
За характером використання розподіляються ресурсів: споживані і відтворювані ресурси (допускають багаторазове використання і звільнення).
За характером використання: послідовно і паралельно використовувані (використовуються декількома процесами).
За формою реалізації: жорсткі (у принципі не допускають копальні ¬ вання) і м'які (допускають тиражування і підрозділяються на програмні та інформаційні ресурси).
Дисципліна розподілу ресурсу визначає порядок використання багатьма процесами того або іншого ресурсу, який в кожен момент часу може обслуговувати тільки один процес.
Забезпечення ефективного та безконфліктного розподілу ресурсу поміж користувачами є загальною ціллю будь-якої операційної системи. Межі, що вони визначають поняття “ресурс”, є доволі умовні, тому можна вважати, що кожний споживаний об’єкт, незалежно від форми його існування, який має для споживача практичну цінність, є ресурс.
Для врегулювання конфліктів ресурси мають розподілятись між споживачами за ефективними правилами, що їх задовольняють. Обчислювальна система може тлумачитися як обмежена послідовність функціональних елементів, за допомогою яких можна виконувати дії, пов’язані з опрацюванням, зберіганням або передаванням даних.
Рівень деталізації елементів, які надаються за запитом у системі, може бути різним. Можна всю обчислювальну систему вважати елементом, надаваним для використання, а можна окремий розряд комірки пам’яті тлумачити як окремий розподілений елемент. Тому вважають, що споживачами елементів, надаваних обчислювальною системою, є процеси, що в ній розвиваються.
Властивості та класифікація ресурсів.
Впорядкованість ресурсів за класифікаційними ознаками потрібна в ОС для окреслення тотожних дій щодо ресурсів певного класу – обліку та розподілу ресурсів, усунення конфліктів у їхньому використанні тощо.
Фізичні ресурси – реально існують і при розподілі поміж споживачами мають усі притаманні їм характеристики.
Віртуальні ресурси (ті, що надаються) – це моделі реальних ресурсів, які з реалізовуються програмно на базі реальних фізичних ресурсів. За наявності одного фізичного ресурсу можна на його підставі побудувати кілька віртуальних. Кожен з них матиме не лише властивості, притаманні об’єктові моделювання, тобто фізичному ресурсові, але й більш широкі властивості, оптимальні за властивості реального об’єкта.
Еластичні ресурси – це фізичні ресурси, які припускають віртуалізацію, тобто відтворювання та розширювання власних ресурсів.
Нееластичні, або тверді ресурси – це фізичні ресурси, що вони за своїми внутрішніми властивостями не припускають віртуалізації.
Активні ресурси – це ресурси, які можуть виконувати дії стосовно інших ресурсів чи стосовно самих себе, чи стосовно процесів, які призводять до змінювання останніх.
Пасивні ресурси – це ресурси, над якими можна виконувати дозволені для них дії, які можуть призводити до змінювання у їхньому стані – змінювання їхніх внутрішніх чи зовнішніх характеристик.
Постійні ресурси – це ресурси, які існують в ОС до моменту породження процесу і є приступними впродовж інтервалу існування процесу.
Тимчасові ресурси – ресурси, які можуть бути постійними для одних процесів, є тимчасовими для інших.
Головні ресурси – є такими лише стосовно конкретного процесу, якщо без них процес принципово не може розвиватися.
Другорядні ресурси – припускають альтернативне розвинення процесу.
Дорогі ресурси – переважно мають функціональну надлишковість. Надто часто ціна за використання ресурсів є функцією часу. Переважно ОС пропонує різний сервіс: різноманітні умови використання одного ресурсу або інші ресурси.
Дешеві ресурси – їх може бути надано після довгого очікування або вони можуть бути менш зручними.
Простий ресурс – не має складових елементів і надається процесові як єдине ціле.
Складений ресурс – схарактеризовується певною структурою й має у своєму складі певну кількість однотипових елементів. При кожному розподілі складеного ресурсу користувач може дістати один чи більш таких складових елементів.
Простий та складений ресурси відрізняються кількістю можливих станів.
Відтворювані ресурси – це ресурси, які мають нескінченний термін життя, вони живуть, до поки не загублять свої функціональні властивості.
Споживані ресурси – після використання вилучаються зі сфери споживання.
Послідовні ресурси – це послідовно використовувані кількома процесами ресурси.
Паралельні ресурси – припускають паралельне, одночасне використання одного ресурсу більш ніж одним процесом. Таке використання не повинно вносити жодних помилок у розвинення кожного з процесів.
Тверді ресурси – це апаратні компоненти обчислювальної машини, а також людські ресурси.
М’які ресурси – вся решта. На відміну від твердих м’які ресурси не можуть стати непрацездатними з причини їхньої “втоми”.
М’які ресурси поділяються на програмні та інформаційні. Програмні ресурси можна копіювати й тиражувати. М’які інформаційні ресурси принципово не дозволяють копіювання. Це різного виду використовувані ресурси: сигнали, повідомлення, запити до ОС, запити на переривання від зовнішніх пристроїв тощо.