La storia della Microsoft Corporation inizia nel                                 1975, quando Paul Allen e Bill Gates prop...
Novembre 1985: LancioWindows 1.0Essa non forniva un sistemaoperativo completo, ma eraunestensione dellMS-DOS. Lefinestre d...
Giugno 1998: Lancio Windows 98sono incorporati il supporto per Internet,la connessione remota e le nuovefunzionalità Plug ...
Novembre 2006: Lancio Windows Vista Ha tra le sue priorità la sicurezza. La funzionalità di controllo dellaccount utente c...
È stato presentato in California da                                                          Microsoft a sviluppatori di t...
Principi progettualiGli obiettivi progettuali di Windows XP includono:• la sicurezza: windows XP fornisce un moderato live...
•    Compressione e Crittografia dei dati    NTFS permette di utilizzare trasparentemente delle opzioni di compressione   ...
Architettura Windows xpLarchitettura di Windows XP è un sistema stratificato dimoduli. Gli strati principali sono:• HAL• i...
Strato di astrazione dell’hardware (HAL)  Windows XP è stato progettato per funzionare praticamente su qualsiasi tipo di h...
IL KERNELIl kernel di Windows XP fornisce le fondamenta per il codice eseguibile e per isottosistemi, esso rimane in memor...
IL CODICE ESEGUIBILEIl codice eseguibile di Windows XP fornisce un insieme dei servizi usati da tutti isottosistemi di amb...
Gestore di memoria virtualeIl componente di codice eseguibile che controlla lo spazio dindirizzo virtuale, l’allocazione d...
Gestore di processoIl gestore di processo di Windows XP fornisce servizi per la creazione, la cancellazione el’uso di proc...
Gestore di I/OIl gestore di I/O (I/O manager) è responsabile del file system, dei driver del dispositivo edei driver della...
Monitor della sicurezzaIn Windows XP vi è un meccanismo uniforme per controllare nel sistema ogni entitàeccessibile dall’u...
FILE SYSTEM Il File system del sistema operativo windows XP è NTFS ( New Technology File System) Le sue principali caratte...
STRUTTURA DELL’NTFSIn un volume NTFS i file sono composti da attributi. L’istanza di ogni attributo è detta stream.Sono at...
SICUREZZA E RISERVATEZZA DEI DATILa sicurezza dei dati è essenziale per tutti gli utenti che elaborano informazioni privat...
R       ReadW       Write                                No             Access -X       Execute                           ...
LA RIDONDANZA E CORREZIONE DEGLI ERRORI    Per le applicazioni che non possono rischiare la perdita dei dati, la    ridond...
INDICIZZAZIONE DEI FILE DELLE DIRECTORYL’NTFS organizza l’indice dei file e delle sotto directory contenute in una directo...
Interfaccia del programmatoreLe API consistono in un insieme di funzioni in linguaggio C implementate in librerie acollega...
Windows XP usa il sottosistema Win32 come principale sistema operativo ed inizia cosìtutti i processi.Win 32 controlla la ...
Sistemi operativi proprietari
Sistemi operativi proprietari
Upcoming SlideShare
Loading in …5
×

Sistemi operativi proprietari

1,080 views

Published on

