Powtórzenie wiadomości i zadania do rozwiązania
Transkrypt
Powtórzenie wiadomości i zadania do rozwiązania
Podstawowe wiadomości o systemach plików. Komputery mogą przechowywać informacje w kilku różnych postaciach fizycznych na różnych nośnikach i urządzeniach np. w postaci zapisów na dysku twardym, płytce CD, pen-drive, taśmie magnetycznej. Każde urządzenie ma specyficzne właściwości i organizację fizyczną. Aby system komputerowy. był wygodny w użyciu S.O. posługuje się jednolitą niezależną od urządzenia jednostką logiczną magazynowanej informacji – plikiem. Plik (File) Plik jest typem danych będącym ciągiem kolejnych elementów pliku zakończonych znakiem końca pliku (EOF – End Of File). element1 element2 element3 ... EOF Informacja zawarta w pliku określona jest przez jego twórcę. W systemie plików. każdy plik posiada nazwę poprzez którą użytkownik może się do niego odwoływać. i inne cechy (np. czas założenia, atrybuty, długość, prawa użytkownika do przeprowadzania operacji na pliku) Katalogowe systemy plików (File System) System plików to wszystko to co służy do przechowywania plików i zarządzania nimi. Podstawowe operacje które udostępnia system plików to: – tworzenie pliku – pisanie do pliku, dopisywanie do pliku – zmiana nazwy pliku – czytanie pliku – usuwanie pliku – tworzenie katalogu – zmiana nazwy katalogu – zmiana różnych właściwości pliku lub katalogu System plików składa się zasadniczo z 3 części: – zbioru plików i informacji o nich zapisanych na nośniku – Struktury katalogowej i partycji – części oprogramowania S.O. służącej do zarządzania systemem plików 1 System plików ma strukturę warstwową. Podstawowym zadaniem systemu jest „tłumaczenie” operacji na plikach i katalogach (logiczny system plików) na odpowiednie operacje zapisu lub odczytu na fizycznych urządzeniach (zapisy na urządzeniach nazywamy fizycznym systemem plików) Użytkownik zleca operacje na logicznym systemie plików dostarczanym użytkownikowi przez system Oprogramowanie Systemu plików tłumaczy polecenie użytkownika na ciąg poleceń zapisu lub odczytu na urządzeniu Sterowniki urządzeń wykonują zlecone polecenia zapisu lub odczytu Urządzenia i zapisy na nośnku (fizyczny system plików) 2 Sposoby zapisu plików na nośniku Zapis ciągły - sekwencyjny Kolejne elementy pliku zapisywane są na kolejnych fragmentach nośnika w sposób ciągły. Pliki oddzielone są od siebie znacznikami początku i końca pliku. Plik 1 Plik 2 Plik 3 Plik 4 Plik 5 Ten sposób zapisu, chociaż wydaje się wygodny (wystarczy znaleźć znacznik początku pliku i czytać kolejne elementy aż do końca) niesie ze sobą wiele komplikacji. Dla przykładu usunie plików Plik2 i Plik3 powoduje powstanie luk na nośniku. Zapisanie pliku dłuższego niż najdłuższa luka (na rysunku poniżej Plik 6)nie jest możliwe mimo iż pojemność wolnego nośnika jest wystarczająca dla zapisania pliku. Plik 1 Plik 3 Plik 5 Plik 6 Plik 6 można oczywiście zapisać wymagałoby to jednak wcześniejszego przepisania plików znajdujących się na nośniku co jest operacją bardzo pracochłonną. Wadami systemów sekwencyjnych plików są: słabe wykorzystanie nośnika i konieczność pracochłonnego przepisywania danych w celu lepszego wykorzystania nośnika. Ten sposób zapisu wykorzystuje się praktycznie tylko do zapisu plików na taśmach. 3 Zapis nieciągły w jednostkach alokacji (alocation units) Przy tym sposobie zapisu nośnik jest dzielony na części zwane jednostkami alokacji (rozmieszczania) kolejnym jednostkom alokacji nadaje się kolejne adresy (numery). Na takie same części dzielone są pliki. Kolejne części pliku pliku zapisywane są w wolnych jednostkach alokacji (niekoniecznie kolejnych). Jednostka alokacji jest jednocześnie najmniejszą ilością informacji którą można zapisać na nośniku. Nawet jeżeli ostatnia część pliku lub plik są krótsze niż jednostka alokacji zajmują całą jednostkę. Taki sposób zapisu pozwala umieszczać w lukach pomiędzy plikami fragmenty innych plików eliminując w ten sposób Nośnik podzielony na jednostki alokacji 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Przykładowe rozmieszczenie plików Plik 1 i Plik 2 na nośniku 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Plik 1 podzielony na jednostki alokacji Ala_ lubi _kot y Plik 2 podzielony na jednostki alokacji Ola_ Ala_ woli Ola_ _psy lubi woli _kot _psy y Ponieważ w tym wypadku pliki nie są rozmieszczone na nośniku w sposób ciągły nie wystarczy pamiętać gdzie plik się zaczyna. Trzeba pamiętać gdzie i w jakiej kolejności został rozmieszczony. Często używa się w tym celu struktury listowej. Struktura listowa Struktura listowa jest to taka struktura gdzie z każdym elementem danych jest związany jest adres (wskaźnika do) następnego elementu. Ostatni element danych zamiast wskaźnika zawiera oznaczenie końca pliku EOF (End Of File). Przykład struktury listowej. 1 2 Ala_ [3] Ola_ [5] 3 lubi [6] 4 5 6 woli [7] _kot [9] 7 _psy [EOF] 8 9 10 11 12 13 14 15 y [EOF] Do odczytania pliku zapisanego za pomocą struktury listowej wystarcza znajomość adresu pierwszej jednostki alokacji pliku. Zawarta jest informacja o adresie drugiej jednostki alokacji pliku. Czytając drugą jednostkę alokacji znajdziemy tam adres trzeciej jednostki alokacji pliku itd. Zadanie: 4 16 Odczytaj pliki plik1.txt rozpoczynający się w 1 jednostce alokacji i plik2.txt rozpoczynający się w 2 jednostce alokacji. Struktura listowa z FAT (File Alocation Table – tablica rozmiaszczenia plików) W tej strukturze wskaźniki adresy są oddzielone od plików i znajdują się w tablicy alokacji plików. Pozycje tablicy ponumerowane są tak jak jednostki alokacji każda z nich związana jest z jednostką alokacji o tym samym numerze. Pozycja tablicy zawiera: • 0 jeżeli związana z nią jednostka alokacji jest wolna, • adres - wskaźnik do jednostki alokacji zawierającej następną część pliku • EOF jeżeli w jednostce alokacji znajduje się ostatni fragment pliku. Przykład struktury listowej bez FAT 1 2 3 Ala_ [3] Ola_ [5] 4 lubi [6] 5 6 7 woli [7] _kot [9] 8 _psy [EOF] 9 10 11 12 13 14 15 16 y [EOF] Przykład struktury listowej z FAT Obszar FAT Obszar danych 1 2 3 4 5 6 7 8 9 3 5 6 0 7 9 eof 0 eof ... 1 2 3 Ala Ola lubi 4 5 6 7 woli _kot _psy 8 9 ... y Zadanie: Odczytaj pliki plik1.txt rozpoczynający się w 1 jednostce alokacji i plik2.txt rozpoczynający się w 2 jednostce alokacji. Katalogi Katalog jest plikiem zawierającymi pozycje katalogowe. Każda pozycja katalogowa jest opisem pliku lub katalogu umieszczonego w tym katalogu. Struktury katalogowe tworzą drzewa których korzeniem jest katalog główny (root – korzeń) Przykład struktury katalogowej. \-+ | +- list1.txt | |-list2.txt | +-obrazki + | +-obrazek1.jpg +-obrazek2.jpg 5 Katalog główny \ zawiera opisy plików list1.txt, list2.txt i katalogu obrazki.txt. podkatalog obrazki.txt zawiera opisy plików obrazek1.jpg i obrazek2.jpg. Katalogi w systemie plików FAT Katalog w systemie FAT jest plikiem zawierającym pozycje katalogowe z których każda zawiera informacje o umieszczonych w nim plikach i katalogach m.in. nazwę pliku lub katalogu adres pierwszej jednostki alokacji pliku lub katalogu czas utworzenia czas ostatniej modyfikacji atrybuty • a – do archiwizacji • r – tylko do odczytu • s – plik systemowy • h – plik ukryty • d – katalog • v – dysk logiczny (zawiera literę nazwy dysku logicznego, występuje tylko w jednym wpisie w katalogu • rozmiar pliku • • • • • Katalog główny jest katalogiem wyjątkowym. Jest on plikiem o stałym położeniu rozpoczynającym się za tablicami alokacji plików. (oprócz tablicy alokacji plików FAT1 w systemie FAT znajduje się tablica zapasowa FAT2 będąca kopią FAT1 na wypadek jej uszkodzenia) przykład fragmentu systemu FAT z katalogiem głównym: Obszar FAT Katalog główny Obszar Danych Obszar FAT 2 3 4 4 7 6 5 6 7 8 9 10 11 eof 10 5 0 11 eof 0 ... 0 Katalog główny [List1.txt|2|a|...] [List2.txt|3|a|...] [Obrazki|9|a|d] ... Obszar danych 2 Cześć tato! ... 3 4 5 Cześć Jola! U mnie ... Franio ... Ale była wszystko w impreza ... porządku ... . 6 Uczę się pilnie ....Franek 7 8 Przyjedź w Jest sobotę ... ciepło ... 9 10 [Obrazek1.j Przyjadę w pg|76|ar]... sobotę ... 11 [Obrazek9.j pg|123| ar] ... Zadanie: Odczytaj co zawiera system plików z powyższego przykładu. Jakie katalogi i co się w nich znajduje. Jaka jest zawartość plików tekstowych. 6 ...