За особливістю алгоритмів керування ресурсами

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

Так, наприклад, у залежності від особливостей використаного алгоритму керування процесором, операційні системи поділяють на:

- багатозадачні й однозадачні;

- багатокористувальницькі й однокористувальницькі;

- на системи, що підтримують багатониткову обробку і не підтримуючі її;

- на багатопроцесорні й однопроцесорні системи.

За числом одночасно виконуваних задач операційні системи можуть бути розділені на два класи:

Ø однозадачні (наприклад, MS-DOS, MSX);

Ø багатозадачні (OC EC, OS/2, UNIX, Windows 95, Windows Seven).

Однозадачні ОС в основному виконують функцію надання користувачеві віртуальної машини, роблячи більш простим і зручним процес взаємодії користувача з комп'ютером.

Однозадачні ОС включають засоби керування периферійними пристроями, засоби керування файлами, засоби спілкування з користувачем. У таких системах в кожен момент часу може існувати не більше одного активного користувацького процесу. Притому, одночасно з ним можуть працювати системні процеси (наприклад ті, які виконують запити на ввід/вивід).

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

Реалізація багатозадачності потребує значного ускладнення алгоритмів і структур даних, які використовує система.

Багатозадачність - режим одночасного рішення декількох завдань на комп'ютері. Завдання в цьому випадку - це частина роботи, виконуваної процесором.

Найважливішим поділюваним ресурсом є процесорний час. Спосіб розподілу процесорного часу між декількома одночасно існуючими в системі процесами (або нитками) багато в чому визначає специфіку ОС. Серед безлічі існуючих варіантів реалізації багатозадачності можна виділити дві групи алгоритмів:

ü багатозадачність без витіснення (NetWare, Windows 3.x);

ü багатозадачність із витісненням (Windows NT, 2000, XP, OS/2, UNIX, Linux).

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

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

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

У деяких ОС (Windows 3.х, наприклад) користувальницька програма може монополізувати процесор, тобто працювати в режимі, що не витісняє. Як правило, у більшості систем не підлягає витисненню код властиво ОС. Відповідальні програми, зокрема завдання реального часу, також не витісняються.

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

По режиму обробки задач:

ü однопрограмний режим;

ü мультипрограмний режим.

Мультипрограмування – спосіб організації обчислень, коли на однопрцесорній системі створюється видимість одночасного виконання декількох задач. Будь-яка затримка у виконанні однієї програми використовується для виконання інших програм.

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


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

Сучасні ОС для ПК реалізують і мультипрограмний, і багатозадачний режими.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: