Вы находитесь на странице: 1из 6

Universidad Nacional de Trujillo. Sanches Jhon .Arquitectura de Windows CE.

Arquitectura del Sistema Operativo Windows CE


Sánchez Peredo, Carlos Miguel.
{speredo}@classplatdi.com
Universidad Nacional de Trujillo


con limitaciones en sus especificaciones, que sólo
Resumen— Este documento se centra en las disponen de aquellos elementos necesarios para
novedades que aporta la versión Windows CE llevar a cabo su función particular. Como por
5.0 a las versiones anteriores, prestando especial ejemplo podemos pensar en un PC de bolsillo que
atención a sus nuevas funcionalidades en vez de ratón tiene un panel de contacto que cubre
y vías de aplicación. Ofreciendo, en primer lugar la pantalla, lo que lo hace más portable o en un
una visión global del sistema operativo y una sistema de control de un automóvil donde no tiene
introducción a su arquitectura sentido usar un teclado (el conductor no puede usar
las manos) y se han de buscar alternativas como el
Índice de Términos— reconocimiento de voz. También se han
desarrollado numerosos dispositivos que incluyen
I. INTRODUCCION
un computador programable y cuyo funcionamiento
depende de sistemas de mayor tamaño:
Microsoft Windows CE es un sistema operativo
funcionamiento denominado “empotrado”. Debido
de 32 bits diseñado para satisfacer las necesidades
a la existencia de este tipo de dispositivos y en vista
de los organizadores personales, sistemas
de su uso y desarrollo en el futuro surge la
empotrados y dedicados.
necesidad de crear un sistema operativo que se
Esto incluye las herramientas de Empresa como
adapte a sistemas empotrados con diferentes
controladores industriales, hubs, y terminales de
funcionalidades por limitados que sean. Por eso,
punto de venta, así como productos del consumidor
Microsoft creó Windows CE, un sistema operativo
como cámaras y teléfonos. Windows 95 y Windows
flexible y adaptable a cualquier tipo de dispositivo.
98 se dedican a entregar compatibilidad con las
aplicaciones y hardware existentes, mientras A. Características
intentan entregar nuevas características como la
multitarea. El objetivo de Windows CE es proveer
un moderno sistema operativo de plataforma III. DESARROLLO DE WINDOWS CE
cruzada, multihilado y de tamaño pequeño. Esta
última característica es la principal diferencia con Mientras se desarrollaba Windows CE se le dió el
nombre de Pegasus y junto a él se estaba diseñando
Windows 95 y Windows NT. Cuando se habla de
un nuevo dispositivo, que tendría más tarde a
tamaño, se refiere a la cantidad de memoria y de
Windows CE como sistema operativo. A este nuevo
almacenamiento necesario para albergar al sistema
dispositivo se le llamó Handheld PC (HPC) o PC de
operativo. bolsillo y el proyecto de su desarrollo se denominó
II. CONTEXTO EN EL QUE NACE WINDOWS CE
Pulsar. El equipo de Pulsar tuvo grandes
limitaciones de hardware, tenían que trabajar con
poca memoria, crear código muy eficiente,
Los avances tecnológicos y el mundo de la
garantizar una respuesta rápida del sistema, utilizar
informática han permitido crear
procesadores limitados, etc. Todas estas
aparatos de tamaño muy reducido y con
restricciones son debidas al tamaño de los
funcionalidades muy específicas para satisfacer dispositivos a los que se enfocan y al coste que han
necesidades informáticas personales. Son sistemas de tener éstos para tener éxito comercialmente.

Tópicos Especiales en Lenguaje de Programación


Universidad Nacional de Trujillo. Sanches Jhon .Arquitectura de Windows CE. 2

III. RESUMEN HISTORICO • Pantalla con colores de hasta 24 bits.


