ABC Systemu Operacyjnego LINUX.doc

(205 KB) Pobierz
ABC Systemu Operacyjnego LINUX



                   ABC Systemu Operacyjnego LINUX

 

1)    Wstęp

a)    Jak powstał system Linux

S

ystem oparty na nieśmiertelnym Unicie, który został zapoczątkowany w latach 70-tych

i z niego czerpie zalety. Jest wielozadaniowy (może uruchamiać wiele procesów naraz), wielodostępny (umożliwia pracę wielu użytkownikom na jednym kompie bez grzebania w cudzych plikach). System zorientowany sieciowo (co ciekawe: nawet w komputerze bez sieci tworzy swoistą "sieć bez sieci"), obsługuje właściwie wszystkie protokoły sieciowe wysokiego i niskiego poziomu oraz dużą gamę kart sieciowych. Został napisany w całości w języku C, dzięki czemu jest potwornie przenośny (uruchomia się go już na i386, Motoroli, Alphie, Sparcu, PowerPC...). Jest idealną platformą dla serwerów. Jest zabójczo stabilny. Powstaje na niego coraz więcej normalnego oprogramowania użytkowego. A co najważniejsze - jest stale rozwijany przez wielu ludzi na całym świecie.

C

ofamy się w przeszłość do roku 1983. Idziemy do USA, do laboratorium MIT (Massachusetts Institute of Technology). Pracował tam Richard Stallman, wielki zwolennik wolnego oprogramowania. Był on zaniepokojony rosnącą popularnością zamkniętych, komercyjnych produktów. Aby z tym walczyć, zapoczątkował rozwój wolnego, darmowego, dostępnego dla wszystkich systemu operacyjnego. Postanowił oprzeć go na UNIXie. Nazwał go GNU (Gnu's Not Unix - GNU nie jest Unixem). Wiele osób zainteresowało się projektem, powstawało wiele aplikacji (m.in. EMACS), rozwijane było jądro. To był ciężki projekt - do teraz nie ukończono prac nad jądrem. Wolne programy trzeba było uruchamiać na nie-wolnych Unixach.

P

rzenosimy się w czasie do roku 1991. Fiński student Linus Torvalds eksperymentował z wykorzystaniem trybu chronionego nowego procesora Intela - 386! Chciał sprawdzić, ile mocy można wycisnąć z tego procesora. W tym celu (wykorzystując system Minix) stworzył jądro Linuxa. Nazwa Linux to akronim od Linux Is Not UniX - Linux nie jest Unixem. System został udostępniony wszystkim jako wolne oprogramowanie. Dzięki temu rozwój był bardzo szybki. Zaczęto natomiast szukać systemu, z którym mógłby działać Linux. I odnaleziono... GNU! I tak powstał GNU/Linux - jądro Linuxa + aplikacje GNU. Ten system był rozwijany dalej - ale w kierunku serwera sieciowego i stacji roboczej dla "bossów".

S

ystem był używany w bardzo małym gronie osób "wtajemniczonych". Powód: żeby używać system, trzeba było go samemu poskładać i pokompilować u siebie, plik po pliku, pakiet po pakiecie. Dla typowego użytkownika to byłby horror. Postanowiono więc jakoś to wszystko uprościć - zebrać wszystko do kupy, spakietować, dołożyć instalator. I tak powstały pierwsze dystrybucje Linuxa! Pionierami były: Slackware, Debian, Red Hat. Szczególnie ten środkowy i ostatni zasługują na uwagę. Debian jest wolną, całkowicie antykomercyjną dystrybucją, ale niezwykle trudną w użytkowaniu. Ale jednak jest pierwszą, która wprowadziła pakiety z numerem wersji, opisem i zależnościami - deb'y. Drugi natomiast - to światowy lider, najpopularniejsza dystrybucja. Jest tak pewnie ze względu na prostotę, ale jednocześnie moc i złożoność tej dystrybucji. Dzięki dystrybucji zniknęła część problemów - ale ciągle system nie mógł być używany przez przeciętnego użytkownika...

P

ozostawała wciąż trudność użytkowania, odziedziczona z potężnych Unixów dla bossów informatycznych. Typowy użytkownik nie jest w stanie bezproblemowo władać setkami komend sterujących systemem, plikami, zabezpieczeniami... Nawet obszerna dokumentacja nie pomagała (w krajach innych niż USA i GB była jeszcze przeszkoda językowa) Programy w konsoli tekstowej też nie były zbyt przyjemne w obsłudze (vide vi lub emacs). Był już wprawdzie dostępny wolny system X-Window - X-Free86, ale to nic nie zmienia... Potrzebna była ładna, prosta i przyjemna powłoka graficzna a'la Windows. I tak oto powstał KDE, a następnie GNOME. Pierwszy z nich jest skierowany do użytkowników "zwindowsiałych" - KDE jest prosty, przyjemny i podobny do Windows - jednak wiele mu brakuje. Alternatywą jest GNOME, który w połączeniu z niektórymi menedżerami okien (programami zarządzającymi oknami i ekranem) potrafi zdziałać cuda. I zaczęło się... Linux przestał kryć się po kątach - wyszedł z ukrycia i niespodziewanie uderzył na potęgę Windoozy. Zaczęło się. Linux zaczął wchodzić do domów, zaczęto mówić o Linuxie, pisać w gazetach komputerowych, tworzyć strony o Linuxie.

 

b)   Cechy Linuxa

