You are on page 1of 6

Seminarski rad

_____________________________________________________________

9. FAJL SISTEM OPERATIVNOG SISTEMA WINDOWS 2000

9.1 NTFS i drugi fajl sistemi Windowsa 2000 podrava: NTFS (New Technology File System), podrava FAT32 (File Alocation Table) i FAT16 particionisane diskove. FAT16 je MS-DOS fajl sistem i omoguava korienje disk particija do 2 GB. FAT32 bolje organizuje disk prostor i particije mogu biti veliine do 2 TB. NTFS je novija vrsta fajl sistema koju koriste Windows NT 4.0 i Windows 2000. Ovaj fajl sistem koristi 64 bit-ne adrese i teoretski radi sa particijama do 264 bajta. Korienje NTFS tehnologije znai veu sigurnost, tj. zatitu i veu toleranciju (i korekciju) greki. Kada govorimo o zatiti, ovdje mislimo na EFS sistem enkripcje fajlova. Tolerancija greke se odnosi na injenicu da NTFS fajl sistem automatski otklanja greke ne prikazujui pri tome poruke o grekama. On lokalizuje loe klustere i vri tzv. Cluster Remapping to znai da onemoguava ponovno korienje tih losih klustera. Proces otkrivanja ovih greki se ovdje radi tako to prije upisa podataka na disk, Windows 2000 pravi kopiju podataka koje e privremeno drati u memoriji. Dalje, on pokuava da podatke smjesti na disk i odmah poslije toga uporeuje te podatke sa podacima u memoriji. Ako ovi podaci u ovom trenutku nijesu identini, znai da se radi o greki na disku pa se radi Cluster Remapping i trai se drugo mjesto na disku za smjetanje ovih podataka sa privremene memorije. Kada se prave particije, postavlja se pitanje koje su optimalne veliine tih particija? Vee particije s jedne strane dovode do sporijeg pristupa disku jer se mnogo toga moe odjednom pisati na tom disku. S druge strane, kod multimedijalnih zapisa, velikih baza podataka i slicno, potrebne su vee paritcije. Optimalno rijeenje je napraviti particije odreene namjene tako da svaka od njih ne bude vea od veliine koja je neophodna za odreenu namjenu. Ono to korisnik moe u radu sa fajlovima NTFS sistema primjetiti, je da imena fajlova mogu imati maksimalno 255 karaktera, da su putanje (engl. paths) limitirane na 32767 karaktera, da su imena fajlova Unicode to znai da je dozvoljeno koristiti npr. grko pismo ili neko drugo nelatinsko pismo, da su imena fajlova Case Sensitive to znai da pravi razliku malih i velikih slova u imenu fajla (ali rijetko se moe primjeniti zbog toga to su veina programa pravljeni iskljuivo za FAT32 koji inae nije Case Sensitive), itd. NTFS fajl sistem omoguava automatsko prepoznavanje preica u sluaju da se izvorno mjesto fajla dislocira. Pozivi Win32 API su slini kao kod UNIX-a sa razlikama u sistemu sigurnosti i u broju parametara. Npr. otvaranje fajlova vraa handle koji slui za itanje/pisanje nad fajlom. Interesantnije API funkcije za fajlove su: CreateFile, DeleteFile, CloseHandle, GetFileAtributes, itd. Za foldere, vanije funkcije su: CreateDirectory, RemoveDirectory, FindFirstFile, itd.

9.2 Osobine i implementacija Windows 2000 fajl sistema

________________________________________________________________________ 29

Seminarski rad

_____________________________________________________________

