USN Journal

USN Journal (Update Service Number Journal eller Change Journal) er funksjonalitet i operativsystemet Microsoft Windows som holder rede på alle endringer i filer eller mapper for hvert diskvolum.

Da Windows 2000 kom i salg var også filsystemet NTFS versjon 5.0 en del av dette. Denne nye versjonen av NTFS inneholdt en del ny funksjonalitet og forbedringer over eldre versjoner av filsystemet. En av disse var et nytt system for å holde rede på alle endringer til filer og mapper, noe som kan være svært nyttig for enkelte typer applikasjoner. Fra og med NTFS 5.0 kunne indivuelle diskvolum konfigureres til å registrere disse endringene i en journal. Når den er påskrudd registrerer journalen informasjon om endringene som blir gjort.

Implementasjon 

USN Journal-funksjonaliteten fungerer på en relativt enkel måte. En database (eller journal) vedlikeholdes per diskvolum og den starter som en tom fil. Hver gang en fil eller mappe endres på diskvolumet legges en ny post til slutten av journalfilen. Hver post identifiseres av et 64-bit USN (Update Sequence Number), eller endringssekvensnummer på norsk. Posten inneholder endringssekvensnummeret, navnet på filen eller mappen, tidspunktet for endringen og informasjon om selve endringen.

Siden en post også inneholder et filnavn varierer størrelsen på postene noe, men en typisk post er rundt 100 bytes i størrelse. Av ytelseshensyn skriver systemet blokker på 4 KB, som inneholder 30 eller 40 poster. Systemet tillater ikke at en post deles over flere blokker, så journalfilen inneholder ofte hull der et tomrom har blitt opprettet for å fylle resten av blokken. Dersom journalfilen blir for stor fjernes de eldste postene fra begynnelsen av filen.

Selv om journalen beskriver endringen som fant sted inneholder den ikke alle data eller detaljer rundt endringen og kan av den grunn ikke brukes for å tilbakestille en endring.

Innflytelse på ytelse 

I eldre versjoner av Windows måtte visse typer programmer, slik som backupprogrammer, søke gjennom hele mappestrukturen på et diskvolum hver gang det måtte sjekke for endringer i filer og mapper, noe som måtte gjentas hver gang programmet trengte å vite om noen filer eller mapper hadde blitt endret. Introduksjonen av USN Journal i Windows 2000 gjorde det mulig for programmer å kun lese gjennom et diskvolum én gang, for deretter å overvåke endringsjournalen for påfølgende endringer. Dette har potensial for betydelig ytelsesforbedringer da et fullt søk kan være svært tidkrevende.

Referanser

Eksterne lenker 

  Change Journals: MSDN

Microsoft Windows