Systemy plików UNIX Krzysztof Ratkowski Mateusz Wosiński.

Slides:



Advertisements
Podobne prezentacje
Wirtualizacja zasobów w systemach operacyjnych
Advertisements

Wstęp do strumieni danych
Użytkowanie Sieci Marcin KORZEB WSTI - Użytkowanie Sieci.
Systemy plików Bibliografia:
SYSTEMY OPERACYJNE ·       SO : zestaw programów zarządzających zasobami komputera i wspomagających jego użytkowanie zarządzanie zasobami.
BEZPIECZEŃSTWO DANYCH W KOMPUTERZE
Sieci komputerowe.
1 Linux jako system wielozadaniowy i wielodostępny.
SIECI KOMPUTEROWE (SieKom) PIOTR MAJCHER WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU W SOCHACZEWIE Zarządzanie.
Zapis danych.
Zabezpieczenia w systemie plików NTFS
Systemy plików FAT12, FAT16, FAT32, NTFS.
Inżynieria oprogramowania Lecture XXX JavaTM – część IV: IO
System plików UNIX i sposób ich reprezentacji przez i-węzły
Systemy plików FAT i FAT 32
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Systemy operacyjne.
Systemy plików Bibliografia:
Systemy operacyjne Bibliografia:
Systemy operacyjne - Windows
ZARZĄDZANIE PROCESAMI
1 Podstawy informatyki H. P. Janecki- 2006_ Systemy Operacyjne W6.
Modele baz danych - spojrzenie na poziom fizyczny
Systemy plików.
Podstawowe usługi internetu
ACTIVE DIRECTORY Definicja Active Directory.
Porządki na dysku Patrycja Galik III B. Defragmentacja dysków Dane, które zapisujemy na dysku twardym początkowo umieszczają się kolejno po sobie. Jednak.
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
Systemy plików FAT12, FAT16, FAT32, NTFS.
Tworzenie nowych kont lokalnych i domenowych, oraz zarządzanie nimi
Linux - polecenia.
Wielozadaniowowść systemu operacyjnego Linux
Pliki Pojęcie i rodzaje plików Definicja typu plikowego Operacje wykonywane na plikach elementowych.
Pliki tekstowe – A. Jędryczkowski © 2007 Turbo Pascal umożliwia wykorzystanie w programach plików tekstowych. Pliki takie zawierają informację niezakodowaną
Dysk fizyczny i logiczny
Solphy Polska Prezentacja Produktu Solphy Home Storage.
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Prezentacja i szkolenie
Podstawowe usługi systemów operacyjnych
Systemy plików FAT, FAT32, NTFS
Przerwanie ang. interrupt.
Pamięć komputerowa S t r u k t u r a p a m i ę c i.
Nośniki informacji i akcesoria komputerowe
Przeglądanie zasobów komputera - uruchamianie programów
Defragmentacja dysku Jednym z kluczowych czynników wydajności operacji wejścia/wyjścia jest poziom fragmentacji plików. Fragmentacja oznacza zapisywanie.
Sieciowe systemy operacyjne - UNIX
Wybrane zagadnienia relacyjnych baz danych
Elementy zestawu komputerowego
W ą t e k (lekki proces) thread.
Systemy operacyjne (wiosna 2014)
Systemy plików Bibliografia: Windows XP. Komendy i polecenia. Praktyczne przykłady, P. Czarny Windows XP. Naprawa i optymalizacja, B. Danowski Windows.
Wzorce slajdów programu microsoft powerpoint
Systemy operacyjne i sieci komputerowe
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
System plików.
System Zarządzania Bazą Danych
Adam Łożyński IVi System plików NTFS listy kontroli dostępu (ACL)
Procesor, pamięć, przerwania, WE/WY, …
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Dowiązania (linki) twarde i symboliczne
Temat 4 Systemy plików [Przedmiot: Systemy operacyjne | Opracował: mgr Marek Kwiatkowski | ZS Mogilno – 2015]
Systemy operacyjne - Budowa systemu komputerowego i jego zadania
Tryby adresowania i formaty rozkazów mikroprocesora
SYSTEM PLIKÓW Źródło: Systemy operacyjne i sieci komputerowe - HELION.
 Formuła to wyrażenie algebraiczne (wzór) określające jakie operacje ma wykonać program na danych. Może ona zawierać liczby, łańcuchy znaków, funkcje,
Maciej Romanowski. Wirusy komputerowe to programy tworzone specjalnie do zakłócania pracy komputera, rejestrowania, uszkadzania lub rozprzestrzeniania.
Strumienie, Wczytywanie, Zapisywanie, Operacje na plikach
Programowanie Obiektowe – Wykład 2
System operacyjny Linux
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

Systemy plików UNIX Krzysztof Ratkowski Mateusz Wosiński

Po co nam system plików? System plików umożliwia logiczny podział urządzeń służących do przechowywania danych. Pozwala to zbudować strukturę, przez którą użytkownik może odwołać się do określonego pliku w systemie.

