« Architettura dell'Xbox (index)

Architettura dell'Xbox

Chapter 7: Il sistema operativo


Sommario

  1. La procedura di boot
  2. La schermata verde
    1. Shell interattiva
    2. Aggiornabilità

Va bene, iniziamo dalle domande difficili.

La console esegue Windows?

Purtroppo, credo che sia impossibile rispondere precisamente a questa domanda; la console monta una "versione" di Windows, ma non quella utilizzata nei normali PC destinati ai consumatori.

Per quanto riguarda il sistema operativo di Xbox, è una combinazione di kernel e applicazioni in spazio utente (come la dashboard). Questi elementi vengono memorizzati nella ROM Flash da 1 MiB e nel disco rigido, rispettivamente.

Il kernel utilizza una notevole quantità di codice del kernel di Windows 2000 (che, a sua volta, si basa sulla moderna architettura Windows NT). Il risultato è un kernel Windows 2000 ridotto all'osso che incorpora solo i componenti necessari per l'hardware dell'Xbox. Questi infine vengono compressi e confezionati in un unico eseguibile per una migliore efficienza della memoria. Tutto sommato, può essere considerata come una macchina Windows altamente ottimizzata progettata esclusivamente per il gioco.

Vale la pena di sottolineare che il progetto Xbox è stato guidato dal team DirectX . Quindi, la sua origine non è correlata al team di Windows CE che ha portato le sue API nel Dreamcast.

La procedura di boot

Analogamente a quanto succede nelle macchine basate su Pentium, all'accensione del sistema la CPU inizia ad eseguire le istruzioni memorizzate nel vettore di ripristino (all'indirizzo 0xFFFF.FFF0). Nell'Xbox, questo indirizzo punta a una ROM nascosta trovata nel MCPX (maggiori dettagli nella sezione 'Anti-Pirateria e Homebrew'). Il MCPX contiene le routine per impostare il sistema di sicurezza e continuare l'avvio dalla ROM flash. Con le istruzioni contenute nella ROM flash, l'Xbox inizializza l'hardware, avvia il kernel e visualizza su schermo l'animazione di avvio.

Durante l'inizializzazione sicura, la CPU entra in modalità protetta. Si tratta di un particolare cruciale, dato che le CPU con architettura x86 partono sempre in modalità reale, per mantenere la compatibilità con il primo processore (l'Intel 8086); tuttavia, quando i programmatori hanno bisogno di accedere alle funzionalità moderne della CPU (ad esempio, poter accedere a più di 1 MiB di memoria), devono abilitarle manualmente passando alla modalità protetta.

Il kernel, durante il suo avvio, inietta un microcodice nella CPU (non per programmarla, bensì per aggiornarla). Nell'ultimo passaggio, il kernel verifica la presenza di un DVD valido. se ne trova uno, lo esegue, altrimenti carica una shell interattiva per l'utente contenuta nel disco rigido.

La schermata verde

Diamo un'occhiata al programma che viene caricato quando non è inserito nessun disco: la dashboard.

Shell interattiva

Image
La schermata principale.

Image
Il menu delle impostazioni.

La dashboard offre molteplici servizi.

Le funzionalità offerte dalla dashboard non sono molto diverse da quelle del menu PlayStation o dell'IPL del GameCube. Vengono offerte tutte le funzioni che l'utente tipico si aspetterebbe di trovare, come la modifica di alcune impostazioni, la possibilità di spostare i file di salvataggio e la riproduzione di film su DVD o di CD audio.

Una funzionalità interessante della dashboard consiste nella capacità di copiare il contenuto di un CD audio e archiviarlo nel disco rigido della console. La musica memorizzata può quindi essere riprodotta all'interno di qualsiasi gioco, per 'personalizzare' la colonna sonora. Incredibile!

Aggiornabilità

Ebbene sì: l'Xbox è la prima console della sua generazione a offrire ufficialmente la possibilità di ricevere aggiornamenti, per quanto sia possibile modificare solo i dati contenuti nel disco rigido. Il kernel (all'interno della ROM flash) non può essere sovrascritto, ma il sistema può patcharlo una volta caricato in memoria. Per questo, le patch del kernel vengono conservate nel disco rigido.

Gli aggiornamenti venivano distribuiti all'interno dei dischi di gioco, oppure potevano essere scaricati dal sistema quando era connesso al servizio Xbox Live (ne parliamo più avanti).

Alcuni aggiornamenti aggiungevano ulteriori funzionalità. Ad esempio, le prime unità della console non includevano Xbox Live: per installare il servizio, i file richiesti vennero inseriti sotto forma di aggiornamenti all'interno dei dischi di gioco. Per altri aggiornamenti, invece, lo scopo principale era la correzione delle vulnerabilità di sicurezza.


Previous: 6. I/O

Next: 8. Giochi


Rodrigo Copetti © 2026 RSS Feed

Passa alla versione moderna

Inizio · Articoli · Supporta · Informazioni sull'autore · Informazioni sul sito