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