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 2 64 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.

________________________________________________________________________
29
Seminarski rad _____________________________________________________________

9.2 Osobine i implementacija Windows 2000 fajl sistema

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 2 48
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

________________________________________________________________________
30
Seminarski rad _____________________________________________________________

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
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

________________________________________________________________________
31
Seminarski rad _____________________________________________________________

vraa procesu koji ga je pozvao da bi on manipulisao tim objektom. ematski je ovaj


proces prikazan na sl.9.

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

________________________________________________________________________
32
Seminarski rad _____________________________________________________________

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 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