Ноу Інти, лекція, введення

Існує кілька схем класифікації операційних систем. Нижче наведено класифікацію за деякими ознаками з точки зору користувача.

Реалізація багатозадачності

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

  • багатозадачні (Unix, OS / 2, Windows);
  • однозадачні (наприклад, MS-DOS).

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

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

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

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

Підтримка розрахованого на багато користувачів режиму

За кількістю одночасно працюючих користувачів ОС можна розділити на:

  • однопользовательские (MS-DOS, Windows 3.x);
  • розраховані на багато користувачів (Windows NT, Unix).

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

многопроцессорная обробка

Аж до недавнього часу обчислювальні системи мали один центральний процесор. В результаті вимог до підвищення продуктивності з'явилися багатопроцесорні системи. що складаються з двох і більше процесорів загального призначення, які здійснюють паралельне виконання команд. Підтримка багатопроцесування є важливою властивістю ОС і приводить до ускладнення всіх алгоритмів керування ресурсами. Многопроцессорная обробка реалізована в таких ОС. як Linux, Solaris, Windows NT, і ряді інших.

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

В асиметричних ОС процесори нерівноправні. Зазвичай існує головний процесор (master) і підлеглі (slave), завантаження і характер роботи яких визначає головний процесор.

Системи реального часу

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

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

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

висновок

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