System operacyjny Linux - notatka z dnia 21.03.2015r.
1. System operacyjny Linux i jego dystrybucja.
Linux – rodzina uniksopodobnych systemów operacyjnych opartych na jądrze Linux. Linux jest jednym z przykładów wolnego i otwartego oprogramowania (FLOSS): jego kod źródłowy może być dowolnie wykorzystywany, modyfikowany i rozpowszechniany.
2. Jakie wady i zalety posiada system Linux.
Zalety:
- Stabilność
- Bezpieczeństwo - posiadają minimalną ilość błędów, a odkryte błędy natychmiast są poprawiane- Małe wymagania sprzętowe
- Wielodostępność - na jednym komputerze może pracować kilkaset użytkowników nie wpływając na siebie wzajemnie
- Wysoka konfigurowalność - właściwie każdy aspekt systemu można dostosować
- Wydajność - we wszelkich porównaniach jest na wysokich miejscach
- Doskonała sieciowość.
Wady:
- Niedobór driverów - ciężko o sterowniki do widowsowego sprzętu,
- Skomplikowany - przedtem było to zaletą, a teraz wadą - jest zbyt trudny dla leni
- Nie jest przystosowany dla użytkowników korzystających z gier
- Jego instalacja zajmuje dużo czasu
- Trudności w konfiguracji - przy braku znajomości języka angielskiego, który jest niezbędny , gdyż cała dokumentacja jest w tym języku
3. Jak zarządza się dyskami i partycjami w systemie Linux?
Zarządzanie dyskami w linuxie. Partycjonowanie.
Programy do zarządzania partycjami, zapoznanie z programami do zarządzania partycjami:
fdisk
cfdisk
parted
sfdisk
Gparted
QtParted
wyświetlenie informacji o partycjach
# fdisk -l
założenie nowej partycji przy pomocy programu fdisk
# fdisk /dev/sda
Command (m for help): / wybieramy opcję n /
Command action
e extended
/ partycja rozszerzona /
p primary partition (1-4)
/ partycja podstawowa /
/ program zapyta nas o numer partycji, pierwszy i rozmiar partycji /
/ rozmiar możemy podać w cylindrach, KiB, MiB lub GiB /
/ wyjście z programu po wybraniu q – bez zapisania zmian /
/ wyjście z programu po wybraniu w – z zachowaniem zmian /
korzystanie z tablicy partycji zapisanej do pliku.
wykonaj zrzut tablicy partycji dysku do pliku
# sfdisk -d /dev/sda > sda.out
przywróć zapisaną tablicę partycji na drugim dysku
# sfdisk /dev/sda < sda.out
Tworzenie systemów plików
/sbin/mkfs.ext2
/sbin/mkfs.ext3
/sbin/mkfs.reiserfs
/sbin/mkfs.msdos
/sbin/mkfs.vfat
/sbin/mkfs.xfs
aby utworzyć system plików wywołujemy odpowiedni program z nazwą urządzenia jako
parametrem
# /sbin/mkfs.ext3 /dev/sda1
tworzenie obszaru wymiany
# mkswap /dev/sda5
podmontowanie partycji i aktywacja swapu
# mount /dev/sda1 /katalog_docelowy
# /sbin/swapon /dev/sda5
poznanie typu systemu plików
# file -s /dev/sda1
/dev/sda1: SGI XFS filesystem data (blksz 4096, inosz 256, v2 dirs)
4. Budowa systemu operacyjnego - LINUX (jądro, powłoki, schemat systemu)
Budowa Linuxa – model warstwowy
Strukturę systemu Linux najłatwiej przedstawić za pomocą modelu warstwowego. Jądro Linux’a zawiera takie elementy jak program szeregujący oraz programy obsługi urządzeń, które umożliwiają dostęp do sprzętu i urządzeń zewnętrznych. W jądrze realizowane jest także zarządzanie pamięcią.
Procesy w jądrze różnią się od procesów wykonywanych w warstwie je otaczającej. Procesy użytkowników, którymi zarządza proces szeregujący, mogą być przerwane w dowolnym momencie, a każdy z nich ma przydzielony pewien obszar pamięci. Jeżeli proces użytkownika zamierza dostać się do nie swojego obszaru pamięci, to zostaje on przerwany z komunikatem błędu segmentacji. Inaczej jest w przypadku jądra które ma dostęp do wszystkich zasobów komputera. Mamy więc dwa tryby w których może być wykonywany proces, mowa tu o trybie jądra i użytkownika. Zewnętrzna warstwa systemu składa się programów które kontaktują się z użytkownikiem. Warstwa ta zawiera interpreter poleceń tłumacząca wprowadzone polecenia sercu systemu – jądru. Następną warstwą są biblioteki zapewniające dostęp do funkcji bibliotecznych (zwykle pisanych w języku C) oraz do procedur jądra. Biblioteki te są zwykle dołączane do programu po kompilacji przez dodanie procedur bibliotecznych do procedury samego programu.