Glavne osobine NTFS sistema se mogu opisati uspomo sljedeih kategorija: strukture fajlova, pronalaenja putanje do fajla, kompresije fajla i enkripcije. 9.2.1 Struktura fajl sistema Kao to je poznato, disk drajv moe da ima vie particija. Svaka particija predstavlja linearni niz blokova koji, po memorijskoj veliini, mogu biti od 512 bajta do 64 KB. Najee su ovi blokovi veliine 4KB i njima se pristupa preko 64-bitno adresiranog ofseta. Nain pristupa je takav da se daje poetni blok i ofset koji ukazuje broj narednih blokova kojima treba pristupiti. Veoma vanu ulogu u objasnjavanju fajl sistema Windowsa 2000, ima tzv. Master File Table (MFT). MFT je linearni niz zapisa od po 1 KB od kojih svaki opisuje po jedan fajl. Oni sadre atribute fajlova kao i adrese blokova na disku gdje su ti fajlovi memorisani. MFT je u stvari jedan fajl koji moe da se poveava teoretski sve do 248 zapisa. Svaki MFT zapis (1KB) sadri zaglavlje zapisa poslije kojeg dolaze dvije vrijednosti: zaglavlje atributa i vrijednost atributa. Dalje se niz nastavlja na zaglavlje drugog atributa i na vrijednost drugog atributa, itd. Zaglavlje atributa identifikuje odreeni atribut. Obino poslije njega dolazi vrijednost atributa ali to ne mora biti pravilo. Naime, postoje fajlovi ili direktorijumi ciji su atributi veliki pa se moraju podijeliti na dva ili vie bloka na disku. Takvi atributi se nazivaju nerezidentnim atributima. Zaglavlja atributa za rezidentne atribute su veliine 24 bajta dok su za nerezidentne vea jer oni sadre i informacije o tome kako nai atribut na disku. NTFS definie 13 atributa koji se mogu pojaviti na MFT zapisima. Vana kategorija zapisa su tzv. metadata fajlovi koji su u stvari prvih 16 zapisa MFT. Svaki od ovih zapisa je obian MFT podatak koji sadri atribute za fajlove na disku, stim to ovo nijesu obini fajlovi vec fajlovi koji ukazuju ja informacije o samom fajl sistemu. Tako, npr. ako pravimo novi direktorijum ili briemo neki direktorijum, ova se radnja loguje u drugom zapisu MFT fajla ($LogFile). Inae, svi metadata zapisi poinju znakom $. Od atributa, najinteresantniji je atribut data koji predstavlja mjesto na disku (blokove) gdje je odreeni fajl fizicki memorisan. Ako je neki fajl mali (reda nekoliko stotina bajtova), on se moe smjestiti citav u MFT zapis i takav fajl se naziva direktnim (engl. immediate) fajlom. Obino je, ipak, atribut data, nerezidentan atribut. U ovim sluajevima potrebno je skakati sa jednog bloka na drugi, unutar disk prostora. Ovdje se kao argumenti daju poetni blokovi na koje se skace i duina hoda, tj. broj blokova u nizu poevsi od navedenog poetnog bloka (engl. run length). Primjer fajla koji je zadran u 9 blokova i koji ima 3 skoka (engl. run) je dat na sl.8.

slika 8 Ovdje npr. imamo prvi run koji ukazuje na blokove 20, 21, 22 i 23, itd. Svi ovi Run-ovi su upisani u MFT kao podaci. Koliko ce biti Run-ova zavisi od efikasnosti Disk ________________________________________________________________________ 30

Seminarski rad

_____________________________________________________________

