I filesystem di Windows e NTFS

Transcript

I filesystem di Windows e NTFS
Windows Internals Tour
Windows File System
Andrea Dell’Amico – Microsoft Student Partner
[email protected]
21 Aprile 2012 – Roma 3
Sommario
•
•
•
•
•
•
•
•
File Systems supportati da Windows
NTFS Design Goals
Architettura del File System Driver
Operazioni NTFS
Windows File System On-Disk Structure
Compressione NTFS
BitLocker
One more thing…
Windows File System - Terminology
Settori:
– Blocchi indirizzabili in hardware su un media di storage
– La dimensione tipica è di 512 bytes in un sistema x86
Formato File System:
– Definisce come i dati sono memorizzati nel media di
storage
– Impatta sulle caratteristiche: permessi e sicurezza,
limitazioni, supporto dischi grandi dimensioni
Clusters:
– Blocchi indirizzabili che possono essere usati dal FS
– La dimensione è sempre multipla di quella dei settori
– Dimensione = tradeoff tra efficienza di spazio e tempo di
accesso
Metadata:
– Sono informazioni di supporto alla gestione del FS
– Contiene le informazioni per localizzare i file e directory
in un volume
– Tipicamente non accessibili alle applicazioni
Formati supportati da Windows
• CD-ROM File System (CDFS)
• Universal Disk Format (UDF)
• File Allocation Table (FAT12, FAT16, FAT32,
exFAT)
• New Technology File System (NTFS)
NTFS
NTFS è il file System Nativo di Windows
NTFS usa indici a 64-bit per l’identificazione dei cluster
– In teoria può indirizzare volumi fino a 16 exabytes (16 miliardi di GB)
– Da Windows 2000 il limite è stato settato a 128 TB utilizzando cluster da
64-KB indirizzabili a 32-bit
Perché usare NTFS al posto del Fat? FAT è semplice, rende alcune
operazioni più veloci, ma NTFS supporta:
–
–
–
–
File e HD di grandi dimensioni
Migliori prestazioni in HD grandi, con grandi cartelle e piccoli file
Affidabilità
Sicurezza
NTFS Design Goals
Superare i limitazioni inerenti a FAT / HPFS
– FAT (File Allocation Table) non supporta dischi di grandi
dimensione
– FAT16 (MS-DOS file system) supporta solo 216 clusters e dischi da
2 GB ( con clusters da 64 Kb)
– FAT / root directory rappresentano un singolo punto di
fallimento
– Il numero di record nella root directory è limitato
– HPFS ha rimosso alcune limitazioni del FAT, ma non supporta
sicurezza, tecnologie di ripristino, ridondanza dei dati e faulttolerance (versioni successive di HPFS supportano fino a dischi
da 2TeraByte)
NTFS Recoverability
Nel passato l’ottimizzazione dell’I/O dei PC era focalizzato sulla velocità
NTFS ha cambiato questa visione – l’affidabilità è diventata la cosa più
importante:
Le operazioni di I/O che alterano la struttura di NTFS sono
implementate con transazioni atomiche
– Cambio della struttura delle directory,
– Estendere file, allocare lo spazio per nuovi file
Le transazioni devono essere completate o annullate
NTFS memorizza in modo ridondante le informazioni vitali per l’FS
– Al contrario in FAT e HPFS, c’è un singolo settore che contiene tutte le
informazioni critiche
– Un errore di lettura di questo settore causa la perdita del volume
NTFS Security and Recoverability
La sicurezza di NTFS deriva dal modello a oggetti di Windows
L’apertura di un file è implementata come un oggetto, i descrittori di sicurezza sono
memorizzanti come parte del file
Il sistema di gestione della sicurezza di NT verifica i diritti di accesso quando un
processo tenta di accedere ad un oggetto
L‘amministratore e owner del file possono impostare le proprietà di sicurezza
NTFS recoverability garantisce l’integrità della struttura del FS
Non può garantire il completo ripristino dei file degli utenti
Modello stratificato + FTDISK driver
– Mirroring of data – RAID level 1
– Striping of data – RAID level 5 (un disco con informazioni di parità)
Altre funzionalità di NTFS
Multiple data streams
Unicode-based names
Hard links
Junctions
Compression and sparse files
Change logging
Per-user volume quotas
Link tracking
Encryption
POSIX support
Defragmentation
Dischi e File Grandi
FAT16:
– Tabella a 16-bit memorizza la struttura del disco
– Fino a 65.536 clusters per volume (#files !!); la dimensione dei cluster è
modificabile
FAT32:
–
–
–
–
Introdotto con Windows 2000
4kb clusters per volumi fino a 8 GB
Può riallocalre la root directory / mantenere una copia di backup della FAT
La Root directory è una lista di cluster, non ci sono limiti al numero di entry
HPFS (supporto rimosso in NT 4.0):
– 32 bits per enumerare le unità di allocazione, 4 GB la dimensione massima dei
file
– Alloca lo spazio in settori fisici da 512 bytes (alcuni dischi con geometria a 1024
bit per settore non sono supportati)
Dischi e File Grandi (cont.)
NTFS indica i cluster con indici a 64-bit
Fino a 264 clusters di 64 Kbytes di
dimensione
Dimensione massima dei file: 264 bytes
Dimensione dei cluster modificabile
– 512 bytes per dischi piccoli
– Fino a 64Kb per dischi grandi
NTFS Cluster Size
La dimensione dei cluster dipende dalla
dimensione del disco
–
–
–
–
512 bytes per dischi piccoli (up to 512 MB)
1 KB per dischi fino a 1 GB
2 KB per dischi tra 1 e 2 GB
4 KB per dischi più grandi di 2 GB
Tradeoff: frammentazione del disco e spazio
sprecato
Multiple Data Streams
In NTFS, ogni unità di informazione associata ad un file (il
nome, il proprietario, i time stamp, il contenuto, etc) sono
implementate come un file attribute (NTFS object attribute)
Ogni attributo consiste in un singolo stream, che è una
sequenza di bytes
– Questa generica implementazione permette di aggiungere nuovi
attributi ad un file
Multiple Data Streams
Un file NTFS ha uno stream di default che non ha nome
– Una applicazione può creare nuovi stream, fornendone un nome
e riferendosi a questi con il nome scelto
– Al fine di non modificare le Microsoft Windows I/O API, che
prendono come argomento un nome di file, i data stream
aggiuntivi possono essere riferiti aggiungendo : al nome del file:
es myfile:stream2
Unicode Names
Il supporto Unicode è ereditato da Windows,
è quindi possibile salvare file, directory e
volumi con un set completo di caratteri
Hard Links
•Un Hard link consente di riferire path diversi allo stesso file
o directory
– Se si crea un hard link a C:\Users\Documents\Spec.doc che si
riferisce al file C:\My Documents\Spec.doc, I due percorsi
puntano allo stesso file fisico, una modifica dell’uno si riflette su
entrambi
Junctions
•Le Junctions sono anche chiamati symbolic
links, permettono di redirigere i file o le
directory ad altre posizioni
– Se il path è C:\Drivers è una junction che redirige
a C:\Winnt\System32\Drivers, una applicazione
che legge C:\Drivers\Ntfs.sys, avrebbe accesso a
C:\Winnt\System\Drivers\Ntfs.sys
– Può essere creata con il comando:
mklink /J NomeJunction PercorsoDiDestinazione
Junctions
•Nei sistemi
precedenti a Windows
Vista, le junction
possono essere create
con il juction tool di
Sysinternals o il tool
linkd tool dal
Resource Kits
Change Logging
Molte applicazioni, come le utility di backup
necessitano di monitorare i cambiamenti dei
volumi su cui operano
C’è un quindi un modo per l’applicazione di
“aspettare” la disponibilità di una directory
ed essere notificata in caso di modifica
Change Logging
Con Windows 2000, NTFS include I change
log, che tengono traccia degli eventi che
avvengono nel FS, sono implementati come
record metadata
– Se il file supera la dimensione imposta, NTFS
elimina I dati più vecchi
– Le applicazioni devono usare le Win32 API per
leggere gli eventi
– Il log è condiviso e in genere abbastanza
grande per tenere traccia di tutte le modifiche
anche in caso di operazione con grandi I/O
Per-User Volume Quotas
Le NTFS Quota permettono di definire la quantità di spazio
disco utilizzabile da ciascun utente.
– Può essere configurato per registrare nell’Event Log il
superamento della soglia di attenzione da parte di utente.
– Se un utente supera il limite imposto, l’evento viene registrato e
l’operazione di scrittura interrotta con un avviso di “disco pieno”
Lo spazio occupato viene calcolato in base alla somma
della dimensione logica dei file e directory che hanno
l’utente come proprietario degli stessi.
Link Tracking
Numerosi tipi di link simbolici sono usati dalle applicazioni:
– I collegamenti permettono agli utenti di collocare i file nel loro ambiente
di lavoro (es desktop) indipendentemente dalla loro posizione nel file
system
– Object linking and embedding (OLE) permettono ai documenti di
un’applicazione di essere nei documenti di un’altra
In passato erano difficili da gestire
– Se spostavi la sorgente il link si rompeva
Ora Windows ha un servizio di link-tracking, TrkWks (gira dentro
services.exe), che tagga le sorgenti con un unique object ID e le rialloca
in caso di spostamenti
Encryption
L’implementazione della sicurezza di NTFS è applicabile a file e
directory. Non è efficace in caso di violazione fisica della macchina:
– Installazione parallela di altra copia di Windows
– NTFSDOS
– Boot Disk / Live / etc.
Encrypting File System (EFS)
– Come la compressione è trasparente all’utente
– E’ implementata come attributo per file e directory
– I file crittografati con EFS possono essere letti solo dall’account che
possiede la chiave privata corrispondente. La chiave privata è rilasciata
solo dopo l’autenticazione dell’utente stesso.
– EFS è integrato al livello più basso di NTFS anche se è implementato
come un file system filter.
POSIX Support
Il supporto POSIX richiede alcune
caratteristiche specifiche implementate in
NTFS:
– Un descrittore di protezione per i gruppi
– Nomi dei file case sensitive
– Indicazioni di accesso e informazioni
dettagliate sull’orario.
Filenames
POSIX:
– Case-sensitive, trailing periods & spaces
– NTFS namespace equivalente al POSIX space
Namespaces
Win32:
– File name lunghi, con unicode
– Punti multipli, spazi, punti iniziali
POSIX
subsystem
MS-DOS:
– Nomi da 8.3 caratteri, non case sensitive
NTFS genera i nomi MS-DOS per i file Win32
automaticamente
– Funzionano come alias NTFS
– Memorizzati nella stessa directory; dir /x
Win32
subsystem
MS-DOS
Win16 clients
Deframmentazione
•Frammentazione: un file si dice frammentato
quando non è memorizzato in cluster contigui
•La frammentazione è significativa solo nei dischi a
piatti rotanti, nei nuovi supporti SSD (Solid State
Disk) invece non esiste.
Deframmentazione
Anche se è comune opinione che NTFS non si frammenti,
questo non è vero:
– Le API della deframmentazione sono incluse fin da NT 4
– Windows 2000 ha introdotto un deframmentatore non
schedulabile
– In Windows XP è stata aggiunta una implementazione da linea di
comando
– In Windows 7 il defrag
è automatico, disattivato di
default se è presente un
disco allo stato solido
NTFS File System Driver
Log file
service
Flush the
log file
Write the
cache
Cache
manager
Access the mapped
file or flush the cache
Virtual memory
manager
Log the transaction
Read/write the file
I/O manager
NTFS driver
Fault tolerant
driver
Load data
from disk
into
memory
Disk driver
Read/write
a mirrored
or striped
volume
Read/write
the disk
Componenti di NTFS
Cache Manager
•System wide caching
– Per NTFS e altri drivers di file systems
– Includendo i driver di network file system (server and redirectors)
•Cached files sono mappati nella memoria virtuale
– L’interfaccia specializzata da Cache Manager NT manager della
memoria virtuale
– Il Memory manager ordina a NTFS di accedere ai driver del disco ed
ottenere i file
Log File Service
– 2 copie dei transaction logs
– I Transaction log sono scritti su disco prima che la cache in scrittura sia
inviata al disco stesso
– Cache manager esegue il flush dell’operazione corrente
NTFS & File Objects
Process
Handle table
File object
Object
manager
data
structures
File object
File
control
block
Data
attribute
NTFS data
structures
App accesses files as
NT objects by handles.
Object Manager and security
subsystem verify access rights
Stream
control
blocks
(used to manage
the on-disk
structure)
Master file
table
Userdefined
attribute
NTFS
database
(on disk)
NTFS On-Disk Structure
I volumi corrispondono alle partizioni logiche dei dischi fissi
E’ possibile creare volumi fault tollerant distribuiti su più dischi
– Variano dalla SKU di Windows le modalità supportate
I volumi consistono in una serie di file + lo spazio vuoto
– FAT volume: alcune aree sono formattate in modo specifico per l’FS
– NTFS volume: tutti i dati sono memorizzati come normali file
NTFS fa riferimento internamente ai cluster
– Cluster factor: #sectors/cluster; varia con la dimensione dl volume;
(l’intero numero dei settori fisici è sempre potenza di 2)
Logical Cluster Numbers (LCNs):
– Si riferiscono alla locazione fisica dei cluster
– LCN sono l’indice contiguo di tutti i cluster del volume
Master File Table
Tutti i dati memorizzati in un volume sono
contenuti in un file
MFT: Il cuore della struttura dei volumi
NTFS
– Implementata come un array di file
records
– Una riga per ogni file del volume
(inclusa una riga per la MFT stessa)
– Archivio dei Metadata con le
informazioni sulla struttura del file
system
(file nascosti; $MFT; $Volume...)
– Più di un MFT record per i file molto
frammentati
MFT
MFT copy (partial)
Log file
Volume file
NTFS
metadata
file
Attribute def. table
Root directory
Bitmap file
Boot file
Bad cluster file
...
User files and dirs.
Operazioni NTFS
Montare un volume
1.
2.
NTFS controlla nei boot file per individuare l’indirizzo fisico della
MFT ($MFT)
Il secondo record della MFT punta ad una copia della MFT stessa
($MFTMirr)
– Necessaria per trovare i metadati se la MFT è corrotta
3.
4.
I record della MFT contengono la mappatura VCN a LCN
NTFS ottine dalla MFT l’indirizzo dei metadati
– NTFS apre questi file
5.
6.
NTFS esegue le operazioni di ripristino
Il file system è ora pronto e accessibile all’utente
NTFS metadata
•NTFS writes to log file ($LogFile)
– Memorizza tutti i comandi che cambiano la struttura del volume
•Root directory:
– Quando NFTS cerca di aprire un file, parte sempre dalla root
directory
– Quando il file è trovato, ne memorizza il riferimento della MFT
– Nelle seguenti operazioni di I/O è possibile accedere al record MFT
direttamente
•Bitmap file ($Bitmap):
– memorizza lo stato di allocazione del volume (1 bit, 1 cluster)
•Boot file ($Boot):
– Contine il codice del bootstrap
– E’ memorizzato in una specifica area del disco
– Rappresentato come file -> file ops. possible (!) (non è editabile)
NTFS metadata (contd.)
Bad-cluster file ($BadClus)
– Memorizza la locazione dei Bad-Cluster
Volume file ($Volume)
– Contiene: nome del volume, versione NTFS
– Bit, che indica se il volume è corrotto
Attribute Definition Table ($AttrDef)
– Definisce quali sono gli attributi supportati dal
volume
– Indica cosa può essere indicizzato, recuperato, etc.
LCN vs VCN
NTFS si riferisce alle locazioni fisiche
attraverso LCN
Physical cluster = LCN * cluster-factor
Virtual Cluster Numbers (VCNs):
Memorizza i cluster che appartengono ad un
file; mappato sul LCN
LCNs non sono necessariamente fisicamente
contigui
File Records &
File Reference Numbers
Sequence
number
63
File number
47
0
I file nei Volumi NFTS sono identificati dal file reference
– File number == index in MFT
– Sequence number – usato per i controlli di consistenza;
incrementato ogni volta che il file è riusato
File Records:
– Un file è una collezione di coppie attributi/valori (uno di questi è il dato)
– Altri attributi: filename, time stamp, security descriptor,...
– Ogni attributo del file è memorizzato come uno stream di byte
all’interno del file
File Records (contd.)
NTFS non legge e scrive file:
– Legge e scrive attributi
– Operazioni: create, delete, read (byte range), write (byte range)
– Read/write lavorano su attributi senza nome
Master File Table
Windows optimization: Security descriptors
are stored in a central file and referenced
by each file record (saves disk space)
Standard
information
Security
Filename descriptor
MFT record for a small file
Data
Attributi Standard dei file su NTFS
Attribute
Description
Standard
information
File attributes: read-only, archive, etc; time stamps;
creation/modification time; hard link count
Filename
Name in Unicode characters; multiple filename
attributes possible (POSIX links!!); short names for
access by MS-DOS and 16-bin Win applications
Security descriptor
Specifies who owns the file and who can access it
data
Contents of the file; a file has one default unnamed data
attribute; directory has no default data attrib.
Index root, index
Three attributes used to implement filename allocation,
bitmap index for large directories (dirs. only)
Attribute list
List of attributes that make up the file and first reference
of the MFT record in which the attribute is located (for
files which require multiple MFT file records)
Attributi (contd.)
Tutti gli attributi in un file record hanno un nome e un valore
NTFS identifica gli attributi con:
– Nomi maiuscoli che iniziano con $: $FILENAME, $DATA
Attribute‘s value: Byte stream
– Il nome del file per $FILENAME
– I Bytes di dati per $DATA
I nomi degli attributi corrispondo ad un typecode numerico
Gli attributi dei file nel record MFT sono memorizzati nell’ordine dei
typecode
– Alcuni attributi possono comparire più di una volta (es. Nome del file)
MS-DOS filenames in NTFS
Standard info
NTFS filename
MS-DOS filename
Security desc.
Data
MFT file record with MS-DOS filename attribute
Il nome NTFS e il nome MS-DOS sono memorizzati nello stesso record e puntano allo
stesso file
– La rinominazione cambia entrambi i nomi
– Apertura, lettura, scrittura, cancellazione lavorano con entrambi i nomi allo
stesso modo.
POSIX hardlinks sono implementati allo stesso modo
– Cancellare un file con più nomi, decrementa solo il contatore dei link
Generazione dei nomi MS-DOS:
1. Rimuove caratteri illegali, rimuove altri caratteri non alfanumerici ad eccezione
dei punti, tronca a 6 caratteri.
2. Concatena ~1 al nome; tronca l’estensione a 3 caratteri, tutti maiuscoli
3. Inscrementa ~1 se trova duplicati nella stessa cartella
Resident & Nonresident Attributes
File Piccoli:
–
–
–
–
Tutti gli attributi sono memorizzati nella MFT
Gli attributi che risiedono nella MFT sono chiamati „resident“
Tutti gli attributi iniziano con un header (sempre contenuto nella MFT)
L’Header include l’offset to attr. value e lunghezza del value
Standard info
NTFS filename
Security desc.
Data
header
„RESIDENT“
Offset: 8h
Length: 14h
value
MYFILE.DAT
Attributes (contd.)
•Piccole Cartelle:
– Index root contiene i riferimenti ai file e
subdirectory
Standard info
NTFS filename Security desc.
Index root
Empty
Index of files
file1, file2, file3,...
MFT file record for a small directory
• Se l‘attributo non sta nella MFT:
•
•
•
•
NTFS alloca un cluster separato (run, extent) per memorizzare il valore
NFTS alloca altri run se l‘attributo cresce nel tempo
Questi attributi sono chiamati „non-resident“
L‘Header degli attributi „non-resident“ contiene
l‘informazione sulla loro locazione
Large files & directories
Standard info
NTFS filename Security desc.
Data
HPFS extended attr.
MFT record for large file with 2 data runs
Solo gli attributi che possono crescere devono essere non-resident
Il nome del file e le informazioni standard devono essere sempre resident
Gli indici dei file per le directory formano dei B+ tree
Standard info
NTFS filename Security desc. Index root Index allocation
Index of files
file4, file8
MFT file record for a large directory
with nonresident filename index
file1, file2, file3
VCN-to-LCN
mappings
file5, file6
Bitmap
Large files (contd.)
NTFS keeps track of runs by means of VCN
(Virtual Cluster Numbers)
– Logical Cluster Numbers rappresentano l’intero volume
– Virtual Cluster Numbers rappresentano i cluster che fan parte di un file
– La lista degli attributi può estendersi tra più run (non solo i dati)
Standard info
NTFS filename Security desc.
VCN-to-LCN mappings for a
nonresident data attribute
VCN 0
1
2
3
Data
LCN 1355 1356 1357 1358
Data
Startin
g VCN
Startin
g LCN
Number of
clusters
0
1355
4
4
1588
4
VCN 4
5
6
7
Data
LCN 1588 1589 1590 1591
Compressione
NFTS supporta la compressione trasparente dei file
– Se una cartella è indicata come compressa, tutti i file contenuti e
le sub directory sono compresse
– La compressione è a livello di cluster ed è applicata a 16 blocchi
di ogni file
– La compressione è attivabile dalla GUI del sistema operativo.
Compression of sparse files
NTFS azzera tutto il contenuto del file alla creazione
Molti sparse files contengono una gran quantità di “zeri”
– Questi occupano spazio – quelli inutili sono compressi.
Standard info
VCN 0
1
NTFS filename Security desc.
2
3
....
15
Data
LCN 1355 1356 1357 1358 ....
VCN 32
33
34
35
...
1370
Startin
g VCN
Startin
g LCN
Number of
clusters
0
1355
16
32
1588
16
48
96
16
128
324
16
47
Data
LCN 1588 1589 1590 1591 ....
Data
1603
Certain ranges of VCNs have no
disk allocation (16-31, 64-127)
Compressing Nonsparse Data
•NTFS divide i file non processati in unità di compressione da 16 cluster
l’una.
•Alcune sequenze non possono essere molto compresse
– NTFS determina se è possibile comprimere di almeno un cluster ogni
unità
– Se i dati non possono essere compressi, alloca lo spazio e li scrive su
disco
– Se i dati possono essere compressi di almeno un cluster, NTFS alloca solo
lo spazio necessario per la memorizzazione dell’informazione compressa
•Quando sono scritti dati, NTFS si assicura che ogni run inizi sempre al
limite del 16 cluster.
– In lettura/scrittura si accede sempre all’intera unità di compressione
– Lettura anticipata + decompressione asincrona migliorano le
performance
Data runs of a compressed file
15
VCN 0
Compressed data
LCN 19
20 21
16
22
31
Compressed data
23
24
25
32
26 27
28
29
30
47
Noncompressed data
Startin
g VCN
Startin
g LCN
No. of
cluster
s
0
19
4
16
23
8
32
97
16
48
113
10
97
98 99
48
100 101 102 103 104 105 106 107 108 109 110 111 112
63
Compressed data
113 114 115 116 117 118 119 120 121 122
MFT record for a compressed file
VHD: Virtual Hard Disk
E’ un file che riprende le caratteristiche di un
HD fisico
Le specifiche sono disponibili sotto
Microsoft Open Specification Promise
Supportato dalla maggior parte dei software
di virtualizzazione
Integrato in Windows 7 / 2008 R2
BitLocker e BitLocker to Go
Introdotto in Windows Vista
Sistema di crittografia per la protezione
dell’intero volume
Utilizza AES 128 o AES 256 (con o senza
diffusione)
Integrato con TPM
BitLocker™ Drive Encryption Architecture
PreOS
Static OS
All Boot Blobs
unlocked
Volume Blob of Target OS
unlocked
TPM Init
BIOS
MBR
BootSector
BootBlock
BootManager
OS Loader
Start
OS
Disk Layout And Key Storage
OS Volume
• Encrypted OS
• Encrypted Page File
• Encrypted Temp Files
• Encrypted Data
• Encrypted Hibernation File
Dove è l’Encryption Key?
1. SRK (Storage Root Key)
dentro il TPM
2. SRK encrypts FVEK (Full Volume
Encryption Key) protetta da
TPM/PIN/USB Storage Device
3. FVEK memorizzata (encrypted da
SRK) nel HD dentro l’OS Volume
3
OS Volume
System
2 FVE
K
System Volume Contains:
MBR, Boot manager, Boot Utilities
(Unencrypted, small)
1 SRK
Come superare BitLocker ™?
1. Trovare la macchina Target
2. Controllare che sia accesa o in Standby
3. Raffreddare la ram con uno spray
criogenico…
4. Fare il dump della RAM con un USB boot
disk
5. Trovare la chiave di BitLocker analizzando
il dump…
6. Facile no?
One more thing…
ReFS: Resilient File System
Disponibile in Windows Server 8
Solo per volumi dati (no boot)
Integrità dei metadati con checksums
ReFS: B+ tree on-disk structure
DOMANDE, RICHIESTE,
SUGGERIMENTI?
GRAZIE A TUTTI PER
L’ATTENZIONE!
Copyright Notice
© 2000-2005 David A. Solomon and Mark Russinovich
These materials are part of the Windows Operating System
Internals Curriculum Development Kit, developed by David
A. Solomon and Mark E. Russinovich with Andreas Polze
Microsoft has licensed these materials from David Solomon
Expert Seminars, Inc. for distribution to academic
organizations solely for use in academic environments (and
not for commercial use)
Microsoft, Windows Server 2003 R2, Windows Server 2008, Windows 7 and Window Vista are either registered trademarks or trademarks of Microsoft Corporation in the
United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners. The information
herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to
changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information
provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS
PRESENTATION.