Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
zdolbickij_operacijni_sistemi-konspekt-2009.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
3.06 Mб
Скачать
  1. Принцип незалежності програм від зовнішніх пристроїв

Цей принцип реалізується в переважній більшості ОС загального використання. Вперше цей принцип був реалізований в ОС Unix.

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

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

Зміна носія і даних, розташованих на них (при незмінності структурних характеристик даних), не принесе ніяких змін в програму, якщо в системі реалізований принцип незалежності.

  1. Принцип сумісності

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

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

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

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

Набагато складніше досягти двійкової сумісності між процесорами, основаними на різних архітектурах. Для того, щоб один комп'ютер виконував програми іншого (наприклад, програму для ПК ІВМ РС потрібно виконувати на ПК типу Macintosh фірми Apple), цей комп'ютер повинен працювати з машинними командами, які йому не зрозумілі. В цьому випадку процесор типу 680х0 (або Power PC) на Maс повинен виконувати двійковий код, призначений для процесора і80х86. Процесор 80х86 має власний дешифратор команд, регістри і внутрішню архітектуру. Процесор 680х0 не розуміє двійковий код 80х86, тому він повинен вибрати кожну команду, декодувати її, щоб визначити, для чого вона призначена, а потім виконати еквівалентну підпрограму, написану для 680х0.

В зв'язку з тим, що у 680х0 немає точно таких регістрів, прапорів і внутрішнього арифметично-логічного пристрою, як в 80х86, він повинен імітувати всі ці елементи з використанням своїх регістрів або пам'яті: він повинен ретельно відтворити результати кожної команди, що потребує спеціально написаних підпрограм для 680х0, які гарантують, що стан емульованих регістрів і прапорів після виконання кожної команди буде точно таким же, як і на реальному 80х86.

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

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

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