T: Zarządzanie pamięcią. Systemy plików.
Zadanie 1:
Wykorzystując serwis internetowy Wikipedii zapoznaj się z informacjami na temat zarządzania pamięcią oraz systemami plików.
Zarządzanie pamięcią operacyjną - pamięć to duża tablica słów lub bajtów, każda z własnym adresem, pamięć jest szybko dostępna i dzielona jest pomiędzy procesor oraz urządzenia wejścia/wyjścia. Pamięć główna jest ulotnym miejscem przechowywania danych, traci swoją zawartość w czasie awarii systemu. System operacyjny jest odpowiedzialny w fazie zarządzania pamięcią za:
- utrzymywanie informacji, która część pamięci jest aktualnie używana i przez kogo,
- decydowania, który proces powinien zostać wczytany do pamięci, jeżeli pamięć jest wolna,
- przydzielanie i zwalnianie pamięci.
Zarządzanie plikami - plik jest zbiorem informacji zdefiniowanym przez twórcę pliku. Zazwyczaj, pliki reprezentują programy (źródła programów lub pliki wykonywalne) oraz dane. System operacyjny jest odpowiedzialny w fazie zarządzania plikami za:
- tworzenie i kasowanie plików,
- tworzenie i kasowanie katalogów,
- wsparcie dla użytkowników końcowych przy operacjach na plikach,
- mapowanie plików na nośniku danych,
- tworzenie kopii plików.
Zarządzanie wejściem/wyjściem - system wejścia/wyjścia składa się z: systemu buforowania, interfejsu urządzeń głównych, sterowników (kontrolerów) dla specyficznych urządzeń.
Zarządzenie nośnikami danych - pamięć główna jest ulotna i często za mała, aby obsłużyć wszystkie programy i dane, dlatego stosuje się nośniki danych (najczęściej dysk twardy) do powiększania tej pamięci tak zwanej pamięć drugiego rzędu, na napędach tych mapuje się pamięć główną. System operacyjny jest odpowiedzialny w fazie zarządzania nośnikami danych za:
- zarządzanie wolną pamięcią,
- alokacją zapisu,
- planowaniem dysku.
System plików to metody i struktury danych używane przez system operacyjny używane w celu zapisania informacji o plikach i ich zawartości na danej partycji; jest to sposób organizacji plików na dysku. Wspólnymi pomysłami systemów plików w systemach Unikowych są: superblok, iwęzeł, blok danych, blok katalogu, oraz blok pośredni. Superblok zawiera informacje o systemie jako całości, np. rozmiar (dokładna zawartość zależy od systemu plików). Iwęzeł zawiera wszelkie informacje o pliku, z wyjątkiem jego nazwy. Nazwa przechowywana jest w katalogu, razem z numerem iwęzła. Wpis katalogu zawiera nazwę, liczbę iwęzłów plików. Iwęzeł zawiera numery kilku bloków danych, które używane są do przechowywania pliku. Automatycznie alokowane miejsce pozwala przechowywać tylko kilka numerów, jednak w razie potrzeby zostaje dynamicznie alokowana dodatkowa przestrzeń. Bloki alokowane dynamicznie nazywają się bezpośrednimi; nazwa wskazuje, że w celu znalezienia numeru bloku danych należy znaleźć pierwszy blok pośredni.
Linux obsługuje kilka typów systemów plików. Najważniejszymi z nich są:
- minix - Najstarszy, uważany za najbardziej niezawodny, jednak posiada on znaczne ograniczenia (brakuje niektórych znaczników czasu, nazwy plików mogą mieć maksymalnie 30 znaków, system plików może mieć co najwyżej 64 MB).
- xia - Zmodyfikowana wersja systemu minix, w której zostały podniesione limity: maksymalnej długości nazwy oraz rozmiaru systemu plików. Żadne nowości nie zostały wprowadzone. Nie jest zbyt popularny, jednak istnieją dowody, iż działa całkiem dobrze.
- reiserfs - Bardzo szybki i stabilny system plików, szczególnie dobrze radzi sobie z dużą ilością małych plików. Obecnie w wersji 3.6, na ukończeniu są natomiast pracę nad następcą Reiser4.
- xfs - Również szybki system plików, głównie za sprawą tego, iż wiele informacji przechowuje w pamięci RAM. Niestety jest przez to podatny na zaniki prądu.
- ext3 - W zasadzie jest to ext2 z tą różnicą, że ma mechanizmy księgowania operacji, przez co wzrosła stabilność tego systemu plików i odporność na zaniki prądu. Można go jednak zamontować jako ext2 (bez księgowania).
- ext2 - Pozbawiony księgowania, wyparty przez ext3.
- ext - Starsza wersja ext2, nie jest zgodna wzwyż. Aktualnie nieużywany, większość ludzi używa ext3.
- Powstające systemy - Aktualnie powstaje kilka systemów 'z kartoteką', ich cechami są szybkość operacji na dużej ilości plików, oraz algorytmy obsługujące, które pozwalają na samoczynne naprawianie się systemu w czasie pracy. Jądro Linuksa potrafi, jeżeli tak je skompilowano, obsłużyć systemy plików obcego pochodzenia. Systemom takim często brakuje pewnych cech znanych z rozwiązań rdzennych dla Uniksa, czasami posiadają one dziwne ograniczenia.
- ntfs - System plików stosowany w Windowsach z linii NT (NT, 2000, XP, 2003, Vista)
- msdos - Kompatybliny z MS-DOS (OS/2 i Windows NT) system plików FAT.
- usmdos - Rozszerzona wersja systemu msdos, która umożliwia tworzyć długie nazwy plików, ustanawiać właścicieli, prawa dostępu, łącza, oraz pliki urządzeń. Dzięki niemu zwykły system plików msdos zyskuje cechy znane w środowisku Unix, oraz umożliwia zainstalowanie Linuksa na partycji MS-DOS.
- iso9660 - Standardowy system plików płyt CD-ROM i DVD.
- udf (ang. Universal Disk Format) - system plików służący do zapisywania danych na nagrywanych nośnikach danych (CD, DVD, Blu-ray).
- nfs - Sieciowy System Plików Suna umożliwia dzielenie systemów plików poprzez sieć, umożliwia tworzenie bezdyskowych stacji, itp.
- hpfs - System plików OS/2.
- sysv - Używany przez SystemV/386, Coherenta i Xenixa.
Zadanie2:
Zapoznaj się z pomocą na temat polecenia mount oraz zawartością plików /etc/fstab i /etc/mtab.
Zestaw poleceń do przeanalizowania:
free
top
atop
ps
vmstat
uptime
df
du
mount
umount
fs
mkfs
mkdosfs
fsck
fsck.ext4