A. Windows CE 1
• Conexiones LAN mediante el protocolo NDIS.
• Subconjunto de ActiveX.
Windows CE 1.00 y 1.01 fueron el primer paso en • Java Virtual Machine.
la creación de un sistema operativo Windows cuyo • Visual Basic Script.
objetivo no era un PC. Si bien, mucha gente piensa • Subconjunto de MFC para Windows CE.
que CE significa "Compact Edition", la verdad es
que ese nombre puede engañar al programador y al
usuario, porque al decir Edición Compacta suena a C. Windows CE 3
"subconjunto de Windows", y en realidad Windows En abril del año 2000 nace Windows CE 3,
CE fue escrito desde cero, a diferencia por ejemplo provocando un sustancial cambio en la dirección
de Windows 95 que fue escrito basado en Windows del equipo de desarrollo Windows Mobile. Con el
3.x. Windows CE 1.x presenta las siguientes lanzamiento de este producto Microsoft tomó la
características: decisión de competir con el bien conocido y
establecido Palm-OS basado en PDAs.
• Compatibilidad con Windows. Windows CE Esta decisión evolucionó la interfaz de usuario de
soporta el modelo de programación Win32, sin las PDAs que comenzaron a llamarse Pocket-PC.
embargo sólo soporta un subconjunto de todo el Esta versión mejora la compatibilidad de
mundo Win32. Al igual que Windows NT y Windows, dando soporte en tiempo real a procesos
Windows 9x, Windows CE realiza multitarea con complejos. Ofrece nuevos servicios kernel (del
desalojo. El formato para los archivos ejecutables y núcleo), como soporte para interrupciones
librerías son los mismos que los de Windows 9x y jerarquizadas y mejora en la respuesta de threads
NT. Aunque Windows CE no puede ejecutar haciendo que el sistema responda adecuadamente
aplicaciones de Windows de forma arbitraria (en ante eventos e interrupciones. Estas características
otras palabras, cualquier aplicación Windows), es en tiempo real hacen al CE 3.0 ideal para usos
relativamente fácil portar la mayoría de las industriales tales como robótica, dispositivos de
aplicaciones a Windows CE. prueba y medida y dispositivos lógicos
programables. Idoia Longan, Laura Val, Pablo
• Consume pocas cantidades de RAM. Todos los González Con mayor capacidad de almacenaje y
componentes de Windows CE se pueden ejecutar en de uso de archivos, comunicaciones entre
ROM, reduciendo la necesidad de RAM. NO se procesos, y soporte de red, Windows CE 3.0 opera
requiere flash memory o una unidad de disco fácilmente en entornos de escritorio basados en
(aunque ambos son soportados). Microsoft Windows NT® y Microsoft Windows
2000.
• Independiente del hardware del sistema. Windows
CE trabaja en una variedad de microprocesadores D. Windows CE 4
de 32 bits y no requiere una arquitectura de Su primera aparición fue en marzo del año 2002,
hardware particular. pero no fue hasta junio del 2003 que quedo
completamente implantado, gracias al surgimiento
B. Windows CE 2 de Windows Mobile 2003 (Pocket PC 2003).
A mediados de 1997 se comenzó a distribuir una Windows CE se mostró robusto, multi-funcional
versión beta de Windows CE capaz de trabajar en diferentes plataformas. Por
2.0, que en realidad mantiene la misma estructura estas razones quedo claro que Windows CE estaba
de componentes que Windows CE aquí para quedarse. Microsoft en menos de doce
1.x, sin embargo presenta avances importantes: meses logró incorporar a esta versión dos
versiones
• Soporte para los procesadores Intel y AMD. menores de Platform Builder, de esta manera
• La serie 82x de los procesadores PowerPC de surgieron las versiones de Windows CE 4.1 y 4.2.
Motorola. Sin embargo el problema en estas versiones fue

Tópicos Especiales en Lenguaje de Programación


Universidad Nacional de Trujillo. Sanches Jhon .Arquitectura de Windows CE. 3

que realmente el sistema operativo no se pudo V. ARQUITECTURA


