- •Питання до контрольної роботи та іспиту:
- •Операційна система як віртуальна машина
- •Операційна система як менеджер ресурсів
- •Що таке операційна система? Структура обчислювальної системи
- •Коротка історія еволю
- •Операційна система як захисник користувачів і програм
- •Комп'ютери на основі інтегральних мікросхем. Перші багатозадачні ос
- •Поняття процесу. Стани процесу.
- •Персональні комп'ютери. Класичні, мережні й розподілені системи
- •Взаємодія операційної системи з переферійними пристоями
- •Процес. Рівні планування процесу
- •Критерії планування процесів й вимоги до алгоритмів
- •Параметри планування процесів
- •Гарантоване планування процесів
- •Пріоритетне планування процесів
- •Багаторівневі черги (Multilevel Queue) процесів
- •Створення процесів
- •Створення потоків
- •Планування й диспетчеризація потоків (процесів)
- •Мультипрограмування в системах пакетної обробки, в системах поділу часу, в системах реального часу
- •Мультипроцесорна обробка
- •Мультипрограмування на основі переривань
- •Механізм переривань, та системні виклики
- •Взаємодіючі процеси
- •Категорії засобів обміну інформацією
- •Особливості передачі інформації за допомогою ліній зв'язку
- •Буферизація. Потік уведення/виводу й повідомлення
- •Тупіки. Визначення та умови виникнення тупіків.
- •Основні напрямки боротьби з тупиками та ігнорування проблеми тупиків
- •Способи запобігання тупиків шляхом ретельного розподілу ресурсів. Алгоритм банкіра
- •Запобігання тупиків за рахунок порушення умов виникнення тупиків
- •Фізична організація пам'яті комп'ютера
- •Логічна пам'ять, локальність, зв'язування адрес
- •Функції системи керування пам'яттю
Запобігання тупиків за рахунок порушення умов виникнення тупиків
Під час відсутності інформації про майбутні запити єдиний спосіб уникнути взаємоблокування - домогтися
невиконання хоча б однієї з умов роздягнула "Умови виникнення тупиків".
Виявлення тупиків та відновлення після тупиків
Виявлення тупиків
Виявлення взаємоблокування зводиться до фіксації тупикової ситуації й виявленню залучених у неї процесів.
Для цього виробляється перевірка наявності циклічного очікування у випадках, коли виконані перші три умови
виникнення тупика. Методи виявлення активно використають графи розподілу ресурсів.
Розглянемо модельну ситуацію.
· Процес P1 очікує ресурс R1.
· Процес P2 утримує ресурс R2 й очікує ресурс R1.
· Процес P3 утримує ресурс R1 й очікує ресурс R3.
· Процес P4 очікує ресурс R2.
· Процес P5 утримує ресурс R3 й очікує ресурс R2.
Фізична організація пам'яті комп'ютера
Фізична організація пам'яті комп'ютера
Запам'ятовувальні пристрої комп'ютера розділяють, як мінімум, на два рівні: основну (головну, оперативну,
фізичну) і вторинну (зовнішню) пам'ять.
Основна пам'ять являє собою впорядкований масив однобайтових комірок, кожна з яких має свою унікальну
адресу (номер). Процесор витягає команду з основної пам'яті, декодує і виконує її. Для виконання команди можуть
знадобитися обігу ще до декількох комірок основної пам'яті. Звичайно основна пам'ять виготовляється із застосуванням
напівпровідникових технологій і губить свій уміст при відключенні харчування.
Вторинну пам'ять (це головним чином диски) також можна розглядати як одномірний лінійний адресний простір,
що складається з послідовності байтів. На відміну від оперативної пам'яті, вона є енергонезалежної, має істотно більшу
ємність і використається як розширення основної пам'яті
Логічна пам'ять, локальність, зв'язування адрес
Апаратна організація пам'яті у вигляді лінійного набору комірок не відповідає поданням програміста про те, як
організоване зберігання програм і даних. Більшість програм являє собою набір модулів, створених незалежно друг від
друга. Іноді всі модулі, що входять до складу процесу, розташовуються в пам'яті один за іншим, утворюючи лінійний
простір адрес. Однак частіше модулі містяться в різні області пам'яті й використаються по-різному.
Схема керування пам'яттю, що підтримує цей погляд користувача на те, як зберігаються програми й дані,
називається сегментацією. Сегмент - область пам'яті певного призначення, усередині якої підтримується лінійна
адресація. Сегменти містять процедури, масиви, стек або скалярні величини, але звичайно не містять інформацію
змішаного типу.
Очевидно, спочатку сегменти пам'яті з'явилися у зв'язку з необхідністю усуспільнення процесами фрагментів
програмного коду (текстовий редактор, тригонометричні бібліотеки й т.д.), без чого кожен процес повинен був зберігати у
своєму адресному просторі дублюючу інформацію. Ці окремі ділянки пам'яті, що зберігають інформацію, що система
відображає на згадку декількох процесів, одержали назву сегментів. Пам'ять, таким чином, перестала бути лінійної й
перетворилася у двовимірну. Адреса складається із двох компонентів: номер сегмента, зсув усередині сегмента. Далі
виявилося зручним розміщати в різних сегментах різні компоненти процесу (код програми, дані, стік і т.д.). Попутно
з'ясувалося, що можна контролювати характер роботи з конкретним сегментом, приписавши йому атрибути, наприклад
правий доступу або типи операцій, які дозволяється робити з даними, що зберігаються в сегмент