Block Alocator-a u trenutku kreiranja fajlova kada se njegova efikasnost mjeri sposobnou da broj Run-ova to vie reducira, tj. da ih smjesti to blize jedno drugom. Parovi adresa-broj blokova, rekli smo da se sastoje od 64-bitnih brojeva, to znai da zauzimaju 2x8 bajtova ili 16 bajtova. Kompresijom se danas u praksi veliina ovih parova svodi na 4 bajta. NTFS particije se mogu kreirati na dva naina: direktan nain (odmah poslije formatizacije diska) i pretvaranjem sa FAT sistema. Pokazuje se da je mnogo efikasniji nain direktnog stvaranja NTFS particije jer se u tom sluaju MFT kreira na poetku diska (gdje bi izvorno i trebalo da postoji) dok se u drugom sluaju smjeta bilo bilo gdje na disku gdje ima slobodnog prostora to esto zavrava sa loom fragmentacijom. 9.2.2 Kompresija fajlova u Windows 2000 Kompresija fajlova se u Windowsu 2000 radi (od strane NTFS sistema) automatski. Sistem automatski po kreiranju fajla, pri pisanju na disk, pokuava da komprimira odreeni fajl. Prilikom itanja, fajl se automatski dekomprimuje. NTFS radi kompresiju fajlova tako to prvo ispituje prvih 16 logikih blokova fajla i njih pokuava da komprimuje. Ako je rezultat komprimiranja 15 blokova ili manje, to znai da je kompresija uspjela i ti se blokovi upisuju na disk u komprimovanoj formi, po mogunosti u jednom Run-u. Ako je rezultat i dalje 16 blokova, taj se niz blokova upisuje u nekomprimovanoj formi na disku. Dalje se na isti nain ispituju sljedeih 16 logikih blokova fajla, itd. Niz od 16 blokova je uzet kao kompromisno optimalno rijeenje. Manji setovi bi umanjili efikasnost kompresije a vei bi oteali nain pristupa komprimovanim setovima. Kada kopiramo ili premjetamo fajl ili direktorijum sa jednog mjesta na drugo, sistem dekomprimuje komprimovani fajl ili direktorijum i ponovo ga komprimuje na novom mjestu. Vano je istai da komprimovani fajlovi uspomo NTFS sistema ne poveavaju efikasnost slanja preko mree jer se fajl, na isti nain kao i kod kopiranja i premjetanja, prije putovanja preko mrenog fizikog medijuma, dekomprimuje. Poto je kompresija procesorski zahtjevan posao, na velikim serverima i u sluaju baza podataka sa estim upisima, poeljno je programu onemoguiti kompresiju. 9.2.3 Pronalaenje putanje i otvaranje fajlova NTFS u traenju i pridruivanju putanje koristi tzv. B + tree strukturu umjesto pretraivanja fajlova linearno. Recimo da se otvara fajl prezime koji se nalazi na lokaciji C:\ime. Kada korisniki program eli otvoriti neki fajl, on obino napravi CreateFile poziv koji sada ide na korisniki dll, konkretno kernel32.dll gdje imamo \?? objekat koji sadri sva imena ureaja u MS-DOS stilu kao A:, C: itd. Ova imena su su stvari simbolini linkovi na direktorijum \Device gdje objekti ovih device-a postoje. Sada link dalje pokazuje na prvu particiju prvog diska a time i na MFT. Traenje fajla se nastavlja preko root direktorijuma iji se blokovi nalaze (po definiciji) na petom zapisu MFT fajla ($ - Root Directory). U root direktorijumu se sada trai string ime i kada se nae, dobije se pokazivac na MFT zapis gdje se direktorijum ime nalazi. Sada se pretrauje ovaj zapis da bi se naao string prezime. Kada se ovaj string nae, object manager odmah kreira novi objekat. Ovaj objekat je sada neimenovan i handle ovoga objekta se sada vraa procesu koji ga je pozvao da bi on manipulisao tim objektom. ematski je ovaj proces prikazan na sl.9.

________________________________________________________________________ 31

Seminarski rad

_____________________________________________________________

