Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoPancrazio Zanetti Modificato 10 anni fa
1
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano © 2002 - William Fornaciari Windows NT Docente: Ing. Domenico Barretta Politecnico di Milano barretta@elet.polimi.itwww.elet.polimi.it/~barretta
2
Windows NT© 2002 - William Fornaciari- 2 - Sommario Introduzione Ambiente di esecuzione dei processi Architettura di Windows NT Modo prilivegiato NT Executive NT Kernel HAL (Hardware Abstraction Layer) Modo utente Environment Subsystems Processi di startup del sistema Cambiamenti in Windows 2000 Monitoraggio del Sistema
3
Windows NT© 2002 - William Fornaciari- 3 - Introduzione Sistema operativo Windows NT A Prelazione (preemptive) Rientrante Tutte le parti condivise di libreria non sono auto- modificanti. –Non è consentita la modifica diretta dei dati. Memoria virtuale Multi piattaforma Parzialmente compatibile con DOS e Win3.1 Estensioni di Windows 2000 Plug and play Job object Indirizzamento a 64 bit
4
Windows NT© 2002 - William Fornaciari- 4 - Introduzione: Architettura WinNT
5
Windows NT© 2002 - William Fornaciari- 5 - Introduzione: Processi e Thread Processo Unistanza di un programma in esecuzione un processo si crea per eseguire un programma quindi, avviare unapplicazione crea un processo. Largomento principale allAPI (Application Program Interface) Win32 CreateProcess è il nome del file da eseguire. Esempio: #include... strcpy(lpcommandLine, c:\\WINNT\\SYSTEM32\\NOTEPAD.EXE temp.txt); CreateProcess (Null, lpCommandLine,...);...
6
Windows NT© 2002 - William Fornaciari- 6 - Introduzione: Processi e Thread Thread (processo leggero – lightweight process) Un contesto di esecuzione allinterno di un processo. Un processo definisce uno spazio di indirizzamento allinterno del quale uno o più thread sono eseguiti. Tutti i thread in un processo, Sono eseguiti allinterno di un singolo spazio di indirizzamento; Condividono le stesse risorse. Largomento principale allAPI Win32 CreateThread è il nome di una funzione. Esempio: CreateThread(NULL, 0, myFunc, &Arg,...);
7
Windows NT© 2002 - William Fornaciari- 7 - Introduzione: Processi e Thread Allavvio ogni processo è composto da un solo thread: quello corrispondente allesecuzione della funzione main. ll thread può creare altri thread nello stesso processo Il thread può creare altri processi
8
Windows NT© 2002 - William Fornaciari- 8 - Introduzione: Modo utente e modo kernel Il passaggio da un modo allaltro, oltre ad influenzare lo stato del processore consente di controllare: laccesso alla memoria Ogni 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 privilegiate Ad esempio, istruzioni di I/O.
9
Windows NT© 2002 - William Fornaciari- 9 - ComponentiModo di Accesso ApplicazioniUtente Subsystem processes Utente NT Executive Kernel NT Kernel Kernel Driver Kernel HAL Kernel ComponentiModo di Accesso ApplicazioniUtente Subsystem processes Utente NT Executive Kernel NT Kernel Kernel Driver Kernel HAL Kernel Introduzione: Modo utente e modo kernel
10
Windows NT© 2002 - William Fornaciari- 10 - Architettura: Modo kernel Il codice è eseguito in modo kernel per: 1. Richiesta da parte di un thread attivo in modo utente 2. Interrupt da dispositivi esterni 3. 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 dispatch il codice in modo kernel viene eseguito nel contesto del thread
11
Windows NT© 2002 - William Fornaciari- 11 - Architettura: Modo kernel 2. Interrupt da dispositivi esterni Gli Interrupt (come tutte le eccezioni) sono gestiti in modalità kernel L 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 lesecuzione di una Deferred Procedure Call ( DPC ), anche essa in kernel mode 3. Thread attivi in modo kernel Alcuni thread di sistema sono sempre in modo kernel mode, la maggior parte nel processo System Scheduling e preemption sono analoghi come per ogni altro thread.
12
Windows NT© 2002 - William Fornaciari- 12 - Sincronizzazione nel kernel La garanzia della mutua esclusione per laccesso a strutture dati del kernel può avvenire in modi diversi Su singolo processore è sufficiente disabilitare gli interrupt le cui ISR potrebbero accedere alla struttura dati Su multiprocessore non è sufficiente questo approccio Si usa uno spinlock: una primitiva per prendere un lock su una struttura dati condivisa Implementazione dipendente dallhardware Spesso utilizza listruzione di test-and-set
13
Windows NT© 2002 - William Fornaciari- 13 - Sincronizzazione Lutilizzo della soluzione dello spinlock non è attuabile che a livello kernel Quando si richiede uno spinlock la CPU stalla fino al suo ottenimento Usabile solo per sezioni critiche molto brevi A livello executive vengono offerte delle primitive di sincronizzazione Si basano sullattesa che un oggetto passi dallo stato nonsignaled allo stato signaled Quando ciò avvenga e quanti thread vengano riportati nello stato ready dipende dal tipo di oggetto (processo, thread, file, mutex, …)
14
Windows NT© 2002 - William Fornaciari- 14 - Architettura di NT e Win2000
15
Windows NT© 2002 - William Fornaciari- 15 - Architettura 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 luso di buffer in memoria extra.
16
Windows NT© 2002 - William Fornaciari- 16 - Architettura: Modo kernel
17
Windows NT© 2002 - William Fornaciari- 17 - Architettura: NT Executive Costruito sopra il kernel, implementa tutte le politiche ed i servizi offerti da NT. Gestione dei processi Gestione della memoria Gestione dei file Gestione dei dispositivi È costituito da moduli: Gestore degli oggetti, gestore di processi e thread, gestore della memoria virtuale, gestore della sicurezza, gestore dellI/O, gestore della cache, funzioni di runtime, funzioni di supporto esecutivo, Strumenti per LPC (local procedure call).
18
Windows NT© 2002 - William Fornaciari- 18 - Architettura: NT Executive Gestore degli oggetti Crea, 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
19
Windows NT© 2002 - William Fornaciari- 19 - Architettura: NT Executive Gestore di processi e thread Gestisce tutti gli aspetti che non sono gestiti da altri elementi specializzati (es: le caratteristiche di un file) Crea e termina thread e processi Svolge lattività di supervisore nella allocazione delle risorse Fornisce le primitive di sincronizzazione Controlla i cambi di stato dei thread e processi Gestore della sicurezza Gestisce le politiche di sicurezza sul computer locale Controlla le risorse del sistema operativo
20
Windows NT© 2002 - William Fornaciari- 20 - Architettura: 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 cache La politica di sostituzione delle pagine è FIFO modificata La pagina da eliminare viene messa in unaltra FIFO (standby list). Se la pagina e usata ancora, viene spostata dalla standby list di nuovo nel working set. FIFO è la politica peggiore.
21
Windows NT© 2002 - William Fornaciari- 21 - Architettura: NT Executive Gestore dellI/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 lI/O dei dispositivi fisici (disco, rete, ecc.) interfacciandosi direttamente con lHAL –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.
22
Windows NT© 2002 - William Fornaciari- 22 - Architettura: NT Executive
23
Windows NT© 2002 - William Fornaciari- 23 - Architettura: NT Executive Gestore della cache Migliora le prestazioni di dispositivi di I/O basati su file Mantenendo in memoria 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.
24
Windows NT© 2002 - William Fornaciari- 24 - Architettura: NT Executive
25
Windows NT© 2002 - William Fornaciari- 25 - Architettura: 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 cache Copiare i dati tra applicazione e cache (verso cache in caso di scrittura su file) LI/O effettivo viene eseguito dal meccanismo di gestione della memoria virtuale
26
Windows NT© 2002 - William Fornaciari- 26 - Architettura: 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
27
Windows NT© 2002 - William Fornaciari- 27 - Architettura: NT Executive Funzioni runtime gestione 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 allRPC (Remore Procedure Call) nallambito dei sistemi distribuiti
28
Windows NT© 2002 - William Fornaciari- 28 - Architettura: NT Kernel Rapresenta il microkernel modificato di NT È costituito dalle più importanti e più utilizzate componenti del sistema operativo NT Kernel gestisce: Lo scheduling dei thread La comunicazione tra processi La gestione di interruzioni ed eccezioni La sincronizzazione multiprocessore Altre importanti funzioni del kernel sono: Isolare lexecutive dallarchitettura Mascherare le differenze tra diverse architetture X86, Alpha, etc.
29
Windows NT© 2002 - William Fornaciari- 29 - Architettura: NT Kernel Il kernel differisce dallexecutive Non è mai paginato dalla memoria La 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 funzioni Non implementare politiche di gestione tranne per il thread scheduling
30
Windows NT© 2002 - William Fornaciari- 30 - Scheduling In Windows NT/2000 la granularità dello scheduling è a livello di thread, non a livello di processo Un processo con tanti thread, a parità di priorità, avrà a disposizione una frazione maggiore del tempo di CPU rispetto ad un processo con pochi thread I thread vengono schedulati in base alla loro priorità 32 livelli di priorità 0: riservato allo zero page thread 1-15: priorità variabile 16-31: priorità real time –Real time è usato in senso improprio: non vengono offerte garanzie tipiche dei sistemi operativi real-time
31
Windows NT© 2002 - William Fornaciari- 31 - Scheduling Lo scheduler mantiene una coda di thread in stato ready per ogni livello di priorità Di volta in volta il thread viene selezionato fra quelli nella coda non vuota corrispondente alla priorità più alta Non viene fatta alcuna distinzione fra thread in modalità utente e thread in modalità kernel Il quanto di tempo assegnato ad un thread può variare dinamicamente Il thread in foreground ha un quanto di tempo più lungo degli altri
32
Windows NT© 2002 - William Fornaciari- 32 - Scheduling : Priorità Il livello di priorità di un thread viene determinato in base a Priorità del processo di appartenenza Priorità rispetto ad altri thread I livelli di priorità fra 1 e 15 possono essere modificati dal sistema Si parla di priority boost (si veda la slide successiva) I livelli di priorità fra 16 e 31 non vengono mai modificati e sono usati anche da thread di sistema Un thread a priorità oltre il 16 potrebbe non permettere lesecuzione di thread di sistema Necessari privilegi per usare questi livelli di priorità
33
Windows NT© 2002 - William Fornaciari- 33 - Priority boost Esistono cinque casi in cui la priorità (se minore di 16) può aumentare provvisoriamente Al completamento di operazioni di input/output Dopo una wait su un evento o un semaforo Quando un thread in foreground completa una wait Quando un thread di gestione dellinterfaccia grafica si risveglia per unattività relativa alla gestione delle finestre Quando un thread non è stato schedulato da molto tempo Dopo un certo intervallo di tempo la priorità torna al valore iniziale
34
Windows NT© 2002 - William Fornaciari- 34 - Preemption Alcuni interrupt software e tutti gli interrupt hardware hanno priorità superiore alla massima priorità di un thread Se avviene uno di questi interrupt, il thread in esecuzione viene sospeso Se viene creato un thread a priorità superiore rispetto a quello in esecuzione, il thread viene interrotto e torna in testa alla coda corrispondente alla sua priorità Lo stesso avviene se un thread a priorità più elevata torna allo stato ready dallo stato waiting (o transition)
35
Windows NT© 2002 - William Fornaciari- 35 - Scheduling su multiprocessore Su sistemi a multiprocessore simmetrico possono essere in esecuzione più thread contemporaneamente Il meccanismo di scheduling viene alterato tenendo conto dellaffinità Laffinità è linsieme di processori su cui un thread può essere schedulato per lesecuzione Sottoinsieme dei processori disponibili Default: tutti i processori Viene tenuta traccia del processore preferenziale (inizializzato con una variabile casuale) e dellultimo processore su cui è stato eseguito
36
Windows NT© 2002 - William Fornaciari- 36 - Scheduling su multiprocessore La scelta di un thread da eseguire su un processore avviene secondo i seguenti criteri (si cerca un thread che ne rispetti almeno uno, nel rispetto dellaffinità) Lultima volta che è stato eseguito era su quel processore Ha quel processore come processore ideale È pronto per lesecuzione da almeno due quanti di tempo Ha una priorità maggiore di 23 Se non ne trova uno, schedula come su monoprocessore (ma tenendo conto dellaffinità)
37
Windows NT© 2002 - William Fornaciari- 37 - Architettura: HAL 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 dellinterrupt, dei timer di sistema e del modulo di memoria. Differennze tra NT Kernel e HAL NT Kernel Maschera le funzioni specifiche di unarchitettura HAL Maschera le funzioni che possono essere diverse su macchine diverse allinterno della stessa architettura
38
Windows NT© 2002 - William Fornaciari- 38 - Architettura: HAL Windows NT comprende HAL per alcune architetture: PC-compatibili, DEC Alpha, Power PC I produttori di hardware possono fornire altri HAL Routine desempio: HalGetBusData HalAssignSlotResources HalSetBusData HalSetBusDataByOffset HalTranslateBusAddress HalGetInterruptVector HalGetAdapter READ_REGISTER_ULONG WRITE_PORT_UCHAR HalGetBusData HalAssignSlotResources HalSetBusData HalSetBusDataByOffset HalTranslateBusAddress HalGetInterruptVector HalGetAdapter READ_REGISTER_ULONG WRITE_PORT_UCHAR
39
Windows NT© 2002 - William Fornaciari- 39 - Programmi di Windows NT Sono elementi di Windows NT che sono contenuti in eseguibili (.EXE) separati e vengono eseguiti in processi distinti Sono avviati dal sistema Non sono legati allutente Sono di tre tipi: Environment Subsystems Win32 Services Processi di startup del sistema Sono processi attivati in modo utente
40
Windows NT© 2002 - William Fornaciari- 40 - Processi in modo utente I processi attivi in modo utente possono essere classificati nel modo seguente: Processi di servizio Sono 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 sistema Processi di sistema che non sono eseguiti come servizi –Logon process, session manager,... Ambiente dei sotto sistemi Environment subsystems Applicazioni utente
41
Windows NT© 2002 - William Fornaciari- 41 - Processi in modo utente
42
Windows NT© 2002 - William Fornaciari- 42 - Architettura : Environment 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 linterfaccia messa a disposizione dallenvironment subsystem MS-DOS. Il sottosistema fornisce alla applicazione la stessa API (Application Program Interface) che fornisce MS-DOS. Sistemi Supportati Win32, Windows 3.1, MS-DOS Posix 1.x OS/2
43
Windows NT© 2002 - William Fornaciari- 43 - Architettura : Environment 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
44
Windows NT© 2002 - William Fornaciari- 44 - Architettura : Environment Subsystems Ciascun sottosistema fornisce laccesso 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 nellintestazione del file consente di indirizzarlo allopportuno insieme di servizi.
45
Windows NT© 2002 - William Fornaciari- 45 - Architettura : Environment Subsystems Le applicazioni utente non accedono direttamente ai servizi del sistema operativo, ma passano attraverso una o più libreria dinamica di sotto sistema Le DLL di sotto sistema traducono una funzione nel codice nellappropriata chiamata. la DLL Win32 implementa le Win32 API la DLL Posix implementa le Posix 1003.1 API
46
Windows NT© 2002 - William Fornaciari- 46 - Architettura : Environment Subsystems - Win32 Creazione e eliminazione dei processi Creazione e eliminazione dei thread Generazione del nome dei file temporanei Identificatore delle unità dischi Controlli di sicurezza per il file system. Gestione grafica delle applicazioni console (a carattere) Parziale supporto per le applicazioni DOS a 16-bit.
47
Windows NT© 2002 - William Fornaciari- 47 - Architettura : Win32 Services Applicazioni (.EXE) Win32 che sono eseguite indipendentemente dallutente che ha fatto login Sono avviate al boot o al logon Sopravvivono al logoff Sono definite mediante lAPI CreateService (attraverso il Control Panel) Tipicamente non interagiscono con il desktop Ottengono i parametri di avvio dal file di registro Gli errori sono loggati nel Windows NT Event Log
48
Windows NT© 2002 - William Fornaciari- 48 - Architettura : Win32 Services Utilizzano una forma di IPC per comunicare con i client Tipicamente i servizi fanno uso dei meccanismi di sicurezza di Windows NT Possono essere gestiti in modo remoto (start, stop, configurazione) Il Server Manager permette il controllo remoto dei servizi Il servizio non necessita di nessuna codice particolare per essere gestito in modo remoto Esempi di servizi built-in in Windows Schedule service (avvio manuale), Event Log, Remote Access Server, IIS.
49
Windows NT© 2002 - William Fornaciari- 49 - Architettura : Processi di startup del sistema System SMSS CSRSS WINLOGON Idle SERVICES LSASS USERINIT NDDEAGNT EXPLORER
50
Windows NT© 2002 - William Fornaciari- 50 - Architettura : Processi di startup del sistema Sono processi separati caricati o avviati al boot non come servizi o environment subsystems Il loro nome non è nel registry Sono inglobati nel codice sorgente del kernel Idle: processo ID 0 Ospita i thread che sono idle Non è un vero processo o un thread Spesso è indicato come System Process System : Ospita i thread definiti nel kernel Non è un vero processo o thread Il thread 0 (routine di nome Phase1Initialization ) lancia il primo vero processo ( SMSS.EXE )
51
Windows NT© 2002 - William Fornaciari- 51 - Architettura : Processi di startup del sistema SMSS.EXE : Session Manager Il primo processo creato Prende i parametri da \Registry\Machine\System\ CurrentControlSet\Control\Session Manager Lancia dei sottosistemi ( CSRSS.EXE ) e WINLOGON.EXE WINLOGON.EXE : Logon process Presenta il primo prompt di login ( enter username and password ) Lancia SERVICES.EXE, LSASS.EXE, e NDDEAGNT.EXE Quando qualcuno esegue un login, lancia USERINIT.EXE
52
Windows NT© 2002 - William Fornaciari- 52 - Architettura : Processi di startup del sistema SERVICES.EXE : Service Controller Ospita molti servizi forniti con NT Avvia altri processi (servizi) non parte di NT (elencati in \Registry\Machine\System\ CurrentControlSet\Services ) LSASS.EXE : Local Security Processo di autenticazione USERINIT.EXE : Avviato dopo il login Avvia il desktop ( EXPLORER.EXE ) e termina EXPLORER.EXE : Explorer e i processi figli sono i creatori di tutte le applicazioni
53
Windows NT© 2002 - William Fornaciari- 53 - Cambiamenti in Windows 2000 NTFS Consente la compressione e nuovi servizi di crittografia NT 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 systems WinFrame, Terminal Server Active Directory Plug and Play Very large memory (Alpha) Windows NT 4 ha la capacità di indirizzare fino a 4 GB di memoria virtuale Estensione in Windows 2000 a 28 GB sui sistemi Compaq/Digital Alpha
54
Windows NT© 2002 - William Fornaciari- 54 - Monitoraggio del Sistema Utilizzare perfmon.exe per monitorare il sistema.
55
Windows NT© 2002 - William Fornaciari- 55 - Monitoraggio della Memoria Memory: Pages/sec Numero 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
56
Windows NT© 2002 - William Fornaciari- 56 - Monitoraggio del Processore Processor:%Processor time Identifica la percentuale di tempo in cui il processore è utilizzato per eseguire dei thread non-idle Questo indicatore è utilizzato per analizzare lattività 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 luso della memoria
57
Windows NT© 2002 - William Fornaciari- 57 - Monitoraggio dei Dischi PhysicalDisk: Avg. Disk Queue Lenght numero 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.
58
Windows NT© 2002 - William Fornaciari- 58 - Monitoraggio dei Dischi PhysicalDisk: % Disk Time Identifica 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.
59
Windows NT© 2002 - William Fornaciari- 59 - Conteggio del tempo in modo kernel 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)
60
Windows NT© 2002 - William Fornaciari- 60 - Filesystem Windows NT supporta i seguenti filesystem CDFS (CD-ROM File System) Nomi non più lunghi di 32 caratteri Massima profondità degli alberi di directory 8 Considerato un formato legacy UDF (Universal Disk Format) Sostituisce CDFS Nomi fino a 256 caratteri Massima lunghezza di un percorso 1023 caratteri Nomi di file in cui maiuscole e minuscole sono diverse FAT12, FAT16 e FAT32
61
Windows NT© 2002 - William Fornaciari- 61 - Filesystem: FAT FAT=File Allocation Table Il numero dopo la sigla indica il numero di bit per indirizzare i cluster Il filesystem FAT12 è utilizzato per i floppy I filesystem FAT16 e FAT32 sono supportati principalmente per compatibilità con altri sistemi operativi in sistemi multiboot Su dischi grandi un basso numero di bit per lindirizzamento dei cluster implica lutilizzo di grossi cluster Grosso spreco di spazio
62
Windows NT© 2002 - William Fornaciari- 62 - NTFS Supportato a partire da Windows 2000 E un filesystem che usa 64 bit per indirizzare i cluster Limite imposto da Windows 2000: la massima dimensione di un disco equivale a quella che avrei con uno spazio di indirizzamento a 32 bit (128 TB) La dimensione del cluster dipende dalla dimensione del disco (come per tutti i filesystem) E robusto rispetto a crash di sistema o spegnimenti accidentali Ha caratteristiche di sicurezza
63
Windows NT© 2002 - William Fornaciari- 63 - NTFS Robustezza Si basa sul concetto di transazione atomica Unoperazione o va a buon fine o viene completamente annullata Le informazioni vitali per la gestione del filesystem sono replicate per garantire che non vengano perse Sicurezza Ad ogni file è associato un descrittore per la sicurezza E possibile assegnare i diritti sui file a livello di singolo utente I diritti vengono assegnati dal proprietario del file (di default il creatore)
64
Windows NT© 2002 - William Fornaciari- 64 - NTFS NTFS mette a disposizione alcune caratteristiche avanzate fra cui Un file può essere composto da più flussi di dati (data stream) Ad esempio un flusso aggiuntivo è usato per le informazioni sul file (autore, titolo, …) Indicizzazione dei file per una ricerca più veloce Sostituzione dinamica dei cluster danneggiati Hard links Esiste una chiamata di sistema ma non un comando per crearli Quote per gli utenti Crittografia dei dati
65
Windows NT© 2002 - William Fornaciari- 65 - Gestore della memoria Lo spazio di indirizzamento virtuale è di 4 GB (indirizzi a 32-bit) Vengono gestiti file mappati in memoria Permette di condividere pagine fra processi Fornisce servizi al gestore della cache del filesystem Alcune delle migliorie di Windows 2000: Possibilità di gestire fino a 64 GB di memoria fisica Miglioramento delle prestazioni e della scalabilità
66
Windows NT© 2002 - William Fornaciari- 66 - Spazio di indirizzamento virtuale Accessibile in user mode Accessibile in kernel mode } } Uno per processo Uno per tutto il sistema 00000000 7FFFFFFF 80000000 FFFFFFFF Lo spazio di indirizzamento di un processo contiene: Lapplicazione in esecuzione (.EXE e le.DLL) Uno stack utente per ogni thread Tutte le variabili statiche dellapplicazione
67
Windows NT© 2002 - William Fornaciari- 67 - Spazio di indirizzamento virtuale Accessibile in user mode Accessibile in kernel mode } } Uno per processo Uno per tutto il sistema Lo spazio di sistema contiene: Executive, kernel e HAL Celle di memoria allocate staticamente per il sistema Tabella delle pagine Gli heap dellexecutive Device drivers in Kernel-mode Cache del file system Uno stack in kernel- mode per ogni thread 00000000 7FFFFFFF 80000000 FFFFFFFF
68
Windows NT© 2002 - William Fornaciari- 68 - 64-bit Win2K32-bit Win2K Memoria virtuale16 TB4 GB Cache di sistema1 TB1 GB Dimensione del512 TB16 TB Paging file Paged pool128 GB470 MB Non-paged pool128 GB256 MB Windows 2000 a 64 bit
69
Windows NT© 2002 - William Fornaciari- 69 - Memoria fisica Il formato della tabella delle pagine limita la memoria fisica di Windows NT 4.0 a 4 GB per x86 e 8 GB per Alpha Per i sistemi x86 Xeon con più di 4 GB Intel fornisce un driver che permette lutilizzo della RAM oltre i 4 GB come RAM disk NT non può usare questa parte della memoria per i processi Windows 2000 supporta un indirizzamento diverso Massima dimensione supportata da Windows 2000: Professional, Server: 4 GB Advanced Server:8 GB Datacenter Server: 64 GB
70
Windows NT© 2002 - William Fornaciari- 70 - Memoria fisica Anche se lo spazio di indirizzamento virtuale è di 4 GB, una memoria fisica maggiore può essere sfruttata Anche se un processo può indirizzare solo 2 GB, ce ne possono essere tanti in memoria I nuovi servizi di indirizzamento esteso permettono ai processi Win32 di allocare memoria fisica e mapparne delle viste nello spazio di indirizzamento virtuale del processo Un processo può allocare fino a 64 GB di RAM e mappare le viste nel suo spazio di indirizzamento virtuale
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.