Architettura sistema operativo proprietario (Windows xp)

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,080
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
23
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Sistemi operativi proprietari

  1. 1. La storia della Microsoft Corporation inizia nel 1975, quando Paul Allen e Bill Gates propongono alla Micro Instrumentation and Telemetry Systems (MITS), società che aveva sviluppato il primo personal computer (chiamato Altair 8800), di utilizzare il linguaggio di programmazione BASIC che, secondo Allen e Gates, avrebbe potuto funzionare sul computer Altair 8800.Si trattava del primo linguaggio scritto per il PC: funzionava bene e nel febbraio dello stessoanno Allen e Gates lo diedero in licenza alla MITS, dalla quale Paul Allen fu assunto comeDirettore del Software. NellAprile del 1976 Gates e Allen dietero vita alla vera e propriaMICROSOFT con lo scopo di portare un computer su ogni scrivania e in ogni casa.Nel 1980 la IBM stava cercando un sistema operativo per il suo nuovo prodotto (il PC IBM) eper questo fece domanda alla Microsoft che allora produceva quasi solo linguaggi (MicrosoftBASIC). Gates, per non perdere l’occasione firmò il contratto di non divulgazione del codice eacquistò per 50.000 dollari un sistema operativo "veloce e sporco", il QDOS, "Quick and DirtOperating System’’ dalla Seattle Computer Products. Egli aveva ottenuto da Tim Paterson (cheaveva realizzato il QDOS), un accordo di licenza non esclusivo, che gli consentiva la possibilitàdi rivendere il prodotto. In seguito Microsoft comprò tutti i diritti della Seattle ComputerProducts e trasformò il nome QDOS in MS-DOS (MicroSoft – Disk Operating System). Questoprimo sistema operativo MS-DOS aveva uninterfaccia a riga di comando, caratterizzata dauninterazione di tipo testuale tra utente ed elaboratore: lutente impartiva comandi testualimediante tastiera alfanumerica e riceveva risposte testuali dallelaboratoremediante display o stampante alfanumerici. Inoltre era un sistema operativo monoutente emonotask, cioè era capace di far girare un solo programma alla volta.
  2. 2. Novembre 1985: LancioWindows 1.0Essa non forniva un sistemaoperativo completo, ma eraunestensione dellMS-DOS. Lefinestre dei programmipotevano apparire soloaffiancate sullo schermo, equindi non potevano esseresovrapposte (overlapped). Dicembre 1987: debutto di Windows 2.0 Introduzione delle icone, possibilità di finestre sovrapposte, di gestire il layout dello schermo e utilizzare i tasti di scelta rapida per velocizzare il lavoro. Introduzione programmi a interfaccia grafica di Microsoft, Excel e Word per Windows.
  3. 3. Giugno 1998: Lancio Windows 98sono incorporati il supporto per Internet,la connessione remota e le nuovefunzionalità Plug and Play che facilitanonotevolmente le operazioni diinstallazione di componenti hardware esoftware. Compare per la prima volta ilmenu Start e la barra delle applicazioniOttobre 2001: Lancio di Windows xpfornisce funzionalità perfette per leaziende così come per gli utenti piùesigenti. Lo strumento ideale perottimizzare laffidabilità, la sicurezza ele prestazioni dei computer aziendali.
  4. 4. Novembre 2006: Lancio Windows Vista Ha tra le sue priorità la sicurezza. La funzionalità di controllo dellaccount utente consente di evitare che software potenzialmente pericoloso possa apportare delle modifiche al computer. Windows Vista dispone di una funzionalità di Crittografia unità BitLocker (crittografa tutti i file personali e di sistema contenuti nellunità del sistema operativo, in unità di dati fisse e in unità di dati rimovibili) e garantisce una protezione ottimizzata dei dati.Ottobre 2009: Lancio di Windows 7è un evoluzione di windows Vista.Considerando la diffusione di accedere aInternet da punti wireless pubblici, comead esempio i bar o i parchi, Windows 7 ènato proprio per avere la possibilità dicreare delle reti wireless aziendali odomestiche.
  5. 5. È stato presentato in California da Microsoft a sviluppatori di tutto il mondo, il nuovo sistema operativo Windows 8 che è stato pensato per essere installato e funzionare su pc, laptop (Notebook) e tablets. Il nuovo prodotto della Microsoft lavorerà con processore ARM. (basato su unarchitettura comune in grado di offrire prestazioni elevate, efficienza energetica leader del settore e il costo del sistema ridotto.)Gli informatici parlano di una vera e propria rivoluzione per i sistemi operativi finorasviluppati dalla società americana. Grazieallinterfaccia, denominata Metro, infatti, sarà possibile utilizzare il sistema operativosia attraverso touch che con mouse, tastiere e pennine, per un utilizzo libero ecompleto di ogni applicazione.Windows 8 offre alte prestazioni grazie alla velocità di elaborazione di tutte leoperazioni effettuate dal device su cui è installato, al design minimale eaccessibile, all’interattività e alla portabilità. Per tanto Microsoft sembra puntaremolto su di esso, soprattutto per la portabilità del sistema operativo su devicesdifferenti dai pc, entrando nel mercato dei software e delle applicazioni per tabletse personal computers.
  6. 6. Principi progettualiGli obiettivi progettuali di Windows XP includono:• la sicurezza: windows XP fornisce un moderato livello di protezione nei confronti di software difettosi e di attacchi malevoli.• laffidabilità: Windows 2000 era il sistema operativo più affidabile e più stabile sviluppato da Microsoft e molta della sua affidabilità era dovuta alla maturità del codice sorgente ed alla rilevazione automatica di errori gravi nei driver. I requisiti di affidabilità nei riguardi di Windows XP furono ancora più rilevanti: Windows XP amplia il controllo dei driver per individuare i guasti più sottili, migliora la possibilità di rilevare errori di programmazione nel codice utente e nelle applicazioni di terzi e sottopone i driver ed i dispositivi ad un rigoroso processo di certificazione. La sensazione di affidabilità di Windows XP è stata pure migliorata rendendo linterfaccia grafica utente più facile da usare con un miglior aspetto visivo, con menu più semplici e miglioramenti controllati verso la scoperta di come svolgere task comuni.• elevata prestazione: Windows XP è progettato per fornire prestazioni elevate in sistemi desktop (che in gran parte sono vincolati dalle prestazioni I/O), in sistemi server e in ambienti multithread e multiprocessore. Per soddisfare le richieste di prestazioni usa molte tecniche quali I/O asincrono, protocolli ottimizzati per le reti (per esempio il blocco ottimista dei dati distribuiti, l’accodamento delle richieste), grafica nel kernel e tecniche sofisticate nell’uso della cache per il file system. Gli algoritmi di gestione della memoria e di sincronizzazione sono progettati con uno sguardo alle prestazioni legate alla linee di cache ed ai multiprocessori
  7. 7. • Compressione e Crittografia dei dati NTFS permette di utilizzare trasparentemente delle opzioni di compressione (NTFS può eseguire la compressione dei dati su singoli file o su tutti i file di un direttorio. Per comprimere un file, NTFS suddivide i dati del file in unità di compressione) e di crittografia (NTFS supporta la crittografia dei file; singoli file, o interi direttori, possono essere specificati per venire crittografati).
  8. 8. Architettura Windows xpLarchitettura di Windows XP è un sistema stratificato dimoduli. Gli strati principali sono:• HAL• il kernel il codice eseguibile che funzionano in modo protetto• collezione di sottosistemi e di servizi che funzionano in modalità utente.I sottosistemi in modalità utente si dividono in duecategorie:• sottosistemi di ambiente che emulano differenti sistemi operativi.• sottosistemi di protezione (protection subsystems) che forniscono funzioni di sicurezza. Uno dei principali vantaggi di questo tipo di architetturaè che le interazioni fra moduli sono semplici.
  9. 9. Strato di astrazione dell’hardware (HAL) Windows XP è stato progettato per funzionare praticamente su qualsiasi tipo di hardware. Invece di scrivere una diversa versione di XP per ogni piattaforma hardware, è stato creato HAL (lHardware Abstraction Layer) è uno è lo strato del software che si trova tra XP e l’hardware e che nasconde le differenze hardware tra i livelli superiori del sistema operativo per aiutare a rendere portabile Windows XP Pertanto è un insieme di funzioni di I/O il cui compito è di tenere conto di tutte le differenze fra dispositivi fisici diversi, al posto del programma che lo userà, nascondendogli la vera identità e natura di essi: per esempio il programma, invece di aprire personalmente un file chiederà allHAL di farlo per lui e lHAL, appena soddisfatta la richiesta, gli passerà un riferimento al file per la lettura (o lo leggerà per lui). HAL migliora la portabilità perché eventuali modifiche e adattamenti vanno fatti solamente nellHAL senza toccare il codice del programma stesso; inoltre è relativamente facile aggiungere, alloccorrenza, una sezione allHAL per gestire un dispositivo che non era stato inizialmente previsto. La HAL può essere utilizzata per emulare componenti non presenti nel sistema operativo o nellhardware. Per esempio le moderne schede grafiche non gestiscono le modalità CGA, EGA o VGA. Queste modalità vengono emulate dallHAL che provvede a tradurre le istruzioni che gestiscono queste modalità in comandi comprensibili dalla scheda grafica.
  10. 10. IL KERNELIl kernel di Windows XP fornisce le fondamenta per il codice eseguibile e per isottosistemi, esso rimane in memoria e l’esecuzione non viene mai interrotta;Il kernel è responsabile di quattro attività principali:• schedulazione dei thread• gestione degli interrupt e delle eccezioni,• sincronizzazione a basso livello del processore e recupero dopo un’interruzione dell’alimentazione.Il kernel è orientato agli oggetti  Il kernel definisce un insieme di tipi di oggetti chiamatioggetti dispatcher . Gli oggetti del dispatcher controllano l’invio e la sincronizzazione nelsistema; esempi di questi oggetti sono gli oggetti eventi, oggetti semaforo (opera come uncontatore o per controllare il numero di thread che accedono alla risorsa), oggetti thread eoggetti timer (sono usati per tenere traccia del tempo e per segnalare la mancatasincronizzazione quando le operazioni impiegano troppo tempo e devono essereinterrotte). Levento oggetto (event object) viene usato per registrare il verificarsi di unevento e per sincronizzare questo ultimo con una qualche azione.Pertanto tutto in XP è un "oggetto" che possono essere programmati. Questo oggetto cipermette di utilizzare (ad esempio, il "Desktop", o "Cartella")MICROKERNEL Si trova al centro del kernel, è molto piccolo, ma è importante perchéfornisce servizi per le applicazioni (ad esempio, richiama linterfaccia grafica sulloschermo, effettua dei diritti di sicurezza)
  11. 11. IL CODICE ESEGUIBILEIl codice eseguibile di Windows XP fornisce un insieme dei servizi usati da tutti isottosistemi di ambiente; tali servizi sono raggruppati nel modo seguente:• gestore dell’oggetto• gestore di memoria virtuale• gestore di processo• gestore di I/O• gestori plug-and-play e di sicurezzaIL GESTORE DELL’OGGETTOWindows XP usa un insieme generico di interfacce per la gestione di entità in modalità kernelche vengono manipolate dai programmi in modalità utente e le chiama oggetti (objects) ed ilcomponente di codice eseguibile che li gestisce è il gestore degli oggetti (object manager).Ogni processo ha una tabella degli oggettI contenente gli elementi che controllano gli oggettiusati dal processo.Il codice in modalità utente accede a questi oggetti tramite un valore detto handle (maniglia)che è restituito da molte API.Gli handle sono interfacce standardizzate per tutti i generi di oggetti. Un handle delloggettoè un identificatore unico per un processo che conferisce la capacità di accedere e manipolarele risorse di sistema.
  12. 12. Gestore di memoria virtualeIl componente di codice eseguibile che controlla lo spazio dindirizzo virtuale, l’allocazione dellamemoria fisica e la paginazione è il gestore della memoria virtuale (virtual-memory manager:VM). Il progetto di gestore di VM presuppone che:• l’hardware supporti la mappatura da memoria virtuale a quella fisica;• un meccanismo di paginazione;• la coerenza trasparente della cache nei sistemi multiprocessore• permette elementi multipli nella tabella di pagina da mappare nello stesso frame di pagina fisica.Le pagine dei dati allocate ad un processo che non sono in memoria fisica sono memorizzate onei file di paginazione (paging files) su disco, o mappate direttamente in un file normale nel filesystem locale o remoto.Il gestore di VM di Windows XP usa un processo a due passi per allocare la memoria utente: nelprimo passo, riserva una porzione dello spazio di indirizzamento virtuale del processo; nelsecondo passo, coinvolge l’allocazione assegnando lo spazio di memoria virtuale (memoria fisicao spazio nei file di paginazione).Windows XP implementa la memoria condivisa, definendo una sezione oggetto (sectionobject); dopo avere ottenuto un handle per una sezione oggetto, un processo mappa laporzione di memoria necessaria nel proprio spazio di indirizzamento; questa porzione èchiamata vista.
  13. 13. Gestore di processoIl gestore di processo di Windows XP fornisce servizi per la creazione, la cancellazione el’uso di processi, thread e job, ma non conosce le relazioni padre-figlio e le gerarchie deiprocessi; tali raffinatezze sono lasciate al particolare sottosistema ambientaleproprietario del processo. Il gestore del processo non è neppure coinvolto nella schedulazione dei processi, adeccezione dell’individuazione delle priorità e delle affinità dei processi e dei thread, almomento della loro creazione; la schedulazione dei thread avviene nel dispatcher delkernel.La chiamata di procedura localeWindows XP usa un modello client-server; i sottosistemi di ambiente sono server cheassumono personalità particolari del sistema operativo, e il modello client-server èusato per implementare un certo numero di sistemi operativi oltre ai sottosistemi diambiente. Con questo modello si implementano altre caratteristiche, quali lagestione della sicurezza, lo spooler di stampa, i servizi web, i file system direte, l’autoconfigurazione (plug-and-play) e molte altre.Il sistema operativo usa la chiamata di procedura locale (LPC) per passare lerichieste ed i risultati fra i processi client e server allinterno di una singolamacchina. In particolare, LPC è usato per richiedere servizi dai vari sottosistemi diWindows XP.
  14. 14. Gestore di I/OIl gestore di I/O (I/O manager) è responsabile del file system, dei driver del dispositivo edei driver della rete. Tiene traccia di quali driver del dispositivo, driver del filtro e filesystem sono caricati ed inoltre controlla i buffer per le richieste di I/O.Funziona con il gestore di VM per fornire file a memoria mappata I/O e controlla il gestoredella cache di Windows XP, che gestisce la cache dell’intero sistema di I/O.Il gestore di I/O è fondamentalmente asincrono.Il gestore di I/O converte le richieste ricevute in una forma standard che si chiamapacchetto di richiesta di I/OGestore della cacheIn molti sistemi operativi, l’operazione di cache è eseguita dal file system. Al contrario,Windows XP fornisce una funzione di cache centralizzata in cui il gestore di cache (cachemanager) opera in stretto contatto con il gestore di Virtual Memory per fornire servizi dicache per tutti i componenti sotto il controllo del gestore di I/O. La cache in Windows XP èbasata sui file invece che sui blocchi grezzi.La dimensione della cache cambia dinamicamente, in base alla quantità di memoria liberadisponibile nel sistema. La cache è divisa in blocchi di 256 Kb in cui ogni blocco puòcontenere una vista, cioè una regione di memoria mappata di un file. Ogni blocco della cacheè descritto da un blocco di controllo dell’indirizzo virtuale (virtual-address control block:VACB) che memorizza l’indirizzo virtuale e lo spiazzamento del file per la vista.
  15. 15. Monitor della sicurezzaIn Windows XP vi è un meccanismo uniforme per controllare nel sistema ogni entitàeccessibile dall’utente. Ogni volta che si apre un processo, un handle di un oggetto, ilsecurity reference monitor (controllore del riferimento di sicurezza: SRM) controlla iltoken di sicurezza del processo e la lista di controllo di accesso delloggetto per stabilire seil processo ha i diritti necessari.RegistroWindows XP mantiene molte delle proprie informazioni di configurazione in un databaseinterno chiamato registro (registry). Un database del registro si chiama hive (alveare). Cisono hive separati per le informazioni di sistema, per le preferenze di defaultdellutente, per linstallazione del software e per la sicurezza.Poiché per poter avviare il sistema, sono richieste informazioni dal sistema hive (systemhive), il gestore del registro è implementato come componente del codice eseguibile.Ogni volta che il sistema si avvia con successo, esso salva il system hive come lultimoben conosciuto. Per tanto Windows XP ha un componente chiamato recupero delsistema (system restore) che periodicamente salva gli hive, come pure altreconfigurazioni del software come i driver ed i file di configurazione eseguibili, in modoche il sistema possa essere ripristinato ad una condizione precedentemente funzionantenel caso in cui il sistema si avvii, ma non funzioni più come previsto.
  16. 16. FILE SYSTEM Il File system del sistema operativo windows XP è NTFS ( New Technology File System) Le sue principali caratteristiche sono:• Affidabilità - NTFS è un sistema transazionale, questo vuol dire che se unoperazione è interrotta a metà (ad esempio per un blackout) viene persa solo quelloperazione ma non è compromessa lintegrità del file system il quale resta comunque leggibile dal computer.• Permessi e Controllo dAccesso - a ciascun file o cartella è possibile assegnare dei diritti di accesso (lettura, scrittura, modifica, cancellazione e altri).• Nomi lunghi e Unicode - i nomi dei file e delle cartelle possono essere lunghi fino a 255 caratteri e possono contenere caratteri di tutte le lingue del mondo grazie alla codifica Unicode.• Dimensioni e Flessibilità - La dimensione dei volumi e il massimo numero di file sono praticamente illimitati.• Ricerca veloce del file L’NTFS memorizza l’elenco dei file per ogni directory in ordine alfabetico. Questo gli permette di ricercare più velocemente i file, quando le directory sono molto estese.
  17. 17. STRUTTURA DELL’NTFSIn un volume NTFS i file sono composti da attributi. L’istanza di ogni attributo è detta stream.Sono attributi di un file il nome, il proprietario, la data e l’ora dell’ultima modifica, i dati veri epropri e così via.La struttura dell’NTFS è costituita da:• Il cluster  è l’unità fondamentale allocabile su un volume.La dimensione dei cluster, o fattore di raggruppamento, è determinata all’atto dellaformattazione del volume e può essere stabilita dall’utente.Cluster più grandi permettono la riduzione della frammentazione, macomportano un maggior spreco di spazio sul volume.L’NTFS suddivide i file in cluster logici. Ogni cluster logico è indicatoda un numero virtuale (VCN: Virtual Cluster Number).• La tabella principale dei file (MFT: Master File Table) costituisce lastruttura sulla quale l’NTFS basa la gestione dei volumi ed è una tabella strutturata in blocchi(solitamente in record di 1KB) che contiene gli attributi di tutti i file del volume, inclusi imetadati (ossia le informazioni usate per implementare la struttura del file system.Inoltre Il nome di ogni metafile inizia sempre con il simbolo $.)Tali attributi possono essere attributi residenti quando sono presenti in MFT, oppure, se nonmemorizzabili a causa del poco spazio, vengono salvati in qualche altra posizione del filesystem e prendono il nome di attributi non residenti.Un file può avere attributi definiti dall’utente, come può avere diversi attributi dati. In questocaso gli attributi dati devono avere un nome. Pertanto la MFT è il luogo in cui sono registrate leinformazioni su ogni file e directory di un volume formattato ed è come un databaserelazionale, contenente vari attributi relativi ai vari file
  18. 18. SICUREZZA E RISERVATEZZA DEI DATILa sicurezza dei dati è essenziale per tutti gli utenti che elaborano informazioni private oriservate, come banche, ospedali, ed enti della difesa.Questi utenti devono avere la garanzia che i loro dati siano protetti dagliaccessi non autorizzati.Prima che un processo possa aprire un handle per un oggetto, il sistema di protezione diWindows NT verifica che esso abbia le autorizzazioni per farlo.Ogni oggetto in Windows NT ha un descrittore di sicurezza, e tutti gli utenti che eseguono illogin del sistema, devono fornire una password di identificazione.Il sistema di protezione, grazie alla password di identificazione ed al descrittore disicurezza, verifica se un processo di un certo utente può accedere all’oggetto.Per quel che riguarda i volumi, le directory ed i file, il descrittore di sicurezza contiene perogni identità (gruppo di utenti) una serie di permessi.I permessi si suddividono in permessi individuali e permessi standard, che sonouna composizione di permessi individuali.
  19. 19. R ReadW Write No Access -X Execute Read RXD Delete Change RWXDP Change Permissions Full Control RWXDPOO Take Ownership Tabella permessi standard dei fileTabella permessi individuali Operazioni Operazioni consentite consentite sui nuovi file No Access -- List RX Non specificato Read RX RX Add WX Non specificato Add & Read RWX RX Change RWXD RWXD Full Control RWXDPO RWXDPO Tabella Permessi standard per le directory
  20. 20. LA RIDONDANZA E CORREZIONE DEGLI ERRORI Per le applicazioni che non possono rischiare la perdita dei dati, la ridondanza offre un altro livello di protezione. Windows XPfornisce il supporto del RAID (Redundant Arrays of Inexpensive Disks) livello 1 e livello 5. Con il RAID livello 1 si possono duplicare i dati su più volumi (mirror), in modo che, se una copia non è più accessibile, c’è l’altra. Con il RAID livello 5 i dati sono suddivisi in spezzoni e ognuno di questi è distribuito su più volumi, in più in ogni spezzone vengono inclusi i codici di parità che permettono di ricostruire le informazioni ospitate su un volume danneggiato, a partire dagli altri. Il supporto della correzione degli errori è fornito all’NTFS dal Fault Tollerance Disk Driver (FtDisk). FtDisk è un driver che si pone fra l’NTFS stesso ed il driver del disco, inoltre può funzionare con qualsiasi file system supportato da Windows XP.
  21. 21. INDICIZZAZIONE DEI FILE DELLE DIRECTORYL’NTFS organizza l’indice dei file e delle sotto directory contenute in una directory, sfruttandouna struttura ad albero a due livelli. I file sono sistemati nei vari nodi in modoche, percorrendo la struttura in ordine differito, si incontrano i nomi in ordine alfabeticocrescente. I record della MFT che descrivono le directory hanno un particolare attributo: “indice deifile”. Questo attributo è in realtà l’unione di tre diversi attributi: “indice principale”, “indiced’allocazione”, “bitmap”.L’indice principale è sempre residente e contiene il primo livellodell’albero.L’indice d’allocazione, invece, contiene i riferimenti ai run contenenti l’elenco dei figli diciascun nodo del primo livello.
  22. 22. Interfaccia del programmatoreLe API consistono in un insieme di funzioni in linguaggio C implementate in librerie acollegamento dinamico (DLL).Le Windows API, nonostante siano scritte in un mix di linguaggio C e assembly,presentano un complesso modello orientato agli oggetti con una struttura moltouniforme ed uno stile che è stato di ispirazione per molti altri progetti.La struttura di base delle Windows API è rimasta pressoché invariata da Windows1.0 ad oggi. Vi sono tre gruppi principali di API: kernel, GDI e user. • API Kernel Le API kernel forniscono alle applicazioni un’interfaccia di alto livello ai servizi del kernel del sistema operativo (gestione della memoria, dei processi, sincronizzazione, ecc • API GDI Le API GDI (Graphics Device Interface) costituiscono la libreria grafica dei sistemi Windows. GDI virtualizza tutti i dispositivi grafici (monitor, stampanti, plotter) in modo da avere un’interfaccia omogenea (chiamata Device Context) tra le differenti tipologie di dispositivi. Inoltre GDI permette di creare e manipolare una serie di oggetti grafici, tra cui font, penne, pennelli, bitmap, ecc. • API User Le API user (da user interface) forniscono i servizi di interfaccia grafica, basati sui concetti di "finestra" e di "messaggio".
  23. 23. Windows XP usa il sottosistema Win32 come principale sistema operativo ed inizia cosìtutti i processi.Win 32 controlla la tastiera, il mouse e lo schermo I/O.Dato che Win 32 è lambiente di controllo, esso è progettato per essere estremamenterobusto.Lambiente Win32 suddivide le applicazioni in categorie: o grafiche o basate su interfacciaa caratteri, dove un’applicazione basata sull’interfaccia a caratteri è tale che luscitainterattiva apre una finestra basata su una interfaccia a caratteri (comando). Win32trasforma il risultato di unapplicazione basata su interfaccia a caratteri in unarappresentazione grafica nella finestra di comando.Questa trasformazione è facile: ogni volta che si ha una procedura di output, ilsottosistema ambientale chiama, a sua volta, una procedura di Win32 per visualizzarne iltesto.Poiché lambiente Win32 effettua questa funzione per tutte le finestre basate suinterfaccia a caratteri, può trasferire il testo sullo schermo fra le finestre tramite buffer ditastiera (clipboard).Win32 API è linterfaccia fondamentale rivolta alle capacità di Windows XP.

×