Linux

Jednym z najważniejszych systemów sieciowych stosowanych w dzisiejszych serwerach i stacjach roboczych jest Linux. Oczywiście, Linux z powodzeniem może być stosowany jako system niesieciowy, wykorzystywany po prostu jako zwykły, niezawodny system operacyjny.

Najważniejszą zaletą Linuxa jest fakt, że jest on systemem darmowym. Oprócz tego należy powiedzieć, że dzięki oparciu na jądrze Unix Linux jest systemem nieomal niezawodnym. Oprócz tego, ze względu na to, że większość oprogramowania dla Linuxa jest darmowa, do ściągnięcia w Internecie, powstaje coraz więcej nowych programów, z których można korzystać nie zastanawiając się nad sprawą piractwa komputerowego.

Okazuje się, że programiści z całego świata wciąż pracują nad doskonaleniem Linuxa i pisaniem do niego różnych programów. Powstało mnóstwo niewielkich programów i narzędzi, nie mówiąc o prostych i mniej prostych skryptach ułatwiających pracę. Napisano także wiele programów, które są podobne do wielkich pakietów dostępnych komercyjnie. Najbardziej znanym chyba pakietem dla Linuxa jest Open Office, który z powodzeniem może być zastosowany jako Linuxowy odpowiednik Microsoft Office (Open Office jest też dostępny dla Windowsa, warto zastanowić się nad jego instalacją). Ciekawym narzędziem może być vmware, dzięki któremu możemy stworzyć wirtualną maszynę Windowsa i symulować jego działanie spod platformy Linuxowej. Oczywiście, chociaż zdarzają się pakiety i programy komercyjne dla Linuxa (za które trzeba płacić), to Linux został stworzony jako ucieleśnienie idei wolnego oprogramowania. Większość programów dostępnych jest na tak zwanej licencji GNU, co oznacza, że nie tylko są darmowe, ale także mamy dostęp do ich kodu źródłowego.

Pisanie aplikacji dla Linuxa nie jest proste, jednak warto zauważyć, że można do tego wykorzystywać wszelkie narzędzia i wiele różnych języków programowania. Istnieją narzędzia programistyczne oparte tak jak Linux na licencji GPL, dzięki którym programista jest zmuszony napisać programy również na tej licencji. Wówczas takie środowiska są darmowe. Dla celów komercyjnych większość środowisk należy zakupić za niemałe pieniądze. Najczęściej oczywiście zdarza się pisanie w języku C/C++, chociażby ze względu na dołączaną do Linuxa bibliotekę komponentów graficznych i narzędzia do graficznego tworzenia interfejsu. Jednak nic nie stoi na przeszkodzie, by pisać w Javie, Perlu, Fortranie czy innym ulubionym języku programowania.

W początkowej fazie swojego istnienia Linux był systemem tekstowym, takim jak DOS, jednak po pojawieniu się biblioteki graficznej XWindow stał się konkurencją dla innych systemów operacyjnych opartych na filozofii okienek i klikania.

Kolejną ważną zaletą tego systemu operacyjnego są minimalne jak na dzisiejsze czasy wymagania sprzętowe. Do odpalenia Linuxa potrzeba właściwie tylko komputera, który by działał w kupie. Linux działa już na procesorze Intel 386 (poprzednik Pentiuma), wymaga zaledwie 2 MB pamięci operacyjnej i stacji dyskietek. Oczywiście potrzebna też jest jakakolwiek karta graficzna oraz reszta komputera (mysz klawiatura, monitor). Na dysku Linux może zajmować już od 8 MB przestrzeni. Takie minimalne wymaganie co do przestrzeni dyskowej ma oczywiście swoje ograniczenia - na tak małej powierzchni mogą się znaleźć tylko najważniejsze części systemu, nie mówiąc o narzędziach czy programach użytkowych. Ale Linux będzie działał. Często potrzebny jest on tylko jako system dla serwera sieciowego - wówczas taki serwer można postawić za kilkadziesiąt złotych - tyle bowiem może kosztować dziś sprzęt w takiej jakości.

Minimalnym wymogiem dla działania Linuxa w wersji okienkowej jest procesor o klasę wyższy - 486 oraz co najmniej 8 MB pamięci operacyjnej. Oczywiście dla nas takie wymagania sprzętowe wydają się śmieszne. Jeśli chcemy zainstalować większość systemowych elementów Linuxa, potrzebne będzie około 10-20 MB miejsca na dyskach. Oczywiście, jest to sam system - należy doliczyć sporo miejsca na programy użytkowe.

