Opis Linuxa
Do tematu "Wprowadzenie"
1.1 Opis systemu operacyjnego Linux
Spis treści
Minihistoria Linuxa
Ogólnie o systemie
Dystrybucje
Numeracja wersji jądra
Wieloplatformowość i SMP
Wymagania sprzętowe (PC)
Moduły
Współpraca z innymi systemami
Co będzie w przyszłych wersjach?
Inne, podobne Linuxowi systemy
Czy ktoś tego w ogóle używa? (TAK!)
Ciekawe zasoby linuxowe
Uwagi
Minihistoria Linuxa
Linux zaczął powstawać w 1991 roku. W dokładnosci wtedy to, jego autor
Linus Torvalds rozpoczął eksperymenty z systemem operacyjnym Minix.
System ten pracował na komputerach z procesorem i80286, czyli tzw. "AT-ekach".
Informacje o pracy Linusa, opublikowane przez niego na liście dyskusyjnej
spotkały się z dużym zainteresowaniem i wkrótce nad Linuxem pracowała
grupa ludzi. Znacznie przyspieszyło to rozwój systemu nazwanego później
Linux. Im bardziej system ten stawał się popularny, tym więcej ludzi wspierało
jego rozwój. Proces ten trwa do dziś, a liczbę użytkowników Linuxa szacuje
się obecnie na ponad 10 milionów.
Ogólnie o systemie
Trudno powiedzieć ile osób rozwija obecnie Linuxa, ponieważ system operacyjny
to dla użytkownika tak naprawdę nie tylko jądro, ale i oprogramowanie oraz
dokumentacja (jądro bez oprogramowania użytkowego i dokumentacji byłoby
interesujące conajwyżej dla hobbystów, specjalistów i studentów ;).
Formalnie jednak, Linuxem nazywamy tylko jądro tego systemu. Obecnie,
system jest już bardzo rozwinięty, uznany jest za stabilną platformę Unixową.
Pod względem szybkości dorównuje wielu komercyjnym systemom Unixowym,
tworzonym od kilkunastu lub więcej lat, a niektóre z nich nawet przewyższa
szybkością na tym samym sprzęcie (patrz np. testy porównawcze Linuxa i SunOSa
na procesorze SPARC, LinuxPlus 1/97 ). Jeżeli chodzi o procesory Intel
to zapewne sam/a będziesz miał/a okazję to zobaczyć. Wystarczy powiedzieć, że
Linux potrafi "wrócić życie" zapomnianym już 386/486-tkom.
Wsród fachowców Linux uchodzi za system lepszy pod względem szybkości,
efektywności, stabilności i co ważne w zastosowaniach
Internetowych - bezpieczeństwa od modnych ostatnio Windows NT. Do tej
sytuacji doszło między innymi dlatego, że od znalezienia błędu w Linuxie
do wypuszczenia poprawek przez autorów, nie mija zazwyczaj więcej jak kilka
godzin, maksymalnie kilka dni. Niektóre duże
firmy znane są natomiast z
opieszałości przy wprowadzaniu poprawek do swoich systemów. Utarło się nawet
powiedzenie, że błędy w ich programach są nazywane cechami (ang. features)
tych programów.
Dystrybucje
Linux jako jądro systemu jest jednakowy dla wszystkich (z dokładnością do
wersji), natomiast Linux oraz towarzyszące mu oprogramowanie nazywane jest
dystrybucją. Różne firmy i organizacje zajmują się sprzedawaniem Linuxa
i wiele z nich opracowało własne dystrybucje. Wyróżniamy generalnie dwa rodzaje
dystrybucji: komercyjne i niekomercyjne. Komercyjne (jak np.
RedHat,
Caldera)
zawierają oprócz oprogramowania darmowego (GNU, FreeWare) lub częściowo
darmowego (Shareware) także komercyjne oprogramowanie, jak np. pakiety typu
office, wydajne X serwery ze wsparciem dla najnowszego sprzętu, przeglądarki
internetowe, narzędzia programistyczne etc. Takie dystrybucje kosztują
od kilkudziesięciu do kilkuset dolarów. Ale są też dystrybucje niekomercyjne
jak np. Debian,
Slackware tworzone przez
ochotników lub dystrybutorów
darmowego oprogramowania. Także firmy wypuszczają wersje Linuxa nie
zawierające oprogramowania komercyjnego. Takie dystrybucje kosztują zazwyczaj
od kilku do kilkunastu dolarów. Jedna dystrybucja zajmuje od jednego do
kilku CD-ROMów. Te wersje dystrybucji są umieszczane na serwerach ftp, skąd
można je sobie pobrać (za darmo). Oprócz dystrybucji są też archiwa, czyli
zbiory najróżniejszego oprogramowania, które autorzy postanowili udostępnić
wszystkim, wierząc, że będzie komuś przydatne, lub że uczyni świat lepszym.
Co zazwyczaj jest zgodne z prawdą. Jeżeli jesteś posiadaczką/posiadaczem karty
kredytowej to warto zajrzeć na
http://www.cheapbytes.com i
http://www.lsl.com,
gdzie można zamówić płytkę z Linuxem i kilka płytek z archiwami, za kilkanaście
dolarów, przy czym cena ta zawiera opłatę za przesyłkę do Polski!
W Polsce (częsciowo za sprawą pisma LinuxPlus) najpopularniejsze
są dystrybucje RedHat (w wersji bez komercyjnego oprogramowania),
Slackware i
Debian. Wszystkie wyposażone są w przyjazne użytkownikowi programy
instalacyjne. RedHat i
Debian zawierają
oprogramowanie w tzw. pakietach (ang.
package). Każdy pakiet zawiera program lub grupę ściśle powiązanych programów.
Między pakietami istnieją pewne zależności (ang. dependencies), polegające
na tym, że do działania programów z jednego pakietu, potrzebne są programy
z innych pakietów. Przykładowo: do działania graficznej przeglądarki
internetowej potrzebny jest system XWindows. Zależności uwzględniają również
wersje oprogramowania, np. do działania programu A w wersji x potrzebne są
biblioteki Y w wersji b. Dzięki mechanizmowi pakietów, łatwo jest instalować
system na nowym komputerze (można automatycznie wykorzystać spis pakietów)
lub automatycznie instalować nowe wersje (ang. upgrade).
Slackware pozbawiony
jest mechanizmu pakietów, przez co może być dla początkujących osób nieco
trudniejszy w instalacji i utrzymaniu, ale za to (tak twierdzą jego
zwolennicy) umożliwia
lepszą kontrolę nad zainstalowanymi programami/bibliotekami. Ja korzystam z
RedHata, gdyż bardziej sobię cenię wygodę
nad kilka niepotrzebnych plików,
a poza tym łatwiej można kupić jego najnowszą wersję z jakimś pismem.
Numeracja wersji jądra
Początkowa wersja jądra Linuxa miała numer 0.02. W tym czasie był to
raczej eksperyment, który równie dobrze mógł znudzić się jego twórcom i
zostać zarzucony. Tak się jednak nie stało. Po dwóch latach pracy Linusa
i jego pomocników powstała wersja 0.99 nastęnie 1.0 i tak aż do 1.2.13.
W tym momencie projekt związany z Linuxem już nie mógł upaść. Osiągnął już
dużą bezwładność i związanych z nim było od tej pory wiele osób, które miały
wystarczają wiedzę i umiejętności, by zastąpić tych, którzy chcieliby
zrezygnować, w tym nawet samego Linusa. Na tej wersji
oparte były dystrybucje dosyć długo. Następna wersja jądra, miała
już numer 2, gdyż była przełomowa w rozwoju tego systemu.
Numeracja jądra Linuxa jest nieprzypadkowa. Numer składa się z trzech
częci: x.y.z. gdzie:
x to numer wersji (major version number)
y to numer podwesji (minor version number)
z to numer rewizji (revision version number)
Najciekawszy z tych numerów to numer podwersji. Jeżeli jest on parzysty,
to znaczy że dana wersja jądra jest stabilna. Jeżeli zaś jest nieparzysty
to znaczy, że dana wersja jądra jest rozwojowa, czyli że wprowadzane są
do niej różne nowości. Zazwyczaj tę wersję instalują osoby prognące
śledzić/wspierać rozwój systemu lub jak to ktoś określił "szukające mocnych
wrażeń" :-)). Tym niemniej, twórcy
nie zalecają korzystania z niej tam, gdzie stabilnosć i bezpieczeństwo
danych stanowią kluczową rolę. Z drugiej strony Linus i wiele innych osób,
zaangażowani są bardziej w prace nad wersjami rozwojowymi, dzięki czemu tam
znajduje się wsparcie dla najnowszych technologii oraz największe usprawnienia
w działaniu systemu. Ponieważ użytkownicy wersji stabilnych również domagają
się możliwości korzystania ze swoich najnowszych "zabawek" (ISDN, Quake w GL),
tworzone są dla nich tzw. łatki (ang. pre-patches), które usprawniają daną
wersję systemu (a więc faktycznie numer wersji systemu jest CZTEROczłonowy).
Gdy zbierze się kilka takich łatek, są one łączone i numer rewizji systemu ulega
zmianie.
Wieloplatformowość i SMP
Linux, a wraz z nim prawie całe dostępne na niego oprogramowanie, jest dostępne
i rozwijane na wielu platformach sprzętowych. Procesory na których obecnie
można uruchomić Linuxa to:
i386 oraz lepsze (obejmuje procesory Intela i386, i486, Pentium,
Pentium MMX, Pentium Pro, Pentium II) a także procesory kompatybilne z nimi,
firm takich jak AMD, Cyrix i inne.
Alpha
MIPS (Silicon Graphics Indy)
Motorola 68k (czyli komputery Amiga, Atari TT, Atari Falcon i ich klony)
PowerPC
Sparc i UltraSparc
HP PA-RISC
Eksperymenty prowadzone są np. z uruchamianiem Linuxa na konsolach do
gier firmy Nintendo :-)
Również eksperymentalnie uruchamia się okrojoną wersję Linuxa na
procesorach 80286 (procesor ten nie umożliwia ochrony pamięci)
Na niektórych z powyższych platform Linux jest jedynym i poważnym konkurentem
dla wcześniej z nią związanego systemu operacyjnego. Przykładowo 64-bitowa
wersja Linuxa na UltraSparca powstała szybciej niż analogiczny Solaris na tę
platformę. (Solaris i UltraSPARC to produkty różnych działów firmy Sun)
Wydaje się, że w interesie producentów procesorów jest, aby ich produkty
pracowały z jak największą ilością oprogramowania.
Linux ma oficjalne wsparcie od SGI (Silicon Graphics), w postaci
darowania/wypożyczania maszyn tym, którzy najaktywniej rozwijają Linuxa na tę
platformę.
Apple wydzieliło komórkę, która zajmuje się tylko rozwijaniem Linuxa.
Hewlett-Packard współpracuje przy rozwoju Linuxa na PA-RISC.
Również Sun oficjalnie i nieoficjalnie (o ile nie są naruszane
ograniczenia patentowe) dostarcza dokumentację do swoich maszyn (SPARC).
Jednak tezie tej zaprzecza Intel, który
wespół z Microsoftem i innymi pomniejszymi firmami stworzył konsorcjum I2O,
które będzie rozwijać różne technologie, w tym szynę systemową. Dostęp do
dokumentacji będzie miała każda firma za symboliczną opłatą 5000 dolarów
rocznie, o ile Microsoft nie zgłosi veta. Oczywiście publikacja dokumentacji
jest zabroniona. Jest to wyraźnie ruch skierowany przeciwko rozwojowi
darmowego oprogramowania.
SMP to skrót od Symmetric MultiProcessing. Uogólniając, jest to protokół
symetrycznej współpracy wielu procesorów w ramach jednego komputera. Mimo
swoich ograniczeń, umożliwia on skuteczne współdziałanie wielu procesorów,
co przy niewielkiej ich liczbie daje użytkownikowi zwielokrotnienie szybkości
działania systemu za ceną dołożenia jednego procesora (wcześniej trzeba mieć
specjalną płytę główną). Linux potrafi wykorzystać SMP i wiele procesorów,
uruchamiając na nich niezależne zadania. Obecnie wsparcie dla SMP jest na
platformach Intel i SPARC.
Wymagania sprzętowe (PC)
Jeżeli chodzi o PC-ta, to wymagania sprzętowe są niewielkie. Wystarczy
procesor 386, 4 MB pamięci, dowolna karta graficzna i stacja dysków.
Jeżeli chcemy skorzystać z jakiegoś oprogramowania, to potrzebujemy twardy dysk,
na którym utworzymy partycję na Linuxa (najlepiej kilkadziesiąt MB) oraz
partycję wymiany (SWAP). Oczywiście Linux potrafi wykorzystać partycje DOSowe
i instaluje się w podkatalogu, ale wtedy nie możemy korzystać z doskonałego
systemu plików EXT2, więc nie jest to zalecane. Jeżeli pragniemy uruchamiać
wiele programów jednocześnie, to warto mieć 8 MB pamięci, a jeżeli chcemy
korzystać z graficznego środowiska XWindows, to optymalne jest 16 MB pamięci.
Konieczna jest wtedy karta graficzna kompatybilna z VGA. Jeżeli masz kartę
SVGA to Linux zapewne potrafi ją wykorzystać, chyba że jest szczególnie
egzotyczna (ale wtedy może działać jako VGA), lub szczególnie nowa, a wtedy
być może będziesz musiał trochę zaczekać, aż programiści z XFree napiszą
sterownik do twojej karty. Producenci sprzętu coraz częściej dostarczają
sterowniki do Linuxa lub udostępniają dokumentację, dzięki czemu szybko
można stworzyć obsługę danego sprzętu w Linuxie. Niektórzy jednak nie chcą
tego robić, a wtedy z użyciem ich sprzętu mogą być problemy, zwłaszcza jeżeli
jest on niekompatybilny z innymi rozwiązaniami. Lecz jest to bardzo rzadkie.
Jeżeli chodzi o efektywność, to z mojego doświadczenia wynika, że na
486DX4/100 z 28 MB RAM, Linux + XFree86 dają nieco lepszy komfort pracy niż
Windows NT Workstation na Pentium 150 z 32 MB RAM. Oczywiście odczucia innych
osób mogą się znacznie różnić.
Moduły
W rozwoju wielu systemów operacyjnych daje się zauważyć trend ku zmniejszaniu
jądra systemu, poprzez usuwanie z niego rzeczy, które nie są tam niezbędne.
W przypadku Linuxa proces ten ma odzwierciedlenie w mechanizmie modułów. To,
co można zmodularyzować, to przykładowo sterowniki sprzętu, interfejsy do
innych systemów plików, uruchamiacze programów w innych formatach. Umieszczenie
części kodu w module powoduje, że kod ten będzie ładowany w razie potrzeby i
po pewnym czasie nie używania - usuwany z pamięci. Ponieważ pamięć zaalokowana
przez jądro nie podlega stronicowaniu, jest to jedyny sposób na zwolnienie
pamięci. Z używania modułów płyną też inne korzyści:
błąd w module (np. niedawno stworzonym i nie przetestowanym) nie powoduje
zawieszenia systemu, a jedynie usunięcie modułu z pamięci;
można używać kolidujących ze sobą sterowników bez konieczności
restartowania systemu, jedynie zmieniając moduły;
system nie musi być obciążony detekcją sprzętu, która wykonywana jest
przez zewnętrzny program, współpracujący z modułami;
jądro nie musi przechowywać sterowników wszystkich urządzeń, które mogą
być dołączone do komputera "na gorąco", np. w notebookach;
programista może wygodnie testować różne wersje sterowników nad którymi
pracuje;
Współpraca z innymi systemami
Linux potrafi współpracować z wieloma systemami na wiele sposobów.
Sieciowo, m.in.:
Może być serwerem internetowym/intranetowym dla komputerów pracujących pod
dowolnym systemem operacyjnym;
Może emulować Novell Netware w zakresie udostępnania klientom Netware
plików i drukarek;
Może być klientem Netware;
Może być serwerem plików i drukarek dla Windows 3.11/95/NT poprzez protokół
SMB;
Może być również klientem Windows;
Może współpracować z Macintoshami i ich drukarkami poprzez protokół
AppleTalk;
Wewnętrznie, m.in.:
Może bezpośrednio uruchamiać programy napisane w Javie;
Może uruchamiać programy skompilowane w standardzie iBCS (np. Oracle 7
działa, jakkolwiek producent nie oferuje wsparcia);
Istnieją działające emulatory systemu DOS (np. DOSEMU);
Istnieją działające emulatory systemu Windows (np. Wine, Wabi);
Istnieje działający emulator Macintosha (Executor);
Potrafi obsługiwać partycje innych systemów: FAT, FAT32, VFAT,
NTFS (na razie tylko odczyt) i jeszcze kilkanaście innych;
Co będzie w przyszłych wersjach?
Na następną wersję Linuxa planuje się wprowadzenie obsługi m.in.:
Journaled File System (jfs, system plików z dokumentowaniem zmian,
umożliwiający odzyskanie starych wersji plików, nawet kilku wcześniejszych
wersji);
Protokołu IPv6 (nowy, rozwinięty protokół internetowy, w odróżnieniu od
bardzo ograniczonego IPv4 wykorzystywanego obecnie);
User process quota (możliwość ograniczania użytkownikom systemu zużycia
takich zasobów jak pamięć i czas procesora);
Generic Graphics Interface (GGI, interfejs umożliwiający zwykłym
użytkownikom modyfikacje trybu pracy lokalnego sterownika graficznego,
dotychczas taką możliwość miały tylko programy działające z uprawnieniami
administratora - root-a);
Bardziej rozbudowana modularność;
Inne, podobne Linuxowi systemy
Linux chociaż najpupolarniejszy, nie jest jedynym darmowym systemem
operacyjnymi. Inne projekty tego typu to GNU HURD, OpenBSD, NetBSD,
FreeBSD, i
zapewne inne.
FreeBSD jest systemem starszym od
Linuxa o kilka lat, obecnie
dorównuje mu rozwojem, a dodatkowo potrafi uruchamiać oprogramowanie
skompilowane na Linuxa. Nie obsługuje tak szerokiej gamy sprzętu co Linux.
Rdzeń projektu FreeBSD to "The FreeBSD
Core Team", składający się z
kilku osób oraz "The FreeBSD Development Team", będący nieco szerszą grupą
ludzi rozwijających system i tylko te osoby mają możliwość wprowadzania
poprawek do systemu. Pozostali hobbyści mogą jedynie zgłosić błąd/poprawkę na
specjalnym formularzu. Zapewne ma to na celu utrzymanie projektu spójnym,
ale jak widać na przykładzie Linuxa, szeroki dostęp do źródeł i możliwości
poprawiania na "własną rękę" nie szkodzą rozwojowi, a wręcz przeciwnie.
HURD jest innym bardzo ciekawym projektem organizacji o znanej nazwie:
GNU. Projekt HURD również powstał w czasach, gdy o Linuxie jeszcze nikt nie
słyszał. Jego celem było dostarczenie całkowicie darmowego systemu
operacyjnego zbliżonego do UNIXa, jednak bardziej nowoczesnego jeżeli chodzi
o budowę wewnętrzną. Założeniem było oparcie go na architekturze mikrojądra,
z maksymalnymi możliwościami doładowywania/usuwania funkcji, sterowników itp.
Jest to naprawdę ciekawy projekt, warto zajrzeć na stronę
GNU Hurd. Niestety
nie rozwija się on tak szybko jak Linux, ostatnia wersja 0.2 (a więc wciąż
uznawana przez autorów za wersję beta, niestabilną) pochodzi z połowy 1997.
Co ciekawe, autorzy twierdzą, że gdyby mieli się zająć tym projektem już w
momencie kiedy Linux istnieje, to nie robiliby tego, stworzyliby jakieś
inne, potrzebne oprogramowanie. Projektem tym zajmują się dlatego, że chcą
go poprowadzić do końca. Być może zmienili zdanie.
Czy ktoś tego w ogóle używa? (TAK!)
TAK, TAK, TAK. Oprócz ponad 10 milionów osób (liczba ta ostatnio szybko
wzrasta), Linux używany jest przez wiele firm i instytucji na całym świecie.
Przytaczanie tutaj ich nazw jest bezcelowe, dość będzie powiedzieć, że
w Polsce z Linuxa korzystają np. Sejm RP, OBOP (do zbierania i przetwarzania
danych) jak i wiele pracowni komputerowych, takich jak na przykład
ta, zdanych na łaskę i niełaskę
studentów oraz ich dziwacznych niekiedy programów.
Ciekawe zasoby linuxowe
Kilka moich prywatnych odnośników związanych z Linuxem:
Bezpieczeństwo w sieci
Rozszerzenia do serwerów http
Opis dbms-ów pod Linuxa
Ciekawy projekt okienkowy
Autor: Marcin Polak
Uwagi: Temat ten jest bardzo obszerny. Dlatego też przy opisywaniu
Linuxa, posłużyłem się oprócz własnej wiedzy, następującymi materiałami:
nieomal wszystkimi numerami pisma LinuxPlus
artykułem Tomasza Kłoczko umieszczonym w pierwszym numerze pisma LinuxPlus,
http://www.linux.com.pl
informacjami umieszczonymi na stronach Polskiej Grupy Użytkowników Linuxa
PLUG, którymi opiekuje się Jan Rychter, http://www.linux.org.pl
dokumentami, których mirrory (obrazy) umieszczone są na polskim SunSITE,
http://SunSITE.icm.edu.pl/pub/Linux,
którymi opiekuje się również Jan Rychter
dokumentami, które są tłumaczeniami porad HOWTO, zwanych po polsku Jak
To Zrobić, które umieszczone są na http://www.jtz.org.pl.
Stworzone/przetłumaczone są przez wiele osób, a tą stroną opiekuje
się Bartosz Maruszewski
poradami z listy dyskusyjnej pl.comp.os.linux
(czyli pcol), na której aktywne są wyżej wymienione osoby a także wiele wiele
innych...
Niniejszym dziękuję im wszystkim.
Dokument ten zapewne nie jest wolny od błędów, ale wszystkie one wynikają z
mojego i tylko mojego niedopatrzenia.
Marcin Polak
Wyszukiwarka
Podobne podstrony:
Opis(10)EU1 sem09 10 opisopis film pacyfik the pacific 10 lektor plOpis stanowiska wzór 22 02 10WindowZ v2 Lite 10 Dokładny opis md5GPMapaStyleSetup 10 1 opisGPMapaStyleSetup 10 1 opis10 Matematyczny opis zmiennościOpis Paragon Hard Disk Manager 15 Suite 10 1 25 772 32bit & 64bit [ENG] [Full Ru Board]Opis zawodu AnkieterWSM 10 52 pl(1)VA US Top 40 Singles Chart 2015 10 10 Debuts Top 100więcej podobnych podstron