·         Wielozadaniowość (możliwość uruchomienia niezależnych od siebie wielu procesów)           i to nie taka żałosna jak w Windows 9x/ME - prawdziwa, z kontrolą dostępu do zasobów i poprawnym szeregowaniem!

·         Wielodostęp (możliwość jednoczesnej pracy wielu użytkowników) - a nawet na raz jeden użytkownik w kilku sesjach!

·         Wieloprocesorowość – możliwość wykorzystania ośmiu procesorów?

·         Niezależność od architektury - masz Alphę, Sparc'a, Motorolę lub PowerPC? Linux działa i na tych procesorach!

·         Kopiowanie przy zapisie (współdzielenie stron pamięci przez kilka procesów) - oszczędzamy pamięć

·         Stronicowanie (selektywne kopiowanie nieużywanych stron pamięci na dysk twardy) - znów oszczędzamy pamięć

·         Dynamiczna pamięć podręczna dysku (wielkość dostosowana do aktualnej ilości wolnej pamięci)

·         Biblioteki współdzielone (odpowiedniki DLL'ów) – bardzo duża oszczędność pamięci

·         Zgodność z normą POSIX 1003.1 oraz częściowa zgodność z System V i BSD - uruchomisz programy z innych unixów

·         Obsługa wielu formatów plików wykonywalnych - a.out, ELF, JAVA, wsadowe... a nawet (przy użyciu emulatorów) DOSowe i Windowsowe EXEki!

·         Ochrona pamięci (zwiększa stabilność, odróżnia Linuxa od W95/98) - wadliwy program już nie posypie systemu, a właściciel lokalnego konta na Twoim serwerze nie będzie mógł cię "szpiegować"!

·         Obsługa klawiatur i czcionek narodowych (normy ISO) – fakt iż, niektóre programy jeszcze nie do końca tłumaczą się na polski czy przyjmuje polskie znaki

·         Obsługa wielu systemów plików (naprawdę wielu!) - nie ma nośnika, którego byś nie odczytał, czy to z Windows, Unixów, Macintosha czy Amigi

·         Bardzo dobra obsługa protokołów TCP/IP, SLIP I PPP, co pozwala na lepsze korzystanie                   z Internetu.

 

b)   Czym jest Licencja GNU i Wolnego Oprogramowania?

 

"(...) Przywiązujemy bardzo dużą uwagę do dobrej woli. Co odróżnia społeczeństwo od dzikiej dżungli? To, że ludzie troszczą się o innych, czują, że dobrze jest dbać i troszczyć się o innych ludzi. Jeśli dzielenie się informacją to "piractwo" jeśli dzielenie się z bliźnim grozi karą, wtedy społeczeństwo staje się sowieckie. (...)

 

Lata temu oddanie przyjacielowi kopii oprogramowania nie było przestępstwem, teraz jednak sprawiono, że to przestępstwo i grozi za nie kara. (...)

 

(...) Symbolem tego, co się teraz dzieje jest hasło Clintona, skierowane do nauczycieli: "Nauczcie dzieci mówić "Tak" licencjom!". Kiedy ja byłem dzieckiem, uczono mnie dzielenia się. Dobra wola była najważniejsza. (...)"

 

* FRAGMENT WYPOWIEDZI RICHARDA STALLMANA Z WYSTĄPIENIA PODCZS  LINUX     EXPO W PARYŻU W ROKU 2000.

 

 

 

 

 

 

Program jest wolny, jeżeli można:

Uruchomić go

Zmieniać go i ulepszać, dopasowując do swoich potrzeb