adaptar a todos los dispositivos empotrados, esto Windows CE es un sistema operativo modular
es porque las imágenes que guarda el sistema son compuesto de varios elementos software. Estos
pensadas para programadores y no para usuarios elementos son interfaces compatibles con Win32 y
finales que necesitan de un diseño ergonómico. estas interfaces permiten que cada uno de los
elementos software pueda integrarse entre sí. Cada
IV. SISTEMAS A LOS QUE SE DIRIGE
elemento comprende varios componentes de nivel
A. Handheld-PC más bajo y los diseñadores del sistema tienen la
Un handheld-PC o HPC casi siempre se posibilidad de incluir o excluir estos componentes
compone de una pantalla de 480x240 o 640x240 en de nivel más bajo según sus necesidades. La
escala de gris, acompañada de un pequeño teclado. siguiente figura muestra los elementos de la
En vez de ratón, el dispositivo tiene un panel de arquitectura de Windows CE.
contacto que cubre la pantalla. Todo HPC incluye
un puerto serial y un puerto infrarrojo de 115 Kbps. A. OAL (OEM Adaptation Layer)
Los sistemas tienen un slot PCMCIA o un slot de El OAL (OEM Adaptation Layer, es decir, la
minitarjeta. La configuración de la memoria física interfaz entre Windows CE y el aparato físico)
es muy interesante en un HPC. Un PC de bolsillo permite que los fabricantes programen sus
típico tiene 4 MB ó 8 MB de memoria ROM y 2 propias funciones de control de hardware
MB ó 4 MB de RAM. La memoria ROM contiene (drivers) adaptándose a la interfaz que se les
al sistema operativo y a la suite de aplicaciones de proporciona, que incluye rutinas de servicio a
bolsillo que se venden con Windows CE (Word y interrupciones e interfaces para funcionalidades
Excel), a los que se les ha bautizado como Pocket específicas del hardware como puede ser la
Word y Pocket Excel. Sin embargo, y debido a la alimentación, permitiendo que el sistema
naturaleza de la memoria ROM las aplicaciones no operativo se ejecute en cualquier configuración
pueden sólo ejecutarse en ROM, las aplicaciones no de hardware o características como el "encendido
sólo leen de memoria, sino que también escriben. instantáneo" que permiten que los dispositivos
Por lo tanto se puede concluir que en la memoria Windows CE sean apagados y luego encendidos
ROM residen las instrucciones y valores de sólo instantáneamente si el dispositivo tiene RAM no
lectura mientras que algo de RAM debe utilizarse volátil (respaldada con OEM H baterías). De esta
para los valores que las aplicaciones deseen escribir forma, un fabricante no ha de tener
en algún momento. La memoria RAM necesaria complicaciones a la hora de hacer que su
para el sistema operativo versión 1.0 es de cerca dispositivo pueda funcionar en Windows CE.
de 500 KB (la versión 5.0 necesita 350KB). Las Windows CE 5.0 incluye una OAL con “calidad
aplicaciones no requieren demasiada cantidad de de producción”. Esto significa que se ha
memoria, por ejemplo una instancia de Pocket Word mejorado la manipulación de componentes
utiliza solamente 16 K de RAM cuando se carga. mediante bibliotecas de código, estructuras de
directorios para reutilizar código, archivos
B. Pocket-PC centralizados de configuración, y una
Windows CE también funciona con otros arquitectura consistente a través de distintas
dispositivos denominados PDA(Personal Digital familias de procesadores y plataformas de
Assistant), que son más pequeños que los HPC y hardware.
que carecen de teclado, reemplazado por un
reconocimiento de un sistema de tacto y un panel de B. Controladores (drivers) de dispositivos
entrada que aparece en pantalla. PocketPC, igual Windows CE trabaja con dos tipos de drivers, los
que HPC, también contiene una memoria RAM y nativos (incorporados en el sistema operativo para
otra ROM. el hardware que está siempre presente en el
dispositivo como el teclado en un HPC) y los que
son instalables (proporcionados por los fabricantes e

Tópicos Especiales en Lenguaje de Programación


Universidad Nacional de Trujillo. Sanches Jhon .Arquitectura de Windows CE. 4

instalables en tiempo de ejecución para periféricos propias shells. La shell de Windows CE consiste en
que pueden agregarse). Permitiendo así que los una serie de módulos y componentes, destinados
fabricantes creen sus controladores de una forma cada uno a una función específica de la shell.
bastante directa a través de las interfaces
disponibles. Para todos los drivers de dispositivos E. Kernel
soportados, Windows CE tiene un
El kernel es la parte principal del sistema operativo
conjunto bien definido de DDI o Device Driver
ya que es la que se encarga de planificar y
Interfaces (Interfaces del Driver del Dispositivo)
sincronizar las tareas, procesar las excepciones e
para los cuales los diseñadores escriben.
interrupciones, cargar las aplicaciones y gestionar la
memoria virtual. Al igual que Windows NT y
C. APIs Windows 9x, Windows CE presenta un sistema
multitarea con desalojo basado en prioridad,también
Windows CE exporta un subconjunto de Win32 provee una rica variedad de primitivas de
API, a lo que se debe gran parte del éxito comercial sincronización, incluyendo semáforos, mutex y
de Windows CE ya que la API de Win32 ya era eventos. El Kernel de Windows soporta la ejecución
conocida por la mayoría de desarrolladores, de programas en ROM o RAM. También
facilitando así tanto la creación de aplicaciones para implementa paginación bajo demanda para las
el nuevo sistema como la migración de aplicaciones aplicaciones que se almacenan comprimidas y/o se
existentes de otros sistemas Microsoft a Windows almacenan en un medio que soporta ejecución en el
CE. Un dispositivo con Windows CE ha de tener lugar (como lo es para RAM o ROM). El kernel
conectividad con otros sistemas Windows tiene una rutina de bajo nivel de servicios de
(ordenadores personales de sobremesa), con Internet interrupción y baja latencia de hilo (a los hilos se les
y con otros dispositivos Windows CE. Para ello puede asignar la CPU y hace cambio de contexto
Windows CE utiliza como protocolo principal el en menos de 100 microsegundos en un HPC a 33
TCP/IP, mejorado en este caso para la comunicación MHz). Esto permite que Windows CE sea utilizado
sin cable (wireless). Junto con los protocolos de en muchos tipos de sistemas de tiempo real.
comunicaciones, Windows CE provee varias de las Windows CE utiliza el mismo sistema de procesos y
APIs familiares para comunicaciones de Windows, threads utilizado por Windows NT y que se explican
incluyendo Windows sockets, a continuación. Ya hemos comentado que se trata de
comunicación por puerto serie, telefonía, WinINet un sistema operativo multitarea y que para
(FTP y HTTP), LAN (NDIS), entre otros. También planificar la ejecución de las tareas dispone de un
se dispone de una API propia de acceso remoto para sistema de prioridades y un algoritmo que controla
poder trabajar con un PC. Esta API de su planificación.
sincronización se denomina ActiveSync y su
arquitectura es abierta para que cualquiera pueda
F. Threads y procesos
crear su propio sistema de sincronización
personalizado. Un proceso es la representación de una aplicación
que se está ejecutando, mientras que los threads son
los diferentes flujos (o tareas), que se ejecutan
D. Shell
dentro de un proceso. Es decir, tendremos un
proceso por aplicación, pero podremos tener varios
La shell provee a un usuario de la interfaz de
threads por proceso. Esto puede llegar a ser muy útil
objetos necesaria para utilizar las aplicaciones del
en determinados casos; en vez de ejecutar tantas
sistema operativo Windows CE en un dispositivo
veces una aplicación como tareas queramos hacer,
portátil. Dichos objetos pueden ser reales, como
creando así varios procesos (y consumiendo los
ficheros y carpetas; virtuales, como la papelera de
recursos correspondientes), podemos crear 1 thread
reciclaje; o pueden ser objetos remotos a los que se
para cada tarea, ejecutando una única vez la
accede a través de una red. Windows CE
aplicación y ahorrándonos los recursos (memoria)
proporciona el código de fuente para la shell. El
que consume un proceso. Cuando decimos que
usuario puede modificar este código para crear sus

