76
Nowoczesne systemy Nowoczesne systemy plików plików PORÓWNANIE PORÓWNANIE

Nowoczesne systemy plików

  • Upload
    hertz

  • View
    59

  • Download
    0

Embed Size (px)

DESCRIPTION

Nowoczesne systemy plików. PORÓWNANIE. Wymagania stawiane systemom plików. Bezpieczeństwo danych Szybkość działania Możliwość rozszerzania o dodatkowe funkcje. Wstęp. W trakcie prezentacji skupimy się na porównaniu dwóch najpopularniejszych obecnie systemów plików: ext3 NTFS - PowerPoint PPT Presentation

Citation preview

Page 1: Nowoczesne systemy plików

Nowoczesne systemy Nowoczesne systemy plikówplików

PORÓWNANIEPORÓWNANIE

Page 2: Nowoczesne systemy plików

Wymagania stawiane Wymagania stawiane systemom plikówsystemom plików

Bezpieczeństwo danychBezpieczeństwo danych Szybkość działaniaSzybkość działania Możliwość rozszerzania o Możliwość rozszerzania o

dodatkowe funkcjedodatkowe funkcje

Page 3: Nowoczesne systemy plików

WstępWstęp

W trakcie prezentacji skupimy się na W trakcie prezentacji skupimy się na porównaniu dwóch najpopularniejszych porównaniu dwóch najpopularniejszych obecnie systemów plików:obecnie systemów plików:

►ext3ext3►NTFSNTFS

Na wstępie omówimy ich historię.Na wstępie omówimy ich historię.

Page 4: Nowoczesne systemy plików

Historia Ext3Historia Ext3

► System plików w systemie operacyjnym System plików w systemie operacyjnym MinixMinix i i jego niedoskonałości (max rozmiar woluminu 64 jego niedoskonałości (max rozmiar woluminu 64 MB)MB)

► VFS (Virtual File System)VFS (Virtual File System)► System plików System plików extext (04.1992) likwiduje wady (04.1992) likwiduje wady

Miniksa, ale też ma wady (fragmentacja)Miniksa, ale też ma wady (fragmentacja)► XiaFSXiaFS - minimalistyczny następca ext - minimalistyczny następca ext► ext2ext2 – maksymalistyczny następca ext – maksymalistyczny następca ext► Zwycięstwo funkcjonalnego ext2Zwycięstwo funkcjonalnego ext2► ext3 (11.2001)ext3 (11.2001) – dziennikowy następca ext2 – dziennikowy następca ext2

Page 5: Nowoczesne systemy plików

Historia NTFSHistoria NTFS

► Systemy plików Systemy plików FAT (File Allocation Table)FAT (File Allocation Table)► FAT 12FAT 12 (dyskietki) (dyskietki)► FAT 16FAT 16 (MS-DOS, Windows przed 95 OSR2) (MS-DOS, Windows przed 95 OSR2)► FAT 32FAT 32 (Windows 95 OSR2, Windows 98, Windows (Windows 95 OSR2, Windows 98, Windows

ME)ME)► Budowa tablicy alokacji plików bardzo prostaBudowa tablicy alokacji plików bardzo prosta► NTFS w 1995NTFS w 1995 (Windows 2000, Windows XP, (Windows 2000, Windows XP,

Windows 2003 Server) Windows 2003 Server) ► NTFS – NTFS – znacznie znacznie polepszony system plików, polepszony system plików, MFT MFT

(Master File Table)(Master File Table) zamiast FAT zamiast FAT

Page 6: Nowoczesne systemy plików

OgraniczeniaOgraniczeniaSystem System plikówplików

NTFSNTFS ext3ext3

Nazwa plikuNazwa pliku 255 znaków255 znaków 255 znaków255 znaków

Znaki w Znaki w nazwie plikunazwie pliku

UnicodeUnicode UnicodeUnicode

Wielkość Wielkość plikupliku

16 EB16 EB 16 GB do 2 TB 16 GB do 2 TB

Wielkość Wielkość woluminuwoluminu

16 EB (256 16 EB (256 TB)TB)

2 TB do 32 TB2 TB do 32 TB

Liczba Liczba plikówplików

223232-1 -1 Zależy od Zależy od liczby i-liczby i-węzłówwęzłów

Poziomy Poziomy zagnieżdżenizagnieżdżeniaa

NieograniczonNieograniczonaa

NieograniczonNieograniczonaa

Blok/klasterBlok/klaster 512 B-64 kB 512 B-64 kB 1 kB-4 kB 1 kB-4 kB

Page 7: Nowoczesne systemy plików

Klastry w NTFSKlastry w NTFS

Rozmiar woluminuRozmiar woluminu Rozmiar klastraRozmiar klastra

512 MB i mniej512 MB i mniej 512 B512 B

513 MB-1024 MB513 MB-1024 MB 1 kB1 kB

1025 MB-2048 MB1025 MB-2048 MB 2 kB2 kB

Więcej niż 2048 MBWięcej niż 2048 MB 4 kB4 kB

Page 8: Nowoczesne systemy plików

Fizyczna Struktura NTFSFizyczna Struktura NTFS

Wolumin stawnowi Wolumin stawnowi (mniej więcej) (mniej więcej) całość.całość.

Metapliki Metapliki gdziekolwiek na gdziekolwiek na woluminiewoluminie

MFT zajmuje MFT zajmuje początek dyskupoczątek dysku

Page 9: Nowoczesne systemy plików

Fizyczna Struktura Fizyczna Struktura eext3xt3

Dysk podzielony na grupyDysk podzielony na grupy Metadane na początku każdego blokuMetadane na początku każdego bloku

Page 10: Nowoczesne systemy plików

NTFSNTFS

Wszystko jest plikiem – MFT, Boot, itd.Wszystko jest plikiem – MFT, Boot, itd. MasterFileTable jest relacyjną bazą danychMasterFileTable jest relacyjną bazą danych,, w w

ktktóórej wierszami są pliki, a kolumnami rej wierszami są pliki, a kolumnami atrybuty.atrybuty.

Wszystko w pliku jest atrybutem – łącznie z Wszystko w pliku jest atrybutem – łącznie z zawartością.zawartością.

