Upload
emilio-carella
View
216
Download
1
Embed Size (px)
Citation preview
© 2001 - Fabio Salice© 2001 - Fabio Salice
CEFRIELCEFRIELConsorzio per la Formazione e la RicercaConsorzio per la Formazione e la Ricercain Ingegneria dell’Informazionein Ingegneria dell’Informazione
PolitecnicoPolitecnicodi Milanodi Milano
Windows NTWindows NT
IntroduzioneIntroduzione
Docente:Docente:
Luigi PomanteLuigi Pomante
Politecnico di MilanoPolitecnico di [email protected]@elet.polimi.it
www.elet.polimi.it/~pomantewww.elet.polimi.it/~pomante
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 22 - -
SommarioSommario
IntroduzioneAmbiente di esecuzione dei processiArchitettura di Windows NT
Modo prilivegiatoNT Executive
NT Kernel
HAL (Hardware Abstraction Layer)
Modo utenteEnvironment Subsystems
Processi di startup del sistema
Cambiamenti in Windows 2000Monitoraggio del Sistema
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 33 - -
IntroduzioneIntroduzione
Sistema operativo Windows NTA Prelazione (preemptive)Rientrante
Tutte le parti condivise di libreria non sono auto-modificanti.
– Non è consentita la modifica diretta dei dati.
Memoria virtualeMulti piattaformaParzialmente compatibile con DOS e Win3.1
Estensioni di Windows 2000Plug and playJob objectIndirizzamento a 64 bit
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 44 - -
Introduzione: Architettura Introduzione: Architettura WinNTWinNT
Processi di servizio
Device drivers
Win32 User,GDI
Virtual Memory
Processes & Threads
Security Cache Manager
I/O Manager
Hardware interfaces (buses, I/O, interrupts, timers, clocks, DMA, cache control, etc.)
Replicator
Alerter Service
Controller
WinLogon RPC
Environment Subsystems
Applicazione
Subsystem DLLs
POSIX
OS/2
Session Manager
Processi di Sistema
Applicazioni Utente
File systems Object management / Executive RTL
NT Kernel
Hardware Abstraction Layer (HAL)
Event Logger
System Threads Modalità Kernel
Executive API
Win32
NTDLL.DLL Modalità Utente
NTOSKRNL.EXE NT Executive
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 55 - -
Introduzione: Processi e Introduzione: Processi e ThreadThread
ProcessoUn’istanza di un programma in esecuzioneun processo si crea per eseguire un programma quindi, avviare un’applicazione crea un processo.L’argomento principale all’API (Application Program Interface) Win32 CreateProcess è il nome del file da eseguire.
Esempio:#include <string.h>...strcpy(lpcommandLine, “c:\\WINNT\\SYSTEM32\\NOTEPAD.EXE temp.txt”);CreateProcess (Null, lpCommandLine,...);...
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 66 - -
Introduzione: Processi e Introduzione: Processi e ThreadThread
Thread (processo leggero – lightweight process)Un contesto di esecuzione all’interno di un processo.
Un processo definisce uno spazio di indirizzamento all’interno del quale uno o più thread sono eseguiti.
Tutti i thread in un processo,Sono eseguiti all’interno di un singolo spazio di indirizzamento;Condividono le stesse risorse.
L’argomento principale all’API Win32 CreateThread è il nome di una funzione.
Esempio:CreateThread(NULL, 0, myFunc, &Arg, ...);
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 77 - -
Introduzione: Processi e Introduzione: Processi e ThreadThread
All’avvio ogni processo è composto da un solo thread: quello corrispondente all’esecuzione della funzione main.ll thread può creare altri thread nello stesso processoIl thread può creare altri processi
Spazio di indirizzamento del processo Spazio di indirizzamento del processo
Esecuzione di Thread
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 88 - -
Introduzione: Introduzione: Modo utente e modo kernelModo utente e modo kernel
Il passaggio da un modo all’altro, oltre ad influenzare lo stato del processore consente di controllare:
l’accesso alla memoriaOgni pagina ha un tag che indica il modo richiesto per leggere o scrivere
– Le pagine di codice hanno tag “no write in any mode”
Protegge la memoria dedicata al sistema accessi da parte processi utente.Protegge processi utente da altri processi dello stesso tipo.
la possibilità di eseguire istruzioni privilegiateAd esempio, istruzioni di I/O.
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 99 - -
ComponentiComponenti Modo di Modo di AccessoAccesso
Applicazioni Utente
Subsystem processes Utente
NT Executive Kernel
NT Kernel Kernel
Driver Kernel
HAL Kernel
ComponentiComponenti Modo di Modo di AccessoAccesso
Applicazioni Utente
Subsystem processes Utente
NT Executive Kernel
NT Kernel Kernel
Driver Kernel
HAL Kernel
Introduzione: Introduzione: Modo utente e modo kernelModo utente e modo kernel
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 1010 - -
Architettura: Modo kernelArchitettura: Modo kernel
Il codice è eseguito in modo kernel per:1. Richiesta da parte di un thread attivo in modo
utente2. Interrupt da dispositivi esterni3. Thread attivi in modo kernel
1. Richiesta da parte di un thread attivo in modo utente
Il passaggio a modo kernel da parte di un thread in modo utente avviene
attraverso il system service dispatchil codice in modo kernel viene eseguito nel contesto del thread
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 1111 - -
Architettura: Modo kernelArchitettura: Modo kernel
2. Interrupt da dispositivi esterniGli Interrupt (come tutte le eccezioni) sono gestiti in modalità kernelL’interrupt dispatcher di Windows NT invoca la le routine di servizio alle interruzioni (interrupt service routine – ISR )La ISR viene eseguita nel contesto del thread interrotto (“arbitrary thread context”)La ISR spesso richiede l’esecuzione di una Deferred Procedure Call (DPC), anche essa in kernel mode
3. Thread attivi in modo kernelAlcuni thread di sistema sono sempre in modo kernel mode, la maggior parte nel processo SystemScheduling e preemption sono analoghi come per ogni altro thread.
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 1212 - -
Architettura di Architettura di NTNT e e Win2000Win2000
NT Executive
Applicazione
NT Kernel
Hardware Abstraction Layer (HAL)
Modalità Kernel
Win32 Modalità Utente
Hardware
Altri sotto sistemi
Applicazione Applicazione
Altri sotto sistemi
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 1313 - -
ArchitetturaArchitettura
Windows NT e 2000 ha una architettura microkernel modificata.
Ogni funzione del sistema è gestita da una sola componente del sistema operativo.Il resto del sistema operativo e tutte le applicazioni accedono alla funzione attraverso il componente che ne è responsabile utilizzando interfacce standard.Si può accedere ai dati di sistema solo attraverso funzioni appropriate.Non è una architettura microkernel pura poiché molte delle funzioni di sistema non incluse nel microkernel sono eseguite in modo privilegiato (modo kernel).
Per ragioni legate alle prestazioni– Molte funzioni non microkernel richiederebbero molte
commutazioni tre thread o processi, molti cambi di modo e l’uso di buffer in memoria extra.
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 1414 - -
Processi di servizio
Device drivers
Win32 User,GDI
Virtual Memory
Processes & Threads
Security Cache Manager
I/O Manager
Hardware interfaces (buses, I/O, interrupts, timers, clocks, DMA, cache control, etc.)
Replicator
Alerter Service
Controller
WinLogon RPC
Environment Subsystems
Applicazione
Subsystem DLLs
POSIX
OS/2
Session Manager
Processi di Sistema
Applicazioni Utente
File systems Object management / Executive RTL
Kernel
Hardware Abstraction Layer (HAL)
Event Logger
System Threads Modalità Kernel
Executive API
Win32
NTDLL.DLL Modalità Utente
NTOSKRNL.EXE
Architettura: Modo kernelArchitettura: Modo kernel
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 1515 - -
ArchitetturaArchitettura:: NT Executive NT Executive
Costruito sopra il kernel, implementa tutte le politiche ed i servizi offerti da NT.
Gestione dei processiGestione della memoriaGestione dei fileGestione dei dispositivi
È costituito da moduli:Gestore degli oggetti, gestore di processi e thread, gestore della memoria virtuale, gestore della sicurezza, gestore dell’I/O, gestore della cache, funzioni di runtime, funzioni di supporto esecutivo, Strumenti per LPC (local procedure call).
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 1616 - -
ArchitetturaArchitettura:: NT Executive NT Executive
Gestore degli oggettiCrea, gestisce e cancella gli oggetti e tipi di dati astratti utilizzati per rappresentare le risorse
Processi, thread, sincronizzazione ...
Gestore degli oggetti implementa gli handle che permettono la gestione degli oggetti in modo utente
Gestisce la sicurezza degli oggetti
Oggetto Esecutivo
Applicazione
Oggetto Kernel
Modalità Kernel
Modalità Utente
handle
NT Executive
NT Kernel
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 1717 - -
ArchitetturaArchitettura:: NT Executive NT Executive
Gestore di processi e threadGestisce tutti gli aspetti che non sono gestiti da altri elementi specializzati (es: le caratteristiche di un file)
Crea e termina thread e processiSvolge l’attività di supervisore nella allocazione delle risorseFornisce le primitive di sincronizzazioneControlla i cambi di stato dei thread e processi
Gestore della sicurezzaGestisce le politiche di sicurezza sul computer localeControlla le risorse del sistema operativo
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 1818 - -
ArchitetturaArchitettura:: NT Executive NT Executive
Gestore della memoria virtuale
implementa il meccanismo di memoria virtuale
Mette in corrispondenza gli indirizzi virtuali relativi allo spazio di indirizzamento di un processo con le pagine fisiche della memoria di lavoro. Quando un processo è creato dispone di 4 GB di spazio virtuale di indirizzamento.
fornisce il supporto alla I/O cacheLa politica di sostituzione delle pagine è FIFO modificata
La pagina da eliminare viene messa in un’altra FIFO (standby list).Se la pagina e usata ancora, viene spostata dalla standby list di nuovo nel working set.FIFO è la politica peggiore.
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 1919 - -
ArchitetturaArchitettura:: NT Executive NT Executive
Gestore dell’I/O
Realizza un ambiente attraverso cui le applicazioni possono accedere ai dispositivi di I/O.
funzioni di I/O device-independent.– Hardware device driver
» Gestiscono l’I/O dei dispositivi fisici (disco, rete, ecc.) interfacciandosi direttamente con l’HAL
– File system device driver» Accettano richieste di I/O associate ad un file system e le trasformano in
richieste di I/O per uno specifico dispositivo– Network redirector
» Trasmettono richieste di I/O a macchine remote e viceversa (orientato a richieste di I/O di file system)
Individua il driver più appropriato per ulteriori elaborazioni
Filter driver– disk mirror, per crittare e decrittare dati, ...– ricevono una richiesta di I/O, operano sui dati, e la passano al livello
successivo.
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 2020 - -
ArchitetturaArchitettura:: NT Executive NT Executive
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 2121 - -
ArchitetturaArchitettura:: NT Executive NT Executive
Gestore della cacheMigliora le prestazioni di dispositivi di I/O basati su file
Mantenendo in memoria di centrale le pagine lette di recente.Rimandando la scrittura su disco mantenendo le pagine in memoria di centrale.
La Cache è condivisa da tutti i file systems (locali e remoti, HD e CD) ed è applicata a tutti i file.Alla cache è applicato il meccanismo standard della memoria virtuale di Windows NT: Virtual cache.
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 2222 - -
ArchitetturaArchitettura:: NT Executive NT Executive
Richiesta di lettura
Driver del File System
Memoria Virtuale
Vista del file 1
Vista del file 2
...
...
...
Gestore della cache
Gestore della memoria virtuale
Driver del disco
1
2
3
4 5
6
7 Gestore della
memoria virtuale
Descrittore dell’indirizzo
virtuale
Page Fault
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 2323 - -
ArchitetturaArchitettura:: NT Executive NT Executive
Gestore della cache (continua)Aprire un file:
Trovare una vista disponibile e inserire i primi 256 KB del file nella vista
Leggere o scrivere un file in cache:Rimappare se necessario la parte di file che interessa nella cacheCopiare i dati tra applicazione e cache (verso cache in caso di scrittura su file)L’I/O effettivo viene eseguito dal meccanismo di gestione della memoria virtuale
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 2424 - -
ArchitetturaArchitettura:: NT Executive NT Executive
Gestore della cache (continua) La politica di gestione in scrittura della cache è Write-back
Il numero di pagine dirty presenti controlla la scrittura– sistemi piccoli: numero di pagine fisiche/8; – sistemi medi: numero di pagine fisiche/4;– sistemi grandi: somma le due precedenti
Il thread Lazy writer accoda 1/4 delle pagine modificate (dirty page) ogni secondo
– Nota: il thread Lazy writer non scrive su disco; questa attività è svolta da Write Behind.
La gestione della politica di predizione della lettura da disco (Read Ahead) è di tipo automatico e asincrono
I dati successivi da leggere sono ipotizzati sulla base delle precedenti 3 letture
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 2525 - -
ArchitetturaArchitettura:: NT Executive NT Executive
Funzioni runtimegestione di stringhe, funzioni algebriche, conversione di tipi...
Strumenti per LPC (local procedure call) Fa rispettare la relazione client/server tra le applicazioni e i sotto sistemi esecutivi su di uno stesso calcolatore
Simile all’RPC (Remore Procedure Call) nall’ambito dei sistemi distribuiti
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 2626 - -
ArchitetturaArchitettura:: NT KernelNT Kernel
Rapresenta il microkernel modificato di NTÈ costituito dalle più importanti e più utilizzate componenti del sistema operativoNT Kernel gestisce:
Lo scheduling dei threadLa commutazione tra processiLa gestione di interruzioni ed eccezioniLa sincronizzazione multiprocessore
Altre importanti funzioni del kernel sono:Isolare l’executive dall’architettura Mascherare le differenze tra diverse architetture
X86, Alpha, etc.
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 2727 - -
ArchitetturaArchitettura:: NT KernelNT Kernel
Il kernel differisce dall’executive Non è mai paginato dalla memoriaLa sua esecuzione non è mai interrotta da altri thread
ad eccezione delle Interrupt Service Routine
Non verifica mai la correttezza dei parametri di chi chiama le sue funzioniNon implementare politiche di gestione
tranne per il thread scheduling
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 2828 - -
ArchitetturaArchitettura:: HALHAL
L’Hardware Astraction Layer (HAL.DLL) mette in relazione i comandi e le risposte di un hardware generico con quelli di una specifica piattaforma.
Fornisce a NT Kernel una visione uniforme del bus di sistema della macchina, del controller DMA, del controller dell’interrupt, dei timer di sistema e del modulo di memoria.
Differennze tra NT Kernel e HALNT Kernel
Maschera le funzioni specifiche di un’architetturaHAL
Maschera le funzioni che possono essere diverse su macchine diverse all’interno della stessa architettura
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 2929 - -
ArchitetturaArchitettura:: HALHAL
Windows NT comprende HAL per alcune architetture:
PC-compatibili, DEC Alpha, Power PCI produttori di hardware possono fornire altri HALRoutine d’esempio:
HalGetBusDataHalAssignSlotResourcesHalSetBusDataHalSetBusDataByOffsetHalTranslateBusAddressHalGetInterruptVectorHalGetAdapterREAD_REGISTER_ULONG WRITE_PORT_UCHAR
HalGetBusDataHalAssignSlotResourcesHalSetBusDataHalSetBusDataByOffsetHalTranslateBusAddressHalGetInterruptVectorHalGetAdapterREAD_REGISTER_ULONG WRITE_PORT_UCHAR
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 3030 - -
Programmi di Programmi di Windows NTWindows NT
Sono elementi di Windows NT che sono contenuti in eseguibili (.EXE) separati e vengono eseguiti in processi distinti
Sono avviati dal sistemaNon sono legati all’utente
Sono di tre tipi:Environment Subsystems Win32 Services
Processi di startup del sistema
Sono processi attivati in modo utente
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 3131 - -
Processi in modo utenteProcessi in modo utente
I processi attivi in modo utente possono essere classificati nel modo seguente:
Processi di servizioSono processi che rimangono in attesa di svolgere uno specifico servizio.
– Esempio: un processo di servizio è quello che gestisce la coda di stampa oppure quello per monitorare eventi di sistema, sicurezza o applicazione (Event Logger).
Processi speciali di supporto al sistemaProcessi di sistema che non sono eseguiti come servizi
– Logon process, session manager, ...
Ambiente dei sotto sistemi Environment subsystems
Applicazioni utente
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 3232 - -
Processi in modo utenteProcessi in modo utente
Processi di servizio
Device drivers
Win32 User,GDI
Virtual Memory
Processes & Threads
Security Cache Manager
I/O Manager
Hardware interfaces (buses, I/O, interrupts, timers, clocks, DMA, cache control, etc.)
Replicator
Alerter Service
Controller
WinLogon RPC
Environment Subsystems
Applicazione
Subsystem DLLs
POSIX
OS/2
Session Manager
Processi di Sistema
Applicazioni Utente
File systems Object management / Executive RTL
Kernel
Hardware Abstraction Layer (HAL)
Event Logger
System Threads Modalità Kernel
Executive API
Win32
NTDLL.DLL Modalità Utente
NTOSKRNL.EXE
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 3333 - -
ArchitetturaArchitettura : : Environment SubsystemsEnvironment Subsystems
Ogni Environment Subsystem fornisce un insieme di servizi di base tipici di un dato sistema operativo.
Esempio: I programmi applicativi scritti per MS-DOS sfruttano l’interfaccia messa a disposizione dall’environment subsystem MS-DOS.
Il sottosistema fornisce alla applicazione la stessa API (Application Program Interface) che fornisce MS-DOS.
Sistemi SupportatiWin32, Windows 3.1, MS-DOS
Posix 1.x
OS/2
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 3434 - -
ArchitetturaArchitettura : : Environment SubsystemsEnvironment Subsystems
Dei tre sistemi supportati da Windows NT, Win32 assume un ruolo speciale poiché implementa alcune estensioni di NT Executive che sono necessarie a tutti gli altri sottosistemi.
Posix 1.x– E’ supportata solo la componente standard
» Non sono presenti componenti opzionali
OS/2– Supporto solo per alcune tipologie di applicazioni
» Applicazione di tipo carattere (non grafiche)
Nota: non sono forniti strumenti e documentazione per estendere i sottosistemi
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 3535 - -
ArchitetturaArchitettura : : Environment SubsystemsEnvironment Subsystems
Ciascun sottosistema fornisce l’accesso ad un diverso sotto insieme dei servizi di Windows NT.
Le applicazioni relative ad un sottosistema possono attuare servizi non disponibili ad applicazioni di altri sottosistemi
Ad esempio, il servizio di fork è disponibile solo nel sottosistema Posix.
Quando viene creato un processo, il tipo di sottosistema specificato nell’intestazione del file consente di indirizzarlo all’opportuno insieme di servizi.
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 3636 - -
ArchitetturaArchitettura : : Environment SubsystemsEnvironment Subsystems
Le applicazioni utente non accedono direttamente ai servizi del sistema operativo, ma passano attraverso una o più libreria dinamica di sotto sistemaLe DLL di sotto sistema traducono una funzione nel codice nell’appropriata chiamata.
la DLL Win32 implementa le Win32 APIla DLL Posix implementa le Posix 1003.1 API
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 3737 - -
ArchitetturaArchitettura : : Environment Subsystems - Win32Environment Subsystems - Win32
Creazione e eliminazione dei processiCreazione e eliminazione dei threadGenerazione del nome dei file temporaneiIdentificatore delle unità dischiControlli di sicurezza per il file system.Gestione grafica delle applicazioni console (a carattere)Parziale supporto per le applicazioni DOS a 16-bit.
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 3838 - -
ArchitetturaArchitettura : : Win32 Win32 ServicesServices
Applicazioni (.EXE) Win32 che sono eseguite indipendentemente dall’utente che ha fatto login
Sono avviate al boot o al logon Sopravvivono al logoffSono definite mediante l’API CreateService (attraverso il Control Panel)Tipicamente non interagiscono con il desktop
Ottengono i parametri di avvio dal file di registroGli errori sono loggati nel Windows NT Event Log
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 3939 - -
ArchitetturaArchitettura : : Win32 Win32 ServicesServices
Utilizzano una forma di IPC per comunicare con i clientTipicamente i servizi fanno uso dei meccanismi di sicurezza di Windows NTPossono essere gestiti in modo remoto (start, stop, configurazione)
Il Server Manager permette il controllo remoto dei serviziIl servizio non necessita di nessuna codice particolare per essere gestito in modo remoto
Esempi di servizi built-in in WindowsSchedule service (avvio manuale), Event Log, Remote Access Server, IIS.
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 4040 - -
ArchitetturaArchitettura : : Processi di Processi di startup startup del sistemadel sistema
SystemSystem
SMSSSMSS
CSRSSCSRSS WINLOGONWINLOGON
IdleIdle
SERVICESSERVICES LSASSLSASS USERINITUSERINIT NDDEAGNTNDDEAGNT
EXPLOREREXPLORER
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 4141 - -
ArchitetturaArchitettura : : Processi di Processi di startup startup del sistemadel sistema
Sono processi separati caricati o avviati al boot non come servizi o environment subsystems
Il loro nome non è nel registrySono inglobati nel codice sorgente del kernel
Idle: processo ID 0Ospita i thread che sono idleNon è un vero processo o un threadSpesso è indicato come System Process
System: Ospita i thread definiti nel kernelNon è un vero processo o threadIl thread 0 (routine di nome Phase1Initialization) lancia il primo vero processo (SMSS.EXE)
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 4242 - -
ArchitetturaArchitettura : : Processi di Processi di startup startup del sistemadel sistema
SMSS.EXE: Session ManagerIl primo processo creatoPrende i parametri da\Registry\Machine\System\CurrentControlSet\Control\Session Manager
Lancia dei sottosistemi (CSRSS.EXE) e WINLOGON.EXEWINLOGON.EXE: Logon process
Presenta il primo prompt di login(“enter username and password”)Lancia SERVICES.EXE, LSASS.EXE, e NDDEAGNT.EXEQuando qualcuno esegue un login, lancia USERINIT.EXE
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 4343 - -
ArchitetturaArchitettura : : Processi di Processi di startup startup del sistemadel sistema
SERVICES.EXE: Service ControllerOspita molti servizi forniti con NTAvvia altri processi (servizi) non parte di NT (elencati in \Registry\Machine\System\CurrentControlSet\Services )
LSASS.EXE: Local SecurityProcesso di autenticazione
USERINIT.EXE:Avviato dopo il loginAvvia il desktop (EXPLORER.EXE) e termina
EXPLORER.EXE:Explorer e i processi figli sono i creatori di tutte le applicazioni
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 4444 - -
Cambiamenti in Windows Cambiamenti in Windows 20002000
NTFSConsente la compressione e nuovi servizi di crittografiaNT 4 non è compatibile con il nuovo NTFS
Common Internet File System (CIFS)File system distribuito simile a NFS Unix e possibilità di montare file system remoti
Multi-user systemsWinFrame, Terminal Server
Active DirectoryPlug and PlayVery large memory (Alpha)
Windows NT 4 ha la capacità di indirizzare fino a 4 GB di memoria virtualeEstensione in Windows 2000 a 28 GB sui sistemi Compaq/Digital Alpha
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 4545 - -
Monitoraggio del SistemaMonitoraggio del Sistema
Utilizzare perfmon.exe per monitorare il sistema.
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 4646 - -
Monitoraggio della MemoriaMonitoraggio della Memoria
Memory: Pages/secNumero di pagine (4KB) lette o scritte da disco per risolvere le mancanze di pagina cioè le pagine di dati o codice che non sono nel working set ma devono essere caricate da disco (hard fault).
Questo indicatore è utilizzato per analizzare i fallimenti che determinano ritardi di sistema più elevati.
Analisi< 2 pagine al secondo
– La RAM è sufficiente
> 3 pagine al secondo– La RAM è insufficiente. Il working set non può essere
dimensionato correttamente
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 4747 - -
Monitoraggio del ProcessoreMonitoraggio del Processore
Processor:%Processor timeIdentifica la percentuale di tempo in cui il processore è utilizzato per eseguire dei thread non-idle
Questo indicatore è utilizzato per analizzare l’attività del processore
Analisi< 60%
– il carico è contenuto. La capacità computazionale del processore e sufficiente per le attività svolte.
> 60%– Il processore è caricato in modo eccessivo. – prima di fare un up-grade, controllare l’uso della
memoria
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 4848 - -
Monitoraggio dei DischiMonitoraggio dei Dischi
PhysicalDisk: Avg. Disk Queue Lenghtnumero medio di richieste, di sia di lettura sia di scrittura, accodate al disco selezionato e che sono in attesa di essere servite.Analisi
< 2– Il numero di richieste pendenti non è critico. Il
sistema lavora correttamente.
> 3– Il numero di richieste pendenti è critico poiché il
disco e/o il controller non sono sufficientemente veloci per soddisfare le esigenze del sistema.
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 4949 - -
Monitoraggio dei DischiMonitoraggio dei Dischi
PhysicalDisk: % Disk TimeIdentifica la percentuale di tempo in cui il disco selezionato è occupato a servire le richeste di lettura o scrittura.Analisi
< 60%– Il sistema lavora correttamente.
> 70%– Il sistema è sovraccaricato: è richiesto un disco e/o
un controller più veloce.
Windows NTWindows NT © 2001 - Fabio Salice© 2001 - Fabio Salice- - 5050 - -
Conteggio del tempo in modo Conteggio del tempo in modo kernelkernel
Processor: % Processor Time Processor Time: tempo totale in CPU
elapsed real time - idle time
Il Processor Time è dato dalla somma del% User Time % Privileged Time
– tempo passato in kernel mode– comprende:
» Interrupt Time, DPC Time» Altri kernel-mode time (nessun contatore)