|
New
Teknologi File System |
Indledning: |
I 1993 kom Microsoft med en helt ny teknologi til
harddiskens filsystem. Filsystemet NTFS, udkom sammen med deres nye
styresystem Windows NT. NTFS er designet til at overtage filsystemet FAT
og give et mere robust og sikkert system med mulighed for at genskabe
systemet ved fejl.
Fordi NTFS skulle være et
nyt filsystem, altså skrevet fra grunden og ikke bare en modifikation af et
eksisterende system, kunne det designes så det overgik begrænsningerne i andre
PC filsystemer og så det ville indeholde kravene fra NT brugere i fremtiden,
herunder sikkerhed.
Opmærksomheden på NTFS, var at fokusere på at gøre det kompatibelt med
harddiske der kun ville blive større med tiden.
|
MFT |
Når man
formater et drev i NTFS bliver Master File Table (MFT) og andet metadata
oprettet i roden af drevet. Metadata er et værktøj NTFS bruger til sin
system struktur. MTF indeholder optagelser af enhver fil i systemet, de
første 16 optagelser er til dens egen metadata. MTF’en laver en identisk
kopi af sig selv som bliver lagt allerbagerst på drevet. Optagelse 2
indeholder en pegepind til denne fil, så hvis optagelse 1 er i stykker
læser NTFS’en optagelse 2 og retter fejlene.
|
De 16 optagelser i MTF
Disse filer er som regel
usynlige når man browser et NTFS drev med Explorer eller fra en kommando-prompt.
Informationer om en metadatafil kan ses i kommando-prompten ved at bruge den
følgende kommando:
dir /ah <filnavn>
|
System
Fil |
Fil
Navn |
MFT Op-tagelse |
Formål
med filen |
Master file
table |
$ MFT |
0 |
Indeholder
en base til optagelse af alle filer og mapper på drevet. hvis
tildelingen af information fra en fil eller en mappe er for stor til
at være i en optagelse, bliver der tildelt flere optagelser. NTFS's
commandocentral. |
Master file
table 2 |
$MftMirr |
1 |
Kopien af
MFT filen. |
Log fil |
$LogFile |
2 |
Indeholder
en liste over ting NTFS skal gøre ved genskabelse. Log filens
størrelse afhænger af drevets størrelse. |
Drev |
$Volume |
3 |
Indeholder
information om drevet, så soom drevets navn og dets version. |
Egenskabs
definition |
$AttrDef |
4 |
En tabel
med navne, nummer og beskrivelse |
Rod fil
navn index |
$ |
5 |
Rod
biblioteket |
Cluster
bitliste |
$Bitmap |
6 |
En liste
over drevet som viser hvilke cluster der er i brug. |
Boot sector |
$Boot |
7 |
Indeholder
boot-information for drevet, hvis det er et bootable drev. |
Dårlig
cluster fil |
$Badclus |
8 |
Indeholder
information om dårlige clusters for dette drev. |
Sikkerheds
fil |
$Secure |
9 |
Indeholder
en enestående sikkerheds beskrivelse af alle filer på drevet. |
Upcase
tabel |
$Upcase |
10 |
Konvertere
lowercase characters til at matche Unicode uppercase characters. |
NTFS
udvidelses fil |
$ Extend |
11 |
Bruges til
varierede indstillings muligheder som kvoter og objekt
identifikation. |
|
|
12-15 |
Reserverede
til fremtidig brug. |
|
Pegepind |
Resten af MFT’en indeholder optegnelserne af filer og
mapper som ligger på NTFS drevet.
NTFS laver en fil optegnelse for hver fil eller mappe som
bliver oprette på drevet. Hvis en fil eller mappe er under ca. 1,5kb
bliver den opbevaret direkte i MFT hvilket giver en meget hurtig tilgang
til filen, men hvis den er større end de 1,5 kb lægger NTFS’en en
pegepind ind der hvor filen skulle have ligget. Pegepinden peger så ud
til de clustre filen ligger i. Dette gør NTFS en del hurtigere end FAT,
da FAT skal ind og læse hvert cluster for at få en pegepind til det
næste cluster. NTFS behandler alt i dens system som filer, selv mapper
og MFT’en. Filerne deler den så op i små fil stykker, ting som filens
navn, dens sikkerheds information og dens data er små fil stykker. Hver
fil stykke bliver identificeret med en kode. NTFS’en deler filer op for
at sætte farten op på de forskellige handlinger. Fx behøves systemet
ikke at læse hele filen for at få fat i fil navnet, den nøjes bare med
at læse det fil stykke med filnavnet i.
En af de ting der blev lovet med NTFS var at den selv
skulle sørge for at holde styr på fragtmenterne men dette sker desværre
kun med det der ligger i MFT så alt det der ikke ligge i den, altså de
store filer bliver ikke defragmenteret hvilket kan give problemer jo
mere systemet bliver brugt.
|
Cluster: |
En af de store fordele ved NTFS er at man selv kan
bestemme cluster størrelsen. Den bliver nemlig ikke stører selv om man
har en stor harddisk. Modsat til FAT hvor cluster størrelsen afhænger af
hvor stor harddisken er. Problemet med dette er at hvis man fx har en
harddisk på 1,2 GB vil cluster størrelsen være på hele 32 KB dvs. at
hver lille fil der bliver oprette vil optage mindst 32 KB fx en lille
genvej som har en størrelse 510 bytes og det er jo ikke noget kønt syn.
Men med NTFS ville filen kun fylde det man har sat sin cluster størrelse
til hvilket normalt ville være 4 KB. Dette giver en meget større
udnyttelse af sin harddisk end med FAT. I NTFS kan man vælge mellem 512
bytes, 1 KB, 2 KB, 4 KB, 8KB, 16 KB, 32 KB og 64 KB cluster, men det er
kun op til 4 KB som understøtter komprimering. Normalt er det en god ide
at lade NT vælge hvilken cluster størrelse der skal bruges for det er
stort set det bedste i de fleste tilfælde.
|
Sikkerheds
funktioner. |
NTFS giver en langt støre sikkerhed end FAT både med
hensyn til brud fra dos og fejl på harddisken.
NTFS er lavet sådan at det er umuligt at bryde ind på
systemet fra dos.
I NTFS findes en masse sikkerheds funktioner som sørger
for at systemet hele tiden virker, som fx undersøger den regelmæssigt
for dårlige cluster og kopier dataene til bedre cluster.
NTFS bruger den samme sikkerhedsmodel som NT,
hvad der ikke
er overraskende, eftersom NTFS blev udviklet til at understøtte og komplementere
Windows NT. Discretionary access control lister (DACL) og system access control
lister (SACL), der kontrollerer hvem der kan udføre operationer på en fil og
hvilke begivenheder der sætter logning af handlinger udført på den fil i gang,
er gemt i NTFS. Denne måde at håndtere sikkerhed på går hånd i hånd med den
generelle sikkerhedshåndtering i NT.
|
NTFS’en fordele frem for FAT. |
NTFS er et 64-bit system så den kan håndterer mange flere
cluster end FAT som højest er kommet op på 32-bit systemet
NTFS er lang hurtigere til at håndtere dens filer end
FAT.
NTFS har en langt stører sikkerhed end FAT da man kan
komme ind på FAT fra stort set alt.
Med NTFS sker der langt mindre fejl end med FAT og man
kan afbryde strømmen uden der kommer en scandisk.
|
Windows 2k og XP på FAT |
Sommetider
når man skal installere et program på XP eller 2k møder man den fejl at
installationen ikke er beregnet til 32-bit system, det er fordi den
givne installation skal foregå på NTFS hvor der er 64-bit system, men at
du måske køre på et FAT32 system som ikke kan "handle" denne future.
|
Tegn og karakter |
FAT filsystemet bruger
ASCII 8-bit Karakter sæt til dets fil og directory navngivnings metode. Ved at
bruge dette karakter sæt begrænses FAT navne til Engelsk (og nogle symboler). NT
og NTFS bruger begge Unicode 16-bit karaktersættet til navne. Dette gør at NTFS
brugere verden over kan bruge deres eget sprog i samarbejde med NT.
|
Ved utilsigtet stop |
FAT har ingen fejltolerance. Hvis et system går ned mens
man er ved at oprette eller opdatere filer eller mapper, kan FAT strukturen
blive beskadiget. Dette kan resultere i tab af det data der blev manipuleret,
samt destabilisere FAT strukturen andre steder på drevet og muligvis forårsage
store data tab. Denne risiko er klart uacceptabel for NT's målgruppe. NTFS har
en indbygget log funktion der tager et notat af enhver modifikation før den
tager sted. Dette notat gemmes i en speciel fil, så hvis systemet skulle gå ned
kan NTFS se i log filen og bruge oplysningerne gemt her til at stabilisere
filsystemet med minimalt data tab.
|