Atrybuty to strumienie danych (ciągi bajtów).Atrybuty to strumienie danych (ciągi bajtów). WSZYSTKIE pliki mają swoje rekordy w MFT WSZYSTKIE pliki mają swoje rekordy w MFT

– tak MFT też ma rekord w MFT.– tak MFT też ma rekord w MFT.

Page 11: Nowoczesne systemy plików

Master File TableMaster File Table

MFT musi gdzieś przechowywać wszystkie MFT musi gdzieś przechowywać wszystkie informacje o systemie plików. Jak wszystko inne, informacje o systemie plików. Jak wszystko inne, są one w plikach. Te pliki zajmują pierwsze 16 są one w plikach. Te pliki zajmują pierwsze 16 rekordów MFT (ostatnie 4 z nich są wolne, ale rekordów MFT (ostatnie 4 z nich są wolne, ale zarezerwowane na przyszłość) i około 16KB. zarezerwowane na przyszłość) i około 16KB.

Page 12: Nowoczesne systemy plików

Metapliki w NTFSMetapliki w NTFS

00.. Master File TableMaster File Table1.1. Master File Table MirrorMaster File Table Mirror2.2. LogFile (dziennik)LogFile (dziennik)3.3. Volume (informacje o Volume (informacje o

woluminie)woluminie)4.4. Attribute definitions (lista Attribute definitions (lista

wszystkich dopuszczalnych wszystkich dopuszczalnych atrybutów plików)atrybutów plików)

5.5. Root file name index (katalog Root file name index (katalog główny)główny)

6.6. Cluster bitmap (bitmapa Cluster bitmap (bitmapa zajętości klastrów)zajętości klastrów)

7.7. Boot sector (zawiera BIOS Boot sector (zawiera BIOS parameter block czyli sprzętowe parameter block czyli sprzętowe informacje o woluminie i ew. informacje o woluminie i ew. kod startujący system kod startujący system operacyjny)operacyjny)

8.8. Bad cluster file (plik zawierający Bad cluster file (plik zawierający wszystkie uszkodzone klastry – wszystkie uszkodzone klastry – jeśli są zajęte przez jakiś plik to jeśli są zajęte przez jakiś plik to nikt inny nie będzie ich używał)nikt inny nie będzie ich używał)

9.9. Security fileSecurity file10.10. Upcase table (tablica do Upcase table (tablica do

tłumaczenia znaków na ich tłumaczenia znaków na ich wielkie odpowiedniki)wielkie odpowiedniki)

11.11. NTFS extension fileNTFS extension file12.12. 12-15 są wolne12-15 są wolne

Page 13: Nowoczesne systemy plików

Atrybuty plików w NTFSAtrybuty plików w NTFS1.1.Standard_InformationStandard_Information

Zawiera standardowe informacje takie jak czas stworzenia, ostatniej Zawiera standardowe informacje takie jak czas stworzenia, ostatniej modyfikacji, ostatniego dostępu, prawa dostępu itd.modyfikacji, ostatniego dostępu, prawa dostępu itd.

(St(Stememple czasowe na dysku są uaktualniane co godzinę – aktualne ple czasowe na dysku są uaktualniane co godzinę – aktualne informacje zawsze są dostępne w pamięci i są zrzucane na dysk tylko informacje zawsze są dostępne w pamięci i są zrzucane na dysk tylko wtedy jeśli zamkniemy wszystkie deskryptory pliku, albo czas ostatniego wtedy jeśli zamkniemy wszystkie deskryptory pliku, albo czas ostatniego dostępu w pamięci jest o godzinę późniejszy niż zapisany na dysku)dostępu w pamięci jest o godzinę późniejszy niż zapisany na dysku)

2.2.Attribute_ListAttribute_List Czasami zdarza się, że wszystkie rezydentne atrybuty pliku nie Czasami zdarza się, że wszystkie rezydentne atrybuty pliku nie

mieszczą się w jednym rekordzie MTF. W takim wypadku plikowi mieszczą się w jednym rekordzie MTF. W takim wypadku plikowi przydzielane są dodaktowe rekordy, a attribute_list jest listą przydzielane są dodaktowe rekordy, a attribute_list jest listą wskaźników do nich.wskaźników do nich.

Rzadko widywane, gdyż większość danych może być przechowywana poza Rzadko widywane, gdyż większość danych może być przechowywana poza MFT. Przykładem kiedy jest to potrzebne jest plik z dużMFT. Przykładem kiedy jest to potrzebne jest plik z dużąą liczbą twardych liczbą twardych dowiązań – kiedy wszystkie nazwy się nie mieszczą.dowiązań – kiedy wszystkie nazwy się nie mieszczą.

Page 14: Nowoczesne systemy plików

Atrybuty plików w NTFSAtrybuty plików w NTFS c.d. c.d.

3.3.File_NameFile_Name Zawiera dwie nazwy – długą (do 255 znaków) i krótką (do 8 znaków), Zawiera dwie nazwy – długą (do 255 znaków) i krótką (do 8 znaków),

oraz wielkość pliku.oraz wielkość pliku. Długa nazwa składa się z wielkich liter, krótka już nieDługa nazwa składa się z wielkich liter, krótka już nie konieczniekoniecznie Wielkość pliku jest wielkością podstawowego (nienazwanego) strumienia Wielkość pliku jest wielkością podstawowego (nienazwanego) strumienia

danychdanych

4.4.Object_IDObject_ID Zawiera unikalne numery pliku: obecny, urodzenia i Zawiera unikalne numery pliku: obecny, urodzenia i woluminwolumin na której na której

powstał plik.powstał plik.

5.5.Security_DescriptorSecurity_Descriptor TTutajutaj są są przechowywane uprawnienia dostępu do pliku dla własciciela, przechowywane uprawnienia dostępu do pliku dla własciciela,

grupy i reszy świata. Mówi też grupy i reszy świata. Mówi też którektóre akcje mają być logowane akcje mają być logowane..

Page 15: Nowoczesne systemy plików

Atrybuty plików w NTFSAtrybuty plików w NTFS c.d. c.d.