Cechy charakterystyczne Hierarchiczna struktura Zgodne traktowanie plików danych Możliwość tworzenia i niszczenia plików Dynamiczne powiększanie plików Ochrona plików danych Traktowanie urządzeń zewnętrznych jak plików.

Wirtualny system plików UNIX potrafi obsługiwać wiele różnych formatów systemów plików. Wirtualny system plików przy dostępie do danych w różnych formatach używa zunifikowanego interfejsu, dzięki czemu z poziomu użytkownika dodanie obsługi nowego formatu danych jest stosunkowo proste. Taka koncepcja umożliwia implementowanie obsługi zarówno takich formatów danych, które są zapisane na fizycznym nośniku (jak etx2), takich, które są dostępne za pośrednictwem sieci (jak nfs), jak i takich, które są tworzone dynamicznie, na żądanie użytkownika (jak proc).

Struktura systemu plików

Procesy odwołują się do plików za pomocą zbioru funkcji systemowych. Zawiera on zarówno funkcje obsługujące istniejące pliki, a wśród nich open(), read(), write() i close(), jak i funkcje służące do tworzenia nowych plików, jak creat(). Obejmuje on również funkcje wykorzystywane przy implementacji potoków: pipe() i dup().

Struktury danych VFS VFS reprezentuje podejście obiektowe do systemu plików. Podstawowe obiekty, zapewniające jednolity interfejs do systemów plików o różnych formatach, to: Struktura files - przechowuje lokalne dla procesu informacje o deskryptorach otwartych plików i sposobie obsługi plików. Ten obiekt istnieje jedynie w pamięci operacyjnej. Struktura file - przechowuje informacje o związku procesu z otwartym plikiem. Ten obiekt istnieje jedynie w pamięci operacyjnej. Struktura dentry - przechowuje informacje o związku między pozycją w katalogu a plikiem. Każdy dyskowy system plików przechowuje tę informację na dysku we właściwy sobie sposób.

Struktury danych VFS I-węzeł to metryczka pliku zawierająca wszystkie podstawowe informacje o pliku. Dla dyskowych systemów plików obiekt ten ma swój odpowiednik w postaci bloku kontrolnego pliku, przechowywanego na dysku. Z każdym i-węzłem jest związany numer i-węzła, który jednoznacznie identyfikuje plik w systemie plików. Struktura address_space odwzorowuje wszystkie strony jednego pliku (czyli obraz przestrzeni adresowej tego pliku w pamięci operacyjnej) w bloki dyskowe (czyli obraz przestrzeni adresowej tego pliku na dysku). Superblok przechowuje informacje o zamontowanym systemie plików. Dla dyskowych systemów plików obiekt ten ma swój odpowiednik w postaci bloku kontrolnego systemu plików, przechowywanego na dysku.

Przykład

Schemat drzewa

Programy w systemie UNIX nie znają rzeczywistego formatu, w jakim jądro przechowuje pliki. Widoczne są one jako strumienie bajtów, a poszczególne programy same interpretują dany strumień. Pod tym względem, również katalogi niczym nie różnią się od zwykłych plików poza tym, że zawierają nazwy plików w nich zawartych, co pozwala programom takim jak ls dostać się do zapamiętanych plików

Prawa dostępu Pozwolenie na korzystanie z pliku określają prawa dostępu. Są one pogrupowane dla trzech rodzajów użytkowników: Właściciela Grupy Wszystkich użytkowników.

Prawa dostępu Są też trzy rodzaje praw dostępu: prawo odczytu prawo zapisu prawo wykonania. Użytkownik może tworzyć pliki w katalogu, do którego ma prawa do zapisu

I-węzły zapisywane są w pewnym wydzielonym obszarze dysku. W największym skrócie każdy plik reprezentowany jest przez tzw. i-węzeł (i-node). I-węzły zapisywane są w pewnym wydzielonym obszarze dysku. To właśnie w nich zapisane są takie informacje jak właściciel pliku, grupa, prawa dostępu, czas utworzenia pliku, ostatniej modyfikacji i ostatniego dostępu, tytułowy typ pliku, jego rozmiar no i oczywiście najważniejsze - numer i-węzła.

Dalej o i-węzłach W i-węźle nie jest zapisana nazwa pliku. Mogą się tu za to znaleźć informacje o blokach dyskowych, w których zapisano znajdujące się w pliku dane, ale nie jest to konieczne. Odnajdywanie plików po numerach i-węzłów byłoby co najmniej żmudne, dlatego utworzono dodatkowe struktury zwane katalogami (katalogi dyskowe).

