Il sistema operativo Windows XP - Apogeo
Il sistema operativo Windows XP - Apogeo
Il sistema operativo Windows XP - Apogeo
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
È noioso e propenso agli errori scrivere codice per fare il marshal e trasmettere argomenti nel<br />
formato standard, eseguire l’unmarshal ed eseguire la procedura remota, eseguire il marshal e inviare<br />
risultati ottenuti, ed infine eseguire l’unmarshal e restituire l’esito al chiamante. Fortunatamente,<br />
tuttavia, molto di questo codice può essere generato automaticamente mediante una semplice<br />
descrizione degli argomenti per poi restituire i risultati.<br />
<strong>Windows</strong> <strong>XP</strong> fornisce il linguaggio per la definizione di interfacce Microsoft (Microsoft<br />
interface definition language) che descrive i nomi delle procedure remote, gli argomenti ed i<br />
risultati. <strong>Il</strong> compilatore del linguaggio genera le intestazioni dei file che dichiarano gli stub delle<br />
procedure remote, i tipi di dati per gli argomenti e i messaggi con il valore di ritorno; genera, pure,<br />
il codice sorgente per gli stub delle procedure, usate sul versante client, per eseguire l’unmarshal e<br />
per spedirle al server. Quando l'applicazione è collegata (linked), sono inclusi anche gli stub delle<br />
procedure e quando l'applicazione esegue lo stub dell’RPC, il codice generato gestisce il resto.<br />
6.3.7 Modello di oggetto comune<br />
<strong>Il</strong> modello dell'oggetto componente (component object model: COM) è un meccanismo di<br />
comunicazione tra processi che è stato sviluppato per <strong>Windows</strong>. Gli oggetti COM forniscono<br />
un'interfaccia ben definita per gestire i dati nell'oggetto. Per esempio, COM è l'infrastruttura usata<br />
dalla tecnologia di object linking and embedding (OLE) per inserire fogli di calcolo elettronici<br />
nei documenti di WORD. <strong>Windows</strong> <strong>XP</strong> possiede un'estensione distribuita denominata DCOM che<br />
può essere usata in una rete che utilizza RPC per fornire un metodo trasparente di sviluppo per le<br />
applicazioni distribuite.<br />
6.4 Reindirizzatori e server<br />
In <strong>Windows</strong> <strong>XP</strong>, un'applicazione può usare le API I/O per accedere ai file da un computer remoto<br />
come se fossero locali, una volta che quello remoto faccia funzionare un server CIFS come quello<br />
che si trova in <strong>Windows</strong> <strong>XP</strong> o nei sistemi precedenti di <strong>Windows</strong>. Un reindirizzatore (redirector)<br />
è un oggetto sul versante client che inoltra richieste I/O ai file remoti che verranno soddisfatte da<br />
un server. Per questioni di prestazioni e sicurezza, i reindirizzatori e i server funzionano in modalità<br />
kernel.<br />
In maggior dettaglio, l'accesso ad una file remoto avviene nel modo seguente:<br />
• L'applicazione chiama il gestore di I/O per richiedere che un file venga aperto con un nome del<br />
file nel formato standard UNC.<br />
• <strong>Il</strong> gestore di I/O costruisce un pacchetto di richiesta I/O, come è descritto nel Paragrafo<br />
3.3.5 di questo capitolo.<br />
• <strong>Il</strong> gestore di I/O riconosce che l'accesso è per un file remoto, e chiama il driver fornitore della<br />
convenzione di denominazione universale multipla (multiple universal-naming-convention<br />
provider: MUP).<br />
• MUP invia il pacchetto di richiesta di I/O in modo asincrono a tutti i reindirizzatori registrati.<br />
48