6.6.Volume_NameVolume_Name i i Volume_InformationVolume_Information Tylko pliki Tylko pliki $volume$volume posiada posiadająją te atrybuty – pierwszy zawiera nazwę, te atrybuty – pierwszy zawiera nazwę,

aa drugi m.in. bit drugi m.in. bit „„Dirty”, mówiący czy przy ponownym uruchomieniu Dirty”, mówiący czy przy ponownym uruchomieniu należy wykonać chkdsk /f (spróbować naprawić dysk)należy wykonać chkdsk /f (spróbować naprawić dysk)

7.7. DataData Atrybut będący zawartością pliku. Każdy plik musi mieć jeden Atrybut będący zawartością pliku. Każdy plik musi mieć jeden

nienazwany atrybut data będący jego standardową zawartością. Może nienazwany atrybut data będący jego standardową zawartością. Może też zawierać dowolnie dużo nazwanych atrybutów – każdy może mieć też zawierać dowolnie dużo nazwanych atrybutów – każdy może mieć zupełnie inną zawartość.zupełnie inną zawartość.

Jako, że wielkością pliku jest wielkość jego nienazwanej zawartości może Jako, że wielkością pliku jest wielkość jego nienazwanej zawartości może istnieć plikistnieć plik,, którego wielkość system plików podaje jako 0, a na dysku którego wielkość system plików podaje jako 0, a na dysku zajmuje dowolnie dużo miejsca.zajmuje dowolnie dużo miejsca.

Page 16: Nowoczesne systemy plików

Atrybuty plików w NTFSAtrybuty plików w NTFS c.d. c.d.

8.8.Index_RootIndex_Root, , Index_AllocationIndex_Allocation, , BitmapBitmap Te atrybuty służą do implementacji BTe atrybuty służą do implementacji B++-drzew. Bitmapa jest mapą -drzew. Bitmapa jest mapą

zajętości dostępnych indeksów.zajętości dostępnych indeksów.

9.9.Reparse_PointReparse_Point Robi to co sugeruje nazwa – parsuje odwoRobi to co sugeruje nazwa – parsuje odwołałanie od nowa, konie od nowa, korzrzystając z ystając z

danych zapisanych w tym atrybucie. Służy do tworzenia dowiązań danych zapisanych w tym atrybucie. Służy do tworzenia dowiązań symbolicznych, czy montowania zewnętrznych symbolicznych, czy montowania zewnętrznych plików/katalogów/dysków.plików/katalogów/dysków.

Reparse_Point wyklucza się z Extentended Attributes – plik może mieć albo Reparse_Point wyklucza się z Extentended Attributes – plik może mieć albo jedno, albo drugiejedno, albo drugie

Page 17: Nowoczesne systemy plików

Atrybuty plików w NTFSAtrybuty plików w NTFS c.d. c.d.

10.10. EAEA i i EA_Information EA_Information (Extended Attribute)(Extended Attribute) Służą do przechowywania dodatkowych atrybutów z HPFS (High Służą do przechowywania dodatkowych atrybutów z HPFS (High

Performance File System) – używane np. w OS/2Performance File System) – używane np. w OS/2

11.11. Logged_Utility_StreamLogged_Utility_Stream Absolutnie cokolwiek co autor uzna za stosowne. Absolutnie cokolwiek co autor uzna za stosowne. MMa ograniczenie a ograniczenie

wielkości do 64kB. Wszystkie operacje na nim są zapisywane w wielkości do 64kB. Wszystkie operacje na nim są zapisywane w dzienniku.dzienniku.

Page 18: Nowoczesne systemy plików

Metadane w NTFS i Metadane w NTFS i eext3xt3

NTFSNTFS Około 16KB zarezerwowanych Około 16KB zarezerwowanych

na metapliki.na metapliki. Bardzo mała redundancja Bardzo mała redundancja

danych – 4 rekordy z MFT w danych – 4 rekordy z MFT w środku dysku.środku dysku.

MFT zmiennej wielkości.MFT zmiennej wielkości. Wpis w MFT od 1 do 4 KBWpis w MFT od 1 do 4 KB KlaKlastry małe (512B – 4KB)stry małe (512B – 4KB) Wielkość metadanych zależy od Wielkość metadanych zależy od

wykowykorzrzystania dysku.ystania dysku.

eext3xt3 Pierwsze kilka bloków (co Pierwsze kilka bloków (co

najmniej 5) w każdej grupie najmniej 5) w każdej grupie zarezerwowane na metadane.zarezerwowane na metadane.

Bardzo duża redundancja Bardzo duża redundancja danych (kopie w każdej grupie).danych (kopie w każdej grupie).

Stała wielkość tablicy i-nodów.Stała wielkość tablicy i-nodów. I-I-węzełwęzeł wielkości ok wielkości ok.. 128B 128B Bloki wielkości od 1 do 4KBBloki wielkości od 1 do 4KB Stała ilość miejsca przeznaczona Stała ilość miejsca przeznaczona

na metadanena metadane

Page 19: Nowoczesne systemy plików

Wzbogacanie systemu plikówWzbogacanie systemu plików

ACL (Access Control Lists)ACL (Access Control Lists) Możliwość przydzielania uprawnień Możliwość przydzielania uprawnień

poszczególnym użytkownikom / grupoposzczególnym użytkownikom / grupomm użytkownikówużytkowników

Sumy kontrolne plikówSumy kontrolne plików Lepsza kontrola uszkodzeń plikówLepsza kontrola uszkodzeń plików

MożliwośMożliwośćć stwierdzenia nieuprawnionego dostępu stwierdzenia nieuprawnionego dostępu Spowolnienie działania operacji plikowych.Spowolnienie działania operacji plikowych.

Page 20: Nowoczesne systemy plików

AtrybutyAtrybuty

RezydentneRezydentne – zawarte w 1-kilobajtowym wpisie w MFT, np. – zawarte w 1-kilobajtowym wpisie w MFT, np. Standard Information czy FilenameStandard Information czy Filename

NierezydentneNierezydentne – przechowywane na dysku, nie mieszczą – przechowywane na dysku, nie mieszczą się we wpisie do MFT, alokowane w ekstentach (np. czasami się we wpisie do MFT, alokowane w ekstentach (np. czasami DataData czy czy Index rootIndex root))