5. Założyciel LINUXA, rok powstania, wersja systemu.
Historia rozwoju
Linus Torvalds, twórca jądra Linuksa
Historia Linuksa rozpoczęła się w 1991 roku, kiedy to fiński programista, Linus Torvalds poinformował o hobbystycznym tworzeniu przez siebie niedużego, wolnego systemu operacyjnego, przeznaczonego dla procesorów z rodzin i386 oraz i486.
Linus stworzył jednak tylko jądro, pełny system operacyjny potrzebował jeszcze powłoki systemowej, kompilatora, bibliotek itp. W roli większości z tych narzędzi użyto oprogramowania GNU, co jednak w przypadku niektórych komponentów systemu wymagało poważnych zmian, niekiedy finansowanych przez Projekt GNU, niekiedy dokonanych już wcześniej przez Linusa Torvaldsa.
Dużo pracy wymagało także zintegrowanie systemu do postaci dystrybucji, które umożliwiały zainstalowanie go w stosunkowo prosty sposób. Jednymi z pierwszych były opublikowany 16 lipca 1993 Slackware Linux czy założony miesiąc później Debian, nazywający siebie GNU/Linux.
6. Najważniejsze cechy systemu:
Wielozadaniowość - cecha systemu operacyjnego umożliwiająca mu równoczesne wykonywanie więcej niż jednego procesu. Za realizację wielozadaniowości odpowiedzialne jest jądro systemu operacyjnego. Można więc jednocześnie np. kopiować pliki na pendrive'a, drukować coś na drukarce i dokonywać obliczeń w arkuszu kalkulacyjnym.
Wielodostępność - cecha umożliwiająca wielu użytkownikom pracę na jednym systemie w tym samym czasie Każdy użytkownik ma przydzielone zasoby, np. pamięć, czas procesora, miejsce na dysku, do których nikt oprócz niego nie ma dostępu. Użytkownik jest niezależny i odizolowany od innych.
Wielozadaniowość - (inaczej wieloprocesowość) jest to cecha systemu operacyjnego (a dokładniej jadra, 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 maja 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 mona uruchomić nieskończona 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.
Obsługa różnych typów systemów plików - System plików metoda przechowywania plików i zarządzania nimi, tak by dostęp do nich i danych w nich zgromadzonych był łatwy dla użytkownika systemu. System Linux potrafi obsługiwać wiele różnych systemów plików,
7. Na czym polega wywłaszczenie?
Wywłaszczanie - Polega na przerwaniu wykonywania procesu, odebraniu mu procesora i przekazaniu sterowania do planisty. Linux może wykorzystywać wiele procesorów. Gdy system ma mniej dostępnych procesorów niż zadań do wykonania, czas działania procesora jest dzielony pomiędzy wszystkie zadania. W systemach bez wywłaszczania procesy musza same dbać o sprawiedliwy podział czasu procesora
8. Jakie systemy plików są w Linux'ie?
NTFS - wersja systemu plików dla Windows (niektóre starsze dystrybucje mogą mieć problemy, zwłaszcza z obsługą zapisu)
FAT - system plików używany w środowisku DOS/Windows
ext3,4,5 - domyślny system plików w większości dystrybucji systemu Linux opartych na jadrze 2.4 oraz nowszych. W starszych dystrybucjach można spotkać wersję ext2
9. Jak wygląda struktura katalogów systemu Linux?
Podczas instalacji Linuksa tworzona jest struktura folderów na dysku lub dyskach zainstalowanych w komputerze. Podstawowa struktura katalogów jest dość ściśle określona wg standardu FHS (z ang. Filesystem Hierarchy System). Oficjalna strona standardu: https://www.pathname.com/fhs/
10. Definicja interpretatora poleceń, czyli powłoki systemu.
Program pośredniczący we współpracy użytkownika z jądrem systemu, ma postać wiersza poleceń Nie można pracować bezpośrednio z podstawową częścią systemu linuksowego, jaką jest jego jądro (kernel) - niezbędny jest do tego program pośredniczący, czyli właśnie interpreter, inaczej nazywany
powłoką systemu operacyjnego (shell). Jądro systemu zawiera wszelkie podprogramy potrzebne do przeprowadzania operacji wejścia i wyjścia, zarządzania plikami itp. Powłoka pozwala korzystać z tych podprogramów za pomocą wiersza poleceń. Poza tym, powłoki obsługują również język programowania.
Programy napisane w języku powłoki nazywane są zwykle skryptami lub skryptami powłoki.
SCHEMAT KOMUNIKACJI W SYSTEMIE LINUX

ZASADA DZIAŁANIA POWŁOKI W SYSTEMIE LINUX

POWŁOKI LINUX:





