Systemy otwarte

Termin "system otwarty" jest co najmniej niejasny. Jego znaczenie dla producentów sprzętu jest inne, niż dla producentów oprogramowania i na ogół odbiega ono od tego, czego oczekuje użytkownik.

Termin "system otwarty" jest co najmniej niejasny. Jego znaczenie dla producentów sprzętu jest inne, niż dla producentów oprogramowania i na ogół odbiega ono od tego, czego oczekuje użytkownik.

Co to jest system otwarty?

Z punktu widzenia użytkownika system jest otwarty, jeśli aplikacje są łatwo przenośne (portable) między różnymi platformami sprzętowymi, skalowalne (scalable), to znaczy równie łatwo dają się implementować na komputerze osobistym PC, stacji roboczej, czy minikomputerze oraz pozwalają na współpracę (interoperability) systemów pochodzących od różnych producentów sprzętu i oprogramowania.

Przenośność

Z pytań zadawanych przez wielu użytkowników komputerów wynika, że nie jest łatwo rozstrzygać wątpliwości dotyczące tego terminu. Spotykałem się często z domniemanym przekonaniem, że jeśli system jest otwarty, to przeniesienie np. systemu zarządzania bazą danych z komputerów DEC na Hewlett-Packard czy Wyse sprowadza się do przeniesienia odpowiedniego nośnika informacji i dokonania powtórnej instalacji systemu. Pojęcie przenośności jest dużo bardziej ograniczone i dotyczy możliwości przeniesienia danych i aplikacji w formie źródłowej, w celu zainstalowania jej na nowym sprzęcie. Często wymaga to powtórnego skompilowania aplikacji (zakładając, że została napisana w języku dostępnym na obydwu platformach sprzętowych; zwykle jest to język C). Oczywiście, aby skorzystać z systemu zarządzania bazą danych na tym nowym sprzęcie, należy zakupić wersję do niego dostosowaną.

Skalowalność sprzętowa

Skalowalność stanowi dużo silniejsze ograniczenie, jeśli chodzi o możliwości korzystania z tej samej aplikacji, bez żadnych zmian, na sprzęcie o różnej mocy obliczeniowej. Związana jest bowiem z przenośnością binarną skompilowanych programów. Jeśli jednak ograniczymy się nawet do procesorów jednego typu (co teoretycznie powinno zapewniać przenośność programów na platformy o większej mocy), to nie ma nadal żadnej gwarancji, że łatwo da się skalować sam komputer.

Aby było to możliwe do zrealizowania tanim kosztem, trzeba móc pozytywnie odpowiedzieć na kilka zasadniczych pytań.

1. Czy łatwo można polepszyć parametry systemu komputerowego przez wymianę podzespołów (np. karty procesora), dodanie pamięci, zwiększenie pojemności pamięci dyskowych?

2. Czy można dokonać kompletnej zamiany systemu na potężniejszy, bez konieczności kupowania chociaż jednej

części od dostawcy posiadanego sprzętu?

3. Czy można kupić na rynku tanie moduły pamięciowe SIMM i samemu je zainstalować w komputerze, czy też konieczne jest kupowanie specjalnych, drogich modułów, dostarczanych tylko przez producenta komputera?

4. Czy dodatkowe dyski możemy kupować od dowolnego ich producenta? Na ile interfejs dyskowy spełnia wymagania

standardów SCSI czy IDE?

5. Czy klauzule gwarancyjne nie wykluczają uzupełniania konfiguracji przez użytkownika? Czy można korzystać z

serwisu innych firm?

6. Czy można zakupić system operacyjny na sprzęt od dowolnego producenta?

7. Czy istnieje wielu dostawców narzędzi programistycznych, kompilatorów języków, programów wspomagających?

Uzmysłowienie sobie implikacji powyższych pytań pokazuje, że na miano otwartych zasługują jedynie te systemy, które od dawna istnieją na rynku i są dobrze dostosowane do zmieniających się wymagań sprzętowych. Trudna sytuacja niektórych firm wynika z faktu, że nawet najlepsze rozwiązania jednostkowe (np. komputery Next czy Silicon

Graphics) nie mają szansy stać się standardem użytkowym systemów otwartych.

Skalowalność programowa

Jest oczywiście związana z dostępnością skalowalnego systemu operacyjnego na platformy sprzętowe o różnej mocy obliczeniowej. Powszechnie stosowany DOS jest wprawdzie dostępny na większość komputerów z procesorami Intela, ale sprowadza je wszystkie do wspólnego mianownika: komputera o pamięci 640 kB.

Spośród obecnie dostępnych systemów operacyjnych, jedynie UNIX jest systemem, który względnie dobrze spełnia kryteria skalowalności. Jest dostępny na wielu platformach sprzętowych, poczynając od komputerów osobistych, a na dużych komputerach kończąc. I na każdej z tych platform jest w stanie wykorzystać w pełni jej możliwości. Dobrze zdefiniowany minimalny zestaw funkcji systemowych pozwala na przenoszenie aplikacji (po ich skompilowaniu) w górę. Niekompletna specyfikacja przenośności binarnej i różne "ulepszenia" poszczególnych wersji systemu, wykluczają - na ogół - przenoszenie aplikacji w formie binarnej nawet na komputery z tym samym procesorem.

Przewiduje się, że system operacyjny Windows NT będzie lepiej spełniał warunki skalowalności na procesorach Intela, gdyż np. przewidziano w nim możliwość symetrycznego multiprocesingu dla pełnego wykorzystania sprzętu wieloprocesorowego. Inne wersje Windows będą działać poprawnie na komputerach o mniejszej mocy obliczeniowej i będą współpracować z tym systemem dla stworzenia jednolitej platformy sprzętowo-programowej.

Współpraca różnych systemów komputerowych

Ponieważ koncepcja współpracy systemów otwartych jest ściśle związana z sieciami lokalnymi, możliwościami współpracy produktów od różnych producentów, to nie można jej rozważać bez zahaczenia o problemy partykularnych interesów producentów, standardów przemysłowych i międzynarodowych, specyfikacji formalnych i nieformalnych.

Najwięcej na temat współpracy systemów otwartych wypowiadają się zwolennicy modelu OSI (Open System Interconnection), opracowanego przez Międzynarodową Organizację Standardów ISO. Jest to skomplikowany zestaw standardów dla połączeń sieciowych, opartych na siedmiu warstwach struktury komunikacyjnej sprzętu i oprogramowania. Zasadniczą wadą tego modelu jest to, że w żadnym produkcie handlowym nie został w pełni zrealizowany. Niektóre jego elementy pojawiają się tylko sporadycznie w produktach sieciowych.

Jedynie Unix zapewnia, niewidoczną dla użytkownika (transparent), komunikację z szeroką gamą platform sprzętowych, przy użyciu dużej liczby protokółów komunikacyjnych. Dodatkowo, wersje Unixa dostępne na komputery personalne z procesorami Intela zostały wzbogacone o cechy nie występujące w innych wersjach. Na przykład, UnixWare firmy Univel jest oparty na modelu klient-serwer, zapewniającym najlepsze wykorzystanie posiadanego sprzętu (w postaci komputerów PC) i możliwość optymalnego korzystania z mocy obliczeniowej serwera. Wersja dla serwera została wyposażona w moduły obsługi protokółów komunikacyjnych IPX i SPX sieci Novell; przewiduje się dodanie obsługi protokółów TCP/IP.

Na razie nie wiadomo, jakie będą możliwości komunikacyjne Windows NT, ale miejmy nadzieję, że nie gorsze niż np. UnixWare. Jedynie zdrowa konkurencja systemów może przynieść istotne korzyści użytkownikowi, zarówno dotyczące ceny systemu, jak i jego parametrów.

Zaproszenie do dyskusji

Zapraszamy do dyskusji zarówno producentów sprzętu i oprogramowania, przeznaczonych do systemów otwartych, jak i użytkowników tych systemów. Prosimy o przedstawienie własnego punktu widzenia na temat systemów otwartych. Użytkowników prosimy o podzielenie się doświadczeniami i wątpliwościami na ten temat, tak istotny dla rozwoju informatyki.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200