Typ atrybutu umieszczony w jego Typ atrybutu umieszczony w jego nagłówkunagłówku::

Page 21: Nowoczesne systemy plików

Atrybut Data (nierezydentny)Atrybut Data (nierezydentny)

Page 22: Nowoczesne systemy plików

Atrybuty indeksowe Atrybuty indeksowe (nierezydentne)(nierezydentne)

Atrybuty: Atrybuty: Index root, Index allocation, BitmapIndex root, Index allocation, Bitmap Ekstenty w tym przypadku nazywamy Ekstenty w tym przypadku nazywamy buforami indeksowymibuforami indeksowymi

Page 23: Nowoczesne systemy plików

Numery klastrówNumery klastrów

LCN (Logical Cluster Numbers)LCN (Logical Cluster Numbers) – numery fizycznych – numery fizycznych klastrów dyskowychklastrów dyskowych

VCN (Virtual Cluster Numbers)VCN (Virtual Cluster Numbers) – numery – numery przypisywane kolejnym klastrom, przypisywane kolejnym klastrom, przyporządkowywanym danemu plikowi lub katalogowiprzyporządkowywanym danemu plikowi lub katalogowi

Page 24: Nowoczesne systemy plików

Nagłówek atrybutu Nagłówek atrybutu nierezydentnegonierezydentnego

W ramach nagłówka atrybutu nierezydentnego są pamiętane W ramach nagłówka atrybutu nierezydentnego są pamiętane kolejne ekstenty, a dla każdego numer wirtualny i logiczny kolejne ekstenty, a dla każdego numer wirtualny i logiczny pierwszego klastra i liczba klastrów w ekstencie:pierwszego klastra i liczba klastrów w ekstencie:

Page 25: Nowoczesne systemy plików

Optymalizacje dostępu do Optymalizacje dostępu do zawartości katalogu - NTFSzawartości katalogu - NTFS

Katalog jako Katalog jako B+-drzewoB+-drzewo plików i podkatalogów (nazwy, plików i podkatalogów (nazwy, wielkości, stemple czasowe i położenia w MFT)wielkości, stemple czasowe i położenia w MFT)

Index rootIndex root to posortowana lista albo B+-drzewo, węzły w to posortowana lista albo B+-drzewo, węzły w buforach indeksowychbuforach indeksowych

Index allocationIndex allocation to mapowanie między numerami VCN a to mapowanie między numerami VCN a LCN buforów indeksowych LCN buforów indeksowych

BitmapBitmap to mapa zajętości buforów indeksowych po ich VCN- to mapa zajętości buforów indeksowych po ich VCN-achach

B+-drzewo szybciej rośnie na szerokość niż na wysokośćB+-drzewo szybciej rośnie na szerokość niż na wysokość

Page 26: Nowoczesne systemy plików

Optymalizacje dostępu do Optymalizacje dostępu do zawartości katalogu – ext3zawartości katalogu – ext3

Długo tylko Długo tylko proste listy łączoneproste listy łączone (do ext2): (do ext2):- dobre dzięki strukturom dcachedobre dzięki strukturom dcache- złe dla cache przeglądarek i niektórych systemów pocztowychzłe dla cache przeglądarek i niektórych systemów pocztowych Rozważania na temat użycia Rozważania na temat użycia B-drzewB-drzew::- trudna i długa implementacjatrudna i długa implementacja- mała odporność na zniszczenie węzłów wewnętrznychmała odporność na zniszczenie węzłów wewnętrznych

Decyzja: Decyzja: H-drzewa (Hash Trees)H-drzewa (Hash Trees)

Page 27: Nowoczesne systemy plików

H-drzewa w ext3H-drzewa w ext3

W wersjach rozwojowych ext2, na dobre w ext3W wersjach rozwojowych ext2, na dobre w ext3 32-bitowe hasze jako klucze32-bitowe hasze jako klucze Węzły wewnętrzne (bloki indeksowe) zajmują tylko 8 bajtówWęzły wewnętrzne (bloki indeksowe) zajmują tylko 8 bajtów Stała głębokość (1 lub 2)Stała głębokość (1 lub 2) Wsteczna kompatybilnośćWsteczna kompatybilność (+odporność na zniszczenia): (+odporność na zniszczenia):- bloki-liście identyczne z blokami starego typubloki-liście identyczne z blokami starego typu- bloki indeksowe widziane jako usunięte wpisy katalogowebloki indeksowe widziane jako usunięte wpisy katalogowe Dla dużych katalogów nawet Dla dużych katalogów nawet 50-100 razy szybsze50-100 razy szybsze!!

Page 28: Nowoczesne systemy plików

Kompresja plikówKompresja plików

ext3:ext3: Teoretycznie możliwa (pole Teoretycznie możliwa (pole i_flagsi_flags w i-węźle) w i-węźle) Dostępna w łatach zawartych w pakiecie Dostępna w łatach zawartych w pakiecie e2compre2compr (1997) w (1997) w

Ext2Ext2 Brak wsparcia dla kompresji w ext3 (nawet dla tych łatek)Brak wsparcia dla kompresji w ext3 (nawet dla tych łatek)

NTFS:NTFS: Kompresja rzadkich danychKompresja rzadkich danych Kompresja gęstych danychKompresja gęstych danych Rzadkie plikiRzadkie pliki

Page 29: Nowoczesne systemy plików

Rzadkie dane cz. 1Rzadkie dane cz. 1

Rzadkie daneRzadkie dane – znaczną część stanowią zera (np. rzadka macierz) – znaczną część stanowią zera (np. rzadka macierz) NTFS w ogóle nie pamięta zawartości zerowych ekstentów:NTFS w ogóle nie pamięta zawartości zerowych ekstentów:

Page 30: Nowoczesne systemy plików

Rzadkie dane cz. 2Rzadkie dane cz. 2

W MFT nieistniejące ekstenty nie są w ogóle zapisane (o ich W MFT nieistniejące ekstenty nie są w ogóle zapisane (o ich istnieniu świadczy tylko nieciągłość w numerach VCN istniejących istnieniu świadczy tylko nieciągłość w numerach VCN istniejących ekstentów)ekstentów)

Page 31: Nowoczesne systemy plików

