Linux O Systemie


Instytut Sterowania i Inżynierii Systemów
Zakład Komputerowo Wspomaganego Projektowania
Laboratorium Podstaw Informatyki
LINUX
O systemie słów kilka
1
Instytut Sterowania i Inżynierii Systemów
Zakład Komputerowo Wspomaganego Projektowania
Laboratorium Podstaw Informatyki
1 Wprowadzenie
Linux jest systemem operacyjnym dla komputerów kompatybilnych z IBM PC, czyli
wyposażonych w procesory 386, 486, Pentium i inne1. Został stworzony w początku lat
dziewięćdziesiątych przez Linusa Torvaldsa, a dalej rozwijany wraz z programistami z
całego świata. Jako system operacyjny jest ceniony za siłę i elastyczność.
Większość systemów operacyjnych dla PC, powstała z myślą o małych komputerach
osobistych, które dopiero ostatnio stały się bardziej uniwersalnymi maszynami. Takie
systemy operacyjne są wciąż uaktualniane, by sprostać zmieniającym się możliwościom
sprzętu PC. Natomiast Linux został stworzony w zupełnie odmiennym kontekście. Jest
on wersją systemu operacyjnego Unix, który był używany przez dziesiątki lat na dużych
komputerach i minikomputerach i jest aktualnie systemem dla stacji roboczych. Linux
daje komputerowi klasy PC szybkość, wydajność i elastyczność systemu Unix, wykorzy-
stując wszelkie możliwości, jakie mogą dać komputery osobiste. Linux daje to wszystko
za wspaniałą cenę - jest darmowy.
W odróżnieniu od oficjalnego systemu operacyjnego Unix, Linux jest rozpowszech-
niany za darmo na zasadach licencji GNU, określonej przez Free Software Foundation2.
Licencja ma zapewnić, że Linux pozostanie darmowy i zarazem zestandaryzowany, dla-
tego istnieje tylko jeden oficjalny Linux.
Fakt, że Linux jest darmowy, skłania czasem ludzi do mniemania, że jest to coś gor-
szego niż profesjonalny system operacyjny. Linux jest w istocie rzeczy wersją Unixa dla
PC. Aby naprawdę docenić Linuxa, trzeba zrozumieć szczególny kontekst, w jakim roz-
winął się system operacyjny Unix. Unix, w przeciwieństwie do większości pozostałych
systemów operacyjnych, został rozwinięty w środowisku badawczym i akademickim - na
uniwersytetach i w ośrodkach badawczych. Jego rozwój to część rewolucji komputero-
wej i telekomunikacyjnej w ostatnich kilku dziesięcioleciach. Profesjonaliści komputerowi
często rozwijali nowe technologie komputerowe na bazie Unixa, tak było z tymi rozwi-
niętymi na potrzeby Internetu. Mimo że jest to bardzo wymyślny system, został od
początku stworzony tak, by być elastycznym. System Unix może być łatwo modyfiko-
wany w celu stworzenia różnych wersji. Rzeczywiście, wielu różnych sprzedawców, jak
IBM, Sun i Hawlett-Packard, oferuje różne oficjalne wersje Unixa. Ludzie wciągnięci
w programy badawcze często tworzą własne wersje Unixa związane z ich szczególnymi
wymaganiami. Ta wpisana w Unixa elastyczność w żaden sposób nie pomniejsza jego
wartości. W istocie rzeczy świadczy to o odporności i pozwala na adaptowanie, w prak-
tycznie dowolnym środowisku.
Linux jest w zasadzie kolejna wersją Unixa - wersją dla PC. Jest rozwijany przez kom-
puterowych profesjonalistów pracujących w podobnych środowiskach, co odzwierciedla
sposób, w jaki były zwykle rozwijane wersje Unixa. Fakt, że Linux jest publicznie do-
stępny i darmowy, świadczy o tym, jak głębokie korzenie zapuścił Unix w instytucjach
akademickich.
1
Do tej grupy należy także zaliczyć procesory Duron i Athlon firmy AMD, procesory firmy Cyrix i
inne, których lista rozkazowa jest zgodna z listą linii procesorów 386-486-586.
2
Linux ma zastrzeżone prawa autorskie i nie jest oprogramowaniem ogólnie dostępnym (Public Do-
main), jednak licencja GNU sprawia, że może z niego korzystać każdy.
2
Instytut Sterowania i Inżynierii Systemów
Zakład Komputerowo Wspomaganego Projektowania
Laboratorium Podstaw Informatyki
2 Linux i systemy operacyjne
System operacyjny to program zarządzający sprzętem komputerowym i oprogramowa-
niem użytkownika. Systemy operacyjne zostały pierwotnie stworzone do wykonywania
powtarzalnych zadań sprzętowych. Zadania te polegały na zarządzaniu plikami, urucha-
mianiu programów i przyjmowaniu poleceń użytkownika. Komunikacja użytkownika z
systemem następuje poprzez tzw. interfejs użytkownika. Ten interfejs pozwala systemowi
operacyjnemu na przyjmowanie i interpretowanie instrukcji wydanych przez użytkow-
nika. Interfejs użytkownika systemu operacyjnego może być tak prosty, jak proste jest
wprowadzanie poleceń w wierszu, lub tak złożony, jak wybieranie menu i ikon.
System operacyjny zarządza również aplikacjami. Aby wykonać odpowiednie zadania, ta-
kie jak edycja dokumentu lub przeprowadzenie obliczeń, potrzebne są specyficzne aplika-
cje. Przykładem takiej aplikacji jest edytor. Edytor pozwala na edytowanie dokumentu,
dokonywanie zmian i dodawanie nowego tekstu. Sam edytor jest programem składają-
cym się z instrukcji wykonywanych przez komputer. Aby użyć programu, trzeba najpierw
załadować go do pamięci komputera, a następnie muszą być wykonane jego instrukcje.
System operacyjny steruje ładowaniem i wykonywaniem wszystkich programów, włącz-
nie z aplikacjami.
Zarządzanie plikami, zarządzanie programami i współdziałanie z użytkownikiem to
tradycyjne cechy wspólne systemów operacyjnych. Linux, podobnie jak wszystkie wersje
Unixa, ma dwie dodatkowe cechy. Jest systemem wielodostępnym i wielozadaniowym.
Jako system wielozadaniowy, pozwala na wykonywanie kilku zadań w tym samym czasie
- gdy jedno zadanie jest wykonywane, możliwa jest praca nad następnym. Jako system
wielodostępny, pozwala na logowanie się do systemu kilku użytkowników w tym samym
czasie, a każdy użytkownik współdziała z systemem poprzez swój własny terminal.
Systemy operacyjne zostały pierwotnie zaprojektowane po to, by wykorzystać sprzęt
w wydajny sposób. Gdy pojawiły się pierwsze komputery, ich możliwości były ograni-
czone i system operacyjny musiał wykonywać za nie większość zadań. W związku z tym
systemy operacyjne zostały pomyślane jako systemy do obsługi sprzętu, a nie użytkow-
nika, zatem były i mało elastyczne, wymuszając na użytkowniku, by sprostał żądaniom
wydajnego sprzętu.
Natomiast Linux, jako jedna z wersji Unixa, został stworzony, by być elastycznym. Linux
ma tę samą elastyczność, z jaką został zaprojektowany Unix, elastyczność pochodzącą
od badawczych początków Unixa. System operacyjny Unix został zaprojektowany przez
Kena Thompsona w AT&T Bell Laboratories na przełomie lat sześćdziesiątych i sie-
demdziesiątych. Wprowadził wiele nowego w rozwój systemów operacyjnych. Pierwotnie
Unix został stworzony jako system operacyjny dla badaczy. Jednym z głównych celów
Thompsona było stworzenie systemu, który mógłby wspomóc badaczy w ich ciągle zmie-
niających się wymaganiach. Aby temu sprostać, Thompson zaprojektował system, który
może działać z wieloma różnymi rodzajami zadań. Elastyczność stała się ważniejsza niż
wydajność sprzętowa. Podobnie jak Unix, także Linux umożliwia wykonywanie wielu
różnorodnych zadań, jakie może przed nim postawić dowolny użytkownik.
Użytkownik Linuxa nie jest ograniczony do sztywnej interakcji z systemem operacyjnym.
W zamian system operacyjny jest pomyślany tak, by oferował zestaw wysokowydajnych
narzędzi, z których użytkownik może zrobić użytek. Ta filozofia zorientowana na użyt-
3
Instytut Sterowania i Inżynierii Systemów
Zakład Komputerowo Wspomaganego Projektowania
Laboratorium Podstaw Informatyki
kownika oznacza, że można skonfigurować system tak, by zaspokoił specyficzne wyma-
gania. Linux pozwala na to, by system operacyjny stał się środowiskiem operacyjnym.
3 Historia Linuxa i Unixa
Historia Linuxa (jeżeli potraktujemy Linuxa jako wersję Unixa), rozpoczyna się pod ko-
niec lat sześćdziesiątych. W 1968 roku zespół badaczy z Generał Electric, AT&T Bell
Laboratories i Massachusetts Institute of Technology wykonał specjalny projekt badaw-
czy dotyczący systemu operacyjnego nazwanego Multics. W Multicsie urzeczywistniono
wiele nowych pomysłów dotyczących wielozadaniowości, zarządzania plikami i współ-
działania z użytkownikiem. W 1969 roku Ken Thompson z AT&T Bell Laboratories
stworzył system operacyjny Unix, włączając do niego wiele cech projektu badawczego
Multics. Powiązał on wymagania środowiska badawczego z możliwością uruchamiania
systemu na minikomputerach. Od początku Unix był wydajnym, wielodostępnym i wie-
lozadaniowym systemem operacyjnym.
System Unix szybko stał się popularny w Bell Labs. W 1970 roku Dennis Ritchie
i Ken Thompson przepisali kod zródłowy systemu Unix w języku programowania C.
Dennis Ritchie, jeden z pracowników Bell Labs, stworzył język programowania C tak,
by był elastycznym narzędziem dla rozwoju oprogramowania3. Język programowania C
pozwolił Dennisowi Ritchiemu i Kenowi Thompsonowi na napisanie tylko jednej wersji
systemu operacyjnego, która może być następnie kompilowana przez kompilator C na
różnych komputerach. W ten sposób system operacyjny Unix stał się przenośny - mógł
być uruchamiany na różnych komputerach z bardzo małymi lub w ogóle bez poprawek.
Unix rozwijał się stopniowo - od pierwszej wersji stworzonej przez jednego człowieka,
aż do standardowego oprogramowania rozpowszechnianego przez wielu różnych produ-
centów, takich jak Novell czy IBM. Początkowo Unix był traktowany jako produkt dla
celów badawczych. Pierwsza wersja Unixa została rozdana za darmo wydziałom informa-
tyki wielu słynnych uniwersytetów. W 1972 roku Bell Labs rozpoczęły rozpowszechnianie
oficjalnej wersji Unixa i udzielanie licencji na system różnym użytkownikom. Jednym z
tych użytkowników był wydział informatyki Uniwersytetu Kalifornijskiego w Berkeley.
W Berkeley dodano do systemu wiele nowych funkcji, które pózniej stały się standar-
dem. W 1975 roku w Berkeley wydano własną wersję Unixa, znaną pod nazwą Berkeley
Software Distribution (BSD). Wersja BSD Unixa stała się głównym konkurentem wersji
AT&T Bell Labs. Rozgałęziły się inne niezależnie wydane wersje Unixa. W 1980 roku
firma Microsoft wydała wersję Unixa na PC i nazwała go Xenix, natomiast firma AT&T
rozwinęła kilka badawczych wersji Unixa, a w 1982 roku wydała pierwszą wersję komer-
cyjną, nazwaną System 3. Wersja ta została pózniej zastąpiona przez System V, który
stał się poważnym produktem komercyjnym mającym wsparcie techniczne.
W tym samym czasie wersja BSD Unixa miała kilka wydań. Pod koniec lat siedem-
dziesiątych BSD Unix stał się przedmiotem projektu badawczego wykonywanego przez
Department of Defense s Advanced Research Project Agency (DARPA). W wyniku tych
3
Jedną z zalet C jest to, że pozwala on na bezpośredni dostęp do architektury sprzętowej komputera
przez uogólniony zestaw poleceń. Do momentu powstania języka C, systemy operacyjne musiały być
specjalne przepisywane w językach asemblera charakterystycznych dla danego typu komputera i sprzętu.
4
Instytut Sterowania i Inżynierii Systemów
Zakład Komputerowo Wspomaganego Projektowania
Laboratorium Podstaw Informatyki
prac w 1983 roku Berkeley wydało wydajną wersję Unixa nazwaną BSD wersja 4.2. Wer-
sja ta zawierała wymyślny system zarządzania plikami oraz narzędzia sieciowe oparte na
protokole TCP/IP, który to protokół w chwili obecnej stosowany jest w Internecie. BSD
wersja 4.2 został szeroko rozpowszechniony i zaadaptowany przez wielu producentów,
takich jak Sun Microsystems.
Mnożenie się różnych wersji Unixa doprowadziło do zapotrzebowania na standard
Unixa. Twórcy oprogramowania nie wiedzieli, na których wersjach Unixa będą dzia-
łały ich programy. W połowie lat osiemdziesiątych powstały dwa konkurujące ze sobą
standardy: jeden oparty na wersji Unixa AT&T, a drugi na wersji BSD. Dziś w księ-
garniach można znalezć wiele różnych książek o jednej lub drugiej wersji Unixa. Jedne
opisują System V, a inne skupiają się na BSD Unixie. AT&T przeniosła Unixa do no-
wej organizacji zwanej Unix System Laboratories, która mogła się skupić na rozwinięciu
standardowego systemu, łączącego różne ważniejsze wersje Unixa. W 1991 roku Unix
System Laboratories wydało System V wersja 4, który skupiał prawie wszystkie cechy
Systemu V wersja 3, BSD wersja 4.3, SunOS i Xenixa. W odpowiedzi na System V wer-
sja 4 kilka innych firm, takich jak IBM czy Hawlett-Packard, założyło Open Software
Foundation (OSF), aby stworzyć swój własny standard Unixa. Od tego momentu były
dwa komercyjne standardy Unixa: wersja OSF i System V wersja 4. W 1993 roku AT&T
sprzedało swoje prawa do Unixa firmie Novell. Unix System Laboratories są w chwili
obecnej częścią Novell UNIX System Group. Novell wydał własną wersję Unixa opartą
na Systemie V wersja 4 i nazwaną UnixWare. UnixWare został stworzony z myślą o
współpracy z systemem Novell Netware.
W trakcie swojego długiego rozwoju Unix stał się dużym i wymagającym systemem
operacyjnym, potrzebującym stacji roboczej lub minikomputera, by działać efektywnie.
Niektóre wersje Unixa zostały stworzone pierwotnie dla środowiska stacji roboczych.
SunOS został stworzony dla stacji roboczej Sun, a AIX dla stacji roboczych IBM. Jed-
nak kiedy komputery osobiste stawały się coraz silniejsze, podjęto starania, by stworzyć
wersję Unixa dla PC. Komercyjnymi wersjami Unixa stworzonymi dla komputerów PC
kompatybilnych z IBM są Xenix i System V/386. AUX jest wersją Unixa działającą na
Macintoshu. Unixa można znalezć na prawie każdym typie komputera: stacjach robo-
czych, minikomputerach i nawet superkomputerach.
Linux jest stworzony przede wszystkim dla komputerów osobistych wyposażonych w
procesor firmy Intel. Został zapoczątkowany jako własny projekt studenta informatyki
Linusa Torvaldsa z Uniwersytetu w Helsinkach. W tamtych czasach studenci korzystali
z programu o nazwie Minix, który miał różne cechy Unixa. Minix został stworzony
przez profesora Andrewa Tannebauma i rozpowszechniony przez Internet wśród studen-
tów z całego świata. Zamiarem Linusa Torvaldsa było stworzenie wydajnej wersji PC
Unixa dla użytkowników Minixa. Nazwał go Linux i w 1991 roku wydał wersję 0.11.
Linux został szeroko rozpowszechniony przez Internet, a w następnych kilku latach inni
programiści uszlachetnili i rozbudowali go, włączając większość cech i aplikacji odnajdy-
wanych w standardowych systemach Unix. Wszystkie ważniejsze programy zarządzania
oknami zostały przeniesione na Linuxa. Linux posiada wszystkie programy użytkowe dla
Internetu, takie jak ftp, telnet i slip. Ma również pełny zestaw oprogramowania wspoma-
gającego, takiego jak kompilatory i debugery C++. Mimo to system operacyjny Linux
pozostał mały, stabilny i szybki. W najprostszej wersji może wydajnie pracować już na
5
Instytut Sterowania i Inżynierii Systemów
Zakład Komputerowo Wspomaganego Projektowania
Laboratorium Podstaw Informatyki
4 MB pamięci RAM.
Choć Linux został rozwinięty jako system darmowy i w otwartym środowisku In-
ternetu, jest zgodny z oficjalnymi standardami unixowymi. W związku z mnożeniem
się wersji Unixa w poprzednich dekadach, Institute of Electrical and Electronics En-
gineers (IEEE) rozwinął niezależny standard Unixa dla American National Standards
Institute (ANSI). Ten nowy standard został nazwany Portable Operating System In-
terface for Computer Environments (POSIX). Standard definiuje, jak systemy unixowe
powinny działać, określając takie szczegóły, jak wywołania systemowe i interfejsy. PO-
SIX definiuje uniwersalny standard, do którego wszystkie wersje Unixa muszą należeć.
Większość popularnych wersji Unixa jest w tej chwili zgodna ze standardem POSIX,
natomiast Linux od początku był rozwijany tak, by był zgodny z tym standardem.
4 Linux - przegląd
Podobnie jak Unix, Linux może być podzielony na cztery główne części: jądro, powłokę,
system plików i programy użytkowe. Jądro jest programem, który uruchamia inne pro-
gramy i zarządza urządzeniami, takimi jak dyski czy drukarki. Powłoką jest interfejsem
użytkownika. Odbiera polecenia wydawane przez użytkownika i wysyła je do jądra w
celu wykonania. System plików określa porządek, w jakim pliki są zachowane na urzą-
dzeniu takim jak dysk. Pliki są umieszczone w katalogach. Każdy katalog może zawierać
dowolną liczbę podkatalogów, w których przechowywane są pliki.
Jądro, powłoka i system plików stanowią razem podstawową strukturę systemu operacyj-
nego. Dzięki tym trzem elementom możliwe jest uruchamianie programów, zarządzanie
plikami i współdziałanie z systemem. Ponadto Linux ma programy użytkowe, które zo-
stały dołączone po to, by zapewnić standardowe cechy systemu. Programy użytkowe są
specjalizowanymi programami, takimi jak edytory, kompilatory i programy komunika-
cyjne, które wykonują standardowe operacje.
4.1 Powłoki: Bourne a, Korna i C
Powłoka zapewnia interfejs pomiędzy jądrem i użytkownikiem. Można ją opisać jako in-
terpreter, ponieważ interpretuje polecenia wprowadzane przez użytkownika i przekazuje
je do jądra. Interfejs powłoki jest bardzo prosty. Zwykle składa się z monitu, po którym
wprowadza się polecenie i następnie wciska [ENTER]. Polecenie podaje się w wierszu,
który jest często nazywany wierszem poleceń. Polecenia wprowadzane w wierszu poleceń
mogą mieć różny stopień złożoności - od prostych do bardzo skomplikowanych.
Jako alternatywę dla interfejsu wiersza poleceń Linux oferuje interfejs graficzny użyt-
kownika (GUI - Graphics User Interface), zwany X-Windows, i mający kilka okienko-
wych programów zarządzania. Okienkowy program zarządzania działa tak jak interfejs
graficzny Windows czy Macintosha. Składa się on z okien, ikon i menu, a wszystko jest
zarządzane z użyciem myszy. Dwa najbardziej popularne dzisiaj okienkowe programy za-
rządzania to KDE i Gnome. Prócz nich istnieją inne, takie jak np. Free Virtual Window
Manager (fvwm) i Open-Look window manager (olwm). Dostępny jest również Motif
window manager, ale jest to produkt komercyjny, który trzeba nabyć oddzielnie.
6
Instytut Sterowania i Inżynierii Systemów
Zakład Komputerowo Wspomaganego Projektowania
Laboratorium Podstaw Informatyki
Rysunek 1. Jądro, powłoka i interfejs użytkownika
Poza okienkowymi programami zarządzania istnieją również programy do zarządza-
nia plikami i programami. Dostępnych jest kilka różnych programów zarządzających, a
wielu sprzedawców Linuxa udostępnia własne. Na przykład Caldera Network Desktop
dostarcza wymyślny manager plików i programów, co pozwala na proste operowanie iko-
nami i folderami katalogów.
Mimo że okienkowy program zarządzania jest elastycznym i zaawansowanym interfej-
sem, jest on w istocie nakładką na powłokę. Okienkowy program zarządzania po prostu
przekazuje otrzymywane polecenia powłoce. W rzeczywistości to powłoka interpretuje
polecenie i przekazuje je do jądra. Na rysunku 1 pokazano związek powłoki i jądra oraz
pozostałe elementy systemu.
Powłoka robi więcej, niż tylko interpretowanie poleceń - udostępnia środowisko do
konfigurowania systemu i programowania. Powłoka ma również swój własny język pro-
gramowania, który pozwala na pisanie programów wykonujących polecenia Linuxa w
skomplikowany sposób. Język programowania powłoki ma wiele cech normalnych języ-
ków programowania, na przykład pętle i odgałęzienia. Można stworzyć skomplikowane
programy powłoki, które są tak wydajne jak aplikacje.
Każdy użytkownik w systemie Linux ma swój własny interfejs lub powłokę. Użyt-
kownicy mogą wykorzystywać swoją powłokę na własne potrzeby. Powłoka użytkownika
działa bardziej jak środowisko operacyjne, którym użytkownik może sterować. Przez lata
rozwinięto kilka różnych rodzajów powłok. Aktualnie istnieją trzy główne powłoki: Bo-
urne a, Korna i C. Powłoka Bourne a została stworzona w Bell Labs na potrzeby Systemu
V. Powłoka C została stworzona dla wersji BSD Unixa. Powłoka Korna jest pózniejszym
7
Instytut Sterowania i Inżynierii Systemów
Zakład Komputerowo Wspomaganego Projektowania
Laboratorium Podstaw Informatyki
rozwinięciem powłoki Bourne a. Aktualne wersje Unixa, włącznie z Linuxem, udostęp-
niają wszystkie trzy powłoki, pozwalając użytkownikowi wybrać tę, którą lubi. Jednak
Linux korzysta z wersji rozszerzonych lub public domain tych powłok: powłoki Bourne
Again, powłoki TC i powłoki Public Domain Korn. Najczęsciej, kiedy uruchamiasz Li-
nuxa, dostajesz powłokę Bourne Again, uaktualnioną wersję powłoki Bourne a. Z niej
możesz przełączać się na inne powłoki wedle potrzeby.
4.2 Struktura plików: katalogi i pliki
W Linuxie pliki są umieszczane w katalogach, podobnie jak ma to miejsce w DOS-
ie. Jednak masz w nim większą kontrolę nad plikami. Cały system plików Linuxa jest
jednym powiązanym ze sobą zbiorem katalogów, z których każdy zawiera pliki. Niektóre
katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Możesz
tworzyć własne katalogi dla własnych plików równie prosto, jak przenosić pliki z jednego
katalogu do drugiego. Możesz nawet przenieść całe drzewo katalogów i uwspólnić katalogi
i pliki z innymi użytkownikami systemu. Linux pozwala również na ustawianie praw
dostępu dla katalogów i plików.
Rysunek 2. Struktura katalogów i plików w Linuxie
Katalogi każdego użytkownika są w rzeczywistości połączone z katalogami pozosta-
łych użytkowników. Katalogi są ułożone w strukturę hierarchiczną drzewa, rozpoczy-
nając od początkowego katalogu głównego (ang. root directory). Wszystkie pozostałe
katalogi wychodzą od tego pierwszego katalogu głównego. Na rysunku 2 pokazano przy-
kład takiej drzewiastej, hierarchicznej struktury katalogów. Możesz przemieszczać się w
8
Instytut Sterowania i Inżynierii Systemów
Zakład Komputerowo Wspomaganego Projektowania
Laboratorium Podstaw Informatyki
systemie, wchodząc do katalogu, który jest dla Ciebie dostępny. To wzajemne powiąza-
nie w strukturze plików umożliwia proste udostępnianie danych. Niektórzy użytkownicy
mogą korzystać z tych samych plików.
Linux jest systemem wielodostępnym, co oznacza, że kilku użytkowników może ko-
rzystać jednocześnie z tego samego systemu operacyjnego. Sam system operacyjny zło-
żony jest z programów umieszczonych w specjalnych katalogach rozpoczynających się od
katalogu głównego. Katalogi te są nazywane emphkatalogami systemowymi.Na rysunku
2 katalogi systemowe są tymi poniżej katalogu głównego: etc, bin, usr i home4.
4.3 Programy użytkowe: edytory, filtry i programy komunikacyjne
Linux zawiera wiele programów użytkowych. Niektóre programy użytkowe wykonują pro-
ste operacje, inne są skomplikowanymi programami z własnym zestawem poleceń. Wiele
z programów użytkowych można zaklasyfikować do jednej z trzech kategorii ogólnych:
edytory, filtry i programy komunikacyjne. Oczywiście, nie wszystkie programy użytkowe
pasują do tych kategorii. Istnieją również programy użytkowe wykonujące operacje na
plikach lub zarządzające programami.
Istnieje kilka standardowych edytorów dostępnych we wszystkich wersjach Unixa,
włącznie z Linuxem: ed, ex, vi i emacs. Ed i ex to edytory wierszowe, natomiast vi i
emacs to edytory pełnoekranowe. Wszystkie standardowe edytory zostały stworzone dla
starszych, mniej wydajnych komputerów, które nie były w stanie obsługiwać pełnoekra-
nowego ruchu kursora. Mimo że vi i emacs mają możliwość pracy pełnoekranowej, nie
jest ona tak płynna i prosta, jak ma to miejsce w wielu obsługiwanych myszą proce-
sorach tekstu. Ed i ex są edytorami wierszowymi wyświetlającymi i edytującymi tylko
jeden wiersz. Nawet przy tych ograniczeniach edytory te są niezwykle efektywne. Mają
ogromny zestaw poleceń, które mogą być łączone w celu wykonywania skomplikowanych
operacji.
Kolejny zestaw programów użytkowych to filtry. Filtr czyta, dane wejściowe przeka-
zane przez użytkownika z pliku lub innego zródła, sprawdza i przetwarza, a następnie
wyprowadza wynik. Istnieje wiele różnych typów filtrów. Niektóre wykorzystują polece-
nia edycji wiersza do wyprowadzenia przetworzonej wersji pliku. Inne przeszukują plik
w poszukiwaniu wzorca i wyprowadzają tylko tę część danych, która pasuje do wzorca.
Jeszcze inne wykonują operacje przetwarzania tekstu, wykrywając polecenia formatu-
jące w pliku i wyprowadzając sformatowaną wersję pliku. Dane wejściowe dla filtru nie
muszą być plikiem. Mogą to być dane wprowadzane przez użytkownika z klawiatury.
Może to być również wynik działania innego filtru. Filtry mogą być łączone ze sobą,
przez co wynik działania jednego filtru może stać się danymi wejściowymi dla innego
filtru i tak dalej. Istnieje nawet możliwość programowania własnych filtrów.
Linux zawiera również zestaw programów użytkowych pozwalających na komuni-
kowanie się z innymi użytkownikami własnego systemu lub innych systemów. Jako sys-
tem wielodostępny, Linux musi zapewniać kontakt pomiędzy wszystkimi użytkownikami.
Podstawowa potrzeba monitorowania i podstawowa cecha współdzielenia struktury pli-
ków powodują, iż system poczty elektronicznej jest prosty w implementacji. Istnieje
4
Istnieje wiele innych katalogów systemowych, których struktura i przeznaczenie może byc nieco inne
w róznych odmianach Unixa.
9
Instytut Sterowania i Inżynierii Systemów
Zakład Komputerowo Wspomaganego Projektowania
Laboratorium Podstaw Informatyki
możliwość wysyłania i odbierania wiadomości pomiędzy użytkownikami systemu. Mo-
żesz nawet wysłać wiadomość rozgłoszeniową do kilku osób jednocześnie lub bezpośred-
nio połączyć się z innym użytkownikiem i nawiązać dialog w czasie rzeczywistym.
Jedną z najważniejszych cech Linuxa, jak i innych systemów Unix, jest zestaw narzę-
dzi internetowych. Internet został stworzony i rozwinięty na bazie systemów unixowych.
Narzędzia internetowe, takie jak ftp i telnet, po raz pierwszy zostały zaimplementowane
w wersji Unixa BSD. Darpanet, prekursor Internetu, miał za zadanie łączyć systemy
Unix różnych uniwersytetów w całym kraju. Linux zawiera pełny zestaw narzędzi inter-
netowych oraz takich, które zapewniają bezpośrednią łączność z Internetem, jak np. slip.
Przeglądarki WWW, takie jak Mosaic, które zostały pierwotnie stworzone do używa-
nia w Unixie, także są dostępne w Linuxie. Niektórzy sprzedawcy Linuxa udostępniają
własne przeglądarki WWW. W ostatnich latach został podjęty wysiłek rozszerzenia moż-
liwości sieciowych Unixa. Novell pracował nad połączeniem UnixWare (swojej własnej
wersji Unixa) z systemem Netware. Dystrybutor Linuxa RedHat rozszerzył Linuxa tak,
by łatwiej było go łączyć z protokołami sieciowymi. Linux może dzisiaj w prosty sposób
współpracować z Novell, Microsoft Networks i innymi serwerami sieciowymi, co pozwala
na podłączanie systemów linuxowych do sieci.
5 Linux i zródła informacji w Internecie
Linux został rozwinięty wspólnym wysiłkiem przez Internet. Żadna firma czy instytucja
nie nadzoruje Linuxa. Rozwój jego elementów często ma miejsce wtedy, gdy użytkownicy
Linuxa zdecydują się pracować wspólnie nad projektem. Skończona praca jest umiesz-
czana na serwerze ftp w Internecie. Każdy użytkownik Linuxa może sobie ją stamtąd
skopiować. Jednym z głównych serwerów ftp zawierających zarówno oprogramowanie,
jak i dokumentację dla Linuxa, jest ftp.ibiblio.org5 w katalogu /pub/linux. Polskim od-
powiednikiem jest serwer ftp.icm.edu.pl i katalog /pub/Linux. W dodatku na końcu
opracowania, umieszczono adresy różnych serwerów WWW i ftp, z których można po-
brać Linuxa, jego uaktualnienia oraz dokumentację.
Większość oprogramowania dla Linuxa jest zastrzeżona przez licencję GNU, zarzą-
dzaną przez Free Software Foundation (często nazywa się je oprogramowaniem GNU).
Oprogramowanie GNU jest rozpowszechniane za darmo z zastrzeżeniem, że będzie za
darmo rozpowszechniane dalej. Aplikacje GNU zawierają wiele popularnych w Linuxie
programów narzędziowych, takich jak kompilatory C, powłoki i edytory. Wiele innych
aplikacji GNU jest dostępnych na różnych serwerach ftp w Internecie. Ostatnio więksi
producenci oprogramowania również rozwijają linuxowe wersje swoich najpopularniej-
szych aplikacji.
Dokumentacja dla Linuxa została również rozwinięta poprzez Internet. Większość ak-
tualnie dostępnej dokumentacji dla Linuxa może być skopiowana z serwerów WWW
i ftp w Internecie. Specjalny projekt, zwany Linux Documentation Project udostępnia
pełny zestaw podręczników dla Linuxa na serwerze www.tldp.org. Dokumentacja zawiera
przewodnik użytkownika, wstęp, przewodniki administratora i jest dostępna w postaci
tekstowej, postscriptowej lub w postaci strony WWW. Krótsze wyjaśnienia możesz zna-
5
Kiedyś sunsite.unc.edu
10
Instytut Sterowania i Inżynierii Systemów
Zakład Komputerowo Wspomaganego Projektowania
Laboratorium Podstaw Informatyki
lezć w tak zwanych dokumentach HOW-TO. Istnieją dokumenty HOW-TO dotyczące
różnych tematów, takich jak instalacja, drukowanie czy poczta elektroniczna. Również
wiele firm ma własne serwery WWW, na których umieszczono informacje o ich aplika-
cjach dla Linuxa.
Uzupełnieniem serwerów WWW i ftp są listy dyskusyjne Usenet dotyczące Linuxa.
Przez połączenie internetowe możesz mieć dostęp do tych list i komentarzy innych
użytkowników Linuxa, a także mieć możliwość wysyłania własnych zapytań i odpo-
wiedzi. Istnieje kilka grup dyskusyjnych Usenet dotyczących Linuxa, każda zaczyna się
od comp.os.linux lub pl.comp.os.linux.
6 Dystrybucje Linuxa
Chociaż istnieje tylko jedna standardowa wersja Linuxa, obecnie jest kilka różnych dys-
trybucji. Różne firmy i grupy stworzyły różne komplety Linuxa i oprogramowania dla
niego. Każda firma czy grupa wydała następnie swój własny pakiet Linuxa na płytach
CD-ROM, najczęsciej wraz z bogatą dokumentacją. Ostatnie wydania mogą zawierać
uaktualnione wersje programów lub nowe oprogramowanie. Do bardziej popularnych
dystrybucji należą RadHat, Mandrake, SuSE, Slackware i Debian. Ze stron WWW tych
firm lub ich serwerów ftp, możliwe jest często pobranie obrazów płyt CD z aktualnymi
wersjami dystrybycji (w formacie .iso). Na tychże stronach umieszczona jest również
dokumentacja dotycząca konkretnej dystrybucji Linuxa. W większości, firmy zajmujące
się dystrybucją Linuxa, oferują swoje pakiety oprogramowania w sprzedaży (np. poprzez
Internet). Płaci się tutaj nie za Linuxa, który jest przecież objęty licencją GNU, ale za
zebranie oprogramowania, nośniki, książkową dokumentację oraz serwis, do którego jest
się uprawnionym po zakupie.
Niniejsze opracowanie powstało w oparciu o książkę Richarda Petersena: Arkana -
Linux
11
Instytut Sterowania i Inżynierii Systemów
Zakład Komputerowo Wspomaganego Projektowania
Laboratorium Podstaw Informatyki
A Linux w Internecie
Dystrybucje Linuxa:
" www.redhat.com
" www.mandrake.com
" www.suse.com
" www.debian.com
" www.debian.com
" www.pld.com.pl
Linux na świecie:
" www.linux.org
" www.linux.com
" www.kernel.org
Linux w Polsce:
" www.linuxfan.pl
" www.linux.gery.pl
" www.linuxpub.pl
" www.linuxnews.pl
Archiwa ftp:
" ftp.ibiblio.org/pub/Linux
" ftp.icm.edu.pl/pub/Linux
12
Instytut Sterowania i Inżynierii Systemów
Zakład Komputerowo Wspomaganego Projektowania
Laboratorium Podstaw Informatyki
Literatura
[1] Mario Camou, John Goerzen, Aaron Van Couwenberghe: Debian Linux. Księga
Eksperta, Helion, 2001.
[2] Bill Ball: Caldera Linux 2.3, Helion, 2000.
[3] Bill Ball: Linux, Helion, 1998.
[4] Bill Ball: Poznaj Linux, Mikom, 1999.
[5] Bill Ball: SuSE Linux 6.2-7.0, Helion, 2001.
[6] Harold Davis: Po prostu Red Hat Linux 7.2, Helion, 2002.
[7] Scott Hawkins: Linux. Polecenia, Robomatic, 2000.
[8] Bill McCarty, Bartłomiej Kruk: Debian GNU/Linux, Helion, 2002.
[9] Bill McCarty: Red Hat Linux, RM, 2000.
[10] Jerzy Marczyński: Unix - użytkowanie i administrowanie, Helion, 1995.
[11] Jerry Peek, Grace Todino, John Strang: UNIX. Wprowadzenie, RM, 2002.
[12] Richard Petersen: Arkana - Linux, RM, 1997.
[13] Ellen Siever: Linux - podręcznik użytkonika, RM, 1999.
[14] Stefan Strobel, Thomas Uhl: Linux, WNT, 1997.
[15] Matt Welsh, Matthias K. Dalheimer, Lar Kaufman: Linux, RM.
13


Wyszukiwarka

Podobne podstrony:
Linux System Plików
Linux System Plików II
07 Linux System plików
2 linux system wielodostepny
2008 03 Making Music Connecting a Midi Keyboard to Your Linux System
Linux system zabezpieczeń(1)
Linux Online Firewall and Proxy Server HOWTO Preparing the Linux system
2001 02 Linux on Ppc Powerpc Linux Systems
systemy operacyjne cw linux apache mysql
10 Linux Jądro systemu
01 Linux Start systemu i związanie z nim procesy
TEST z podstaw systemu LINUX
HOWTO Setup a Virtual Postfix Courier Mail System with PostfixAdmin Gentoo Linux Wiki
Systemy Operacyjne Unix Linux solarka2
przyklady instalacji kilku systemow linux 5
Linux konserwacja Systemu Plikow

więcej podobnych podstron