- •Лекція №15 “Проблеми взаємодії операційних систем в гетерогенних мережах”
- •15.1. Поняття "internetworking" і "interoperability"
- •15.2. Гетерогенність
- •15.3. Основні підходи до реалізації взаємодії мереж
- •15.4. Шлюзи
- •15.5. Мультиплексування стеків протоколів
- •Використання магістрального протоколу
- •Лекція №16 “Служби іменування ресурсів і проблеми прозорості доступу”
- •16.1.1. Основний і резервний контролери домена
- •16.1.2. Чотири моделі організації зв'язку доменів
- •16.1. Доменний підхід
- •Р исунок 16.3 - Модель з декількома головними доменами
- •16.2. Глобальна служба довідників nds ос NetWare 4.X
- •16.2.1. Служба каталогів
- •16.2.2. Об’єктно-орієнтований підхід
- •16.2.3. Дерево каталогів
- •16.2.4. Служба nds і файлова система
- •16.2.5. Засоби захисту об'єктів у nds
- •Лекція №17 “Сучасні концепції і технології проектування операційних систем”
- •17.1. Вимоги до сучасних ос
- •Розширюваність
- •Переносимість
- •Безпека
Розширюваність
У той час, як апаратна частина комп'ютера старіє за кілька років, корисне життя операційних систем може вимірюватися десятиліттями. Прикладом може служити ОС UNIX. Операційні системи змінюються еволюційно і ці зміни більш значимі, ніж зміни апаратних засобів. Зміни ОС характеризуються набуттям нею нових властивостей. Наприклад, підтримка нових пристроїв, таких як CD-ROM, можливість зв'язку з мережами нового типу, використання більше одного процесора, підтримка багатообіцяючих технологій. Збереження цілісності коду, які б зміни не вносилися в операційну систему, є головною метою розробки.
Переносимість
Переносимість дає можливість переміщувати всю систему на машину, що базується на іншому процесорі чи апаратній платформі, роблячи при цьому по можливості невеликі зміни в коді. Переносимість - це не бінарний стан. Питання не в тому, чи може бути система перенесена, а в тому, наскільки легко можна це зробити.
Більшість переносимих ОС написана мовою С (стандарт ANSI X3.1516-1989). Розроблювачі вибирають С тому, що він стандартизований, і тому, що С-компілятори широко доступні. Ассемблер використовується тільки для тих частин системи, що повинні безпосередньо взаємодіяти з апаратурою (наприклад, оброблювач переривань) чи для частин, що вимагають максимальної швидкості (наприклад, цілочислена арифметика підвищеної точності).
Сумісність
Одним з аспектів сумісності є здатність ОС виконувати програми, написані для інших ОС чи для більш ранніх версій даної операційної системи, а також для іншої апаратної платформи.
Необхідно розділяти питання двійкової сумісності і сумісності на рівні вихідних текстів додатків. Двійкова сумісність досягається в тому випадку, коли можна взяти програму, що виконується, і запустити її на виконання на інший ОС. Для цього необхідні: сумісність на рівні команд процесора, сумісність на рівні системних викликів і навіть на рівні бібліотечних викликів, якщо вони є динамічно зв'язані.
Сумісність на рівні вихідних текстів вимагає наявності відповідного компілятора в складі програмного забезпечення, а також сумісності на рівні бібліотек і системних викликів. При цьому необхідна перекомпіляція наявних вихідних текстів у новий виконуваний модуль.
Сумісність на рівні вихідних текстів важлива в основному для розробників додатків, у розпорядженні яких ці вихідні тексти завжди є в наявності. Але для кінцевих користувачів практичне значення має тільки двійкова сумісність, тому що тільки в цьому випадку вони можуть використовувати той самий комерційний продукт, що поставляється у вигляді двійкового коду, що виконується, у різних операційних середовищах і на різних машинах.
Відповідність стандартам POSIX також є засобом забезпечення сумісності програмних і користувальницьких інтерфейсів. В другій половині 80-х урядові агентства США почали розробляти POSIX як стандарти на устаткування, що поставляється, при укладанні урядових контрактів у комп'ютерній області. POSIX - це "інтерфейс переносимої ОС, що базується на UNIX". POSIX - збір міжнародних стандартів інтерфейсів ОС у стилі UNIX. Використання стандарту POSIX (IEEE стандарт 1703.1 - 1988) дозволяє створювати програми у стилі UNIX, що можуть легко переноситися з однієї системи в іншу.
