Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Windows Embedded CE 6.0 Fundamentals
Recensito da Alessandro Piccarolo il 14-12-2011 ore 11:55
Copertina ISBN: 0735626251
Autori: Stanislav Pavlov; Pavel Belevsky
Editore: Microsoft Press
Lingua: Inglese
Anno: 2008
Pagine: 272
Allegati: Nessuno
Parallel Studio XE
Microsoft Windows Embedded CE rappresenta una delle famiglie dei sistemi operativi sviluppate da Microsoft e dedicate ai dispositivi di tipo embedded. In particolare, questo OS, il cui sviluppo è iniziato nel 1996 ed è ora giunto alla versione 6.0 rilasciata nell'autunno del 2006, è indirizzato a dispositivi portatili, terminali utente, apparecchiature per l'automazione industriale, e via discorrendo, ossia a sistemi di utilizzo generale e caratterizzati da piccole dimensioni e risorse limitate.

Dato il target a cui è indirizzato, Microsoft Windows Embedded CE è un sistema operativo real time, modulare, multi-threaded, in grado di essere eseguito su differenti architetture di microprocessori, quali ARM, MIPS (Microprocessors without Pipeline Stages), x86 e SH4.

Gli autori di questo libro, Stanislav Pavlov e Pavel Belevsky, sono rispettivamente CIO e system engineer presso la Quarta Technologies, Microsoft Gold Partner per quanto riguarda la tecnologia Windows Embedded, e sono entrambi membri molto attivi nella community russa dedicata agli sviluppatori su Windows Embedded CE.

Lo scopo che questo libro, articolato in dieci capitoli, si prefigge è quello di fornire una panoramica sull'architettura di Windows Embedded CE, sul processo relativo alla creazione di un'immagine del sistema operativo (ovvero una versione autonoma del sistema operativo opportunamente configurata secondo le proprie necessità) e sugli strumenti messi a disposizione del programmatore per realizzare e verificare tale immagine, sulle regole da rispettare per realizzare driver di basso livello e applicazioni di alto livello (in modalità native oppure in modalità managed).

Dato il numero degli argomenti trattati — gli autori spaziano dai dettagli sul funzionamento del kernel del sistema operativo (scheduler, gestore della memoria, gestione degli interrupt, e così via) alla configurazione delle funzionalità del sistema operativo (gestione del file system, power management, interfacce di rete e via discorrendo) alle modalità per estendere l'ambiente di sviluppo in modo da includere nell'immagine anche applicazioni sviluppate da terze parti — e la necessità di contenere il materiale in un numero limitato di pagine, questo libro è indirizzato a utenti con un livello di conoscenza intermedio e rappresenta un punto di partenza per ulteriori approfondimenti.

Il primo capitolo introduce gli argomenti trattati nei capitoli successivi, oltre a fornire una presentazione di Microsoft Windows Embedded CE 6.0 R2 (l'ultima versione disponibile alla data di stesura del libro), una panoramica delle differenti famiglie di sistemi operativi embedded disponibili presso Microsoft, alcuni esempi tipici di utilizzo delle varie famiglie, nonché un elenco delle diverse tecnologie (relative al file system, di supporto ai meccanismi di comunicazione, di sviluppo, multimediali, e così via), che possono essere inserite all'interno della propria immagine del sistema operativo. Il capitolo si chiude con l'elenco dei requisiti hardware e software necessari per poter sviluppare un'immagine personalizzata di Windows Embedded CE.

Il secondo capitolo descrive in maniera approfondita gli strumenti di sviluppo disponibili come plug-in di Microsoft Visual Studio 2005 per lavorare con Microsoft Windows Embedded CE, sia per creare un'immagine del sistema operativo sia per sviluppare delle applicazioni di alto livello, che vengono eseguite da esso. In particolare, viene illustrata nel dettaglio l'installazione di Visual Studio 2005 (comprensiva di figure che riportano le varie schermate proposte durante il processo di installazione), l'installazione di Platform Builder for Windows Embedded CE 6.0 (che rappresenta l'ambiente di sviluppo del sistema operativo), e l'installazione degli aggiornamenti necessari al corretto funzionamento della suite. Infine, vengono illustrate, in maniera molto rapida, tutte le utility disponibili nel Platform Builder per supportare il debug del sistema operativo una volta che viene mandato in esecuzione sul target (quali il Remote File Viewer, il Remote Registry Editor, il Performance Monitor, solo per citarne alcune).

Il terzo capitolo illustra nel dettaglio l'architettura del sistema operativo Windows Embedded CE 6.0 R2, descrivendo in maniera approfondita il funzionamento del kernel, la gestione della memoria (reale e virtuale), l'organizzazione di processi, thread e fiber, la gestione degli interrupt e lo scheduler. Questo è sicuramente uno dei capitoli più tecnici del libro, dato che introduce anche tutte le API di basso livello per interagire con questi componenti del sistema operativo.

