Екзоядра

Самий нижній рівень, що працює в режимі ядра, -

Самый нижний уровень, работающий в режиме ядра, — _______________________________________

(Engler et al., 1995)._______________________________________________________________________ __________________________________________________________________________________________________________________________________________________________________________________________

Кожна віртуальна машина може запускати свою власну операційну систему, як на VM/370 і на Pentium в режимі віртуальних машин 8086, з тією відмінністю, що кожна машина обмежена використанням тих ресурсів, які вона запросила і які були їй надані.

Перевага схеми екзоядра полягає в тому, що вона виключає рівень відображення. При інших методах роботи кожна віртуальна машина вважає, що вона має свій власний диск з нумерацією блоків від 0 до деякого максимума. Тому монітор віртуальних машин повинен вести таблиці перетворення адрес на диску (і всіх інших ресурсів). При використанні екзоядра необхідтість у такому перепризначенні відпадає. Екзоядру потрібно лише відслідковувати, який віртуальній машині які ресурси були передані. Такий підхід має ще одну перевагу: __________________________

____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Відповісти на запитання.

1. Що таке багатозадачність?

2. Що таке підкачка даних (спулінг)? Як ви вважаєте, чи буде підкачка даних використовуватися в майбутньому на передових персональних комп'ютерах як стан - дротяні функції?

3. Кожна операція читання або запису байта на самих перших комп'ютерах управлялася центральним процесором (тобто без використання прямого доступу до пам'яті - DMA). Які ускладнення створювалися тим самим для режиму багатозадачності?

4. Ідея створення сімейства комп'ютерів була представлена ​​в 60-х роках минулого століття з появою мейнфреймів серії IBM System/360. Чи жива ця ідея зараз?

 

5. При створенні операційних систем одночасно вирішуються завдання, наприклад, виконання ресурсів, своєчасності, надійності і т. д. Наведіть приклад такого роду завдань, вимоги яких можуть суперечити одне одному.

6. Виконання який з наступних команд повинно бути дозволено тільки в режимі ядра?

- Блокування всіх переривань.

- Читання показань дати і часу внутрішнього годинника.

- Установка показань дати і часу внутрішнього годинника.

- Зміна схеми розподілу пам'яті.

7. Комп'ютер володіє чотириступінчастим конвеєром, і кожен ступінь виконує свою роботу за одне і той же час - 1 не. Скільки інструкцій у секунду зможе виконати ця машина?

8. Розглянемо комп'ютерну систему, що має кеш-пам'ять, оперативну пам'ять (ОЗП) і диск, а також операційну систему, що використовує віртуальну пам'ять. Час доступу до слова з кеш-пам'яті займає 2 не, з ОЗУ - 10 не, з диска - 10 мс. Якщо показник успішного пошуку в кеш-пам'яті становить 95%, в ОЗУ (після невдалого пошуку в кеш-пам'яті) - 99%, яким буде середній час доступу до слова?

9. Коли користувальницька програма здійснює системний виклик для читання або запису файлу на диску, вона повідомляє, який файл їй потрібен, надає покажчик на буфер даних і повідомляє про кількість байт. Потім управління передається операційній системи, яка викликає відповідний драйвер. Припустимо, що драйвер запускає диск і припиняє свою роботу до тих пір, поки не виникне переривання. Очевидно, що в разі читання даних з диска зухвала програма буде заблокована (по ¬ кільки для неї немає даних). А що станеться в разі запису даних на диск? Чи потрібно блокувати зухвалу програму в очікуванні завершення перенесення даних на диск?

10. Що означає команда trap? Поясніть її використання в операційних системах.

11. У чому полягає основна відмінність між командою trap і перериванням?

12. Чому в системах поділу часу необхідна таблиця процесів? Чи потрібна вона в операційних системах персональних комп'ютерів, що мають тільки один процес, який до завершення своєї роботи задіє всю машину?

 

 

13. Чи є якісь причини, по яких вам може знадобитися підключити файловую систему до непорожній каталогом? І якщо є, то які?

14. Для чого призначені системні виклики в операційній системі?

15. У чому полягає суттєва різниця між блоковим спеціальним файлом і сім-вольним спеціальним файлом?

16. У прикладі, наведеному на рис. 1.17, бібліотечна процедура називається read, і сам системний виклик називається read. Чи так це важливо, щоб їх імена співпадали? Якщо ні, то яке з імен важливіше?

17. У розподілених системах вельми популярна клієнт-серверна модель. Чи можна її використовувати в однокомпьютерних системах?

18. З точки зору програміста, системний виклик схожий на виклик будь-який інший бібліотечних процедури. Чи важливо програмісту знати, яка з бібліотечних процедур в результаті призводить до системних викликів? Якщо так, то за яких обставин і чому?

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

20. Поясніть, як поділ політики й механізму допомагає в створенні операційних систем, заснованих на мікроядра.

 

Розділ 2. Процеси та потоки