Dzielić się nim z innymi

Tworzyć wspólnotę, publikując ulepszone wersje i zachęcając do pracy nad programem.

 

Pierwszy punkt nie jest wcale oczywisty. Istnieje wszak całkiem duża grupa programów (zwanych shareware lub trial), które dystrybutowane są w ograniczonej wersji. Można je uruchamiać ograniczoną ilość razy bądź używać ograniczoną liczbę dni, poza tym często posiadają wyłączoną opcję zapisywania i ładowania pracy. Po wyczerpaniu limitów programów tych nie da się uruchomić do momentu zapłacenia producentowi. Wolne Oprogramowanie nie może posiadać żadnych ograniczeń dotyczących uruchamiania.

Punkt drugi dotyczy dostępności kodu źródłowego. Dostęp do kodu źródłowego oznacza możliwość zmiany programu i dostosowania go do swoich potrzeb. Nie mając dostępu do kodu źródłowego użytkownik jest skazany tylko na to, co stworzy producent, stając się niewolnikiem używanego oprogramowania.

Trzeci punkt dotyczy dystrybucji oprogramowania. Licencja spełniająca ten punkt powinna zezwalać na nieodpłatną dystrybucję programu przez każdego użytkownika.

Punkt czwarty dotyczy dystrybuowania zmodyfikowanych przez użytkownika wersji. Spełnienie tego punktu pozwala na swobodny obieg zmian i poprawek, wpływając na podniesienie jakości programu.

 

GNU GPL - Ogólna Publiczna Licencja GNU - jest licencją spełniającą wszystkie wymienione wcześniej punkty. Dodaje również warunek, aby programy wykorzystujące kod GPL również były objęte licencją GPL, aby nie pozwolić na wykorzystywanie kodu Wolnego Oprogramowania w zamkniętych programach. Przypadki takie zdarzały się i zdarzają wśród programów, których licencje nie zapewniają tej ochrony - najbardziej znane przypadki to system BSD, komunikator Jabber i serwer Xfree86. Zdarzały się kradzieże kodu objętego licencją GNU GPL, jednak zawsze kończyły się albo usunięciem kodu chronionego GPL z zamkniętego programu, albo uwolnieniem kodu tegoż programu. Przykładami może być Xbox Media Player, który ukradł kod z MPlayera, najpopularniejszego linuksowego odtwarzacza filmów, oraz RTLinux, rozszerzenie systemu Linux dodającego mu cechy systemu czasu rzeczywistego, który, mimo że oparty na kodzie Linuksa, nie był GPL.

 

c)   Opis dystrybucji systemu

L

inux - to jądro systemu, czyli jego "serce" - tak jak DOS'owy io.sys. Linux wraz ze zbiorem aplikacji, narzędziami systemowymi i instalatorem - to dystrybucja. Takich dystrybucji jest wiele, różnych wersji, różnych firm czy grup. Każda z tych dystrybucji będzie miała inny instalator, inny sposób konfiguracji, inny zestaw aplikacji. Poniżej krótko scharakteryzuję każdą z nich.

 

Slackware był dobrą dystrybucją. Charakteryzował się w miarę łatwą instalacją. Inne dystrybucje wyprzedziły jednak Slackware'a ponieważ operuje na przestarzałych pakietach tgz, które nie zawierają zależności między pakietami ani opisu pakietu. Zestaw aplikacji dołączany do dystrybucji nie zachwyca. Slackware właściwie wypadł z gry, chociaż nadal jest lubiany przez wielu "weteranów".

 

Debian jest dobrą, cenioną przez administratorów dystrybucją. Cechuje się wysokim stopniem skomplikowania i odmiennością od pozostałych dystrybucji, używa formatu pakietów deb, zachowujących się podobnie jak rpm'y. Niestety, zarządzanie jest horrorem. Pakietów natomiast jest bardzo dużo - samych binariów jest całe 3 CD! Dystrybucja zupełnie niekomercyjna. Jeśli szukasz stabilnej, nowoczesnej dystrybucji, a nie patrzysz na łatwość użytkowania, to Debian jest dla ciebie.

 

Corel Linux jest oparty na Debilnie, bardzo łatwą w instalacji i użyciu dystrybucją, najłatwiejszą chyba ze wszystkich. Wszystkie czynności przeprowadzane są w trybie graficznym. Interfejsem jest przerobiony KDE. Możliwa jest instalacja na dysku z Windows. Polecam tą dystrybucję początkującym, którzy chcieliby bezboleśnie poznać ten system. Niestety, wadą Corel Linuxa jest mały zestaw aplikacji - można jednak używać pakietów Debiana.

 

