• Nie Znaleziono Wyników

Systemy Systemy plikówplików

N/A
N/A
Protected

Academic year: 2021

Share "Systemy Systemy plikówplików"

Copied!
41
0
0

Pełen tekst

(1)

Systemy

Systemy plików plików

Bibliografia:

Windows XP. Komendy i polecenia. Praktyczne przykłady, P. Czarny

Windows XP. Naprawa i optymalizacja, B. Danowski Windows XP Home Pl, D. Mendrala i M. Szeliga

Windows Vista PL. Instalacja i naprawa, B. Danowski www.chip.pl

www.howto.pl www.wikipedia.pl

Opracował: Andrzej Nowak

(2)

Pojęcie pliku

Pojęcie pliku

(3)

Pojęcie pliku (ang. file)

Plik jest abstrakcyjnym obrazem informacji gromadzonej i udostępnianej przez system komputerowy.

• Plik jest podstawową jednostką logiczną magazynowania informacji w systemie komputerowym, widoczną dla

użytkownika.

• Plik jest nazwanym zbiorem powiązanych ze sobą informacji, zapisanym w pamięci pomocniczej (najczęściej nieulotnej, czyli trwałej).

(4)

Atrybuty pliku

• Nazwa — ciąg znaków służących użytkownikowi do identyfikacji pliku

• Typ — informacja służąca do rozpoznania rodzaju zawartości pliku i tym samym sposobu interpretacji

• Lokalizacja — informacja służąca do odnalezienia pliku w systemie komputerowym (urządzenie i położenie pliku w tym urządzeniu)

• Rozmiar — bieżący rozmiar pliku w ustalonych jednostkach (bajtach, słowach, blokach itp.)

• Ochrona — informacje umożliwiające kontrolę dostępu

• Czasy dostępów — daty i czasy wykonywania pewnych operacji na pliku, typu odczyt, modyfikacja, utworzenie

(5)

Typy i struktury plików

Typy i struktury plików

(6)

•Typ pliku określa rodzaj informacji przechowywanej w pliku i tym samym sposób interpretacji jego zawartości, np. program binarny, wynik kompilacji, kod źródłowy, makrodefinicja (plik wsadowy, skrypt powłoki itp.), tekst, biblioteka programisty, grafika, dane aplikacji.

• Informacja o typie pliku może być przechowywana w strukturach wewnętrznych systemu plików, w zawartości samego pliku, w katalogach lub w nazwie pliku.

• Typ pliku może być rozpoznawany przez system operacyjny, ale może to być również tylko informacja interpretowana przez użytkownika lub aplikację.

Typ pliku

Typ pliku

(7)

• Struktura pliku określa jego wewnętrzną organizację.

• Struktura może być definiowana i rozpoznawana przez

system operacyjny lub może być rozpoznawana na poziomie aplikacji korzystającej z tego pliku.

• Definiowanie różnych struktur plików na poziomie systemu operacyjnego może być pomocne dla użytkownika, ale w

systemie musi być wówczas zawarty kod do obsługi każdej z tych struktur.

• Wyróżniana jest też wewnętrzna (fizyczna) struktura plików, narzucana przez urządzanie, które ten plik przechowuje

Struktura pliku

Struktura pliku

(8)

Metody dostępu do plików

Metody dostępu do plików

(9)

Metody dostępu do plików Metody dostępu do plików

Metody dostępu do plików określają sposób wykonywania

operacji na plikach w celu udostępnienia znajdującej się w nich informacji.

(10)

Metody dostępu do plików Metody dostępu do plików

Dostęp sekwencyjny (ang. sequential access) —

informacje w pliku przetwarzane są rekord po rekordzie, tzn.

po wykonaniu operacji na określonym rekordzie system przygotowuje się do wykonania operacji na kolejnym rekordzie w pliku.

• Dostęp bezpośredni (ang. direct access) — lokalizacja rekordu do przetwarzania podawana jest jako parametr odpowiedniej operacji.

• Dostęp indeksowy — rekord, na którym ma być wykonana operacja identyfikowany jest przez klucz, odwzorowywany na konkretny rekord w pliku stowarzyszonym poprzez plik

indeksowy.

(11)

Pojęcie systemu plików

Pojęcie systemu plików

(12)