Gęste dane cz. 1Gęste dane cz. 1

Plik dzielony na Plik dzielony na jednostki kompresyjnejednostki kompresyjne (16 klastrów) (16 klastrów) Kompresujemy tylko te jednostki, które wskutek tego zmniejszają się Kompresujemy tylko te jednostki, które wskutek tego zmniejszają się

co najmniej o 1 klaster:co najmniej o 1 klaster:

Page 32: Nowoczesne systemy plików

Gęste dane cz. 2Gęste dane cz. 2 NTFS wie, które jednostki są skompresowane (zna liczności)NTFS wie, które jednostki są skompresowane (zna liczności)

Optymalizacje:• Kompresja i zapis na dysk zmienionych danych wykonywane są leniwie• Odczyt z wyprzedzeniem dzięki próbom alokacji kolejnych fizycznie

ekstentów• 16 wybrana jako „trade-off” między pamięcią a czasem działania

Page 33: Nowoczesne systemy plików

Rzadkie plikiRzadkie pliki

Podobne do skompresowanych metodą kompresji rzadkich Podobne do skompresowanych metodą kompresji rzadkich danychdanych

Proces wskazuje, które fragmenty pliku uznaje za pusteProces wskazuje, które fragmenty pliku uznaje za puste Przydatne w aplikacjach typu Przydatne w aplikacjach typu klient-serwer z buforemklient-serwer z buforem

(unikamy nieskończonego wzrostu bufora)(unikamy nieskończonego wzrostu bufora)

Page 34: Nowoczesne systemy plików

Distributed Link TrackingDistributed Link Tracking

• W systemie NTFS, tworząc twardy W systemie NTFS, tworząc twardy link do pliku zapamiętujemy link do pliku zapamiętujemy Object_Identifier pliku docelowego. Object_Identifier pliku docelowego. Ten identyfikator jest unikalny dla Ten identyfikator jest unikalny dla systemu i nie zmienia się przez cały systemu i nie zmienia się przez cały czas życia pliku. Dzięki temu po czas życia pliku. Dzięki temu po zmianie nazwy, przeniesieniu pliku zmianie nazwy, przeniesieniu pliku docelowego w inne miejsce itp. link docelowego w inne miejsce itp. link cały czas jest poprawny.cały czas jest poprawny.

Page 35: Nowoczesne systemy plików

LinkiLinki

• Ogólnie są 2 typy: Ogólnie są 2 typy: – Twarde (hardlinks)Twarde (hardlinks)

• Trzymane są wskaźniki do tego samego pliku.Trzymane są wskaźniki do tego samego pliku.• Plik jest usuwany gdy wszystkie wskaźniki Plik jest usuwany gdy wszystkie wskaźniki

zniknąznikną• Windows nie obsługuje hardlinka dla Windows nie obsługuje hardlinka dla

katalogów.katalogów.

– Miękkie (junctions)Miękkie (junctions)• Trzymana jest ścieżka do plikuTrzymana jest ścieżka do pliku• Gdy plik zostaje skasowany ścieżki są błędneGdy plik zostaje skasowany ścieżki są błędne• Windows obsługuje miękkie linki tylko do Windows obsługuje miękkie linki tylko do

systemu lokalnegosystemu lokalnego

Page 36: Nowoczesne systemy plików

Quota – kontyngenty Quota – kontyngenty dyskowedyskowe

• Umożliwiają kontrolę Umożliwiają kontrolę miejsca miejsca zajmowanego przez zajmowanego przez użytkownikaużytkownika

• Liczą całe pliki (czyli Liczą całe pliki (czyli pliki rzadkie mają pliki rzadkie mają pełną wielkość)pełną wielkość)

• Można kontrolować Można kontrolować poszczególnych poszczególnych użytkowników na użytkowników na różnych woluminachróżnych woluminach

Page 37: Nowoczesne systemy plików

Quota – kontyngenty Quota – kontyngenty dyskowedyskowe

• Dwie tabele Dwie tabele umożliwiające szybkie umożliwiające szybkie sprawdzanie czy sprawdzanie czy użytkownik nie użytkownik nie przekracza limitówprzekracza limitów

• W pierwszej tabeli W pierwszej tabeli można szybko znaleźć można szybko znaleźć do kogo należy dany do kogo należy dany SIDSID

• A w drugiej, ile ta A w drugiej, ile ta osoba ma jeszcze osoba ma jeszcze miejsca wolnegomiejsca wolnego

Page 38: Nowoczesne systemy plików

Sposoby zapisu danych na dyskSposoby zapisu danych na dysk

ostrożne – ostrożne – system stara się system stara się wykonywać operacje w kolejności wykonywać operacje w kolejności gwarantującej maksymalną gwarantującej maksymalną spójnośćspójność

leniwe – leniwe – system wykonuje system wykonuje operacje w kolejności operacje w kolejności optymalizującej ruchy głowicy optymalizującej ruchy głowicy dyskudysku

Page 39: Nowoczesne systemy plików

Przyczyny powstawania błędówPrzyczyny powstawania błędów fizycznefizyczne

wynikające z konstrukcji dysku, wynikające z konstrukcji dysku, bad blocksbad blocks

wynikające z działania czynników wynikające z działania czynników zewnętrznychzewnętrznych

logicznelogiczne wynikające z błędnego działania wynikające z błędnego działania

systemusystemu wynikające z błędów w wynikające z błędów w

implementacji systemu plikówimplementacji systemu plików wynikające z wynikające z

przerwania operacji na przerwania operacji na systemie plikówsystemie plików

Page 40: Nowoczesne systemy plików

Rodzaje błędów logicznychRodzaje błędów logicznych

skrzyżowane plikiskrzyżowane pliki zagubione klastry (bloki)zagubione klastry (bloki) nieprawidłowe wartości liczników nieprawidłowe wartości liczników

odwołańodwołań pliki do których nie ma dostępupliki do których nie ma dostępu błędne rozmiary plikówbłędne rozmiary plików wszelkie inne niespójności metadanychwszelkie inne niespójności metadanych

Page 41: Nowoczesne systemy plików

Atomowość operacjiAtomowość operacji