Tópicos Especiales en Lenguaje de Programación


Universidad Nacional de Trujillo. Sanches Jhon .Arquitectura de Windows CE. 5

Windows CE es un sistema operativo multithread, Windows 9x la memoria sigue siendo asignada por
estamos diciendo que puede ejecutar varios threads páginas. Para ello se usa un sistema de paginación
de un mismo proceso simultáneamente. Hasta hace con TLB (Translation Look-aside Buffer) virtual.
poco, la mayoría de sistemas sólo podían ejecutar En Windows NT el tamaño de la página depende del
un thread por proceso, forzando al resto de tareas a procesador, en Windows CE también y va desde 1
esperar a que ese thread acabase para poder realizar KB hasta 4 KB. Se puede pensar que tener un
su trabajo. Con Windows CE esto no es así, si un espacio de direcciones común entre todos los
proceso tiene varias tareas independientes entre sí y procesos puede que hagan a Windows CE un
éstas tienen la misma prioridad, se ejecutan sistema inestable sin embargo esa posibilidad se
simultáneamente repartiendo el tiempo de elimina al momento en que Windows CE
procesador. Cuando se ejecuta una aplicación se implementa protección no a nivel de espacio de
está creando un proceso. Dicho proceso dividirá sus direcciones sino que a través de protección de
funciones en tareas (como mínimo una, que se crea páginas.
a la vez que el proceso), representadas para el
sistema operativo en forma de threads. El proceso VII. CONCLUSIONES
es quien gestiona los threads que de él dependen y Hemos visto cómo ha ido evolucionando el
la interacción entre ellos. Windows CE desde que surge un sistema operativo
pequeño y sencillo no destinado a PC y como, poco
VI. ARQUITECTURA DE MEMORIA DE WINDOWS CE
a poco, va evolucionando hacia un sistema mucho
Se ha dicho en la sección anterior que Windows CE más complejo y desarrollado, en algunos casos, más
soporta multitarea y multihilos con prioridad de pequeño aún, con nuevas prestaciones y cada vez
forma similar a como lo hacen Windows NT y mayor autonomía. El Windows CE y los
Windows 9x. Sin embargo, al momento de dispositivos que lo incorporan, tales como teléfonos
administrar memoria las cosas cambian móviles o sistemas de posicionamiento por satélite,
radicalmente. Windows CE oculta al programador ya sabemos que han cosechado un gran éxito y que
la administración de memoria física del dispositivo
cada día va a más, pero aparte de esto, el Windows
y mantiene la idea de memoria virtual. El gran
CE .
cambio es que Windows CE
no provee 4 GB de memoria virtual a cada nuevo APÉNDICE
proceso que arranca. Windows CE al momento de
partir crea un espacio de direcciones virtuales de 4 Dispositivos que soportan Windows CE
GB pero que es único para todos los procesos. El
objetivo de estas direcciones virtuales es hacer .
transparente para el desarrollador cualquier aspecto
de la memoria física del dispositivo. El tamaño de
este espacio de direcciones viene determinado por
los procesadores que utilizarán Windows CE, que al
ser de 32 bits, permiten trabajar con 232 direcciones
(4 Gbytes). Para gestionar su uso, se divide dicho
espacio en dos bloques, destinando los 2 primeros
GB de direcciones a la memoria virtual usada por
los procesos y el resto al direccionamiento de
memoria física.
Una parte de los 2 primeros GB se divide a su vez
en 33 bloques (slots) de 32 MB, cada uno destinado
a un proceso. De esta manera asignamos un espacio
de direcciones diferente a cada proceso y
conseguimos así que no se produzcan interferencias
entre procesos. Al igual que en Windows NT y

Tópicos Especiales en Lenguaje de Programación


Universidad Nacional de Trujillo. Sanches Jhon .Arquitectura de Windows CE. 6

http://docencia.ac.upc.edu/EPSC/PSE/documentos/Trabaj
os/Archivo/Trabajo_Windows_CE_5.0.pdf

Diagrama de Arquitectura de Windows CE

REFERENCIAS
[1] Idoia Longan, Laura Val, Pablo González, Windows CE
Dsiponible :

Tópicos Especiales en Lenguaje de Programación

Вам также может понравиться