віртуальних пристроях.
Ступінь наближення до «ідеального» в ВМ може бути більший чи менший у кожному конкретному випадку. Чим більше ВМ, реалізована засобами ОС на базі конкретної апаратури, наближена до «ідеального» по характеристиках машини і, отже, чим більше її архітектурно-логічні характеристики відмінні від реально існуючих, тим більше ступінь віртуальності в отриманої користувачем машини.
Одним з аспектів віртуалізації є організація можливості виконання в даної ОС додатків, що розроблялися для інших ОС. Другими словами, мова йде про організацію декількох операційних середовищ. Реалізація цього принципу дозволяє такій ОС мати дуже сильну перевагу перед аналогічними ОС, що не мають такої можливості. Прикладом реалізації принципу віртуалізації може служити VDM-машина (Virtual DOS machine) — захищена підсистема, що надає повне середовище MS-DOS і консоль для виконання VS-DOS додатків. Одне-тимчасово може виконуватися практично довільне число VDM-сесій. Такі VDM-машини маються й у системах Microsoft Windows та в OS/2.
Принцип незалежності програм від зовнішніх пристроїв
Цей принцип реалізується зараз у переважній більшості ОС загального призначення. Ми вже говорили про нього, розглядаючи принципи організації в/в. Мабуть, вперше найбільш послідовно даний принцип був реалізований в ОС UNIХ. Реалізований він і в більшості сучасних ОС для ПК. Нагадаємо, цей принцип полягає в тому, що зв'язок програм з конкретними пристроями виробляється не на рівні трансляції програми, а в період планування її виконання. У результаті перекомпіляція при роботі програми з новим пристроєм, на якому розташовуються дані, не потрібно.
Принцип дозволяє однаково здійснювати операції керування зовнішніми пристроями незалежно від їхніх конкретних фізичних характеристик. Наприклад, програми, що містять операції обробки послідовного набору даних, байдуже, на якому носії ці дані будуть розташовуватися. Зміна носія і даних, розташовуваних на них (при незмінності структурних характеристик даних), не принесе яких-небудь змін у програму, якщо в системі реалізований принцип незалежності.
Принцип сумісності
Одним з аспектів сумісності є здатність ОС виконувати програми, написані для інших ОС чи для більш ранніх версій даної ОС, а також для іншої апаратної платформи.
Необхідно розділяти питання двійкової сумісності і сумісності на рівні вихідних текстів додатків. Двійкова сумісність досягається в тому випадку, коли можна взяти програму, що виконується, і запустити її на виконання на інший ОС. Для цього необхідні: сумісність на рівні команд процесора, сумісність на рівні системних викликів і навіть на рівні бібліотечних викликів, якщо вони є зв’язуваними.
Сумісність на рівні вихідних текстів вимагає наявності відповідного транслятора в складі системного ПЗ, а також сумісності на рівні бібліотек і системних викликів. При цьому необхідна перекомпіляція наявних вихідних текстів у новий виконуваний модуль.
Одним із засобів забезпечення сумісності програмних і користувацьких інтерфейсів є відповідність стандартам РОSIX. Використання стандарту РОSIХ дозволяє створювати програми в стилі UNIX, що згодом можуть легко переноситися з однієї системи в іншу.
Принцип відкритої і нарощуваної ОС
Відкрита ОС доступна для аналізу як користувачам, так і системним фахівцям, що обслуговують обчислювальну систему. Нарощувана (що модифікується, що розвивається) ОС дозволяє не тільки використовувати можливості генерації, але і вводити в її склад нові модулі, удосконалювати існуючі і т.д. Іншими словами, необхідно, щоб можна було легко внести доповнення і зміни, якщо це буде потрібно, і не порушити цілісність системи. Прекрасні можливості для розширення надає підхід до структурування ОС по типі клієнт-сервер з використанням мікроядерної технології. Відповідно до цього підходу ОС будується як сукупність привілейованої керуючої програми і набору непривілейованих послуг — «серверів». Основна частина ОС залишається незмінною й у той же час можуть бути додані нові чи сервери поліпшені старі.
Цей принцип іноді трактують як розширюваність системи. До відкритих ОС, насамперед, варто віднести UNIX - системи і, природно, ОС Linux.
Принцип мобільності (переносимості)
ОС відносно легко повинна переноситися з процесора одного типу на процесор іншого типу і з апаратної платформи (яка включає поряд з типом процесора і спосіб організації всієї апаратури комп'ютера, інакше кажучи, архітектуру обчислювальної системи) одного типу на апаратну платформу іншого типу. Помітимо, що принцип переносимості дуже близький принципу сумісності, хоча це і не те саме.
Написання стерпної ОС аналогічне написанню будь-якого стерпного коду — потрібно випливати деяким правилам. По-перше, велика частина ОС повинна бути написана мовою, що є на всіх системах, на яких планується надалі її переносити. Це, насамперед, означає, що ОС повинна бути написана мовою високого рівня, переважно стандартизованому, наприклад мовою С. Програма, написана на асемблері, не є в загальному випадку стерпною. По-друге, важливо чи мінімізувати, якщо можливо, виключити ті частини коду, що безпосередньо взаємодіють з апаратними засобами. Залежність від апаратури може мати багато форм. Деякі очевидні форми залежності включають пряме маніпулювання регістрами й іншими апаратними засобами. Нарешті, якщо апаратно-залежний код не може бути цілком виключений, то він повинний бути ізольований у декількох добре локальних модулях. Апаратно-залежний код не повинен бути розподілений по всій системі. Наприклад, можна сховати апаратно-залежну структуру в дані абстрактного типу, що задаються програмно. Інші модулі системи будуть працювати з цими даними, а не з апаратурою, використовуючи набір деяких функцій. Коли ОС переноситься, то змінюються тільки ці дані і функції, що ними маніпулюють.
Уведення стандартів РОSIХ мало на меті забезпечити переносимість створюваного ПЗ.
Принцип забезпечення безпеки обчислень
Забезпечення безпеки при виконанні обчислень є бажаною властивістю для будь-якої багатокористувацької системи. Правила безпеки визначають такі властивості, як захист ресурсів одного користувача від інших і встановлення квот по ресурсах для запобігання захоплення одним користувачем