1 / 31

Datotečni sistem NT

Datotečni sistem NT. Funkcije Win32 API za branje/pisanje datotek. Drugi stolpec podaja najbližji ekvivalent Linux. Zgled: kopiranje datoteke. Drugi stolpec podaja najbližji ekvivalent Linux. Funkcije Win32 API za delo z direktoriji. FAT (File Allocation Table)

Download Presentation

Datotečni sistem NT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Datotečni sistem NT

  2. Funkcije Win32 API za branje/pisanje datotek Drugi stolpec podaja najbližji ekvivalent Linux

  3. Zgled: kopiranje datoteke

  4. Drugi stolpec podaja najbližji ekvivalent Linux Funkcije Win32 API za delo z direktoriji

  5. FAT (File Allocation Table) FAT32 (Win 95r2 & win 98 FAT) NTFS (New Technology File System) CDFS (Compact Disc File System) Podpirani datotečni sistemi

  6. Dostop do datotečnega sistema NTFS in drugi datotečni sistemi so predstavljeni kot naložljivi gonilniki (loadable drivers). Aplikacije jih kličejo posredno.  Okoljski podsistemi NT kličejo sistemske servise NT, ti pa nato ustrezne gonilnike.

  7. Interakcija gonilnikov NTFS • Gonilniki NTFS interaktirajo s tremi drugimi komponentami  izvajalnika NT:  • Servisom LFS (Log Service File) (beleženje dogodkov) • Upravnikom medpomnilnika • Upravnikom navideznega pomnilnika

  8. Dostop do datotek Aplikativni programi dostopajo do datotek tako, kot do drugih objektov: preko ročajev na objekte.  Slika prikazuje podatkovne strukture, ki povezujejo ročaj datoteke z datotečno strukturo na disku.

  9. Osnovna struktura datotečnega sistema NTFS je zvezek (volume). Tvorimo ga s programom za administracijo diska (disk administrator utility). Temelji na logični particiji diska. Zaseda lahko del diska, cel disk ali je razprostrt preko več diskov. Vsi metapodatki, kot na primer podatki o zvezku, so shranjeni v navadni datoteki. Datotečni sistem

  10. NTFS uporablja kot enoto alokacije grozde (clusters). Grozd je število sektorjev diska, ki je 2 n. Ker je velikost grozda manjša kot pri 16-bitnem datotečnem sistemu FAT, je interna fragmentacija zmanjšana. NTFS uporablja kot naslove na disku logične številke grozdov (logical cluster numbers, LCN). Notranji izgled datotečnega sistema

  11. Zvezek (Volume Set) na dveh diskih

  12. Izgled zvezka NTFS (Volume Layout) • Datoteka v NTFS ni preprost tok bytov (kot pri Linux), pač pa strukturiran objekt, ki ga sestavljajo atributi. • Vsako datoteko v NTFS opisuje eden ali več zapisov v polju v posebni datoteki, ki ji pravimo “Master File Table” (MFT).

  13. MFT Master File table Srce strukture NTFS v zvezku (na disku) je glavna tabela datotek (MFT, Master File table).  To je polje datotečnih zapisov. Vsak tak  zapis je dolg 1k, ne glede na velikost grozdov. Za vsako datoteko na disku ima MFT eno vrstico, vključno z vrstico za samo MFT.   Poleg tabele MFT je na zvezku še množica metadata datotek.

  14. Pomen vrstice v MFT Slika prikazuje datotečni zapis v tabeli MFT za primer majhnih datotek.  Vsak datotečni atribut pomnimo kot ločen tok bajtov v datotekah. Strogo rečeno, NTFS ne bere ali piše datotek, on bere ali piše tokove atributov.

  15. Atributi v zapisu MFT

  16. Rezidenčni in nerezidenčni atributi Vsak atribut  začenja zaglavje (header), v katerem so podatki o atributu (ali je rezidenčen, dolžina njegove vrednosti (dolžina podatkov) itd).  Če vrednost (njegov podatek) nekega atributa pomnjena kar v datotečnem zapisu, je to rezidenčni atribut. Če je datoteka majhna, pomnimo vse atribute in tudi njihove vrednosti (podatke) v datotečnem zapisu.  Dostop do (zelo) kratkih datotek je zato hiter.

  17. Primer majhne in velike datoteke Majhen direktorij je primer take,kratke datoteke Veliko datotek pa ni dovolj majhnih. Za atribute z dolgimi vrednostmi (na primer za datoteke z več podatki) uvede NTFS izven tabele MFT nekaj kB velik podaljšek (pravimo mu tudi extent, run), v katerem pomni vrednost atributa (v našem primeru podatke datoteke).  Atributi, katerih vrednosti so  pomnjene izven MFT, so nerezidenčni atributi.

  18. MFT zapis za majhen direktorij

  19. Preslikava med VCN in LCN Če atributov datoteke (ali direktorija) ne moremo shraniti v datotečni zapis MFT, potrebujemo dodatne, ločene alokacije.Pri tem si NTFS pomaga z virtualnimi številkami grozdov (VCN). Slika kaže , kako  zaglavje podatkovnega atributa  pomni preslikavo med virtualnimi in logičnimi številkami grozdov.

  20. MFT zapis za datoteko s 3 teki in 9 bloki run == tek

  21. Datoteka, ki zahteva za pomnenje svojih tekov 3 MFT zapise Struktura datotečnega sistema

  22. Master File Table

  23. Koraki iskanja za datoteko C:\maria\web.htm Iskanje datoteke po imenu

  24. Za zgoščevanje datoteke razdeli NTFS podatke v zgoščevalne enote (compression units). To so bloki po 16 enovitih grozdov. Za redke datoteke uporablja NTFS drugo tehniko. Grozdov (Clusters), ki vsebujejo same ničle, sploh ne alocira in shrani na disku. Namesto tega pušča vrzeli v zaporedju številk virtualnih grozdov, pomnjenih v MFT zapisu datoteke. Ko datoteko beremo in najdemo vrzel med številkami virtualnih grozdov, NTFS preprosto zapolni polje klicatelja z ustreznim številom ničel. Zgoščevanje datotečnega sistema

  25. (a) Primer datoteke dolžine 48 blokov, zgoščene v 32 blokih (b) MTF zapis datoteke po kompresiji Zgoščevanje datoteke

  26. Windows NT nudi naslednje možnosti: Toleranca do izpadov • Zrcaljenje diskov, podatki, zapisani na en disk, so zapisani tudi na drug, redundančen disk, ki prevzame vlogo ob izpadu prvega. • Dupleks diskov, zagotavlja, da sta dva zrcaljena diska na ločenih krmilnikih diskov. Tako odstranimo še eno možnost izpada. • Proge diskov s parnostjo (Disk Striping with Parity), poznano tudi kot RAID 5. To omogoča ob izpadu diska rekonstrukcijo podatkov iz redundantnega polja diskov. • Pomembna jer še podpora UPS zaradi delovanja upravnika medpomnilnika (cache manager) v Windows NT.

  27. “Stripe Set” na dveh diskih

  28. “Stripe Set” s parnostjo na 3 diskih

  29. Vse spremembe datotečnega sistema so izvajane v transakcijah, ki so beležene. Pred spremembo podatkov zapiše transakcija beležko (log record), ki vsebuje podatke za izničenje transakcije (undo, redo). Po spremembi podatkov se zabeleži zapis “commit”, ki pove, da je bila transakcija uspešna. V primeru izpada lahko z obdelavo beleženih zapisov podatke konsistentno rekonstruiramo. Obnovimo lahko le metapodatke datotek. Beležka (log) je pomnjena kot 3. metapodatkovna datoteka na začetku zvezka Obnavljanje datotečnega sistema

  30. NTFS master file table

  31. Varnost NTFS zvezka izhaja iz objektnega modela. Vsaka datoteka ima v MFT zapisu varnostni opisnik. Ta atribut vsebuje dostopni žeton lastnika datoteke in nadzorni seznam dostopa (access control list), ki kaže privilegije, ki so posameznikom na voljo za dostop do datoteke. Varnost datotečnega sistema

More Related