Katalogi Katalog jest plikiem specjalnego typu, w którym umieszczono listę nazw plików wraz z numerami i-węzłów. Do jednego i-węzła mogą istnieć odwołania z różnych katalogów, dlatego zapisuje się w nim informację o liczbie takich dowiązań. Gdy liczba ta osiągnie zero, plik można bezpiecznie skasować. Oznacza to, że jeden plik może mieć kilka nazw w jednym lub w wielu katalogach. Jest to istotna różnica pomiędzy systemami plików klasy UNIX a PC. Informację o liczbie dowiązań pokazuje polecenie ls -l w drugiej kolumnie.

I-węzły – jak to działa? Kiedy użytkownik, lub proces systemowy zgłasza żądanie dostępu do pliku, dokonuje się kilka operacji: podsystem plików otrzymuje komendę otwarcia pliku, odczytu lub zapisu. Uzyskuje dostęp do deskryptora plików w celu uzyskania informacji potrzebnych do dostępu do tablicy plików

I-węzły – jak to działa? Tablica plików wskazuje na odpowiedni i-węzeł Gdy podsystem plików ma informacje i-węzła, może już zająć się zapytaniem użytkownika lub procesu i udzielić dostępu do określonego pliku.

Trzy tablice Jądro systemu UNIX oprócz tablicy i-węzłów utrzymuje jeszcze dwie dodatkowe tablice: Tablicę deskryptorów plików użytkownika oraz tablicę plików. Tablica plików jest globalną strukturą jądra, natomiast tablica deskryptorów jest przydzielana każdemu procesowi niezależnie. Gdy proces otwiera lub tworzy nowy plik, jądro przydziela w każdej tablicy miejsce odpowiadające i-węzłowi.

Informacje pamiętane w tych trzech tablicach określają stan pliku i dostęp do niego. deskryptory pliki i-węzły

Budowa systemu plików System plików składa się z ciągu bloków logicznych, zawierających 512, 1024, 2048, ... bajtów. Rozmiar bloku logicznego jest ten sam wewnątrz danego systemu plików, ale może różnić się w ramach danej konfiguracji systemu.

Struktura systemu plików Blok systemowy (boot block) zajmuje początek systemu plików i może zawierać program bootujący czytany do pamięci komputera w celu zainicjowania systemu operacyjnego. Choć do załadowania systemu wystarczy jeden taki blok, to jednak każdy system plików ma taki blok zarezerwowany (może on być pusty).

Struktura systemu plików Blok identyfikacyjny (super block) – opisuje stan systemu plików. Zawiera następujące informacje: - nazwę systemu plików - rozmiar systemu plików - adres pierwszego bloku danych - licznik i-węzłów

Super block - cd - listę i-węzłów - licznik wolnych bloków danych - datę ostatniej aktualizacji bloku. Dla każdego zamontowanego systemu plików blok ten przechowywany jest w pamięci operacyjnej, co pozwala znacznie przyśpieszyć dostęp. Z drugiej strony prowadzi to do pewnej niekonsekwencji pomiędzy zawartością tego bloku i danymi w systemie plików.

Super block - cd Ta niespójność spowodowała powstanie komendy systemowej sync, która wymusza zapis bloków identyfikacyjnych z pamięci do odpowiednich systemów plików na dyskach. Na wielu systemach, proces systemowy cron automatycznie uruchamia tę komendę w celu zminimalizowania szkód powstałych w wyniku przypadkowego zamknięcia systemu (np. awarii zasilania)

Struktura systemu plików Lista i-węzłów – zawiera i-węzły umieszczone w systemie plików za blokiem identyfikacyjnym. Administrator określa rozmiar tej tablicy podczas konfiguracji systemu. Jeden z i-węzłów reprezentuje korzeń systemu plików i udostępnia strukturę podczas wykonywania funkcji systemowej mount.

Struktura systemu plików Bloki danych zaczynają się od końca listy i-węzłów i zawierają dane z plików oraz dane administracyjne. Przydzielony blok danych może należeć do tylko jednego pliku w systemie plików.

Kronikowanie Technika polegająca na zapisywaniu dokonywanych w systemie plików zmian zamiast uaktualniania konkretnych danych. Zabezpiecza system plików przed utratą spójności w wyniku awarii zasilania. Przy użyciu kronikowania zmiany dokonywane w systemie plików są najpierw zapisywane w tzw. kronice lub dzienniku (ang. journal), a dopiero później na dysku.

Kronikowanie Jeśli awaria zasilania nastąpiła w trakcie ostatecznego zapisu na dysk, to zostanie on dokończony po ponownym starcie systemu. Jeśli prądu zabraknie w czasie edycji dziennika, to system plików nie zostanie w ogóle naruszony.

Kronikowanie Systemy z kronikowaniem są powszechnie używane przez różne serwerowe systemy operacyjne - od "poważnych" UNIX-ów, takich jak Solaris (system plików Veritas) czy SGI IRIX (XFS), poprzez Linuksa (ext3, JFS IBM-a, XFS i RaiserFS), BSD (LFS), OS/2 (JFS) czy BeOS-a (BeFS), aż po Windows 2000/XP (NTFS 5.0).

To już koniec…