Red Hat Linux jest obecnie najpopularniejszą dystrybucją Linuxa. Swą popularność zawdzięcza głównie łatwej instalacji, pakietom rpm i dobrze dobranemu zestawowi aplikacji. Z Red Hatem dostarczone jest mnóstwo windowmanagerów oraz KDE i GNOME, więc każdy może używać tego, czego chce. Dystrybucją komercyjną. Polecam Red Hata osobom, które wiedzą o komputerach wystarczająco dużo i chcą poeksperymentować z systemem, ale nie czują się na siłach by spróbować Debiana.

 

Mandrake Linux dystrybucja tworzona na podstawie Red Hata. Jest z nim właściwie 100% kompatybilny, optymalizowany na Pentium, więc nie można odpalić go na 486 i 386. Bez problemu radzi sobie z polskimi znakami. Zresztą, po wybraniu przy instalacji języka polskiego, interfejs części programów też zostaje spolszczony! Dystrybucja jeszcze prostsza w użyciu niż Red Hat.

 

S.u.S.E. Linux  główny konkurent Red Hata. Używa pakietów rpm. Zawiera pokaźny zestaw oprogramowania. Jego instalacja jest bardzo prosta - wszystko ułatwia doskonały program YaST, który potem służy za główne narzędzie administracyjne. Dystrybucja przeznaczona głównie na rynek biurowy i domowy. Znakomita obsługa polskiego języka. SuSE używa interfejsu KDE. Ciekawa alternatywa dla Red Hata.

 

Caldera OpenLinux jest całkowicie komercyjną dystrybucją. Używa pakietów rpm. Instalacja i interfejs systemu są w całości w trybie graficznym. Wersje ewaluacyjne zawierają dość mało oprogramowania. Inferfejsem użytkownika jest KDE. W konfiguracji pomaga COAS (Caldera Open Administration System). Wersja komercyjna zawiera m.in. program Partition Magic służący do wydzielenia wolnego miejsca na Linuxową partycję.

 

Polish Linux Distribution czyli PLD jest dopiero w fazie tworzenia. Nie zawiera nawet instalatora. Ma to być bardzo łatwa w użyciu dystrybucja, ale aktualnie ma do tego daleko. Jedynym sposobem na jej zainstalowanie jest zaimplantować już zainstalowaną dystrybucję. Na razie skorzystają z niego pewnie tylko osoby, które chcą przyczynić się do jego rozwoju.

 

O

stateczny wybór należy od umiejętności i posiadanej wiezy uzytkwnika. Moim zdaniem najlepszym sposobem wyboru jest instalacja każdej z dystrybucji i używanie jej np. przez tydzień. Wtedy można łatwo określić, która najbardziej odpowiada.

O

prócz "dużych" dystrybucji istnieją też minidystrybucje, mieszczące się na jednej lub kilku dyskietkach albo instalujące się na dysku w partycji dosowej używając do 250 MB. Dystrybucje te mają bardzo wąskie zastosowania. Dystrybucje dyskietkowe mogą służyć jako systemy ratownicze, przenośne systemy sieciowe, rutery czy firewalle, albo jako narzędzie hakera. Zaś minidystrybucje twardyskowe służą właściwie do celów edukacyjnych. Najlepszymi minidystrybucjami dyskietkowymi są Alfa Linux, BrutalWare, CClinux, Floppix, Coyote Linux, oraz polskie Pocket Linux i Linux In A Pill. Dystrybucje twardyskowe to cLIeNUX, DosLinux/LoopLinux, DragonLinux.

 

 

 

 

 

2)   OPI S  SYSTEMU

P

odstawową jest licencja. Linux jest dostępny za darmo, można go używać do woli do każdego zastosowania, istnieje możliwość prowadzenia dystrybucji do woli, nawet pobierając za to opłaty. Nieważne, o jakie zastosowanie chodzi - czy jako system do domu, czy jako platforma naukowa, czy firmowa stacja robocza, czy serwer - nie ma potrzeby płacić za niego więcej, niż kosztuje dystrybucja (a i tak możesz kupić czasopismo z systemem, bądź skopiować go od znajomych). Nie wymaga opłat dodatkowych podatków. Z tego powodu Linux jest znakomitą platformą do małego biznesu.

K

olejną ważną zaletą jest ochrona pamięci, urządzeń i zasobów. W praktyce chodzi o to,

