Відкриті системи
Альтернативою закритим рішенням є концепція відкритих
систем. Ідея відкритих систем виходить з того, що для різних завдань необхідні
різні системи — як спеціалізовані, так і системи загального призначення,
просто по-різному налагоджені і збалансовані. Складність полягає в
тому, аби забезпечити:
- взаємодія різнорідних систем в
гетерогенній мережі;
- обмін даними між різними
застосуваннями на різних платформах;
- переносимість прикладного ПО з
однієї платформи на іншу, хоч би шляхом перекомпіляції вихідних текстів;
- по можливості однорідний призначений для користувача інтерфейс.
Ці завдання передбачається вирішувати за допомогою відкритих
стандартів -стандартных мережевих протоколів, стандартних форматів даних,
стандартизації програмних інтерфейсів — API (Application
Program Interfaceінтерфейс прикладних програм) і, нарешті, стандартизації призначеного для
користувача інтерфейсу.
Як стандартний мережевий протокол пропонувалася семирівнева
модель OSI, але перш, ніж на основі цієї моделі було розроблено щось
корисне, набуло широкого поширення сімейство протоколів TCP/IP.
Документація по протоколах цього сімейства має статус public
domain (суспільна власність) ; крім того, є, принаймні,
одна програмна реалізація цього протоколу, що також має статус
public domain, — мережеве ПО системи BSD Unix, це стало сповна прийнятною
підставою для вживання TCP/IP у відкритих системах.
Обговорення стандартних форматів даних відвело б нас далеко від
основної теми, але потрібно відзначити наступне: в даний час існує
багато загальновизнаних стандартів представлення зображень (особливо
растрових) і звукових даних, але деякі типи даних так і не мають
визнаної стандартної форми. Наприклад, є декілька відкритих форматів
представлення форматованого тексту: troff, LATEX і інші пакети макросів для
системи ТИХ, і, нарешті, стандарт SGML (Standard Generalized Markup
Language), але жоден з цих стандартів не користується популярністю серед розробників
комерційних текстових процесорів
(Справедливості ради потрібно відзначити, що формати troff і LATEX дуже незручні
для WYSIWYG текстових процесорів, але SGML розроблявся спеціально для
них). Причини такого відношення зрозумілі: надання користувачеві можливості
без проблем обмінюватися даними з текстовим процесором конкурента означає
дати користувачеві можливість вибирати між твоїм процесором і його.
Втім, користувачеві від розуміння не легше.
Для того,
щоб
якось забезпечити переносимість програм між системами різних типів, приймалися
різні стандарти інтерфейсу між призначеною (зазвичай говорять-- прикладний,
але це не завжди правильно) для користувача програмою і ОС.
Одним з перших таких стандартів був стандарт бібліотек ANSI С. Он заснований
на системних викликах ОС Unix, але функції MS DOS для роботи з файлами (що
використовують file handle) теж досить близькі до цього стандарту.
Пізніше
робилося ще декілька спроб стандартизувати інтерфейс системних викликів.
Одній з відносно вдалих спроб такого роду був POSIX (Portable Operating
System Interface [based on] uniX — переносимий інтерфейс операційної системи,
заснований на Unix), який в тій або іншій формі підтримується всіма
системами сімейства Unix і деякими ОС, що не входять в це сімейство,
наприклад Windows NT. Але найбільший успіх мала діяльність консорціуму
Х/ореп, який в 1998 році сертифікував операційну систему OS/390
фірми IBM як відповідну специфікаціям Unix/95 [www.opengroup.org
xu007] і, таким чином, дав представникові самого древнього з сучасних
пологів операційних систем право називатися UNIX ™.
Втім, дана книга не претендує на вичерпне керівництво по вибору
операційного середовища, а тим більше на довідник по програмуванню
або підтримці конкретної операційної системи. Наше завдання — дати огляд
основних завдань, які встають перед розробниками операційної системи,
і доріг їх рішення, які були знайдені в ході розвитку обчислювальних
технологій. |