Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1-90.101-109.111.118.127-128.doc
Скачиваний:
5
Добавлен:
17.09.2019
Размер:
866.3 Кб
Скачать

70. Основні характеристики однозадачних ос.

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

Однозадачні ОС підтримують режим виконання тільки однієї програми в окремий момент часу.Відомо, що в кожен момент часу один процесор може виконувати лише одну машинну команду. Процесор виконує команди, послідовно вибираючи їх одну за іншою з пам'яті в порядку зростання адрес. Програміст може порушити цей порядок, вставивши в програму команду умовного або безумовного переходу, команду виклику функції або циклу (bne, call, jmp, loop). Операційна система, навіть однозадачна, також може втрутитися в цю послідовність і відвернутися — тимчасово відірватися від послідовності команд для виконання якихось інших важливіших, системніших команд. Необхідність такої операції, званої перериванням, з'ясовується в процесі вибірки чергової команди. Якщо система виявляє, що є переривання, то вона запам'ятовує в стеку контекст виконуваної програми: адреса поточної команди ' вміст регістрів АУ, і переходить в режим обробки переривання, тобто перемикається на виконання іншої програми, що викликала переривання. У системі команд існують також особливі, привілейовані інструкції, які неможливо перервати. Вони називаються atomic instructions, (ви пам'ятаєте, що атом переводиться як неподільний) і використовуються системою при виконанні критичних для цілісності системи процедур.

У оперативній пам'яті (RAM), навіть у разі однозадачної ОС (операційна система), можуть одночасно знаходитися декілька програм:

  • резидентна частина операційної системи; %

  • резидентні програми, які запускає система або користувач;

  • прикладна програма, що виконується в даний момент.

У простому випадку однозадачної ОС, такий як MS DOS, взаємодія між трьома об'єктами, що пов'язуються ОС, може протікати так, як показано на мал. 12.1.

75. Способи підвищення продуктивності та розширюваності операційних систем.

Плоска модель пам'яті

NetWare працює в захищеному режимі CPU (protected mode), використовуючи всі переваги 386, 486 процесорів і Pentium, пов'язані з 32-розрядною адресацією пам'яті.

У захищеному режимі пам'ять адресується безперервним діапазоном адрес. Ця так звана "плоска" (flat) модель пам'яті робить управління пам'яттю більш зручним і гнучким. У цьому випадку немає необхідності перемикати сегменти пам'яті, оскільки вся пам'ять складається з одного сегмента. При роботі в "реальному" режимі CPU окрема операція по виділенню пам'яті обмежена розміром 64 До, оскільки 64 До - це максимальний розмір сегмента. Робота в 32-розрядному режимі значно підвищує швидкість виконання всіх компонентів і модулів ОС.

Нитки і невитісняюча багатозадачність

Іншою перевагою захищеного режиму є можливість виконувати декілька програм одночасно. Часто це називають багатозадачністю (multitasking). У NetWare реалізований механізм "ниток" (thread), який дозволяє використати всі переваги розщеплення одного процесу на декілька ниток, що паралельно виконуються. Цей механізм описаний в розділі 1.2.4 розділу

Існує декілька варіантів реалізації алгоритму диспетчерування ниток. NetWare використовує метод невитісняючій багатозадачності (nonpreemptive multitasking). Це означає, що звичайно неможливе переривання додатків і їх ниток іншими додатками і нитками. Іноді цей метод називають "оточенням хороших парубків", оскільки очікується, що додатки будуть поводитися ввічливо по відношенню до системних ресурсів. Фактично, якщо додаток не віддає періодично управління CPU, щоб дати можливість іншим додаткам виконуватися, то буде працювати тільки цей додаток. Отже, при роботі в такому режимі дуже важливо розуміти наслідки захоплення CPU і бути "хорошим парубком" серед рівних. Головною ж перевагою невитісняючій багатозадачності є більш швидке перемикання з нитки на нитку в порівнянні з витісняючою багатозадачністю (preemptive multitasking), коли нитка процесу уривається в несподіваний і часто незручний для неї момент часу, і ОС доводиться зберігати набагато більше інформації про перерваний стан нитки, що у випадку, коли нитка сама віддає управління ОС.

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

Кешування диска

Вся оперативна пам'ять, що залишилася після завантаження ОС і додаткових модулів, використовується для кешування диска, що, файлам при відповідних розмірах оперативної пам'яті, природно, істотно підвищує швидкість звернення до дискових.

Елеваторний пошук

У ОС NetWare передбачений окремий процес читання з диска, який прочитує дані з жорстких дисків сервера і розміщує їх в кеш-буферах. Цей процес сортує поступаючі запити на читання і розташовує їх в порядку пріоритетів, в залежності від поточного положення головок дисковода. Такий метод обслуговування запитів, званий елеваторним пошуком (elevator seeking), оптимізує переміщення головок і в результаті дозволяє значно збільшити пропускну спроможність дискової підсистеми при великій інтенсивності запитів.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]