sistemi operativi proprietari

25
Si trattava del primo linguaggio scritto per il PC: funzionava bene e nel febbraio dello stesso anno Allen e Gates lo diedero in licenza alla MITS, dalla quale Paul Allen fu assunto come Direttore del Software. Nell'Aprile del 1976 Gates e Allen dietero vita alla vera e propria MICROSOFT 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) e per questo fece domanda alla Microsoft che allora produceva quasi solo linguaggi (Microsoft BASIC). Gates, per non perdere l’occasione firmò il contratto di non divulgazione del codice e acquistò per 50.000 dollari un sistema operativo "veloce e sporco", il QDOS, "Quick and Dirt Operating System’’ dalla Seattle Computer Products. Egli aveva ottenuto da Tim Paterson (che aveva 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 Computer Products e trasformò il nome QDOS in MS-DOS (MicroSoft – Disk Operating System). Questo primo sistema operativo MS-DOS aveva un'interfaccia a riga di comando , caratterizzata da un'interazione di tipo testuale tra utente ed elaboratore: l'utente impartiva comandi testuali mediante tastiera alfanumerica e riceveva risposte testuali dall'elaboratore mediante display o stampante alfanumerici. Inoltre era un sistema operativo monoutente e monotask , cioè era capace di far girare un 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.

Upload: giadarossi

Post on 21-Jun-2015

838 views

Category:

Technology


1 download

DESCRIPTION

Architettura sistema operativo proprietario (Windows xp)

TRANSCRIPT

Page 1: Sistemi operativi proprietari

Si trattava del primo linguaggio scritto per il PC: funzionava bene e nel febbraio dello stesso anno Allen e Gates lo diedero in licenza alla MITS, dalla quale Paul Allen fu assunto come Direttore del Software. Nell'Aprile del 1976 Gates e Allen dietero vita alla vera e propria MICROSOFT 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) e per questo fece domanda alla Microsoft che allora produceva quasi solo linguaggi (Microsoft BASIC). Gates, per non perdere l’occasione firmò il contratto di non divulgazione del codice e acquistò per 50.000 dollari un sistema operativo "veloce e sporco", il QDOS, "Quick and Dirt Operating System’’ dalla Seattle Computer Products. Egli aveva ottenuto da Tim Paterson (che aveva 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 Computer Products e trasformò il nome QDOS in MS-DOS (MicroSoft – Disk Operating System). Questo primo sistema operativo MS-DOS aveva un'interfaccia a riga di comando, caratterizzata da un'interazione di tipo testuale tra utente ed elaboratore: l'utente impartiva comandi testuali mediante tastiera alfanumerica e riceveva risposte testuali dall'elaboratore mediante display o stampante alfanumerici. Inoltre era un sistema operativo monoutente e monotask, cioè era capace di far girare un solo programma alla volta.

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.

Page 2: Sistemi operativi proprietari

Novembre 1985: Lancio Windows 1.0Essa non forniva un sistema operativo completo, ma era un'estensione dell'MS-DOS. Le finestre dei programmi potevano apparire solo affiancate sullo schermo, e quindi non potevano essere sovrapposte (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.

Page 3: Sistemi operativi proprietari

Giugno 1998: Lancio Windows 98sono incorporati il supporto per Internet, la connessione remota e le nuove funzionalità Plug and Play che facilitano notevolmente le operazioni di installazione di componenti hardware e software. Compare per la prima volta il menu Start e la barra delle applicazioni

Ottobre 2001: Lancio di Windows xp fornisce funzionalità perfette per le aziende così come per gli utenti più esigenti. Lo strumento ideale per ottimizzare l'affidabilità, la sicurezza e le prestazioni dei computer aziendali.

Page 4: Sistemi operativi proprietari

Novembre 2006: Lancio Windows VistaHa tra le sue priorità la sicurezza. La funzionalità di controllo dell'account 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 nell'unità 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 a Internet da punti wireless pubblici, come ad esempio i bar o i parchi, Windows 7 è nato proprio per avere la possibilità di creare delle reti wireless aziendali o domestiche.

Page 5: Sistemi operativi proprietari

Gli informatici parlano di una vera e propria rivoluzione per i sistemi operativi finora sviluppati dalla società americana. Grazie all'interfaccia, denominata Metro, infatti, sarà possibile utilizzare il sistema operativo sia attraverso touch che con mouse, tastiere e pennine, per un utilizzo libero e completo di ogni applicazione. Windows 8 offre alte prestazioni grazie alla velocità di elaborazione di tutte le operazioni effettuate dal device su cui è installato, al design minimale e accessibile, all’interattività e alla portabilità. Per tanto Microsoft sembra puntare molto su di esso, soprattutto per la portabilità del sistema operativo su devices differenti dai pc, entrando nel mercato dei software e delle applicazioni per tablets e personal computers.

È 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 un'architettura comune in grado di offrire prestazioni elevate, efficienza energetica leader del settore e il costo del sistema ridotto.)

Page 6: Sistemi operativi proprietari

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.• l'affidabilità: 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 l'interfaccia 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

Page 7: Sistemi operativi proprietari

• 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).