System plików - metoda przechowywania i

organizacji plików i informacji o plikach, tak by był to system łatwy w użytkowaniu.

System plików jest stosowany na nośnikach

fizycznych takich jak: dyski, dyskietki, CD - zwanych

nośnikami danych.

(13)

Podstawowe operacje na Podstawowe operacje na

plikach

plikach

(14)

Podstawowe operacje na plikach

• Tworzenie pliku — konieczne jest określenie

podstawowych atrybutów pliku, znalezienie miejsca na ten plik w systemie komputerowym oraz jego

zaewidencjonowanie (utworzenie wpisu katalogowego)

• Zapis do pliku — konieczne jest określenie, co ma być zapisane i gdzie ma być zapisane (w którym pliku i w jakim miejscu tego plik, zależnie od sposobu dostępu)

• Odczyt z pliku — konieczne jest określenie, co ma być odczytane (z którego pliku i z jakiego miejsca tego plik,

zależnie od sposobu dostępu) i gdzie mają być umieszczone odczytane dane

(15)

Podstawowe operacje na plikach

• Usuwanie informacji z pliku — należy określić jaki

fragment pliku (i którego pliku) ma być usunięty. Najczęściej możliwe jest tylko skracanie pliku, czyli usuwanie jego

końcowej zawartości lub całej jego zawartości.

• Usuwanie pliku — należy określić plik do usunięcia.

Usuwana jest zawartość oraz wpis ewidencyjny pliku.

• Dodatkowe operacje na plikach, wykonywane w celu uzyskania dostępu do zawartości pliku:

otwieranie,

zamykanie,

 przesuwanie wskaźnika bieżącej pozycji.

(16)

Dysk podzielony jest na bloki o określonej długości wynikającej z długości sektora.

Bloki są jednostkami wszystkich operacji wejścia/wyjścia.

Wszystkie bloki mają ten sam rozmiar i zazwyczaj jest on różny od rozmiaru rekordu logicznego.

Rekordy logiczne mogą mieć nawet zmienne

rozmiary. Prowadzi to do pakowania pewnej ilości rekordów logicznych do bloków fizycznych.

(W systemie UNIX pliki są zwyczajnymi ciągami bajtów, każdy bajt jest adresowany przez podanie

odległości od początku lub końca pliku. Rekordem

logicznym jest 1 bajt – system automatycznie pakuje i

rozpakowuje bajty z fizycznych bloków dyskowych).

(17)

Zawsze marnuje się część ostatniego bloku każdego pliku. Bajty marnowane z powodu dokonywanych wszystkich przydziałów w jednostkach blokowych (a nie w bajtach) stanowią fragmentację wewnętrzną.

Fragmentacja występuje we wszystkich systemach

plików, im większe rozmiary bloków – tym większa

fragmentacja wewnętrzna.

(18)

Sektor

Sektor

(19)

Nośniki danych typu dyskietka, dysk itp.

przechowują informacje w porcjach zwanych sektorami.

Sektor jest zawsze w całości odczytywany i zapisywany.

Większość urządzeń posiada sektory o

wielkości 512 bajtów

(20)

Klastry

Klastry

(21)

W formacie FAT partycja (poza początkowymi zarezerwowanymi sektorami) jest podzielona na klastry (jednostki alokacji pliku).

Każdy klaster składa się z jednego lub kilku sektorów, klastry są numerowane (adresowalne).

System operacyjny na podstawie numeru klastra oblicza numer logiczny sektora (numer sektora od początku partycji), a na tej podstawie numer ścieżki, głowicy i sektora na ścieżce (dawniej fizyczne położenie na dysku), identyfikując jednoznacznie sektor i dokonując odczytu lub zapisu wybranego sektora.

Klaster w całości jest przydzielony jednemu plikowi.

(22)

Plik w katalogu zawiera numer pierwszego klastra pliku, gdzie znajdują się dalsze części pliku opisuje wpis w FAT.

W tablicy FAT pod numerem odpowiadającym numerowi pierwszej części pliku jest umieszczony numer kolejnego klastra przydzielonego plikowi lub liczba z zakresu FFF8h11 - FFFFh, jeśli to jest ostatni klaster pliku.

