Systemy wielodostępne UNIX/Linux



Podobne dokumenty
Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

Warstwy systemu Windows 2000

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier

System operacyjny Linux

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Systemy operacyjne i sieci komputerowe Szymon Wilk System operacyjny 1

System komputerowy. System komputerowy

Instalacja Systemu Linux na maszynie writualnej

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Linux: System Plików

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 25 ARCHITEKTURA SYSTEMU LINUX. Opracował Sławomir Zieliński

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Temat 8 Systemy operacyjne rodziny UNIX. powłoki graficzny interfejs użytkownika (GUI) 8.1. Cechy systemu UNIX

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Kurs systemu Unix wykład wstępny. Kurs systemu Unix 1

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące:

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Ćwiczenie 9 Linux - operacje systemu plików

Instalacja Linuksa i podstawowa konfiguracja. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa)

Linux Elementy instalacji. 1 Podział dysku na partycje. 2 Konfiguracja sprzętu (automatycznie) 3 Założenie użytkowników

Instalacja Linux Open SUSE.

Pracownia komputerowa. Dariusz wardecki, wyk II

Paweł Skrobanek. C-3, pok pawel.skrobanek.staff.iiar.pwr.wroc.pl

Kernel Kompilacja jądra

Linux cz.2: terminal, użytkownicy, grupy

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

1. Co to jest system operacyjny

System operacyjny UNIX system plików. mgr Michał Popławski, WFAiIS

Konsola Linux. autor: Mariusz Barnaś

Skanowanie podsieci oraz wykrywanie terminali ABA-X3


Zespól Szkół Ponadgimnazjalnych Nr 17 im. Jana Nowaka - Jeziorańskiego Al. Politechniki 37 Windows Serwer 2003 Instalacja

Biuletyn techniczny. CDN OPT!MA 12.0 Drukarki fiskalne w usługach terminalowych. Copyright 2007 COMARCH SA

Instalacja aplikacji

Typy plików. Oznaczenie f -

Okiełznać Pingwina.... czyli podstawy systemu GNU/Linux

Produkty. MKS Produkty

System operacyjny. System operacyjny to program kontrolujący pracę komputera

System plików - wprowadzenie. Ścieżki dostępu. Informatyka ćw 1

Działanie systemu operacyjnego

Działanie komputera i sieci komputerowej.

Pracownia Technik Obliczeniowych

SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy)

26.X.2004 VNC. Dawid Materna

Działanie systemu operacyjnego

WYKŁAD 3 Jądro systemu i procesy. Marcin Tomana Wyższa Szkoła Informatyki i Zarządzania

Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania.

Spis treści. O autorze 9. O recenzentach 10. Przedmowa 13. Rozdział 1. Oto Linux Mint 17_

Pracownia Komputerowa wyk ad II

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

1 Przygotował: mgr inż. Maciej Lasota

System operacyjny Linux

Biuletyn techniczny. Drukarki fiskalne w usługach terminalowych. Comarch OPT!MA Copyright 2007 COMARCH SA

Technologie Informacyjne - Linux 1

Instalacja Wirtualnego Serwera Egzaminacyjnego

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Wstęp do Informatyki. Klasyfikacja oprogramowania

Wstęp 5 Rozdział 1. SUSE od ręki 13

Działanie systemu operacyjnego

Instalacja Ubuntu 12.12

System plików. Warstwowy model systemu plików

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

DOS COMMAND.COM. Rys. 2. Główne moduły programowe systemu operacyjnego DOS. Interpreter poleceń. Rys. 3. Warstwowa struktura systemu DOS

Graficzny terminal sieciowy ABA-X3. część druga. Podstawowa konfiguracja terminala

Komendy Ubuntu MARCEL GAŃCZARCZYK 2T I 1

MODELOWANIE MATERIAŁÓW I PROCESÓW

PAMIĘĆ OPERACYJNA...107

Linux cz.3: polecenia systemowe, ćwiczenia

SPIS TREŚCI: KARTY GRAFICZNE... 15

System kontroli dostępu ACCO NET Instrukcja instalacji