Page 8: Sistemi operativi proprietari

Architettura Windows xp

L'architettura di Windows XP è un sistema stratificato di moduli. 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 due categorie: • 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.

Page 9: Sistemi operativi proprietari
Page 10: Sistemi operativi proprietari

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 (l'Hardware 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 XPPertanto è 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à all'HAL di farlo per lui e l'HAL, 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 nell'HAL senza toccare il codice del programma stesso; inoltre è relativamente facile aggiungere, all'occorrenza, una sezione all'HAL per gestire un dispositivo che non era stato inizialmente previsto.

La HAL può essere utilizzata per emulare componenti non presenti nel sistema operativo o nell'hardware. Per esempio le moderne schede grafiche non gestiscono le modalità CGA, EGA o VGA. Queste modalità vengono emulate dall'HAL che provvede a tradurre le istruzioni che gestiscono queste modalità in comandi comprensibili dalla scheda grafica.

Page 11: Sistemi operativi proprietari

Il kernel di Windows XP fornisce le fondamenta per il codice eseguibile e per i sottosistemi, 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 chiamati oggetti dispatcher . Gli oggetti del dispatcher controllano l’invio e la sincronizzazione nel sistema; esempi di questi oggetti sono gli oggetti eventi, oggetti semaforo (opera come un contatore o per controllare il numero di thread che accedono alla risorsa), oggetti thread e oggetti timer (sono usati per tenere traccia del tempo e per segnalare la mancatasincronizzazione quando le operazioni impiegano troppo tempo e devono essere interrotte). L'evento oggetto (event object) viene usato per registrare il verificarsi di un evento e per sincronizzare questo ultimo con una qualche azione.Pertanto tutto in XP è un "oggetto" che possono essere programmati. Questo oggetto ci permette 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 l'interfaccia grafica sullo schermo, effettua dei diritti di sicurezza)

IL KERNEL

Page 12: Sistemi operativi proprietari

Il codice eseguibile di Windows XP fornisce un insieme dei servizi usati da tutti i sottosistemi 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 sicurezza

IL CODICE ESEGUIBILE

IL GESTORE DELL’OGGETTO

Windows XP usa un insieme generico di interfacce per la gestione di entità in modalità kernel che 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 oggetti usati 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 dell'oggetto è un identificatore unico per un processo che conferisce la capacità di accedere e manipolare le risorse di sistema.

Page 13: Sistemi operativi proprietari

Gestore di memoria virtuale

Il componente di codice eseguibile che controlla lo spazio d'indirizzo 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 o nei 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; nel secondo passo, coinvolge l’allocazione assegnando lo spazio di memoria virtuale (memoria fisica o 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 la porzione di memoria necessaria nel proprio spazio di indirizzamento; questa porzione è chiamata vista.

Page 14: Sistemi operativi proprietari

Il gestore di processo di Windows XP fornisce servizi per la creazione, la cancellazione e l’uso di processi, thread e job, ma non conosce le relazioni padre-figlio e le gerarchie dei processi; tali raffinatezze sono lasciate al particolare sottosistema ambientale proprietario del processo. Il gestore del processo non è neppure coinvolto nella schedulazione dei processi, ad eccezione dell’individuazione delle priorità e delle affinità dei processi e dei thread, al momento della loro creazione; la schedulazione dei thread avviene nel dispatcher del kernel.

Gestore di processo

La chiamata di procedura localeWindows XP usa un modello client-server; i sottosistemi di ambiente sono server che assumono personalità particolari del sistema operativo, e il modello client-server è usato per implementare un certo numero di sistemi operativi oltre ai sottosistemi di ambiente. Con questo modello si implementano altre caratteristiche, quali la gestione della sicurezza, lo spooler di stampa, i servizi web, i file system di rete, l’autoconfigurazione (plug-and-play) e molte altre.Il sistema operativo usa la chiamata di procedura locale (LPC) per passare le richieste ed i risultati fra i processi client e server all'interno di una singola macchina. In particolare, LPC è usato per richiedere servizi dai vari sottosistemi di Windows XP.

Page 15: Sistemi operativi proprietari

Gestore di I/OIl gestore di I/O (I/O manager) è responsabile del file system, dei driver del dispositivo e dei driver della rete. Tiene traccia di quali driver del dispositivo, driver del filtro e file system 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 gestore della 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 chiama pacchetto di richiesta di I/O

Gestore 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 (cache manager) opera in stretto contatto con il gestore di Virtual Memory per fornire servizi di cache 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.

Page 16: Sistemi operativi proprietari

In 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, il security reference monitor (controllore del riferimento di sicurezza: SRM) controlla il token di sicurezza del processo e la lista di controllo di accesso dell'oggetto per stabilire se il processo ha i diritti necessari.