z czego składają się operacjez czego składają się operacje po co nam atomowość operacjipo co nam atomowość operacji właściwe operacje na przykładzie właściwe operacje na przykładzie

usuwania pliku w systemie UNIX:usuwania pliku w systemie UNIX: usunięcie wpisu odnośnie pliku w usunięcie wpisu odnośnie pliku w

katalogukatalogu ustawienie i-węzła pliku jako wolnego w ustawienie i-węzła pliku jako wolnego w

bitmapie.bitmapie. co złego może się wydarzyćco złego może się wydarzyć

Page 42: Nowoczesne systemy plików

KronikaKronika

Czym jest kronika?Czym jest kronika? Po co nam kronika?Po co nam kronika? ZaletyZalety

większe bezpieczeństwowiększe bezpieczeństwo krótszy czas przeładowania systemukrótszy czas przeładowania systemu często zaawansowane algorytmy i struktury często zaawansowane algorytmy i struktury

danych używane do obsługi plikówdanych używane do obsługi plików WadyWady

niektóre operacje mogą zajmować więcej czasuniektóre operacje mogą zajmować więcej czasu większe skomplikowanie systemu plikówwiększe skomplikowanie systemu plików

Page 43: Nowoczesne systemy plików

Rodzaje kronikowaniaRodzaje kronikowania

rejestrowanie rejestrowanie odtwarzające (redo odtwarzające (redo logging)logging)

rejestrowanie rejestrowanie odwołujące (undo odwołujące (undo logging)logging)

Page 44: Nowoczesne systemy plików

Tryby kronikowaniaTryby kronikowania

kronikowanie metadanych (write-kronikowanie metadanych (write-back)back)

kronikowanie wszelkich operacji kronikowanie wszelkich operacji (także danych) (journalling)(także danych) (journalling) zapisywanie do dziennika pełnych zapisywanie do dziennika pełnych

bloków (klastrów)bloków (klastrów) zapisywanie tylko zmian w danychzapisywanie tylko zmian w danych

tryb „uporządkowany” (ordered)tryb „uporządkowany” (ordered)

Page 45: Nowoczesne systemy plików

Typy kronikowania obsługiwane Typy kronikowania obsługiwane przez systemy plikówprzez systemy plików

metadanedane i

metadanetryb ordered

•NTFS ■ □

•ext3 ■ ■ ■•ReserFS ■ □

•Reiser4 □ ■

•JFS ■ □

•XFS ■ □

•WinFS ■ ■

Page 46: Nowoczesne systemy plików

Czas odtwarzania dzienników przez Czas odtwarzania dzienników przez systemy plikówsystemy plików

Podczas montowania systemu plikówPodczas montowania systemu plików Podczas sprawdzania spójności Podczas sprawdzania spójności

systemu plikówsystemu plików

Page 47: Nowoczesne systemy plików

Położenie dziennikówPołożenie dzienników

