Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
7-8 Білет.docx
Скачиваний:
0
Добавлен:
21.07.2019
Размер:
53.24 Кб
Скачать
  1. Надати інформацію про концепцію переривань.

Реалізація багатозадачного режиму грунтується на використанні переривань. Обслуговувана процесором програма може перериватися через відсутність даних, які треба опрацьовувати в оперативній пам’яті, або ця програма може бути перервана більш пріоритетною програмою Системні причини переривання першого роду виникають у разі виникнення у процесу, який пербуває в активному стані, потреби в певному ресурсі або відмови від нього, або виконання над ним певної дії. Ці ж причини виникають, коли процес породжує, знищує інший процес або виконує відносно нього певні дії. До такого типу належить і необхідність у перериванні процесом самого себе та внутрішніх переривань. Ці переривання пов’язані з роботою процесора і є синхронними з його операціями: переповнювання, втрата порядку, звертання за помилковою адресою чи до захищених даних тощо.

Системні причини переривання другого роду зумовлено необхідністю здійснення синхронізації поміж паралельними процесами. Породжені ОС та підпорядковані їй процеси, по завершенні або з інших причин продукують сигнал переривання, наприклад при завершенні пересилання масиву даних з твердого диска до оперативної пам’яті процес продукує сигнал переривання. Цей сигнал перериває виконання обслуговуваної процесором програми асинхронно.

При опрацьовуванні кожного переривання ОС необхідно виконувати таку послідовність дій:

1) прийняти запит на переривання;

2) запам’ятати стан перерваного процесу, який визначається насамперед лічильником команд, а також вмістом регістру прапорців, регістрів загального призначення та режимом роботи процесора – користувацьким або супервізора:

3) передати керування програмі, що вона перервала виконувану;

4) опрацювати переривання;

5) відновити роботу перерваної програми.

  1. Надати інформацію про рівень середньострокового та короткострокового планувальника.

Середньостроковий планувальник

У всіх системах з віртуальною пам'яттю середньостроковий планувальник тимчасово переміщає (вивантажує) процеси з основної пам'яті у вторинну (наприклад, на жорсткий диск), і навпаки. Ці дії називаються підкачкою або свопінгом (swapping). Середньостроковий планувальник може ухвалити рішення вивантажити процес з основної пам'яті якщо:

  • процес був неактивним якийсь час;

  • процес має низький пріоритет;

  • процес часто викликає помилки сторінок (page fault);

  • процес займає велику частку основної пам'яті, а системі потрібна вільна пам'ять для інших цілей (наприклад, щоб задовольнити запит виділення пам'яті для іншого процесу).

Процес буде повернений в основну пам'ять коли буде доступна необхідна кількість вільної пам'яті, або коли процес вийде з режиму очікування (в цьому випадку планувальник вивантажить з основної пам'яті інший процес для звільнення основної пам'яті).

У багатьох сучасних системах, що підтримують відображення віртуального адресного простору на вторинну пам'ять, відмінну від файлу підкачки, середньостроковий планувальник може одночасно грати роль і довготривалого планувальника, розглядаючи нові процеси як процеси, які були вивантажені з основної пам'яті. Таким чином система може підвантажувати в основну пам'ять програмний код тільки тоді, коли він знадобиться процесу для виконання (це називається завантаженням на вимогу або «ледачим завантаженням»).