Monitor della sicurezza

RegistroWindows XP mantiene molte delle proprie informazioni di configurazione in un database interno chiamato registro (registry). Un database del registro si chiama hive (alveare). Ci sono hive separati per le informazioni di sistema, per le preferenze di default dell'utente, per l'installazione del software e per la sicurezza. Poiché per poter avviare il sistema, sono richieste informazioni dal sistema hive (system hive), 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 l'ultimo ben conosciuto. Per tanto Windows XP ha un componente chiamato recupero del sistema (system restore) che periodicamente salva gli hive, come pure altre configurazioni del software come i driver ed i file di configurazione eseguibili, in modo che il sistema possa essere ripristinato ad una condizione precedentemente funzionante nel caso in cui il sistema si avvii, ma non funzioni più come previsto.

Page 17: Sistemi operativi proprietari

FILE SYSTEMIl 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 un'operazione è interrotta a metà (ad esempio per un blackout) viene persa solo quell'operazione ma non è compromessa l'integrità del file system il quale resta comunque leggibile dal computer.

• Permessi e Controllo d'Accesso - 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.

Page 18: Sistemi operativi proprietari

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 e

propri 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 della formattazione 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 i metadati (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 non memorizzabili a causa del poco spazio, vengono salvati in qualche altra posizione del file system e prendono il nome di attributi non residenti.Un file può avere attributi definiti dall’utente, come può avere diversi attributi dati. In questo caso gli attributi dati devono avere un nome. Pertanto la MFT è il luogo in cui sono registrate le informazioni su ogni file e directory di un volume formattato ed è come un database relazionale, contenente vari attributi relativi ai vari file

Page 19: Sistemi operativi proprietari
Page 20: Sistemi operativi proprietari

La sicurezza dei dati è essenziale per tutti gli utenti che elaborano informazioni private o riservate, 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 di Windows 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 il login del sistema, devono fornire una password di identificazione.Il sistema di protezione, grazie alla password di identificazione ed al descrittore di sicurezza, 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 per ogni identità (gruppo di utenti) una serie di permessi. I permessi si suddividono in permessi individuali e permessi standard, che sonouna composizione di permessi individuali.

SICUREZZA E RISERVATEZZA DEI DATI

Page 21: Sistemi operativi proprietari

R ReadW WriteX ExecuteD DeleteP Change PermissionsO Take Ownership Tabella permessi individuali

No Access -Read RXChange RWXDFull Control RWXDPO Tabella permessi standard dei file

Operazioni Operazioni consentite consentite sui nuovi fileNo Access - -List RX Non specificatoRead RX RXAdd WX Non specificatoAdd & Read RWX RXChange RWXD RWXDFull Control RWXDPO RWXDPO Tabella Permessi standard per le directory

Page 22: Sistemi operativi proprietari

LA RIDONDANZA E CORREZIONE DEGLI ERRORI

Per le applicazioni che non possono rischiare la perdita dei dati, laridondanza offre un altro livello di protezione.Windows XPfornisce il supporto del RAID (Redundant Arrays ofInexpensive 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 diquesti è 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 FaultTollerance 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.

Page 23: Sistemi operativi proprietari

INDICIZZAZIONE DEI FILE DELLE DIRECTORY L’NTFS organizza l’indice dei file e delle sotto directory contenute in una directory, sfruttando una struttura ad albero a due livelli. I file sono sistemati nei vari nodi in modo che, percorrendo la struttura in ordine differito, si incontrano i nomi in ordine alfabetico crescente. I record della MFT che descrivono le directory hanno un particolare attributo: “indice dei file”. Questo attributo è in realtà l’unione di tre diversi attributi: “indice principale”, “indice d’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 di ciascun nodo del primo livello.

Page 24: Sistemi operativi proprietari

Interfaccia del programmatore

Le API consistono in un insieme di funzioni in linguaggio C implementate in librerie a collegamento 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 molto uniforme ed uno stile che è stato di ispirazione per molti altri progetti.La struttura di base delle Windows API è rimasta pressoché invariata da Windows 1.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".

Page 25: Sistemi operativi proprietari

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 è l'ambiente di controllo, esso è progettato per essere estremamente robusto.

L'ambiente Win32 suddivide le applicazioni in categorie: o grafiche o basate su interfaccia a caratteri, dove un’applicazione basata sull’interfaccia a caratteri è tale che l'uscita interattiva apre una finestra basata su una interfaccia a caratteri (comando). Win32 trasforma il risultato di un'applicazione basata su interfaccia a caratteri in una rappresentazione 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 il testo.Poiché l'ambiente Win32 effettua questa funzione per tutte le finestre basate su interfaccia a caratteri, può trasferire il testo sullo schermo fra le finestre tramite buffer di tastiera (clipboard).

Win32 API è l'interfaccia fondamentale rivolta alle capacità di Windows XP.