jako jeden z plików w systemie (ext3, jako jeden z plików w systemie (ext3, NTFS, NTFS,

w specjalnym wydzielonym obszarze w specjalnym wydzielonym obszarze (XFS)(XFS)

w dowolnym miejscu systemu plików w dowolnym miejscu systemu plików (Reiser4)(Reiser4)

Page 48: Nowoczesne systemy plików

ext3ext3

ext3 = ext2 + JBDext3 = ext2 + JBD

Page 49: Nowoczesne systemy plików

Co jeśli dziennik zawiedzieCo jeśli dziennik zawiedzie

kontrola spójności systemukontrola spójności systemu nicnic

Page 50: Nowoczesne systemy plików

Problemy związane z kronikąProblemy związane z kroniką

Istnieją operacje które mogą sprawić Istnieją operacje które mogą sprawić problem systemom z kroniką, np.:problem systemom z kroniką, np.: usuwanie pliku otwartego przez pewien usuwanie pliku otwartego przez pewien

procesproces przeplot operacji usuwania pliku i przeplot operacji usuwania pliku i

tworzenia nowegotworzenia nowego Specjalne wymagania odnośnie Specjalne wymagania odnośnie

poleceń ponawiania i wycofywaniapoleceń ponawiania i wycofywania

Page 51: Nowoczesne systemy plików

Kronika na przykładzie NTFSKronika na przykładzie NTFS

kopia systemów startowychkopia systemów startowych cykliczny zapis rekordówcykliczny zapis rekordów

Page 52: Nowoczesne systemy plików

Rekordy w kronice (na przykładzie NTFS)Rekordy w kronice (na przykładzie NTFS)

rekordy uaktualnieńrekordy uaktualnień

punkty kontrolnepunkty kontrolne

Page 53: Nowoczesne systemy plików

Przywracanie spójności systemu Przywracanie spójności systemu przy pomocy kroniki (na przy pomocy kroniki (na

przykładzie NTFS)przykładzie NTFS) Faza analizy kronikiFaza analizy kroniki

Faza ponawiania operacjiFaza ponawiania operacji

Faza wycofywania operacjiFaza wycofywania operacji

Page 54: Nowoczesne systemy plików

Sposoby na zabezpieczanie danychSposoby na zabezpieczanie danych

Zasilacze awaryjneZasilacze awaryjne Kopie bezpieczeństwaKopie bezpieczeństwa Macierze dysków twardychMacierze dysków twardych

Page 55: Nowoczesne systemy plików

WinFSWinFS

Czyli dokąd zmierzają systemy Czyli dokąd zmierzają systemy plikówplików

Page 56: Nowoczesne systemy plików

Podstawowe wymagania systemu Podstawowe wymagania systemu plikówplików

Przechowywanie informacjiPrzechowywanie informacji

Dostęp do danych na dyskuDostęp do danych na dysku

Szybki dostęp do danychSzybki dostęp do danych

Wyszukiwanie potrzebnych danychWyszukiwanie potrzebnych danych

Page 57: Nowoczesne systemy plików

Cechy aktualnych systemów plikówCechy aktualnych systemów plików

SzybkośćSzybkośćDobre zarządzanie miejscemDobre zarządzanie miejscemMałe straty miejsca na metadaneMałe straty miejsca na metadane

ALE :ALE :Struktura hierarchicznaStruktura hierarchicznaUtrudnione wyszukiwanieUtrudnione wyszukiwanieBrak możliwości tworzenia połączeń Brak możliwości tworzenia połączeń między plikamimiędzy plikami

Page 58: Nowoczesne systemy plików

Próby radzenia sobie z problemamiPróby radzenia sobie z problemami

ALE TO ZA MAŁOALE TO ZA MAŁO

Systemy operacyjneSystemy operacyjne

Tworzenie linkówTworzenie linków

Trzymanie dodatkowych Trzymanie dodatkowych informacji razem z plikamiinformacji razem z plikami

Indeksowanie częstych Indeksowanie częstych zapytańzapytań

Systemy plikówSystemy plików

Page 59: Nowoczesne systemy plików

Wykorzystanie silnika bazy danych Wykorzystanie silnika bazy danych

Pod spodem „zwykły” system plikówPod spodem „zwykły” system plików

Nowe podejścieNowe podejście

Page 60: Nowoczesne systemy plików

ZaletyZalety

Możliwość dodawanie wielu cech do Możliwość dodawanie wielu cech do plików i szybkiego ich wyszukiwaniaplików i szybkiego ich wyszukiwania

Brak katalogów – czyli brak sztywnego Brak katalogów – czyli brak sztywnego rozmieszczania plikówrozmieszczania plików

Łatwe szukanie i dodawanie nowych Łatwe szukanie i dodawanie nowych połączeń.połączeń.

Page 61: Nowoczesne systemy plików

WadyWady

Więcej miejsca zajmą metadaneWięcej miejsca zajmą metadane

Większy koszt niektórych operacjiWiększy koszt niektórych operacji

Trudności w dostępie z innych OSTrudności w dostępie z innych OS

Trzeba poczekać aż do 2007.Trzeba poczekać aż do 2007.

Page 62: Nowoczesne systemy plików

Windows Future StorageWindows Future Storage

Bazuje na NTFSBazuje na NTFS

Wsparcie dla Win32 ApiWsparcie dla Win32 Api

Nowy „engine” SQL-a Nowy „engine” SQL-a (Yukon)(Yukon)

Page 63: Nowoczesne systemy plików

Walka z fragmentacją – ext3Walka z fragmentacją – ext3

ext3 – metoda zapobiegania:ext3 – metoda zapobiegania: Zupełnie jak w ext2Zupełnie jak w ext2 Prealokacja bloków (przydzielanie w partiach po 8)Prealokacja bloków (przydzielanie w partiach po 8) Przydzielanie nowych bloków w pobliżu już istniejących, w Przydzielanie nowych bloków w pobliżu już istniejących, w

tej samej grupie bloków, co i-węzeł plikutej samej grupie bloków, co i-węzeł pliku Metody świetnie się spisują, długo nie rozważano tematu Metody świetnie się spisują, długo nie rozważano tematu

defragmentacjidefragmentacji W ext2 do defragmentacji jest W ext2 do defragmentacji jest e2defrage2defrag W ext3 się go nie da użyć (bez konwersji do ext2)W ext3 się go nie da użyć (bez konwersji do ext2)

Page 64: Nowoczesne systemy plików

Walka z fragmentacją - NTFSWalka z fragmentacją - NTFS

NTFS – metoda skutecznego leczenia:NTFS – metoda skutecznego leczenia: Zapobieganie ogranicza się do rezerwacji specjalnego obszaru Zapobieganie ogranicza się do rezerwacji specjalnego obszaru

na dysku dla MFTna dysku dla MFT Dobre Dobre API dla defragmentatorówAPI dla defragmentatorów::- FSCTL_GET_VOLUME_BITMAP,FSCTL_GET_VOLUME_BITMAP,- FSCTL_GET_RETRIEVAL_POINTERS,FSCTL_GET_RETRIEVAL_POINTERS,- FSCTL_MOVE_FILE.FSCTL_MOVE_FILE. Własne narzędzieWłasne narzędzie - \Windows\System32\Defrag.exe - \Windows\System32\Defrag.exe Wadliwe w Windows 2000, lepsze w XP i 2003 ServerWadliwe w Windows 2000, lepsze w XP i 2003 Server

Page 65: Nowoczesne systemy plików

Zarządzanie uprawnieniamiZarządzanie uprawnieniami

NTFS:NTFS: W początkowej wersji NTFS przechowywał deskryptor W początkowej wersji NTFS przechowywał deskryptor

bezpieczeństwa w każdym pliku (duże wykorzystanie miejsca bezpieczeństwa w każdym pliku (duże wykorzystanie miejsca dyskowego w systemach wieloużytkownikowych)dyskowego w systemach wieloużytkownikowych)

W aktualnej wersji plik W aktualnej wersji plik $Secure file$Secure file trzyma wszystkie trzyma wszystkie deskryptory bezpieczeństwa, a pliki mają tylko ich unikalne w deskryptory bezpieczeństwa, a pliki mają tylko ich unikalne w danym systemie numerydanym systemie numery

ext3:ext3: Prawa dostępu przechowuje i-węzeł dyskowy w polu Prawa dostępu przechowuje i-węzeł dyskowy w polu i_modei_mode

(małe wykorzystanie miejsca)(małe wykorzystanie miejsca)

Page 66: Nowoczesne systemy plików

Plik $Secure filePlik $Secure file Dwa sposoby indeksowania: Dwa sposoby indeksowania: SDHSDH i i SIISII, dane w atrybucie , dane w atrybucie SDSSDS Nadawanie deskryptora plikowi – wykorzystujemy SDHNadawanie deskryptora plikowi – wykorzystujemy SDH Przyzwalanie na dostęp – wykorzystujemy SII (pliki przechowują w Przyzwalanie na dostęp – wykorzystujemy SII (pliki przechowują w

$STANDARD_INFORMATION$STANDARD_INFORMATION numer systemowy deskryptora) numer systemowy deskryptora) Cache’owanieCache’owanie ostatnich 32 użytych deskryptorów przez NTFS ostatnich 32 użytych deskryptorów przez NTFS

Page 67: Nowoczesne systemy plików

Szyfrowanie w NTFSSzyfrowanie w NTFS PrzezroczystePrzezroczyste dla użytkownika dla użytkownika Wykorzystanie Wykorzystanie EFS (Encrypting File System)EFS (Encrypting File System), w , w

Windowsie 2000 osobny sterownik, a od Windowsa Windowsie 2000 osobny sterownik, a od Windowsa XP sterownik zintegrowany ze sterownikiem NTFSXP sterownik zintegrowany ze sterownikiem NTFS

Użycie:Użycie:- poziom aplikacjipoziom aplikacji: funkcje : funkcje EncryptFile i DecryptFileEncryptFile i DecryptFile, ,

a a FileEncryptionStatusFileEncryptionStatus zwraca atrybuty zwraca atrybuty zaszyfrowaniazaszyfrowania

- Eksplorator WindowsEksplorator Windows – menu „zaawansowane – menu „zaawansowane właściwości” pliku lub kataloguwłaściwości” pliku lub katalogu

- Linia komendLinia komend – polecenie – polecenie ciphercipher

Page 68: Nowoczesne systemy plików

Działanie EFSDziałanie EFS Pliki szyfrowane symetrycznym kluczem Pliki szyfrowane symetrycznym kluczem FEK FEK

(File Encryption Key)(File Encryption Key) W Windows 2000 i Windows XP używany do tego W Windows 2000 i Windows XP używany do tego

DESXDESX, a w Windowsie XP z Service Pack 1 i 2003 , a w Windowsie XP z Service Pack 1 i 2003 – – AESAES

Można też wybrać Można też wybrać 3DES3DES-a-a Szyfrowanie i deszyfrowanie Szyfrowanie i deszyfrowanie symetryczne symetryczne jest jest

szybkieszybkie Użytkownik ma swój klucz publiczny i prywatny Użytkownik ma swój klucz publiczny i prywatny

RSARSA, którym szyfruje się FEK, którym szyfruje się FEK Szyfrowanie Szyfrowanie niesymetryczneniesymetryczne jest jest wolnewolne, ale , ale

używamy go tylko do szyfrowania FEK-aużywamy go tylko do szyfrowania FEK-a

Page 69: Nowoczesne systemy plików

Bezpieczeństwo kluczy RSABezpieczeństwo kluczy RSA

Klucz prywatnyKlucz prywatny w katalogu: w katalogu: Documents and settings\Dane Documents and settings\Dane aplikacji\Microsoft\Crypto\RSAaplikacji\Microsoft\Crypto\RSA

Katalog ten zaszyfrowany jest za pomocą Katalog ten zaszyfrowany jest za pomocą master keymaster key danego danego użytkownika (64-bajtowy klucz symetryczny)użytkownika (64-bajtowy klucz symetryczny)

Master keyMaster key w katalogu w katalogu Documents and settings\Dane Documents and settings\Dane aplikacji\Microsoft\Protectaplikacji\Microsoft\Protect

Jest zaszyfrowany algorytmem 3DES z użyciem klucza, który Jest zaszyfrowany algorytmem 3DES z użyciem klucza, który jest częściowo oparty na jest częściowo oparty na haśle użytkownikahaśle użytkownika

Page 70: Nowoczesne systemy plików

Szczegóły działania EFS (skrót)Szczegóły działania EFS (skrót)

EFS działa w EFS działa w trybie jądratrybie jądra, pracę zleca mu NTFS, pracę zleca mu NTFS Do odszyfrowania FEK-a używa funkcji kryptograficznych z Do odszyfrowania FEK-a używa funkcji kryptograficznych z

trybu użytkownikatrybu użytkownika Sterownik KSecDD zleca pracę dla Sterownik KSecDD zleca pracę dla LSASS (Local Security LSASS (Local Security

Authority Subsystem)Authority Subsystem) Komponent LSASS-a – Komponent LSASS-a – LsarvLsarv – wysłuchuje żądania i – wysłuchuje żądania i

przekazuje do przekazuje do CSP (cryptographic service provider)CSP (cryptographic service provider) LsarvLsarv przekazuje wynik z powrotem do EFS przekazuje wynik z powrotem do EFS

Page 71: Nowoczesne systemy plików

InteroperacyjnośćInteroperacyjność

Obsługa systemów plików:Obsługa systemów plików: kernel based APIkernel based API driver based APIdriver based API mieszane kernel-driver based APImieszane kernel-driver based API userland based APIuserland based API

Page 72: Nowoczesne systemy plików

Dostęp do innych systemów plików Dostęp do innych systemów plików spod Linuksaspod Linuksa

obsługa większości systemu plików obsługa większości systemu plików występuje jako moduły jądrawystępuje jako moduły jądra

w przypadku NTFS programy open w przypadku NTFS programy open source nie oferują pełnej source nie oferują pełnej funkcjonalnościfunkcjonalności

istnieją komercyjne implementacje istnieją komercyjne implementacje obsługi NTFS spod Linuksa – Paragon obsługi NTFS spod Linuksa – Paragon NTFSNTFS

Page 73: Nowoczesne systemy plików

Dostęp do innych systemów plików Dostęp do innych systemów plików spod Windowsaspod Windowsa

Zwykle nie nastręcza problemów, ze Zwykle nie nastręcza problemów, ze względu na otwartą specyfikację tych względu na otwartą specyfikację tych systemów plikówsystemów plików

Wymaga zainstalowania pewnych Wymaga zainstalowania pewnych dodatkowych aplikacjidodatkowych aplikacji

Page 74: Nowoczesne systemy plików

Pytania i odpowiedziPytania i odpowiedzi

?!?!Brak!!Brak!!

Page 75: Nowoczesne systemy plików

BibliografiaBibliografia

WikipediaWikipedia Microsoft TechNet “How NTFS Microsoft TechNet “How NTFS

Works”Works” Linux-NTFS ProjectLinux-NTFS Project http://www.easeus.com/resourcehttp://www.easeus.com/resource „„Windows Internals”Windows Internals” Moshe Bar „Linux – systemy plików”Moshe Bar „Linux – systemy plików” William von Hagen „Systemy plików William von Hagen „Systemy plików

w Linuksie”w Linuksie” GoogleGoogle

Page 76: Nowoczesne systemy plików

Dziękujemy za UWAGĘ!Dziękujemy za UWAGĘ!