Historia Linuxa rozpoczęła się na początku lat dziewięćdziesiątych. Jego twórcą był helsiński student informatyki, Linus Torvalds. Oczywiście to, co opublikował Torvalds było tylko zaczątkiem prawdziwego systemu operacyjnego, jednak to jemu należą się laury za pierwowzór systemu. Student oparł swój projekt na jądrze Unixa, z tym, że umożliwił mu pracę na zwykłym komputerze PC. Kiedy świat programistów dowiedział się o nowym systemie - oraz o idei dostępu do niego bezpłatnie - od razu podchwycił pomysł. We współpracy z wieloma ludźmi powstał zatem Linux - od imienia pomysłodawcy i od nazwy Unix.

Windows NT 

Linia Windows NT pierwotnie była zaprojektowana jako systemy operacyjne serwerowe. Pierwszym systemem z tej linii był właśnie Windows NT. Na plus tego systemu należy zaliczyć spójność ze wszystkimi systemami operacyjnymi z linii Windows, dzięki czemu nie trzeba się specjalnie uczyć nowego systemu.

System posiada specjalne narzędzia do zarządzania siecią oraz zasobami serwera. Należą do nich Task Manager oraz Network Monitor. Task Manager (Menedżer Zadań) jest narzędziem, dzięki któremu można obejrzeć jakie procesy i aplikacje działają aktualnie w systemie. Oprócz tego narzędzie to pokazuje aktualne zużycie procesora i innych zasobów, co jest bardzo ważne dla administratorów sieci.

Dzięki Windows NT Server możliwe jest bezproblemowe korzystanie z usługi www. Umożliwia to narzędzie Microsoft Internet Information Server (IIS). Również nie ma problemu z zainstalowaniem serwera poczty internetowej, serwera plików (dzięki usłudze FTP), serwera bazodanowego, zarówno dla Microsoft SQL Server, jak i dla darmowych systemów baz danych, takich jak PostgreSQl czy MySQL.

Ciekawą funkcją systemu jest narzędzie, dzięki któremu możliwe jest uzyskanie zdalnego dostępu do serwera. Jest to Remote Access Service.

Istnieje także struktura zwana Distributed Component Object Model (DCOM). Jest to unikalna, autorska architektura sieciowa typu klient-serwer. Dzięki tej topologii możliwe jest tworzenie dużych, rozproszonych aplikacji działających w sieci lokalnej lub Internecie.

Inną usługą, którą dostarcza Windows NT Server jest tak zwana usługa katalogowa. Każdy adres komputera w sieci firmowej jest skatalogowany w pewnej hierarchii, dzięki czemu zarządzanie zasobami, programami i różnymi usługami jest naprawdę proste nawet dla początkujących administratorów sieci.

Wielu użytkowników może mieć wrażenie, że jeśli w sieci pojawiają się komputery tylko Windowsowe, można tylko wtedy używać serwerowego systemu Windows. Nic bardziej błędnego. Windows bardzo dobrze działa, jeśli inne komputery sieci działają na innych systemach operacyjnych, takich jak Linux czy też NetWare. Dzięki temu, że system Windows obsługuje większość obecnych protokołów sieciowych (w tym TCP/IP, SPX/IPX, http, NetBEUI, AppleTalk) jest to kompletny system dla większości zastosowań sieciowych, lokalnych i firmowych. Na plus należy zaliczyć także fakt, że Windows Server działa także jako serwer dla stacji roboczych klasy Macintosh oraz OS/2.

NetWare firmy Novell

Jeśli chcemy mieć wydajny system operacyjny dla sieci lokalnych lub internetowych, warto zastanowić się nad systemem NetWare firmy Novell. Dzięki temu komputer z takim systemem może zarówno spełniać funkcję łącznika między siecią a Internetem, jak i serwerem plików. Bardzo ważną zaletą tego systemu jest stabilność działania. Również na uwagę zasługuje prostota jeśli chodzi o instalację oraz administrowanie i używanie samego systemu.

NetWare jako protokołów komunikacyjnych może używać IPX/SPX lub TCP/IP. Wczesne wersje pozwalały na komunikację opartą tylko na rodzinie protokołów IPX/SPX.

Systemy NetWare numerowane są od wersji 2.0. Największą popularność zdobyły systemy w wersji 3.x, z których ostatni nosił numer 3.11. Każdy serwer NetWare w wersji poniżej 4 posiadał własną bazę kont użytkowników, każdy stanowił odrębną wyspę. Od wersji 4.00 (rok 1993) wprowadzono system katalogowy NDS, później przekształcony w Novell Directory Services, a obecnie znany jako eDirectory. Aktualna wersja systemu nosi numer 6.5, wersja 7.0 wg założeń ma posiadać do wyboru jądro Linux lub dotychczasowe pochodzące od Novella.