Połączenia. Obsługiwane systemy operacyjne. Instalowanie drukarki przy użyciu dysku CD Oprogramowanie i dokumentacja

INSTRUKCJA INSTALACJI I PIERWSZEGO URUCHOMIENIA APLIKACJI Rodzajowa Ewidencja Wydatków plus Zamówienia i Umowy

Zarządzanie partycjami i dyskami w środowisku Windows.

LINUX. Instalacja oprogramowania

Usługi sieciowe systemu Linux

Narzędzie konfiguracji rozruchu

Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Etapy uruchamiania systemu

Jak przystosować szkolną pracownię komputerową do pracy w systemach Windows i Linux?

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: z zakresu systemów

Pracownia Komputerowa wykład III

Działanie systemu operacyjnego

Spis treści. Rozdział 3. Podstawowe operacje na plikach...49 System plików Konsola Zapisanie rezultatu do pliku... 50

Zastosowania matematyki w systemie operacyjnym Linux

Charakterystyka sieci klient-serwer i sieci równorzędnej

Pracownia Komputerowa wykład II

Księgarnia PWN: Emmett Dulaney - Novell Certified Linux Professional (NCLP)

System operacyjny System operacyjny

Windows XP Wiersz polecenia

Instrukcja użytkownika

1. Podstawy...P Polecenia podstawowe...p... 18

ZADANIE nr 4 Sprawdzian z informatyki

Budowa systemów komputerowych

Szybki start instalacji SUSE Linux Enterprise Server 11

Kancelaria Prawna.WEB - POMOC

Podstawy Informatyki. Michał Pazdanowski

SKRó CONA INSTRUKCJA OBSŁUGI

Transkrypt:

Systemy wielodostępne UNIX/Linux 1. Charakterystyka systemu Linux Linux to wielozadaniowy, wieloużytkowy, 32-bitowy system operacyjny typu UNIX stworzony przez Linusa Torvaldsa. Pierwsza wersja systemu ujrzała światło dzienne w sierpniu 1991 roku, od tamtej pory system podlega licznym udoskonaleniom dokonywanym przez ogromną grupę programistów mających dostęp do kodu źródłowego systemu, który jest rozpowszechniany na zasadach licencji GPL (General Public License). Licencja ta zapewnia powszechną możliwość bezpłatnego użytkowania systemu i brania udziału w jego rozwoju. Jego kod źródłowy jak i sam system jest, więc bezpłatny i dostępny dla każdego bez żadnych ograniczeń. Natomiast firmy komercyjne zarabiają, tworząc i sprzedając tzw. dystrybucje Linux a, czyli wersje instalacyjne, zawierające program, kod źródłowy oraz setki dodatkowych programów użytkowych przystosowanych dla tego systemu zarówno shareware'owych jak i freeware'owych. Cena obejmuje zebranie wszystkich programów w całość, wytłoczenie CD, oraz wydrukowanie podręcznika użytkownika. Poszczególne wersje dystrybucyjne różnią się jakością dołączonej dokumentacji, programem instalacyjnym oraz ilością i aktualnością dołączonego oprogramowania (stąd różnica liczby płyt CD-ROM w poszczególnych dystrybucjach). przy czym coraz częściej można spotkać również darmowe wersje dużych programów komercyjnych na tą platformę takich jak pakiety biurowe StarOffice, Corel World Perfect przeglądarkę Internetową i klienta pocztowego N. Communicatora czy programy graficzne np. Gimp. Darmowe wersje Evaluation można znaleźć na dodatkach CD czasopism komputerowych lub w Internecie Oprócz całkowitej bezpłatności główną zaletą Linuksa są małe wymagania sprzętowe. Do wykonywania podstawowych zadań wystarczy mu komputer 386 z 4 MB pamięci RAM. Poza tym Linux funkcjonuje także sprawnie na innych platformach sprzętowych takich jak: Power-PC, Power-Mac, Atari czy Amiga. Linux stał się już najpopularniejszym systemem dla serwerów internetowych, używany jest przez miliony osób również jako system operacyjny stosowany w biurach i domach - Linux dorównuje (a często przewyższa możliwościami komercyjne systemy UNIX owe. Linux podobnie jak większość nowoczesnych systemów operacyjnych ma wygodny i łatwy w użyciu interfejs graficzny, podobny również do Windowsowych okienek, tak zwany X-Window. Wspomniany X-Window to specyficzne środowisko graficzne Linuxa, które do złudzenia przypomina Windosowe okienka. Mamy tu do wyboru kilkanaście menadżerów okien, które w zależności od urozmaiceń swojego interfejsu wymagają odpowiedniej ilości wolnej pamięci RAM. Najpopularniejsze są 2 interfejsy graficzne KDE i GNOME. Najbardziej pamięciożernym jest KDE (najnowsza wersja minimum 128MB a najlepiej 256MB RAM'u), ale za to jest to menadżer najłatwiejszy w konfiguracji i dostosowaniu go do indywidualnych upodobań użytkownika. Linux w dużym stopniu zawdzięcza swoją popularność doskonałej stabilności działania, dzięki czemu znalazł zastosowanie w narzędziach programistycznych i serwerowych a przez to staje się coraz bardziej popularny. Przybywa również programów przeznaczonych na tę platformę, dzięki czemu ma szansę konkurować z Windowsem także na scenie domowych zastosowań. 1

Czym jest dystrybucja? Linux to jądro systemu, jednak abyśmy mogli cieszyć się z efektów pracy, niezbędne będzie oprogramowanie i te właśnie dostarcza nam dystrybucja. Dodatkowo zawiera ona instalator systemu, dzięki czemu Linux znajdzie się na naszych komputerach. Pozycje różnią się przede wszystkim poziomem trudności obsługi i ilością dostępnego oprogramowania dołączonego bezpośrednio na płytach CD. Różnica może także polegać na domyślnym poziomie zabezpieczeń, choć pamiętajmy, że to wciąż ten sam system, więc w każdej chwili możemy to zmienić. Reasumując: dystrybucja to jądro z zestawem oprogramowania wzbogacone o instalator systemu. Przegląd najbardziej znanych dystrybucji Mandrake Linux Dystrybucja jest tworzona przez firmę o tej samej nazwie. Mandrake powstał na podstawie bardzo znanego Red Hata (czytaj niżej). Charakterystyczną cechą dystrybucji jest niebywała prostota jej obsługi. Programiści z Mandrake tworząc ją ogromny nacisk położyli na udogodnienia płynące z prostoty obsługi. W tym celu napisano wiele programów wykonujących wiele czynności za użytkownika. Także pliki konfiguracyjne zostały zmienione tak, aby domyślne ustawienia systemu były jak najlepsze dla Ciebie. Mandrake możemy pobrać z oficjalnych serwerów firmy: ftp.mandrake.com Informacje odnośnie instalacji znajdziesz także na stronie Mandrake: www.mandrakesoft.com Dystrybucja posiada także wersję płatną, do której dołączone są dodatkowe programy komercyjne. Red Hat Red Hat tworzony jest przez amerykańską firmę Red Hat. Dystrybucja ta jest dziś najpopularniejszą odmianą Linuksa. Ceniona przez wielu zdobyła wysokie miejsce na podium rynku systemu. Poziom trudności oferowany przez system jest średni, dlatego też Red Hat kierowany jest do użytkowników, którzy mieli już styczność z systemem, ale i nowicjusze nie powinni mieć ogromnych problemów z jej opanowaniem. I choć dystrybucja często wybierana jest na serwery sieciowe, świetnie sprawuje się do użytku domowego. Red Hat, podobnie jak Mandrake, posiada wersję komercyjną i tak jak w przypadku swojego "kolegi" - zawiera ona dodatkowe oprogramowanie napisane prze firmę. Adres Red Hata: www.redhat.com i ftp.redhat.com PLD PLD to nasza dystrybucja. Tak, tak Polacy także tworzą Linuksa. PLD bazuje na Red Hacie. Rodacy jednak ogromny nacisk zrobili na bezpieczeństwo i stabilność systemu. Dużo czasu poświęcono także na implementację protokołu IP w wersji 6 znanej także pod nazwą next generation - następna generacja. Nasza dystrybucja to także największy Red Hat. PLD cieszy się uznaniem wśród administratorów serwerów. Niektórzy mówią też, że choć bazuje na Red Hacie, to wyszedł po prostu od niego lepszy! Dystrybucja kierowana jest do zaawansowanych użytkowników. O projekcie PLD poczytamy pod www.pld-linux.org 2

SuSE SuSE to dzieło naszych sąsiadów - Niemców. Prostota obsługi i wsparcie techniczne czyni go silną pozycją. To, za co jednak SuSE posiada duże grono zwolenników, to instalator i konfigurator Yast charakteryzujący się łatwością obsługi oraz funkcjonalnością. Oczywiście po szczegóły możemy sięgnąć do strony oficjalnej, skąd także pobierzemy SuSE lub kupimy jego rozbudowane wydanie: www.suse.com Debian Tym czym Debian różni się znacząco od innych dystrybucji, jest fakt, że nie stoi za nim żadna firma - tworzy go grono programistów z całego świata, w tym także Polacy! Ciesząca może być informacja, że Debian to największa dystrybucja - posiada prawie 9000 pakietów umieszczonych na 7CD + 1 dodatkowej (sytuacja w wersji stabilnej 3.0). Debian idealnie spisuje się na serwerach, a to za sprawą jego dużej stabilności., będącej wynikiem długotrwałego i szczegółowego sprawdzania każdego pakietu. Kolejnym plusem dystrybucji jest jej dostępność na wiele platform, dzięki czemu Debiana możemy uruchomić nawet na Amigach! Dodatkowo dystrybucja znakomicie nadaje się do użytku domowego. I choć przeznaczona jest dla systemowych bywalców, docenią ją nawet osoby raczkujące w Linuksie - 8710 pakietów sprawi, że do codziennej pracy wykorzystamy oprogramowanie z CD, bez konieczności pobierania pakietów z sieci. Debian znajduje się pod: www.debian.org Slackware Slackware ceniony jest przede wszystkim przez administratorów serwerów i dla tych osób jest kierowany. Firma tworząca dystrybucję położyła naciska na ochronę systemu. Dzięki temu Slackware to potężne narzędzie w rekach administratorów. Mankamentem wydaje się jednak mała ilość programów dołączonych z CD. Slackware wydawany jest na jednej płycie, ponadto można pobrać dodatkowy CD (sytuacja z wersji stabilnej 8.1). Wiele osób jednak to ceni - w końcu Slackware to dystrybucja na serwer, a nie system domowy! Adres dystrybucji: www.slackware.com 2. Praca wielodostępna Wielodostępność wywodzi się z czasów, kiedy jeden komputer centralny (mainframe) wykonywał jednocześnie wiele programów nadzorowanych przez wielu użytkowników. Problem dostępu do sprzętu rozwiązywano następująco: do komputera łączami szeregowymi podłączona była pewna liczba sprzętowych terminali, które pozwalały na wyświetlanie tekstu na monitorze i obsługę klawiatury. To wystarczało, gdyż wszelkie przetwarzanie danych i tak było zadaniem komputera, zaś terminali podłączyć można było i kilkadziesiąt. Potem komputery staniały i zaczęły masowo pojawiać się na wielu biurkach. Jednakże wraz z upowszechnieniem sieci komputerowych stare idee odżyły. Okazało się, że wciąż wygodnie jest wydzielić w sieci komputer, do którego wszyscy będą mieli jednoczesny dostęp. Po cóż jednak stosować prymitywne terminale sprzętowe, skoro ich rolę pełnić może program uruchomiony na PC. Dziś terminal rozumiany jest teraz prawie wyłącznie jako program, który pozwala na łączenie się z innym komputerem poprzez sieć i zdalną na tym komputerze pracę. Dla odróżnienia konsolą nazywa się "sprzętowy terminal" nieodłącznie związany z konkretnym komputerem, czyli jego monitor i klawiaturę. Siedząc przy konsoli, ma się dostęp do wielu tzw. wirtualnych terminali. Pozwala to na bezproblemowe wykorzystanie wielozadaniowości 3

i wielodostępu bez korzystania z dodatkowego sprzętu. Praca zdalna oznacza, że fizycznie znajdując się przy jednym komputerze, uzyskuje się prawo do uruchamiania programów na innym, zwanym serwerem. Komputer lokalny sprowadzony zostaje do roli prymitywnego terminala, który wyświetla uzyskane dane na ekranie, zaś odsyła do serwera informacje o naciśniętych przez użytkownika klawiszach. Praca wielodostępna ma sens tylko wtedy, gdy użytkownicy mogą uruchamiać i wykonywać swoje programy jednocześnie. Wymaga to odpowiedniej konstrukcji systemu operacyjnego i jest charakterystyczną cechą wszystkich Uniksów. Logicznym następstwem wielodostępności jest to, że tych samych programów używać może jednocześnie wiele osób. Oczywiście na dysku przechowywana jest tylko jedna kopia programu, dostępna dla wszystkich zainteresowanych. Dodatkową oszczędność pamięci wprowadzają programy, które wykorzystują współdzielone biblioteki systemowe. Oznacza to na przykład, że dwa programy działające jednocześnie zajmują mniej pamięci, niż by to wynikało z zsumowania zajętości dla każdego programu z osobna. To właśnie wielodostępność wymusza taką a nie inną konstrukcję systemu operacyjnego. Pojedynczy użytkownik, jednoznacznie identyfikowany nazwą i hasłem, może wykorzystywać lub modyfikować jedynie ściśle określone zasoby. Zadaniem systemu operacyjnego jest zapewnienie sprawiedliwego lub określonego priorytetami podziału czasu procesora, miejsca na dysku, przepustowości sieci itp. Pieczę nad całością sprawuje administrator, którego konto (o nazwie root) pozwala na swobodny dostęp do wszystkich plików, zasobów i mechanizmów systemowych. 3. Wielozadaniowość Wielozadaniowość (inaczej wieloprocesowość) jest to cecha systemu operacyjnego (a dokładniej jądra, inaczej kernela) mówiąca czy może on wykonywać "jednocześnie" kilka procesów. Wielozadaniowość otrzymuje się poprzez tzw. scheduler, czyli algorytm kolejkujący i porządkujący procesy, które mają być wykonane. W rzeczywistości procesor nie jest w stanie wykonywać dwóch operacji naraz, ale dzieli czas swojej pracy na krótkie odcinki dla każdego procesu, tak, aby nie było to zauważalne dla użytkownika, po czym wykonuje zadane mu zadania (w chwili obecnej prawie każdy system obsługuje wielozadaniowość). Możliwość wielozadaniowości nie oznacza wcale, że na komputerze można uruchomić nieskończoną ilość procesów. Im więcej procesów jest uruchomionych, tym zadania wykonywane są wolniej, gdyż wyczerpują one dostępne zasoby w postaci pamięci RAM, dysku twardego i procesora. Systemami wielozadaniowymi są: - UNIX - 32-bitowe systemy z rodziny Microsoft Windows (np. Microsoft Windows 95) - Mac OS i jego następca Mac OS X - Linux Nie są: - DOS (może być więcej niż jeden proces, ale tylko jeden będzie wykonywany) 4

4. Zarządzanie pamięcią Plik Stronicowania (wymiany, swap) plik lub partycja ukryty na dysku twardym, używany przez system do przechowywania części plików programów i danych, które są zbyt duże i nie mogą być umieszczone w całości w pamięci. Plik stronicowania i pamięć fizyczna (pamięć RAM) tworzą pamięć wirtualną. System przenosi dane z pliku stronicowania do pamięci zgodnie z potrzebami oraz z pamięci do pliku stronicowania, aby zwolnić miejsce dla nowych danych. Swapping w sytuacji, gdy w systemie zaczyna brakować pamięci głównej, np. dla utworzenia nowego lub dla powiększenia rozmiarów już istniejącego procesu, zachodzi potrzeba zwolnienia części pamięci. W takim wypadku jądro próbuje znaleźć w pamięci stronę zawierającą chwilowo niepotrzebne dane, po czym usuwa ją z pamięci, w razie potrzeby tworząc jej kopię w pamięci pomocniczej dla przyszłego wykorzystania (jest to nazywane wymianą, wymiataniem, lub swappingiem). Pamięć logiczna (wirtualna) jest to pamięć na użytek procesów generowana przez jądro systemu. Pamięć ta może być wielkości nawet do 3 GB, mimo że teoretycznie powinna być ograniczona przez pamięć operacyjną komputera. Dzieje się tak, dlatego, że proces nie musi być w całości umieszczony w pamięci operacyjnej, aby być wykonywany. Część pamięci, która została mu przydzielona może być przechowywana na dysku, a dopiero w razie odwołania do niej wczytana do pamięci operacyjnej. Proces jednak nie wie czy pamięć, do której się odwołuje jest na dysku twardym, dyskietce czy w pamięci operacyjnej komputera, gdyż to wymianę stron między pamięcią a urządzeniem zewnętrznym organizuje jądro. Z punktu widzenia procesu posiada on do dyspozycji bardzo dużą, jednorodną i szybką pamięć logiczną. 5. Model warstwowy systemu UNIX/Linux Tworzenie systemu polega na podzieleniu go na moduły, które są połączone w warstwy. Każda warstwa spełnia funkcje, które zależą tylko od warstwy znajdującej się pod spodem. Podział na moduły zmniejsza stopień wzajemnych zależności między różnymi składowymi systemu, pozwala uniknąć niepożądanych powiązań. 5

W modelu warstwowym system podzielony jest na 4 warstwy: sprzęt, jądro, biblioteki + powłoka + programy, użytkownicy. JĄDRO - zawiera m.in. program szeregujący oraz sterowniki urządzeń - zarządza pamięcią operacyjną - w nowszych systemach sterowniki rzadziej występujących urządzeń dostępne są w postaci zewnętrznych modułów (tzw. modułów ładowalnych), które można wybiórczo załadować do jądra dzięki temu jego rozmiary są mniejsze - jadro ma bezpośredni dostęp do wszystkich zasobów komputera BIBLIOTEKI - zawierają zestawy podprogramów (zwykle napisanych w języku C), wykonujących różne, często stosowane, operacje (mogą to być np. zestawy funkcji matematycznych, procedury, umożliwiające obsługę monitora czy też operacje na dysku) - biblioteki współdzielone umożliwiają wielu programom korzystanie ze znajdujących się w nich procedur, co wydatnie oszczędza pamięć - inną zaletą bibliotek współdzielonych jest możliwość wymiany starszej wersji biblioteki na nowszą, bez konieczności rekonsolidacji korzystających z niej programów (których może być bardzo dużo) POWŁOKA - nazwa pochodzi stąd, że warstwa ta oddziela wewnętrzna część systemu operacyjnego od użytkownika - powłoka zawiera interpreter poleceń, który umożliwia komunikację z użytkownikiem (jest to odpowiednik programu command.com z DOS'a) - interpreter poleceń uruchamia polecenia systemu operacyjnego oraz programy użytkowe PROGRAMY - procesy uruchamiane przez użytkownika - zarządzane przez jądro - moga być przerwane w dowolnym momencie, np. komendą kill - każdy ma przydzielony odpowiedni obszar pamięci i priorytet, jeśli proces użytkownika próbuje dostać się do cudzego obszaru pamięci, zostaje przerwany, a system wyświetla komunikat: segmentation fault. - bieżąca zawartość pamięci procesu może zastać zapisana na dysku w pliku o nazwie core (nazwa od słów core dump, czyli zrzut pamięci). Analiza zawartości tego pliku może pomóc programiście w wykryciu przyczyny wystąpienia błędu 6

6. System plików Sposób, w jaki komputer organizuje pliki i katalogi na nośniku danych o swobodnym dostępie (takim jest np. dysk twardy i dyskietka magnetyczna, ale już nie taśma magnetofonowa, w której dostęp do danych wymaga jej przewinięcia). System plików określa to, jak informacje są zapisywane i odczytywane; definiuje także wielkość klastrów, możliwe do użycia atrybuty plików oraz schemat poprawnych nazw plików i katalogów - ich długość i dopuszczalne znaki w nazwach. System plików pozwala by współpracujący użytkownicy mogli korzystać z tych samych plików, ale też chronić pliki przed dostępem do nich nieuprawnionych użytkowników. Istnieje wiele odmian systemów plików, większość współczesnych ma strukturę hierarchiczną, złożona z katalogów i plików: Systemem plików zostaje utworzony podczas formatowania partycji, Dwa najczęściej spotykane systemy plików w Linux ie to ext2, oraz jego nowsza wersja ext3 (posiadająca transakcyjny zapis oparty na dzienniku). Drzewo katalogowe UNIX Katalogi systemu UNIX/Linux są zorganizowane hierarchicznie. System ten, w odróżnieniu od systemu MS-DOS, nie tworzy osobnej hierarchii dla każdej partycji, tworzy tylko jeden system plików dla wszystkich partycji. Katalogiem, który znajduje się u samego szczytu tej struktury (tzw. drzewa katalogowego) jest katalog root (korzeń), oznaczony jako / (forward slash). Przykładowe drzewo katalogowe systemu Linux 7

Drzewo katalogów / Zawartość głównego systemu plików jest niewielka, pozwala na bootowanie i naprawę systemu. o bin/ Zawiera komendy użyteczne zarówno dla zwykłego użytkownika, jak i dla administratora. Jest tu wyłącznie ich niezbędny zestaw. o boot/ Zawiera wszystko, co jest potrzebne programowi bootującemu, za wyjątkiem konfiguracji i instalatora map. o dev/ Ten katalog zawiera pliki urządzeń. o etc/ Zawiera pliki konfiguracyjne specyficzne dla maszyny. X11/ Konfiguracja systemu X Window. o home/ Zawiera katalogi domowe użytkowników. Wewnętrzny układ dobiera administrator. o lib/ Zawiera te biblioteki współdzielone, które są niezbędne do zbootowania systemu oraz uruchamiania komend z głównego systemu plików, zawiera również moduły jądra. modules/ Dynamicznie ładowalne moduły jądra. o mnt/ Służy do tymczasowego montowania systemów plików przez administratora. o opt/ Zarezerwowane do instalacji dodatkowych aplikacji. Aplikacje powinny być instalowane w osobnych podkatalogach w /opt/. o proc/ Informacje o pracy jądra. Zawartość tego katalogu nie znajduje się na dysku, lecz jest generowana dynamicznie przez jądro. o root/ Katalog domowy użytkownika root. o sbin/ Zawiera programy używane do administracji systemem i inne komendy użyteczne dla roota. Zawiera jedynie zestaw niezbędny do bootowania i naprawy systemu. o tmp/ Katalog ten służy do zapisu plików tymczasowych. Zawartość tego katalogu może być kasowana przy restarcie systemu. Każdy użytkownik ma prawo zapisu. o usr/ Katalog ten jest drugą główną sekcją systemu plików. Zawiera dane tylko do odczytu, które mogą być współdzielone między maszynami. o var/ 8

Zawiera zmienne dane. Są to m.in. kolejki, logi, pliki danych oraz pliki tymczasowe. 7. Urządzenia Linux otrzymuje dane z, wysyła je do oraz przechowuje je w urządzeniach (devices). Urządzenie zazwyczaj odpowiada jednostce sprzętowej, takiej jak na przykład klawiatura czy port szeregowy. Jednakże urządzenie nie zawsze posiada odpowiednik sprzętowy; jądro systemu (kernel) tworzy kilka pseudourządzeń, które nie istnieją fizycznie, ale za to można uzyskać do ich dostęp jakby rzeczywiście istniały. Co więcej, jednostka sprzętowa może odpowiadać kilku urządzeniom, na przykład Linux definiuje każdą partycję dysku twardego jako osobne urządzenie. Dyski i urządzenia wejścia//wyjścia odwzorowywane jako pliki w katalogu /dev. Lista wybranych plików z katalogu /dev: /dev/console konsola systemu /dev/mouse /dev/hda /dev/hda1 /dev/hda2 /dev/hdb /dev/hdb1 /dev/fd0 /dev/lp0 /dev/null /dev/ttyn /dev/ptyn mysz szeregowa pierwszy dysk IDE pierwsza partycja pierwszego dysku druga partycja pierwszego dysku drugi dysk IDE pierwsza partycja drugiego dysku IDE pierwsza dyskietka pierwszy port drukarki urządzenie puste (do testów) wirtualny terminal (lokalny) pseudoterminal do logowania przez sieć 8. Interpretery poleceń Interpreter poleceń zwane inaczej powłoką (shell) pośredniczy pomiędzy użytkownikiem a jądrem systemu. Powłoka systemów Unix pełni podobną funkcję jak plik command.com w systemie MS-DOS. Jądro systemu zawiera wszelkie podprogramy, potrzebne do przeprowadzania operacji wejścia / wyjścia i zarządzania plikami. Powłoka pozwala korzystać z tych podprogramów za pomocą wiersza poleceń. 9

Cechy: - Uruchamia się automatycznie po załogowaniu wraz z rozpoczęciem sesji, - Każdy uruchomiony program posiada swój proces, który można kontrolować - Programy mogą być lub interakcyjne - komunikują się poprzez konsolę lub pracują w tle. - Interpreter umożliwia korzystanie z systemu plików oraz urządzeń (drukarki, modemy) - Istnieje wiele odmian interpreterów poleceń, a każdy użytkownik systemu może korzystać z innego: Najczęściej używane powłoki: - Bourne Shell (sh); pierwszy interpreter poleceń Unix'a, dziś już przestarzały - Korn Shell (ksh); rozszerzenie shella Bourne'a, głownie Unix. - C Shell (csh); shell oparty o składnię języka C, wygodny w pracy interaktywnej - Enhanced C Shell (tcsh); bardziej rozbudowana wersja csh. - Bourne Again Shell (bash); domyślna powłoka systemów linuksowych. 9. Praca w tle Ponieważ Unix jest wielozadaniowym systemem operacyjnym każdy użytkownik może mieć wiele jednocześnie uruchomionych komend. Używając powłoki, użytkownicy mogą uruchamiać programy na pierwszym planie (interakcja z terminalem) lub w tle (pracują, ale nie ma interakcji z terminalem). Gdy zadanie wykonuje się w tle użytkownik może kontynuować pracę wykonując inne zadania w linii komend. Aby uruchomić program niektórych tle należy po komendzie dopisać znak &. 10. Przegląd podstawowych poleceń man - manual, pomoc systemowa np.: man polecenie (-k słowo szukane; -a wyświetla wszystko) --help - podane jako opcja, krótka pomoc pwd - pokazuje bieżący katalog ls - wyświetla zawartość katalogu (-a - wszystkie, -l - lista) cd - zmiana katalogu mkdir - tworzy katalog rmdir - usuwa katalog (musi być pusty) cp - kopiowanie mv - przeniesienie lub zmiana nazwy rm - usuwanie (-r - wszystko wraz z podkatalogami) echo - wyświetla tekst cat - wyświetla zawartość pliku touch - zmienia czas pliku, tworzy plik ln -s dowiązanie symboliczne more - filtr do przeglądania tekstu strona po stronie less - jw., bardziej rozbudowane, pozwala się cofać chmod - prawa dostępu do pliku 10

chown - zmiana właściciela i grupy pliku chgrp - zmiana grupy find - szukanie plików (find /skąd -name szukany_plik) file - określa typ pliku df - wolne miejsce na dysku free - stan pamięci RAM oraz partycji SWAP du - zajmowane miejsce grep - przeszukuje pliki wg. wzorca i wyświetla (np.: grep słowo_szukane plik) tar - archiwizator (rozpakowanie: tar -xzvf plik.tar.gz) gzip - kompresor (rozpakowanie: gzip -d plik.gz) 11