Jeżeli dany klaster jest wolny, to w FAT odpowiada mu wpis 0000h, a FFF7h oznacza uszkodzony klaster.

Każdy dysk logiczny posiada swoją tablicę FAT.

Podstawowe informacje o pliku zapisanym na dysku znajdują się w (pod)katalogu, w którym został zapisany plik, w odpowiadającej mu pozycji. Podana jest tam jego nazwa, rozmiar, tak zwane atrybuty i wreszcie informacja o numerze pierwszego klastra, od którego rozpoczyna się dany plik.

(23)

Przechowywanie podręczne

Przechowywanie podręczne

(24)

Przechowywanie podręczne Przechowywanie podręczne

• Operacja dostępu do danych w pliku wymaga ich sprowadzenia do pamięci operacyjnej, gdzie można je testować, zmieniać, po czym zażądać ponownego ich zapisania do systemu plików.

• Czytanie i pisanie bezpośrednio z / na dysk podczas wszystkich operacji dostępu do plików, jest nieefektywne ze względu na czas reakcji dysku oraz relatywnie małą szybkość transmisji dyskowych.

• Minimalizacja dostępów do dysku możliwa jest przez utrzymywanie puli wewnętrznych buforów, zwanych

podręczną pamięcią buforową (ang. buffer cache), które zawierają dane z ostatnio używanych bloków dyskowych.

(25)

Zasady przechowywania podręcznego

• Bloki dyskowe aktualnie wykorzystywane są i

utrzymywane w pamięci buffer cache—dane w jednym buforze odpowiadają danym z jednego bloku dyskowego.

• Obsługa żądania odczytu bloku polega najpierw na

sprawdzeniu czy dany blok znajduje się w pamięci buffer cache.

• Jeśli blok nie znajduje się w pamięci buffer cache jest czytany z dysku do tej pamięci, a następnie kopiowany w odpowiednie miejsce w przestrzeni adresowej procesu.

• Dane zapisywane na dysk są również zapamiętywane w pamięci buforowej, by były tam dostępne dla

ewentualnych kolejnych operacji odczytu.

(26)

Integralność systemu Integralność systemu

plików

plików

(27)

Integralność systemu plików Integralność systemu plików

• W wyniku awarii systemu zawartość podręcznej pamięci buforowej może nie zostać zapisana na dysku lub może zostać zapisana tylko częściowo.

• Skutkiem w/w awarii może być pozostawienie systemu plików w stanie niespójnym.

• Większość systemów operacyjnych dostarcza

odpowiednie narzędzie do sprawdzania integralności

systemu plików, uruchamiane w ramach restartu systemu po awarii.

(28)

Przejawy braku integralności systemu plików

• Brak bloku zarówno w wykazie bloków zaalokowanych jak i bloków wolnych

• Obecność bloku zarówno w wykazie bloków zaalokowanych jak i bloków wolnych

• Wielokrotne powtórzenie się bloku w wykazie bloków wolnych (duplikacja wolnego bloku)

• Wielokrotne powtórzenie się bloku w wykazie bloków zaalokowanych (duplikacja zaalokowanego bloku)

• Niespójność informacji we wpisach katalogowych (np.

niezgodność licznika dowiązań w systemie UNIX).

(29)

Semantyka spójności

Semantyka spójności

(30)

Semantyka spójności Semantyka spójności

• Semantyka spójności określa sposób postrzegania zmian zawartości pliku, dokonywanych przez

współbieżnie działające (i korzystającego z danego pliku) procesy.

• Przykłady semantyki spójności:

semantyka spójności systemu UNIX — wynik operacji zapisu jest natychmiast widoczny dla innych procesów, które otworzyły dany plik,

semantyka sesji — zmiany w pliku stają się widoczne tylko dla procesów, które ten plik otworzą po jego

zamknięciu przez proces zapisujący,

semantyka stałych plików dzielonych — plik

dzielony nie może podlegać modyfikacjom, czyli może być tylko czytany.

(31)

Zapis pliku

Zapis pliku

(32)

Zapis pliku przebiega następująco:

• system operacyjny szuka na dysku pierwszego wolnego klastra i tam zaczyna zapisywać plik,

• jednocześnie zapisując numer tego klastra do pozycji w katalogu, która odpowiada danemu plikowi.