Wszystkie wersje NetWare posiadają konsolę tekstową służącą do najprostszych zadań administracyjnych, która może być wywołana zdalnie dzięki dostępnym w systemie narzędziom. Od wersji 5.0 wprowadzono dodatkową konsolę graficzną opartą o kod X Window System, w którym duży udział mają narzędzia i aplikacje pisane w języku Java. Od wersji 5.0 możliwe stało się pełne zarządzanie siecią i kontami użytkowników z konsoli serwera. Do wersji 5.0 zarządzanie odbywało się w całości z dowolnego komputera, na którym uruchomione były narzędzia administratora.

Do wersji 5.0 nie nadawał się na serwer aplikacyjny, gdyż był przewidywany jako dedykowany serwer plików i drukarek. Istniały próby osadzenia serwerów baz danych lub serwerów http. Od wersji 5.0, a szczególnie 6.0 NetWare posiada możliwości osadzania serwerów aplikacyjnych, jednak z uwagi na niewielki udział w rynku straciło to na znaczeniu.

Ważnym elementem platformy NetWare jest bezpieczeństwo. Dzięki temu możliwe jest użycie jej jako serwera www. Inną zaletą są także niewielkie wymagania sprzętowe, dzięki którym można postawić serwer za stosunkowo niewielki koszt. Poza tym dobrze współpracuje z DOSowymi aplikacjami, których z biznesie i niewielkich firmach wciąż się używa.

Niestety, ogromną przewagą systemów opartych na UNIXie jest fakt, że wypuszczone zostały one jako wersje z dostępem do kodu źródłowego, dlatego wielu entuzjastów przez cały czas pracuje nad udoskonaleniem na przykład Linuxa. Inne systemy, takie jak NetWare czy Windows, chcąc utrzymać swój kod źródłowy w tajemnicy, muszą zatrudniać programistów, którzy mogliby nad nim pracować, co bardzo opóźnia wprowadzanie na rynek różnego rodzaju poprawek.

Jak w wielu sieciach, tak i przy zastosowaniu systemu NetWare, w sieci komputerowej zwykle działają dwa rodzaje komputerów. Pierwsze z nich to serwery, które przechowują dużą ilość informacji dostępnych w całej sieci, a także kontrolują jej działanie. Aby sieć działała poprawnie, musi być w niej tak zwany serwer plików, który jest najważniejszym elementem sieci, ponieważ są na nim zebrane pliki sieciowe, a także informacje o użytkownikach i ich pliki. Serwer taki zwykle posiada ogromne dyski, tak by mogły się na nim znaleźć pliki wszystkich użytkowników. Każdy użytkownik ma jakąś część tego dysku dla siebie.

Drugim rodzajem sprzętu uczestniczącego w pracy sieci są klienci, czyli tak zwane stacje robocze. Każdy z komputerów klienckich działa na własnym systemie operacyjnym i możliwe jest na nim wykonywanie operacji wcale niezwiązanych z siecią. Jednak właśnie współpraca z dzielonymi zasobami sieciowymi jest najważniejsza w działaniu w sieci.

Narzędzia systemowe pozwalające na wymianę informacji pomiędzy stacją roboczą a serwerem noszą nazwę powłoki systemowej (shell). Przez powłokę przechodzą wszelkie zapytania do serwera plików, a także zapytania do własnych zasobow. Wówczas to powłoka decyduje, że nie trzeba wzywać serwera i przekazuje sterowanie do systemu operacyjnego znajdującego się w stacji roboczej.

Architektura klient-serwer nie jest jedyną możliwą architekturą sieciową. Inną, także często spotykaną zwłaszcza w małych sieciach, jest architektura peer-to-peer, czyli "wszyscy są równi". Nie ma podziału na ważniejszych i mniej ważnych, jak to ma miejsce w architekturze klient-serwer. W sieci peer-to-peer każdy z komputerów może tymczasowo pełnić rolę serwera i klienta. Oznacza to, że sieć peer-to-peer jest po prostu jednym tworem, polegającym na rozdzieleniu zasobów pomiędzy poszczególnych użytkowników. Dostęp do zasobów sieciowych jest łatwy, jednak z architekturą peer-to-peer wiąże się dużo niebezpieczeństw.

Niestety, często zdarza się, że aktualny "serwer" może ulec awarii. Wówczas wszystkie transmisje związane z tym komputerem ulegają zawieszeniu. Jest to szczególnie nieciekawe, gdy potrzebujemy pliku, który znajduje się tylko i wyłącznie na jednym z komputerów w sieci.

Jednak niewątpliwą zaletą sieci peer-to-peer jest fakt, że nie potrzeba kupować osobnego komputera, który pełniłby rolę serwera. Chociaż w dzisiejszych czasach postawienie serwera na minimalnych wymaganiach sprzętowych systemu nie jest rzeczą kosztowną, to jednak często serwer powinien jednak być komputerem o wysokich parametrach. Jest to wówczas bardzo droga sprawa. W małych sieciach nie opłaca się kupować osobnego serwera i można polegać na architekturze peer-to-peer.