Systemy operacyjne System operacyjny Linux

Transkrypt

Systemy operacyjne System operacyjny Linux
Systemy operacyjne
System operacyjny Linux - wstęp
Anna Wojak
1
1
Wstęp
Linux jest systemem z rodziny Unix. Pierwsza wersja systemu została opracowana w 1969 roku
przez K.Thompsona i D.Ritchie Jest to system stale rozwijający się choć ogólna budowa została
bez zmian. Kod źródłowy jest ogólnodostępny i bezpłatny. Do głównych zastosowań Linuxa należą serwery usług sieciowych. Dzięki ciągłemu udoskonalaniu systemu XWindows, Linux staje
się przystępniejszy dla wiekszej ilości użytkowników. Linux jest systemem warstwowym (jądro,
biblioteki, powłoka i programy).
• Jądro - zawiera program szeregujący oraz sterowniki urządzeń, zarządza pamięcią operacyjną, posiada bezpośredni dostęp do wszystkich zasobów komputera.
• Biblioteki - zawierają zestawy podprogamów wykonujących często stosowane operacje; dołączane są do programów na etapie konsolidacji. Rozróżniamy biblioteki współdzielone, które
umożliwiają wielu programom korzystanie ze znajdujących się w nich procedur.
• Powłoka - oddziela wewnętrzną część systemu operacyjnego od użytkownika; zawiera interpreter poleceń, który umożlwia komunikację z użytkownikiem.
• Programy i procesy - proces to program wykonujący się, uruchomiony przez użytkownika,
zarządzany przez program szeregujący jądra; ma przydzielony obszar pamięci i priorytet.
2
Instalacja
Instalacja obecnych dystrybucji Linuxa nie różni się od instalacji Windows. Problemem może
okazać się poprawne skonfigurowanie opcji, które wybraliśmy do zainstalowania oczywiście dla
osób, które rozpoczynają prace z Linuxem. Na szczęście na wielu forach internetowych można
znaleźć rozwiązania naszych problemów, należy oczywiście poświęcić temu troszkę czasu i nie
zrażać się. Czym więcej problemów tym bardziej można polubić ten system. Ważnymi momentami
w procesie instalacji są:
• partycjonowanie,
• dobór pakietów (umiejętne wybranie pakietów do instalacji, które nam są potrzebne).
Podział na partycje
Partycja to część dysku twardego wydzielona lub dedykowana dla konkretnego systemu operacyjnego. Partycje dzieli się na trzy podstawowe rodzaje:
• podstawowe (ang. primary) - na dyskach z tablicą partycji MBR można utworzyć tylko cztery
takie partycje;
• rozszerzone (ang. extended) - pozwalają na tworzenie wielu partycji logicznych - jest to
niezbędne jeśli potrzebnych jest więcej niż cztery partycje na dysku;
• logiczne - woluminy tworzone na partycji rozszerzonej, nie ma ograniczeń co do liczby partycji
logicznych.
Dla systemu Linux niezbędne są co najmniej dwie partycje:
• główna - na której instalowany jest system (jej minimalny rozmiar jest zależny od ilości
oprogramowania jaki zostanie zainstalowany wraz z systemem operacyjnym - obecnie może
to być kilka GB);
• swap - jest to partycja wymiany, czyli obszar na dysku, na który będą przenoszone czasowo
rzadziej używane bloki z pamięci operacyjnej (często podaje się, że jej rozmiar powinien być
równy lub dwukrotnie większy niż dostępna w komputerze pamięć RAM
2
3
Poruszanie sie po systemie
Na początek kilka podstawowych poleceń umożliwiajacych nam wykonywanie podstawowych operacji na plikach i katalogach oraz poruszanie się w systemie.
Podstawowe kanały we/wy
Strumieniem nazywamy ciąg bajtów, który może być przesyłany między aplikacjami (poleceniami), wysyłany do pliku lub na terminal, pobierany z pliku lub terminala, itd. W powłoce Unixa
mamy do dyspozycji trzy standardowe strumienie:
• stdin - standardowe wejscie, nr kodu 0,
• stdout - standardowe wyjście, nr kodu 1,
• stderr - standardowy kanał błędów, nr kodu 2.
Istnieje możliwość zmiany kierunku tych strumieni tzw. przekierowania ich do lub z pliku, do lub
z innego polecenia itp. Domyślnie strumień wejściowy jest pobierany z klawiatury, natomiast strumienie wyjściowy i wyjścia błędów trafiają na ekran konsoli.
Przekierowywanie strumieni - strandardowe wyjście
Jak już wspomnieliśmy standardowym wyjściem w systemie Linux jest monitor. Jeżeli chcemy
zmienić standardowe wyjście należy użyć znaku > np.
polecenie > nazwa_pliku
Powyższa instrukcja przekierowuje wynik działania polecenia do pliku o podanej nazwie. Jeżeli
taki plik istniał zostanie on nadpisany. Aby nie tracić danych w plikach, które traktujemy jako
śtandardowe wyjścieńależy dopisywać do pliku dane używając przekierowania >> np.
polecenie >> nazwa_pliku.
Jeżeli plik o podanej nazwie nie istnieje przekierowanie >> zachowa się tak samo jak >.
Przekierowywanie strumieni - strandardowe wejście
Jeśli chcemy, aby polecenie (lub program) czerpało dane z pliku zamiast z klawiatury możemy
przekierować standardowe wejście polecenia (programu). Jest to wygodne, gdy testujemy program
wymagający wprowadzenia dużej ilości danych z klawiatury. Zapisujemy te dane w pliku tekstowym i używamy go do ich wprowadzania, zamiast za każdym razem wpisywać dane na klawiaturze.
Do przekierowania standardowego wejście polecenia używamy < np.
polecenie < nazwa_pliku
Przekierowywanie strumieni - Standardowe wyjście błędów
Większość poleceń wysyła komunikaty o błędach na standardowe wyjście błędów. Możemy
właściwe wyniki skierować w jedno miejsce (plik, konsola, inne polecenie), zaś błędy w inne. Aby
przekierować standardowy strumień błędów do pliku używamy > & np.
polecenie > & nazwa_pliku
polecenie 2 > nazwa_pliku
Jeśli nie chcemy nadpisywać zawartości pliku, a jedynie dopisywać nową zawartość na jego końcu
używamy >> &:
polecenie >> & nazwa_pliku
polecenie 2 >> nazwa_pliku
Przekierowania można ze sobą łączyć, np.:
3
polecenie < plik1 > plik2 > & plik3
Potok
Połączenie dwóch lub więcej poleceń (programów) w taki sposób, że standardowe wyjście jednego programu jest standardowym wejściem kolejnego nazywamy potokiem. Do połączenia standardowego wyjścia jednego polecenie ze standardowym wejściem drugiego używamy | np.
polecenie1 | polecenie2
Operator | pozwala łączyć w potok wiele poleceń.
/dev/null
Jest to specjalny plik, który pochłania dane nie zaśmiecając ekranu ani dysku tzw. ”pożeracz
bajtów” Jest on przydatny zwłaszcza przy pracy ze standardowym wyjściem błędów. Jeśli chcemy
pozbyć się jakiegoś strumienia przekierowujemy go do /dev/null.
4
Polecenia powłoki
echo
• polecenie echo wypisuje tylko podane mu parametry,
• echo występuje z opcjami:
-n nie wypisuje końcowego znaku nowego wiersza,
-e rozpoznaje i interpretuje znaki specjalne,
-E nie rozpoznaje znaków specjalnych.
cat
• polecenie cat służy do wypisywania zawartości plików na standardowe wyjście.
• pozwala łączyć ze sobą pliki,
• występuje z opcjami:
-T znaki tabulacji zastępowane są przez | ,
-E znaki nowego wiersza zastępowane są znakiem dolara,
-n przed każdym wierszem umieszczany jest numer,
-b numerowane są jedynie niepuste wiersze,
Zmienne powłoki
Zmienne powłoki i ich wartości można zdefiniować przez operacje przypisania:
$ ZMIENNA=5
Aby odwołać się do wartości zmiennej należy umieścić $ przed nazwą zmiennej:
$ echo $ZMIENNA
5
Niektóre zmienne są standardowe i definiowane przez powłoke w momencie logowania do
systemu. Należą do nich:
– HOME - nazwa katalogu domowego użytkownika,
4
– LOGNAME - nazwa użytkownika stosowana w czasie logowania,
– PATH - ścieżka przeszukiwania powłoki,
– PWD - aktualny katalog roboczy,
– SHELL - ścieżka do powłoki,
– USER - nazwa użytkownika.
Do zobaczenia wszystkich zmiennych powłoki należy użyć polecenia printenv. Zakres zmiennej - to zbiór programów, które wiedzą o jej istnieniu, domyślnie definiowany jest jako powłoka, w której została ona zdefiniowana. Aby udostępnić ją i jej wartość innym programom
wywoływanym z powłoki należy użyć polecenie export
$ export ZMIENNA
Taką zmienną nazywamy wtedy zmienną środowiskową.
5
Literatura
• Bach M. J., Budowa Systemu Operacyjnego UNIX, WNT, 1995.
• Kofler M., Linux. Instalowanie, konfigurowanie, użytkowanie, Wydawnictwo Translator.
5