•Numer ten jest jednocześnie numerem pozycji w tablicy FAT odpowiadającej temu klastrowi.

•Jeżeli plik zmieści się w jednym klastrze, to w

pozycji tablicy FAT jemu odpowiadającej wpisywana jest sygnatura końca pliku oznaczana przez EOF

(ang. End Of File), równa FFFFh.

(33)

Efekt takiego procesu jest zilustrowany na rysunku poniżej:

(34)

Numery łańcucha klastrów, w których zapisany jest dany plik, można znaleźć w tablicy FAT, przy czym na kolejnych pozycjach odpowiadającym kolejnym klastrom, w których jest zapisany plik, zapisany zostaje numer następnego klastra.

O ostatnim klastrze informuje sygnatura EOF.

(35)

Skasowanie pliku

Skasowanie pliku

(36)

Skasowanie pliku polega na zmianie pierwszej litery nazwy na symbol (kod E5h), oznaczający dla systemu plik skasowany oraz na wpisaniu zer w tablicy FAT na pozycjach odpowiadających klastrom, w których został zapisany dany plik.

Stąd odzyskanie przypadkowo skasowanego,

pojedynczego pliku nie nastręcza zwykle większych

trudności pod warunkiem, że po tym fakcie nie

dokonaliśmy na dysku żadnych zapisów (nie

nadpisaliśmy plików w tych samych klastrach). Do

tego celu możemy użyć specjalistycznego

oprogramowania.

(37)

Wielko

Wielko ść ść klastra klastra

(38)

Wielkość klastra zależy od maksymalnego numeru klastra zależnego od wersji FAT, czyli 12, 16 albo 32, jednak wielkość ta nie określa bezpośrednio liczby dostępnych klastrów.

Np. w FAT12 będzie ich mniej niż 4096, ponieważ niektóre z nich mają znaczenie wyłącznie systemowe i nie są dostępne dla użytkownika.

Liczba dostępnych klastrów jest jednocześnie maksymalną liczbą możliwych do zapisania plików na partycji.

FAT12 użyjemy dla dysku o pojemności 20MB –

dysk ten ma 40960 sektorów, więc klaster musi

zawierać 10 sektorów, co odpowiada 5KB.

(39)

Formatowanie dysku

Formatowanie dysku

(40)

Formatowanie dysku:

• podzielenie fizycznego i logicznego obszaru dysku na sektory,

• nadanie im odpowiednich oznaczeń,

• utworzenie systemu plików.

// Ponieważ formatowanie wiąże się zwykle z utratą

wszystkich zapisanych wcześniej danych, często

proces ten błędnie kojarzony jest z kasowaniem

zawartości dysku. //

(41)

Cytaty

Powiązane dokumenty

Zagwarantują to zapisy w miejscowym planie zagospo- darowania przestrzennego dla tego rejonu Lublina - zapowiada Karol Kieliszek z biura praso- wego ratusza.. Projekt uchwały w

Uwagę powyŜszą czynimy dlatego, Ŝe moŜna napisać aplikację, dla której wartości do wczytania z pliku znajdują się obok siebie oddzielane spacjami lub przecinkami.. Wtedy w

Przeedytujmy plik xml, korzystając z Notatnika, zmniejszając wartości właściwości o połowę. Odczytajmy serializacją plik xml po zmianie i wyświetlmy

Do wszystkich klas definiujących stopnie, czyli do klasy bazowej Stopien_walu oraz do klas pochodnych StopienFazaZLewej, StopienFazaZPrawej dodamy metodę XMLZapisz –

1, obsługującej zdarzenie btnZapisz_Click() musimy jawnie wskazać o jaki obiekt nam chodzi stąd wpisujemy nazwę obiektu, w tym przypadku

Z dobroci serca nie posłużę się dla zilustrowania tego mechanizmu rozwojem istoty ludzkiej, lecz zaproponuję przykład róży, która w pełnym rozkwicie osiąga stan

Na początku metody main() zadeklaruj zmienną klasy String o nazwie nazwaPliku , która dalej posłuży do przechowywania nazwy pliku do zapisu danych.. Ponadto

Jeżeli mianowicie zakładamy, że funkcja pojawia się jako logiczne następstwo pewnej konfiguracji przyczynowej, to oczywiście nie może być tej konfiguracji