Академический Документы
Профессиональный Документы
Культура Документы
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.
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
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
http://docencia.ac.upc.edu/EPSC/PSE/documentos/Trabaj
os/Archivo/Trabajo_Windows_CE_5.0.pdf
REFERENCIAS
[1] Idoia Longan, Laura Val, Pablo González, Windows CE
Dsiponible :