profil

Linux

poleca 84% 358 głosów

Treść
Grafika
Filmy
Komentarze

Spis treści:


Historia rozwoju
Etymologia nazwy
Nazwa Linux w języku polskim
Cechy systemu
Zastosowanie
Schemat rozwoju
Numeracja jąder
Oprogramowanie
Kwestie prawne


Linux jest to jądro będące podstawą jednej z wersji uniksowych systemów operacyjnych. Nazwa Linux jest też powszechnie używana do określenia całego systemu opartego o to jądro, choć niektórzy (m.in. projekt GNU oraz Debian) używają w tym celu nazwy GNU/Linux.

Historia rozwoju
Linux zaczął powstawać w 1991 roku, kiedy to fiński programista, Linus Torvalds stworzył jądro nowego systemu operacyjnego przeznaczonego do pracy z procesorami rodziny 80386 firmy Intel.
Informacje o systemie, opublikowane przez Torvaldsa na internetowej liście dyskusyjnej (oryginalny e-mail - groups.google (http://groups.google.at/groups?selm=1991Oct5.071651.9658%40agate.berkeley.edu)) spotkały się z dużym zainteresowaniem i wkrótce przy rozwoju systemu pracowała już grupa ludzi. Znacznie przyspieszyło to jego rozwój – otrzymał on później nazwę "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 róznych dystrybucji Linuksa szacuje się obecnie na wiele milionów na całym świecie.
Kolejne wersje jądra systemu Linux przynosiły zmiany i wiele nowości:
· jądro 1.0 - 14 marca 1994. Pierwsze stabilne jądro Linuksa. Znalazła się w nim implementacja protokołów internetowych, zapożyczona z systemu BSD oraz dołączono do niego nowy system plików ext, który usuwał wiele niedogodności z systemu plików Minixa.
· jądro 1.2 - 6 marca 1995. Linux obsługuje już cztery platformy: Alpha, Sparc, MIPS oraz rodzime i386. Dodano możliwość korzystania z nowej szyny PCI oraz zwiększono liczbę obsługiwanych urządzeń.
· jądro 2.0 - 8 czerwca 1996. Jądro wzbogaciło się o obsługę wielu procesorów (tryb SMP), jednak brakowało w nim obsługi wielobieżności. Znacząco zwiększono też wydajność stosu TCP/IP, wprowadzono obsługę protokołów Appletalk, amatorskich sieci radiowych AX.25 oraz standartu ISDN. Dodano także możliwość montowania sieciowych systemów plików Netware oraz SMB.
· jądro 2.2 - 25 stycznia 1999. Wersja ta przynosi obsługę kolejnych architektur sprzętowych (ARM, IBM S/390 oraz Sparc64). Przepisano też obsługę protokołu TCP/IP oraz wprowadzono możliwość zaawansowanego routingu.
· jądro 2.4 - 4 styczeń 2001. Dodano obsługę procesorów Intel Itanium, oraz IBM S/390 w wersji 64-bitowej, CRIS, HP PA-RISC oraz Hitachi SH. Usunięto ograniczenia poprzednich wersji systemu: pełna 64-bitowość, rozmiar pliku > 2 GB. Ulepszenie obsługi USB, szybkich dysków ATA66 i SCSI, obsługa złączy Firewire oraz kamer cyfrowych. Możliwość korzystania z DevFS i XFS. Do jądra wprowadzono także prosty serwer HTTP (kHTTPd) oraz obsługę LVM (łączenie kilku dysków twardych w jedną wirtualną partycję).
· jądro 2.6 - 18 grudzień 2003. Wprowadzono obsługę architektur H8/300. IBM POWER5, v850 oraz x86-64. Łączna liczba obsługiwanych architektur wzrasta do 22! Do jądra dodano obsługę protokołu IPSec oraz zmieniono scheduler (autorem zmian schedulera był Ingo Molnar). Prace nad jądrem 2.6 mają zwiększyć skalowalność i szybkość systemu, zmniejszenie opóźnień oraz obsługę wielobieżności, dodano także obsługę wspólnego API dla algorytmów kryptograficznych. Znacznie ułatwiono tworzenie nowych modułów jądra. Dodano obsługę nowych systemów plików: IBM JFS, ReiserFS oraz rozbudowano rodzime systemy plików o obsługę list kontroli dostępu, zgodnych ze specyfikacją POSIX. Z jądra usunięto natomiast kHTTPd, jako element zbędny.

Etymologia nazwy
Sama nazwa pochodzi ze zbitki słów Linus (będącym imieniem twórcy) i Unix (Linus' Unix). Nie przyjęła się proponowana przez Torvaldsa nazwa Freax. Nazwa "Linux" informuje nas także że nie jest to system Unix: Linux Is Not UNIX.
Jakkolwiek, teoria ta wydaje się prawdopodobna -> Freax = (free+freak+[uni]X), to jednak pewne inne źródła twierdzą, iż nazwa LINUX pochodzi po prostu od połączenia słów: Linus i Minix lub Linus i Unix. Ten dylemat może chyba wyjaśnić tylko sam Linus...

Nazwa Linux w języku polskim
Nazwę "Linux", w przypadku, gdy używamy jej w innym przypadku niż mianownik, spolszczamy w następujący sposób: M: Linux (dozwolone spolszczenie na "Linuks"), D: Linuksa, C: Linuksowi, B: Linuksa, N: Linuksem, Msc: Linuksie, W: Linuksie!

Cechy systemu
Linux charakteryzuje się dużą zgodnością ze standardami ANSI i POSIX, jest wielozadaniowy, wielowątkowy, wielobieżny, ma monolityczną budowę (choć z obsługą modułów - najczęściej zawierającymi sterowniki urządzeń), a także wsparcie dla klastrów (rozwijany w Izraelu akademicki projekt MOSIX) i architektury SMP (w najnowszych wersjach także NUMA). Jest bardzo wydajny, stabilny i bezpieczny. Wadą jest brak możliwości wywłaszczenia procesów jądra (taka możliwość istnieje w najnowszych jądrach 2.6) oraz korzystanie w małym stopniu z wątków jądra, które w Linuksie nie mogą zajmować się wykonywaniem programów użytkownika.
Działa na wielu platformach sprzętowych:
· IA-32 - 32-bitowe procesory firmy Intel z rodziny x86 (386SX/DX-486SX/DX-Pentium/I/II/III/IV/EE/Pro/Xeon lub lepsze), AMD (K5/K6/Duron/Athlon/Sempron/Athlon-FX) oraz inne zgodne z pierwotną architekturą,
· IA-64 - procesory Intel z rodziny Itanium oraz 64-bitowe wersje procesora Xeon,
· Athlon_64 AMD - Opteron i Athlon 64, a także Intel EMT,
· IBM PowerPC - IBM PCs oraz Apple Mac (IBM Power1 - IBM Power5),
· Mainframe - IBM CP S/390 i IBM CP zSeries,
· m68k firmy Motorola (Atari, Amiga oraz Apple),
· MIPS,
· Alpha,
· Sparc,
· Sparc64,
· ...i wiele innych...
Dzięki Wirtualnemu Systemowi Plików (ang. VFS) obsługuje blisko 50 systemów plików:
· rodzime ext2 i ext3
· SGI XFS
· IBM JFS
· NFS
· SMB
· ReiserFS
· Reiser4
· FAT
· UFS - UFS2 tylko do odczytu
· NTFS - tryb tylko do odczytu/częściowa obsługa zapisu (co prawda, w jądrze 2.6 została już dodana obsługa zapisu na dyskach tego systemu plików)
· system plików systemu Minix
· inne...

Zastosowanie
Linux przede wszystkim stosowany jest na systemach serwerowych (serwery WWW, FTP, e-mail i inne), jako zapory sieciowe (firewall) oraz w systemach osadzonych.
Ze względu na powstanie i rozwój dystrybucji o łatwej instalacji, graficznym wyglądzie i bogactwie wydajnego oprogramowania przewiduje się szerokie wejście Linuxa na rynek biurowy i domowy. Rządy kilku państw europejskich prowadzą wdrożenia Linuksa na komputerach administracji państwowej. Ponadto z Linuksa korzystają agencje wywiadowcze i kontrwywiad, ze względu na bezpieczeństwo, stabilność oraz możliwość audytu oraz modyfikacji kodu (dosŧępność kodu źródłowego). Niezawodność tego systemu została doceniona przez niektóre banki i instytucje finansowe korzystające z Linuksa (np. system notowań Wall Street oparty jest na tym systemie operacyjnym).

Schemat rozwoju
Rozwój Linuksa można podzielić na dwie gałęzie - stabilną (oznaczaną numerami parzystymi serii, np. 2.6) oraz rozwojową (oznaczaną numerami nieparzystymi np. 2.5).
Wersja stabilna - jak sama nazwa wskazuje - ma być stabilna, autorzy wstrzymują się od wprowadzania jakichś rewolucyjnych zmian do niej, jedynie poprawki wykrytych błędów, drobne usprawnienia. Jednym z najpoważniejszych odstępstw od tej reguły była wymiana nieefektywnego podsystemu pamięci wirtualnej w serii 2.4.
Po każdej serii stabilnej (a właściwie już w jej trakcie) rozpoczynana jest seria rozwojowa, w której jest miejsce na eksperymenty, przebudowy itd. Z tego powodu wersje rozwojowe nie nadają się do poważnego użytkowania, często nawet nie mogą zostać skompilowane. Po jakimś czasie seria rozwojowa "dojrzewa" i staje się pierwszą wersją nowej serii stabilnej, a poprzednia stabilna seria wchodzi w stan "spoczynku", kiedy wprowadzane są praktycznie tylko poprawki bezpieczeństwa oraz z rzadka porty fragmenty kodu z nowszych serii (np. sterowników urządzeń).
W serii 2.6 Linus w porozumieniu z jej opiekunem, Andrew Mortonem, wprowadzają model nawet dużych, choć stopniowo wprowadzanych modyfikacji, jeszcze w ramach wersji stabilnej. Zmiany zaakceptowane przez Torvaldsa po okresie niezbędnych testów są włączane do głównej gałęzi nadzorowanej przez Mortona.
Ponieważ ten model pracy sprawdza się, jak dotąd nie uznali za konieczne utworzenia gałęzi 2.7. Argumentem na rzecz takiego trybu rozwoju jest fakt, że faktyczna stabilizacja jądra dla końcowych użytkowników od dłuższego czasu odbywa się i tak w ramach poszczególnych dystrybucji.

Numeracja jąder
Wersję Linuksa zapisujemy używając 3 liczb naturalnych rozdzielonych kropką, na przykład:
2.4.17
Pierwsza liczba - 2 - to numer wydania, aktualnie 2. Następna liczba (u nas 4) oznacza serię. Gdy jest parzysta, mamy do czynienia z serią stabilną, jeśli nie - rozwojową. 17 to już numer wersji w danej serii.
Często używa się oznaczeń typu 2.4.18-pre6 - co oznacza szósta przymiarka do wydania 2.4.18
Koordynatorzy projektu dobierają łaty (ang. patch) według swego uznania. Wielu osobom się to nie podoba lub nie wystarcza, więc tworzą swoje gałęzie jądra, w których sami decydują o łatkach jakie zostaną do niego wprowadzone lub odrzucone, przez co mogą wpływać na kierunek i szybkość rozwoju.
Oficjalną gałęzią Linuksa zarządza Linus Torvalds lub osoba przez niego wyznaczona:
· 2.0 - David Weinehall
· 2.2 - Marc-Christian Petersen (poprzednio Alan Cox)
· 2.4 - Marcelo Tosatti
· 2.6 - Andrew Morton
Często istnieją równoległe, nieoficjalne gałęzie, np. 2.4 Alana Coksa lub Andrei Arcangelego. Oznaczane są poprzez dodanie odpowiedniej końcówki, np.: -ac dla jąder Alana Coksa, -aa dla jąder Andrei itd. Należy zaznaczyć, że niektóre jądra "nieoficjalne" sprawują się lepiej niż te "prowadzone" przez samego Linusa Torvaldsa.
Oznaczenie typu 2.4.18-rc1, to tzw. wydanie kandydujące (ang. release candidate), czyli "kandydat" do bycia nową wersją stabilną, o ile nie zostaną w nim znalezione poważniejsze błędy. Gdy ich nie ma, to (w teorii) nowa wersja stabilna nie będzie się niczym różniła (oprócz samej nazwy) od powstałej na jej podstawie wersji stabilnej. Jeśli się znajdą, zostają one poprawione, w wyniku czego powstaje nowe wersja "kandydująca" i cykl się powtarza. Wersje -rc pojawiają się z reguły już po kilku wersjach -pre. Do używania "wersji kandydujących" zobowiązał się obecny opiekun linii 2.4, Marcelo Tosatti.
Odkąd zmiany w kodzie jądra, przechowywane są w repozytorium BitKeeper, na stronach projektu znaleźć można również wersje oznaczane jako np. 2.6.11-rc1-bk8. Są to tak zwane snapshoty, zawierające kod wprowadzony w przeciągu okresu który minął od wydania wersji (w tym wypadku) 2.6.11-rc1. Tworzone są automatycznie w formie patchy, które można nałożyć na kod jądra.
Na dzień dzisiejszy najnowszą wersją jądra jest wersja 2.6.10.

Oprogramowanie
Linux potrafi uruchamiać programy w formatach a.out oraz ELF. Dzięki zaznaczeniu przy kompilacji opcji Kernel support for MISC binaries, może również uruchamiać inne programy np Java poprzez Maszynę wirtualną albo MS-DOS lub MS Windows poprzez emulatory.
Oprogramowanie dla Linuksa jest najczęściej otwarte i wolne. Jest rozprowadzane w formie gotowych pakietów binarnych dla danej dystrybucji (np. RPM, DEB i TGZ), lub jako źródła (np. tar.bz2, tar.gz), które należy przed użyciem skompilować.

Kwestie prawne
Linux jest wolnodostępnym systemem rozprowadzanym na licencji GNU General Public Licence co oznacza, że kod źródłowy jest dostępny dla każdego i każdy może dowolnie go modyfikować wedle własnego uznania. Do gałęzi oficjalnej nie jest włączany żaden zamknięty kod, choć możliwe jest dołączanie do jądra modułów komercyjnych.
Moduły w Linuksie mają automatyczne oznaczenia licencji, tak żeby przypadkiem nie został włączony moduł na licencji niezgodnej z GPL (zgodnymi licencjami są GPL, LGPL, Licencja BSD i kilku innych).
Linux jest zastrzeżonym znakiem towarowym należącym do Linusa Torvaldsa.

Czy tekst był przydatny? Tak Nie

Czas czytania: 10 minut