slika 9 9.2.4 Enkripcija fajlova Enkripcija fajlova predstavlja proces ifrovanja fajlova tako da oni ne mogu biti upotrebljivi za neautorizovana lica. Osnova, tj. fajl koji se enkriptuje, se naziva plaintext dok je enkriptovani fajl ciphertext. Da bi se neki fajl enkriptovao, koriste se odreeni algoritmi. Oni obino koriste takozvane kljueve (engl. keys). U optem sluaju, ako sa P oznaimo plaintext, sa Ke klju enkripcije, sa C ciphertext i sa E algoritam enkripcije, moemo napisati da je C = E (P,Ke). Analogno, ako sa D i Kd oznaimo algoritam dekripcije i klju dekripcije respektivno, dekripcija bi se mogla opisati u optem obliku: P = D(C, Kd). Postoje dvije vrste kriptografije: simetrina (kriptografija tajnog kljua) koja faktiki koristi sirjektivno preslikavanje tako da su enkripcija i dekripcija podjednaki po sloenosti, i nesimetrina (kriptografija javnog kljua) kod koje su proces enkripcije i dekripcije matematicki nesimetrini a samim tim i po sloenosti. Nesimetrina kriptografija je mnogo sporija od simetrine ali je i sigurnija. Windows 2000 koristi kombinaciju ovih dviju vrsta enkripcije. Enkripcija je potrebna kod fajlova visoke vanosti zbog toga to postoje razni naini za zaobilaenje Windowsovog sistema zatite. Tako npr. sistem se moe startovati koristei MS DOS start-up disketu ime se sistemska zatita logovanja preskae. Ova zatita se preskae i u sluaju da se disk stavi kao slave paralelno sa nekim drugim diskom koji ima neki operativni sistem bez zatite (npr. Windows 98). Obino se nad nekim folderom vri enkriptovanje tako da se svi fajlovi visoke tajnosti mogu smjestiti u tom folderu ime su oni automatski enkriptovani. Da bi se izvrila enkripcija, Windowsu 2000 koristi drajver EFS (Encrypting File System), koji se nalazi izmedju NTFS sistema i korisnikog procesa. Kada neki fajl treba da bude enkriptovan, generie se prvo 128 bit-ni klju K preko funkcije generatora sluajnih brojeva kojim se kriptuje fajl blok po blok. Ovdje se koristi simetrini nain enkriptovanja koji u stvari predstavlja neku varijantu DES (Data Encryption Standard) standarda iako e novije verzije EFS-a podravati nove algoritme kriptovanja. Za svaki fajl se generie drugaiji klju to predstavlja prednost u odbrani od pokuaja neautorizovanog ________________________________________________________________________ 32

Seminarski rad

_____________________________________________________________

pristupa fajlu. Sada imamo kriptovani fajl ali moramo sauvati i klju da bi se kasnije fajl mogao dekriptovati. Nelogino je da se taj klju u izvornoj formi (plaintext) uva na disku zajedno sa fajlom jer bi u tom sluaju dekripcija bila vrlo jednostavna a samim tim gotovo da se ne bi moglo govoriti o sistemu zatite. Zbog ovoga se sada ovaj klju ponovo kriptuje ali sada nesimetrinim (Public key) algoritmom i kao takav se smjeta na disk. Kriptovanje se radi uspomo javnog korisnikog kljua (eng. users public key). Informacija o mjestu gdje je javni korisniki klju smjesten, nalazi se u registrima ali ova informacija ne moe pomoi neautorizovanij osobi da dekriptuje fajl jer se za dekripciju mora koristiti tzv. privatni klju. Prvi put kada se radi enkripcija fajla uspomo EFS - a, Windows 2000 generie par (privatni klju, javni klju). Privatni klju je u stvari podatak enkriptovan uspomo simetrinog algoritma i smjeten na disk. U ovoj enkripciji se koristi pasvord koji korisnik unosi prilikom logovanja ili unos sa smartcard-a (ako je to omogueno) zbog ega se i naziva privatni klju. Prilikom logovanja, EFS automatski dekriptuje privatni klju i zadrava ga u vitrualnom adresnom prostoru tako da se za dekriptovanje K kljua ne mora pristupati disku. Kada se sistem ugasi, privatni klju se brie sa virtualnog adresnog prostora tako da neautorizovano lice, u sluaju pokuaja pristupa fajlu a ne znajui log-on informacije, ne dobija dekriptovani privatni klju to mu onemoguava dekriptovanje fajlova. Proces enkripcije i dekripcije se ematski moe predstaviti kao na sl. 10.

slika 10 Kao to vidimo, Windows 2000 u enkriptovanju fajlova koristi oba naina enkripcije: simetrini i nesimetrini. Za enkriptovanje samih podataka fajla se koristi simetrini algoritam a za enkriptovanje kljueva (koji su inae manji), koristi se nesimetrini algoritam. Razlog korienja ove kombinacije lezi u kompromisu zahtjeva vee sigurnosti i brzine kriptovanja/dekriptovanja. EFS se nalazi u Windows 2000 kernelu. On podrava i enkripciju/dekripciju and fajlovima memorisanim na udaljenim serverima. Za enkripciju podataka preko mree, Windows 2000 obezbjeuje SSL i IPSEC protokole.

________________________________________________________________________ 33

6 4

You might also like