Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałMartyn Szydlik Został zmieniony 10 lat temu
1
System plików UNIX i sposób ich reprezentacji przez i-węzły
Autorzy nie przyznają się do tego, bo boja się posadzenia o plagiat przez: Paweł Kwiatkowski Jarosław Staniek Danuta Zbos
2
Autorzy:
3
Koniec
4
historia UNIX to system operacyjny stworzony z końcem lat 60-tych w Bell Laboratories (dział badawczy AT&T). Wszystkie współczesne realizacje Unixa wywodzą się z jednej z dwóch odmian bazowych : BSD UNIX (SunOs, Solaris, HP-UX, Ultrix,...) i Unix System V (SCO UNIX/XENIX, UnixWare, Consensys,...). Po wielu latach konkurencji twórcy obu odmian doszli do porozumienia i opracowano wersję wzorcową Unixa - SVR4.x, która wywarła intensywny wpływ na wszystkie współczesne realizacje Unixa.
5
ORGANIZACJA SYSTEMU PLIKÓW W SYSTEMIE UNIX
System UNIX posiada hierarchiczny system plików Wszystko w systemie UNIX jest traktowane jak plik: - dokumenty - pliki danych - urządzenia: mysz, klawiatura, etc. - katalog – specjalny rodzaj pliku Najwyższy poziom hierarchii – katalog główny, root, "/„ Typowe podkatalogi systemu: bin , dev , etc , lib , mnt , tmp i usr
6
System plików Pliki i katalogi tworzące jednolitą i hierarchiczną strukturę w systemie Unix mogą być ulokowane na wielu fizycznych urządzeniach (dyskach twardych, dyskietkach, CD-ROM'ach) Dysk twardy (urządzenie fizyczne) może być podzielony na urządzenia logiczne (partycje)
7
System plików Na każdym urządzeniu (fizycznym i logicznym) może być zdefiniowany system plików Unix może tworzyć i obsługiwać kilka rodzajów systemów plików W katalogach zapisane są dwie podstawowe informacje o pliku: nazwa pliku oraz numer i-węzła
8
System plików Logiczny system plików jest ciągiem ponumerowanych od zera począwszy bloków (blok to najczęściej 1024 bajty lub wielokrotność tej wartości) i są to kolejno boot block - blok 0 super block - blok nadrzędny i-node list - lista i-węzłów data block - blok danych . . .
9
System plików Wirtualny system plików (z ang. VFS - Virtual File System lub Virtual Filesystem Switch) jest warstwą jądra umożliwiającą programom użytkowym dostęp do danych niezależnie od formatu ich przechowywania. Jest to możliwe dzięki temu, że większość systemów plików udostępnia zbliżony zestaw operacji różniących się często tylko wewnętrzną implementacją. Poprzez udostępnienie programom obsługi poszczególnych systemów plików jednolitego interfejsu VFS umożliwia różnym systemom plików wspólną pracę w ramach tego samego systemu operacyjnego ukrywając przed użytkownikiem ich rzeczywistą strukturę. Sprawia to, że użytkownik nie musi troszczyć się o to z jakim systemem plików aktualnie współpracuje.
10
System plików
11
System plików Proces użytkowy w momencie, gdy chce uzyskać dostęp do jakiegoś pliku wywołuje jedną ze standardowych funkcji systemowych (np. open, read). Następnie żądanie to jest przekazywane do wirtualnego systemu plików i w zależności od rodzaju systemu plików w jakim jest zapisany dany plik VFS wywołuje funkcję odpowiadającą temu właśnie systemowi plików. Mechanizm ten jest wizualnie odwzorowany na rysunku.
12
System plików Użytkownik (jego procesy) otrzymają dostęp do swoich danych poprzez pliki, czyli ciągi bajtów (o swobodnym dostępie) opatrzonych nazwą, które mogą przechowywać w hierarchicznej strukturze katalogów. Wszystkie pliki w systemie umieszczone są w jednym drzewie katalogów (a nie tak jak w DOSie), którego liście zawierają pliki, zaś węzły wewnętrzne to katalogi. Operacja na plikach wykonuje się przy użyciu funkcji systemowych ( open(), read(), write(), chdir()...) stanowiących interfejs do sytemu plików, nie zależny od rodzaju stosowanego nośnika danych.
13
System plików Poniżej funkcji systemowych znajduje się warstwa wirtualnego systemu plików (VFS), która odpowiada za reprezentację plików w jądrze. Zastosowano jednolite podejście polegające na powiązaniu każdego pliku z i-węzłem, zawierającym informacje o pliku i wskaźniki do funkcji pozwalających na operowanie plikiem (dla różnych rodzajów nośnika lub sposobu zapisu wystarcza więc zmieniać tylko wskaźniki do właściwych implementacji).
14
System plików Wydajność systemu plików unixa podnosi kolejna warstwa: pamieć buforowa. Obsługuje ona żądania czytania i pisania bloków bajtów z fizycznych urządzeń ( bread(), bwrite() ) udostępniając jednolity interfejs dostępu do nich. Ważniejszym zadaniem pełnionym przez pamięć buforową jest jednak umożliwianie opóźnionego zapisu i czytania z wyprzedzeniem, czyli ogólnie ograniczanie rzeczywistej ilości operacji dyskowych wykonywanych przez jądro.
15
System plików Ostatnia warstwa to podsystem wejścia-wyjścia który implementuje niskopoziomowe odwołania do fizycznych urządzeń. Podsumowując, system plików umożliwia użytkownikowi wygodny sposób dostępu do fizycznej reprezentacji jego danych. Ze względów bezpieczeństwa (danych i systemu jako całości) oraz faktu że inne części systemu operacyjnego również korzystają z sytemu plików wszelkie usługi związane z operacjami na fizycznych danych powinny być dostarczane przez jądro.
16
i-węzły Każdemu używanemu aktualnie plikowi w dowolnym systemie plików odpowiada przechowywana w pamięci struktura inode (i-węzeł).
17
i-węzły i-węzły zawierają: Typ pliku i prawa dostępu do niego
Liczba dowiązań. Identyfikator właściciela UID Identyfikator grupy pliku GID Rozmiar pliku
18
i-węzły Dane o adresach bloków, w których zapisany jest plik. Adresy części bloków są podawane w sposób bezpośredni. Jeśli wyczerpią się możliwości takiego adresowania, to przechodzi się na adresowanie pośrednie (tzn. podany jest adres bloku gdzie znajdują się adresy bloków składających się na plik), a jeśli to się wyczerpie, to przechodzimy na adresowanie podwójnie pośrednie ...
19
i-węzły Data ostatniego dostępu do pliku.
Data ostatniej modyfikacji pliku. Data ostatniej modyfikacji i-węzła.
20
i-węzły
21
i-węzły Teraz załóżmy, że katalogiem bieżącym jest „studia”, a interesującym nas plikiem jest plik „materialy.zip”. Jak wiadomo jego ścieżka względna ma postać systemy/materialy.zip. Co system operacyjny winien zrobić, by znaleźć na dysku bloki danych pliku „materialy.zip”? Jądro systemu przechowuje i-numer bieżącego katalogu. Załóżmy zatem, że i-numerem katalogu „studia” jest 100. Poniższy rysunek pokazuje drogę sytemu operacyjnego do pliku „materialy.zip”.
23
i-węzły Droga jest następująca: i-numer 100 prowadzi do i-węzła 100
z i-węzła 100 wybierany jest adres bloku zawierającego spis katalogu studia, wynosi on 1000, w bloku danych o adresie 1000 wyszukiwany jest i-numer pliku listy, wynosi on 101 i prowadzi do odpowiedniego i-węzła, w i-węźle 101 dowiadujemy się, że katalog systemy zajmuje blok 2000, w bloku danych o adresie 2000 wyszukiwany jest i-numer pliku materialy.zip, wynosi on 200 i prowadzi do odpowiedniego i-węzła, w i-węźle 200 dowiadujemy się, że plik materialy.zip zajmuje 2 bloki danych, i że są to kolejno blok 3000 i 4000, a to wystarczy by odczytać interesujący nas plik.
24
A teraz coś z zupełnie innej beczki
Orły (Aquilinae) uprawiają sex lecąc z prędkością 90 km/h
25
Koniec Pytania prosimy kierować do: Starca z Gór;
Bruklińskiej Rady Żydów; Człowieka z Magnetofonem w Nosie;
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.