PODZIĘKOWANIA
Podziękowania
Michel GABASSI dziękuje wszystkim kolegom z Direction des Etudes et Recherches d'Electricite de France, którzy w większym lub mniejszym stopniu przyczynili się swoją pracą do powstania tej książki. Wśród nich szczególną pomoc okazali: Jacques ALLARD, Daniel BEAUCOURT, Catherine DELASALLE, Marc DESMEDT, Philippe DEWAGENAERE, Michel GIRAUD, Franęoise GUY, Tan KHUC, Sylvain LANGLOIS, Yvon LE LOUS, Charles LE JOSSEC, Michel MERCIER, Jean MORICONI, Emmanuel POIRET, Franęois RAYNAUD, Philippe SUIGNARD, jak również ich przelożeni.
Dziękujemy tym wszystkim, którzy wykonali mozolną pracę korekty tekstu, a w szczególności Panom: Michelowi DELRAN (Hewlett-Packard), Michelowi TOURNOIS (IRISA), Laurentowi TOUTAIN (INRIA), Sonowi PHAN (EDF) i Pani Celine VALOT (INRIA).
Dziękujemy Panom LECOEUVRE i Paulowi CASEAU za możliwość opublikowania tej książki w serii Etudes et Recherches des Editions Eyrolles.
r:
OD TŁUMACZA
Od tłumacza
Tematyka książki
Książka Przetwarzanie rozproszone w systemie UNIX prezentuje w przystępny sposób system LTNIX pod kątem jego możliwości organizowania komunikacji, przedstawia narzędzia systemowe służące do komunikacji na poziomie interfejsu programisty, wreszcie opisuje gotowe usługi działające w środowisku systemu LJNIX, umożliwiające korzystanie z rozproszonych w sieci zasobów systemu. Książka ukazuje syntetyczny obraz możliwości systemu poćząwszy od wewnętrznych mechanizmów i bibliotek systemowych po gotowe aplikacje użytkowe powszechnie stosowane w działających systemach, takie jak NFS czy X Window. Pokazuje ona, czym w istocie jest UNIX i jakie możliwości oferuje.
Dlaczego ta książka?
Wybór właśnie tej pozycji jest nieprzypadkowy. Powinna ona częściowo zapełnić wyraźną pustkę na rynku książek z dziedziny inżynierii systemów i koncepcji oprogramowania. Przestrzeń na rynku księgarskim z jednej strony zapełniają książki do nauki języków programowania, a z drugiej podręczniki użytkowników systemów operacyjnych i konkretnych programów użytkowych. Książek wyrabiających generalny punkt widzenia na informatykę jest bardzo niewiele. W polskim środowisku informatyków, z których zwłaszcza młodsza część jest wychowana na jednozadaniowym DOS-ie ewentualnie spiętym Novellem, wiedza na temat możliwości oferowanych przez nowoczesne systemy rozproszone w sieci jest naprawdę skromna. Jeszcze gorzej jest z umiejętnością „systemowego" spojrzenia na architekturę sprzętu i oprogramowania umożliwiającą zaprojektowanie własnej aplikacji korzystającej z zasobów kilku komputerów.
Tematyka LJNIX-owa jest także głosem w obronie „pluralizmu informatycznego" w naszym środowisku zmonopolizowanym przez PC. Książka jest napisana bardzo starannie i logicznie. Wielką zaletą są liczne ilustrujące tekst programy przykładowe, których źródła, nadające się do uruchomienia, dostępne są poprzez sieć Internet. Mogą one być wielką pomocą w zrozumieniu treści.
Do kogo jest adresowana?
Książka może liczyć na szeroki krąg odbiorców. Może być ona czytana zarówno przez projektanta i programistę aplikacji, jak i przez użytkownika zainteresowanego techniczną i koncepcyjną stroną stosowanego przez siebie systemu komputerowego. Bez wątpienia będzie ona doskonałym podręcznikiem dla studentów kierunków informatycznych wszystkich uczelni, będzie cenną pomocą dla użytkowników i administratorów komputerów pracujących pod LJNIX-em, będzie źródłem wiedzy dla użytkowników nie-(JNIX-owych systemów dając im porównanie możliwości różnych systemów, będzie wreszcie użyteczna dla wszystkich pragnących zdobyć lub pogłębić swą wiedzę na temat architektury,
13
OD TŁUMACZA
narzędzi i usług nowoczesnego systemu rozproszonego. Duży nacisk autorów na stronę praktyczną opisywanych. rozwiązań, na problemy wydajności i optymalności działania różnych usług oraz na porównanie rozwiązań alternatywnych czyni książkę atrakcyjną dla zainteresowanych praktycznymi możliwościami i zastosowaniami LTNIX-a.
Autorzy Bertrand Dupouy jest wykładowcą w paryskiej Ecole Nationale Superieure
des Telecommunications - szkole o wysokiej pozycji pośród francuskich wyższych uczelni. Wiele zagadnień zawartych w książce stanowi tematykę jego wykładów.
Michel Gabassi jest pracownikiem naukowym Direction des Etudes et Recherches d'Electricite de France - liczącego się francuskiego instytutu badawczego.
Grzegorz Karpiński
PRZEDMOWA
Przedmowa
Wprowadzenie
100 procent praktyki - oto cel tej książki, pomyślanej jako pomoc dla informatyków przy tworzeniu aplikacji rozproszonych działających w systemie UNIX.
Praca omawia zagadnienia konstrukcji takich aplikacji na poziomie narzędzi systemowych. Przybliża ona koncepcje i opisuje wewnętrzne mechanizmy systemu UNIX niezbędne do poprawnego funkcjonowania przetwarzania rozproszonego.
Nie jest to podręcznik programisty. Książka ma charakter wprowadzenia, ilustrowanego wieloma przykładami.
Zastosowanie aplikacji rozproszonych upowszechniło się w wielu dziedzinach. W efekcie systemy komputerowe stają się w coraz większym stopniu związane z sieciami. Mikrokomputery oraz stacje robocze stopniowo zastępują terminale pasywne. Uzyskać to, co najlepsze z każdego z komputerów pracujących w sieci - oto jest zasadniczy cel rozproszenia.
Książka ta ogranicza się do mechanizmów dostępnych w środowisku określonym przez dwa standardy: system operacyjny UNIX oraz protokoły UDP/TCP/IP. Ograniczenie to nie jest jednak krępujące, gdyż wiele z opisanych tu narzędzi jest również dostępnych w innych systemach operacyjnych i protokołach transmisji, w szczególności w protokołach zgodnych ze standardem OSI.
Na początku przedstawione są w skrócie podstawowe wiadomości na temat systemu UNIX oraz protokołu TCP/IP.
Na końcu każdego rozdziału jest zamieszczony spis pozycji szerzej omawiających opisane zagadnienia. Jest on także powtórzony w porządku alfabetycznym na końcu książki.
Do zrozumienia dołączonych programów. przykładowych napisanych w języku C niezbędna jest pewna wprawa w posługiwaniu się tym językiem.
Organizacja książki
Każdy rozdział rozpoczyna się wprowadzeniem przybliżającym tematykę, a kończy podsumowaniem'podkreślającym najważniejsze spośród przedstawionych zagadnień.
Rozdział 1 przedstawia podstawowe założenia systemu UNIX oraz protokołu TCP/IP.
Rozdział 2 wprowadza zasady leżące u podstaw aplikacji rozproszonych. Rozdziały od 3 do 11 stanowią główną część pracy. Prezentują one szczegółowo narzędzia do konstrukcji i mechanizmy funkcjonowania rozproszonych
~Ćl ~ ~o~ 'ał 12 zawiera szkic przewidywanej ewohcji z~aTZędzi w przyszłości. a' ~1y~'[ rA`~,a
~, 011.501 C111i ~
\ 15 \~l _ 1
PRZEDMOWA
Rozdział 13 stanowi podsumowanie, mające odpowiedzieć na pytanie, jaką wybrać architekturę dla własnej aplikacji.
Przykłady Są to proste programy napisane w języku C. Zostały one przetestowane na
komputerach Sun SpaccStation (4165 i 41330) w systemie SunOS 4.1 oraz na komputerze HP 9000/375 w systemie HP-UX 7.0.
Obsługa błędów zwracanych przez funkcje została w większości przypadków pominięta, by nie komplikować kodu programu. Z tego samego powodu większość przykładów nie zawiera fragmentów kodu, które są oczywiste, a które Czytelnik znaleźć może w zbiorach udostępnionych poprzez sieć Internet.
Konwencje zapisu
Użyte skróty są wyjaśniane w tekście tylko przy pierwszym ich wystąpieniu. Poza tym można je znaleźć w słowniczku na końcu książki.
Podstawowe terminy i pojęcia w miejscu ich pierwszego wystąpienia są wyróżnione czcionką wytłuszczoną.
Nazwy poleceń, procedur, funkcji systemowych oraz plików są pisane odmienną czcionką, np. p 1 i k . c.
Ta sama czcionka jest użyta w przykładach. Warte podkreślenia elementy przykładów są zaznaczane czcionką wytłuszczoną.
W przykładach niekompletnych brakujące instrukcje zastępowane są ciągami kropek.
/*** Tytuł przykładu ***/
main ( )
/* komentarz */ instrukcja;
/* komentarz */ instrukcja; /* brakujące instrukcje */
Polecenia systemowe poprzedza symbol #, np.
#polecenie
16
PRZEDMOWA
Kontakt Byłoby dla nas cenne, gdyby Czytelnicy mogli podzielić się z nami swymi
uwagami i sugestiami, listownie bądź poprzez e-maik
Bertrand Dupouy ENST
46, rue Barrault 75364 Paris Cedex 13 dupouy@eole.enst.fr
Michel Gabassi
EDF Direction des Etudes et Recherches 1, avenue du General de Gaulle 92141 Clamart Cedex
gab@cli53an.edf.fr
Kody przykładów są dostępne przez „ftp anonyme":
ftp edf.edf.fr anonymous cd ../edf
get livinfre. tar. z (wersja francuska)
lub
ftp ftp.enst.fr anonymous cd ..Ipublreport/poland
get liVinfrepl.tar.Z (wersja polska). I
i