Il quarto capitolo tratta invece il processo che porta alla generazione (build) di un'immagine del sistema operativo, descrivendo i passi da seguire e gli strumenti da utilizzare (integrati all'interno di Visual Studio 2005 o disponibili sotto forma di file batch), oltre alle variabili d'ambiente da configurare per poter personalizzare il contenuto dell'immagine finale.

Il quinto capitolo descrive il concetto fondamentale di Board Support Packages (BSP), ovvero i pacchetti contenenti tutto il codice specifico per una determinata piattaforma hardware, e necessari per poter astrarre le funzionalità e i dispositivi dell'hardware sottostante. Vengono discussi i requisiti di interfaccia verso il sistema operativo a cui deve sottostare lo sviluppo del BSP per uno specifico hardware e vengono illustrati gli strumenti a disposizione dello sviluppatore per realizzare un proprio BSP, eventualmente partendo da quelli già disponibili nell'installazione del Platform Builder.

Il sesto capitolo si concentra invece sull'architettura dei driver, che possono essere realizzati in Windows Embedded CE 6.0 R2 per gestire un dispositivo fisico o virtuale. Nel dettaglio sono illustrate le diverse tipologie di driver disponibili (secondo differenti classificazioni, che riguardano ad esempio i livelli di interfaccia verso il dispositivo, il caricamento in memoria, il modulo che carica il driver, e così via), oltre alle funzioni comuni di interfaccia da implementare, le chiavi del registro da impostare e i passi che il sistema operativo compie per caricare le varie tipologie di driver. Anche il taglio di questo capitolo è decisamente tecnico, sia per le API che vengono descritte, sia per le discussioni su pro e contro di ciascun tipo di driver (ad esempio se attivato in kernel-mode piuttosto che in user-mode).

Il settimo capitolo è invece dedicato ai passi che si verificano durante l'avvio del sistema operativo. La conoscenza di queste fasi è utile al fine di avere un pieno controllo sul caricamento dei vari moduli che compongono il sistema operativo, dal BSP, alle componenti rilasciate da Microsoft, alle componenti di terze parti, e quindi sulla disponibilità delle differenti funzionalità. Tuttavia, il capitolo si ferma alla panoramica, rimandando per l'approfondimento di questa tematica a ulteriori fonti, disponibili in appendice.

L'ottavo capitolo raccoglie quanto illustrato nei capitoli precedenti e descrive il processo completo di progettazione di un dispositivo basato su Windows Embedded CE, partendo dalla fase di definizione delle specifiche funzionali ed arrivando alla fase di rilascio dell'immagine del sistema operativo, passando per la progettazione hardware, la creazione del BSP, la progettazione e la realizzazione del sistema operativo e quindi per la fase di test. Per quanto possibile, in particolare per quanto riguarda la realizzazione del sistema operativo, il capitolo fornisce esempi pratici e figure che illustrano i passi da eseguire e i parametri da settare all'interno del Platform Builder.

Il nono capitolo è rivolto allo sviluppo di applicazioni di più alto livello, che verranno eseguite dal sistema operativo realizzato nel capitolo precedente, completando in tal modo questa panoramica che è partita dal basso livello. Le applicazioni possono essere realizzate sia in maniera native sia in maniera managed, e possono essere incluse direttamente all'interno dell'immagine del sistema operativo, oppure essere invocate da questo, ma disponibili su un dispositivo esterno.

Il decimo capitolo, infine, approfondisce un aspetto anticipato nel capitolo otto: il test dell'immagine del sistema operativo. Vengono ora presentati, infatti, tutti gli strumenti remoti disponibili sul target che ospiterà l'immagine del sistema operativo, per eseguire il debug di questo e per verificarne il corretto funzionamento (anche dal punto di vista delle prestazioni), a completamento dell'intero processo di sviluppo del sistema operativo.

Il libro si conclude con un glossario dei principali termini e dei numerosi acronimi utilizzati all'interno del libro, i riferimenti ad alcuni libri, che consentono di approfondire gli aspetti trattati nel testo, e infine alcune risorse online indirizzate principalmente agli sviluppatori.
proAmpiezza del numero di argomenti trattati. Formato e impaginazione del libro, agile da consultare.
controUlteriori esempi pratici avrebbero facilitato la comprensione di alcune parti del libro.
Precedente: Nuova versione del plugin Android per NetBeans, a volte funziona
Successiva: WordPress 3.3 introduce un nuovo uploader
Copyright Programmazione.it™ 1999-2014. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.208 secondi.