że całego systemu nie sposób "położyć". Nawet, jeśli w systemie pojawi się wadliwy program - zostanie on usunięty, a system kontynuuje pracę. Zresztą i to też się rzadko zdarza, bo większość programów pod Linuxa jest wyjątkowo stabilnych. Wynik jest oczywisty brak utraty danych przez "niebieski ekran śmierci".

I

nną ważną cechą jest wielodostęp, czyli możliwość pracy wielu osób na jednym komputerze bez wzajemnego wpływania na swoje dane. Każda osoba może regulować prawa dostępu do swoich plików - może sprawić, że inni nie będą mogli do nich zapisywać, a nawet ich czytać! Można też sprawić, że pewne osoby będą miały dostęp do pliku, a inne nie. Inną sprawą jest fakt,

że żaden z użytkowników nie ma możliwości zapisu do plików systemowych, co znów zwiększa bezpieczeństwo pracy.

S

ystem charakteryzuje również znakomite bezpieczeństwo. Jeśli skonfiguruje się odpowiednio system (podkreślam to, bo wiele osób myśli, że po domyślnej instalacji jest bezpieczna - a guzik!) - tzn. ograniczy maksymalnie ilość serwerów sieciowych, zainstaluje ich bezpieczniejsze odpowiedniki, a także skonfiguruje firewalla - jest się niemalże idealnie bezpiecznym. Nie będzie już możliwe, żeby pierwszy lepszy chłopaczek z NetBusem, SubSevenem, Prosiakiem czy WinNuke'iem zakłóci pracę systemu. Do systemu będzie mógł się dostać jedynie wprawny haker,

a i on będzie miał drobne kłopoty. W dodatku Linux jest niezwykle nieprzyjazną platformą dla wirusów. Wirusów dla Linuxa jest bardzo mało, ale nawet te nieliczne nie zakłócą działania systemu, o ile nie zostaną wykonane jako superużytkownik.

A

teraz zupełnie z innej beczki... czyli sieć. Linux ma znakomitą obsługę sieci - obsłuży protokoły TCP/IP, IPv6, IPX, Token Ring, podłączy się do sieci przez kabel szeregowy, równoległy, modem analogowy, modem ISDN, HIS, DSL i ADSL, łącza stałe... W dodatku zawsze połączenie będzie szybsze, niż analogiczne zestawione przez Windows - różnica w działaniu tego samego modemu pod Windows i Linuxem jest nieprawdopodobna... Będąc w sieci, Linux równie dobrze może być klientem, jak i serwerem - istnieje mnóstwo oprogramowania do obu celów. Możliwe jest nawet symulowanie serwera Windows NT czy Novell!

 

a)   Wady i zalety

ZALETY

·         stabilność - przy korzystaniu ze stabilnego jądra nie sposób powiesić systemu

·         bezpieczeństwo - stabilne jądra posiadają minimalną ilość błędów, a odkryte błędy nathcmiast są poprawiane, w dodatku istnieją patche zwiększające poziom bezpieczeństwa, jak KnoX, capsel czy OpenWall.

·         małe wymagania sprzętowe - uruchomisz nawet na 386, zaś ze zwykłego Pentium robi cuda

·         wielodostępność - na jednym komputerze może pracować kilkaset użytkowników nie wpływając na siebie wzajemnie

·         wysoka konfigurowalność - właściwie każdy aspekt systemu można dostosować...

·         wydajność - we wszelkich porównaniach jest na wysokich miejscach...

·         szybki rozwój - zmiany pojawiają się właściwie z tygodnia na tydzień

 

 

 

WADY

·         niedobór driverów - ciężko o sterowniki do windowsowego sprzętu

·         skomplikowany - przedtem było to zaletą, a teraz wadą wymaga dobrej obsługi komputera i wiedzy od uzytkownika

·         oprogramowanie nie stworzone z myślą o graczach - gier jest co najmniej sto razy mniej niż pod Winem...

·         wymaga czasu... - cóż, jest systemem wymagającym dużo uwagi

·         trudności w konfiguracji - przy braku znajomości angielskiego i umiejętności analitycznego myślenia nie ma możliwości poprawnego eksploatacji systemu

 

b)   Linux vs Windows - porównanie

S

tawiam po przeciwnych stronach Linuxa Red Hat 6.2 i Windows 98 SE, a porównuję cechy ważne dla przeciętnego użytkownika, a nie np. dla hakera czy admina.

...

Zgłoś jeśli naruszono regulamin