Windows Embedded Compact , [12] anteriormente Windows Embedded CE , Windows Powered y Windows CE , es un sistema operativo descontinuado desarrollado por Microsoft para dispositivos móviles e integrados. Fue parte de la familia Windows Embedded y sirvió como base para varias clases de dispositivos, incluidos Handheld PC , Pocket PC , Auto PC , Windows Mobile , Windows Phone 7 y otros.
A diferencia de Windows Embedded Standard , Windows For Embedded Systems , Windows Embedded Industry y Windows IoT , que se basan en Windows NT , Windows Embedded Compact utiliza un núcleo híbrido diferente . [13] Microsoft lo licencia a los fabricantes de equipos originales (OEM), quienes pueden modificar y crear sus propias interfaces y experiencias de usuario, y Windows Embedded Compact proporciona la base técnica para hacerlo. La versión final de Windows Embedded Compact admite procesadores x86 y ARM con el paquete de soporte de placa (BSP) directamente. [14] Las arquitecturas MIPS y SHx tenían soporte antes de la versión 7.0 y la versión 7.0 todavía funciona en la arquitectura MIPS II .
Windows Embedded Compact 2013 es la versión final de Windows CE. Tuvo soporte general hasta el 9 de octubre de 2018 y el soporte extendido finalizó el 10 de octubre de 2023; sin embargo, las ventas de licencias para OEM continuarán hasta 2028. [15] [4] [16] [17]
Windows CE está optimizado para dispositivos que tienen una memoria mínima; un núcleo de Windows CE puede ejecutarse con un megabyte de memoria . [18] Los dispositivos a menudo se configuran sin almacenamiento en disco y pueden configurarse como un sistema "cerrado" que no permite la extensión del usuario final (por ejemplo, se puede grabar en ROM ). Windows CE se ajusta a la definición de un sistema operativo en tiempo real , con una latencia de interrupción determinista. Desde la versión 3 en adelante, el sistema admite 256 niveles de prioridad [19] y utiliza la herencia de prioridad para tratar con la inversión de prioridad . La unidad fundamental de ejecución es el hilo . Esto ayuda a simplificar la interfaz y mejorar el tiempo de ejecución.
La primera versión, conocida durante el desarrollo con el nombre en código "Pegasus", presentaba una interfaz gráfica de usuario similar a Windows y varias de las aplicaciones populares de Microsoft, todas recortadas para un almacenamiento, una memoria y una velocidad más pequeños que los palmtops de la época. Desde entonces, Windows CE ha evolucionado hasta convertirse en un sistema operativo integrado, basado en componentes y en tiempo real. Ya no está dirigido únicamente a los ordenadores de mano. [20] Muchas plataformas se han basado en el sistema operativo Windows CE, incluidos AutoPC de Microsoft , Pocket PC 2000 , Pocket PC 2002 , Windows Mobile 2003 , Windows Mobile 2003 SE , Windows Mobile 5 , Windows Mobile 6 , Smartphone 2002 , Smartphone 2003 , Portable Media Center , Zune , Windows Phone 7 y muchos dispositivos industriales y sistemas integrados. Windows CE incluso impulsó juegos seleccionados para Sega Dreamcast y fue el sistema operativo de la consola portátil Gizmondo .
Una característica distintiva de Windows CE en comparación con otros sistemas operativos de Microsoft es que gran parte de él se ofrece en forma de código fuente. Primero, el código fuente se ofreció a varios proveedores, para que pudieran adaptarlo a su hardware. Luego, productos como Platform Builder (un entorno integrado para la creación e integración de imágenes del sistema operativo Windows CE, o diseños de sistemas operativos personalizados basados en CE) ofrecieron varios componentes en forma de código fuente al público en general. Sin embargo, una serie de componentes básicos que no necesitan adaptación a entornos de hardware específicos (aparte de la familia de CPU) todavía se distribuyen solo en forma binaria.
Windows CE 2.11 fue la primera versión integrada de Windows que admitió una consola y una versión de cmd.exe para Windows CE . [21]
Windows Embedded Compact se conocía anteriormente como Windows CE. Según Microsoft, "CE" no es un acrónimo explícito de nada, aunque implica una serie de nociones que los desarrolladores de Windows tenían en mente, como "compacto", "conectable", "compatible", "compañero" y "eficiente". [22] [23] El nombre cambió una vez en 2006, con el lanzamiento de Windows Embedded CE 6.0 , y nuevamente en 2011, con el lanzamiento de Windows Embedded Compact 7 .
Microsoft anunció originalmente Windows CE en la feria Computer Dealers' Exhibition (COMDEX) en 1996 y Bill Gates y John McGill hicieron una demostración en el escenario . Microsoft había estado probando Pegasus a principios de 1995 y lanzó una plataforma de referencia estricta para varios socios de hardware. Los dispositivos debían tener las siguientes especificaciones mínimas de hardware:
Los dispositivos de la época tenían principalmente pantallas de 480x240 píxeles, con la excepción del "Palmtop PC" de Hewlett-Packard , que tenía una pantalla de 640x240. Cada ventana ocupaba toda la pantalla. La navegación se hacía tocando o tocando dos veces un elemento. También había un menú contextual disponible si el usuario presionaba la tecla ALT y tocaba la pantalla. Windows CE 1.0 no incluía un menú de inicio en cascada, aunque Windows 95 y Windows NT 4.0 sí lo hacían. Microsoft lanzó los Power Toys de Windows CE 1.0 que incluían un icono de menú en cascada que aparecía en la bandeja del sistema. También se incluían varias otras utilidades, las más notables eran un subprograma de sonido para la bandeja del sistema, que permitía al usuario silenciar o reactivar rápidamente el dispositivo o ajustar el volumen, y una versión "de bolsillo" de Paint.
El lanzamiento de Windows CE 2.0 fue bien recibido. Microsoft aprendió la lección de los comentarios de los consumidores sobre Windows CE 1.0 e hizo muchas mejoras al sistema operativo. El menú Inicio era un menú en cascada, idéntico a los que se encuentran en Windows 95 y Windows NT 4.0 . También se admitían pantallas en color y los fabricantes se apresuraron a lanzar el primer H/PC en color . El primero en comercializarlo fue Hewlett Packard con el HP 620LX . Windows CE 2.0 también admitía una gama más amplia de arquitecturas de CPU. Los programas también se podían instalar directamente en el sistema operativo haciendo doble clic en los archivos CAB. Debido a la naturaleza de las ROM que contenían el sistema operativo, los usuarios no podían actualizar sus dispositivos con el sistema operativo más nuevo. En su lugar, los fabricantes lanzaron ROM de actualización que los usuarios tenían que instalar físicamente en sus dispositivos, después de eliminar la versión anterior. Esto generalmente borraba los datos del dispositivo y presentaba al usuario el asistente de configuración en el primer arranque.
En noviembre de 1999, se informó que Microsoft estaba planeando cambiar el nombre de Windows CE a Windows Powered . [24] El nombre sólo apareció en la marca en Handheld PC 2000 y una compilación de Windows 2000 Advanced Server para dispositivos de almacenamiento conectados a la red (que no guarda relación con Windows CE). Varios productos Windows CE 3.0 anunciados en CES 2001 se comercializaron bajo el nombre general "Windows Powered". [25]
Microsoft Visual Studio 2012, 2013 y 2015 admiten el desarrollo de aplicaciones y Platform Builder para Windows Embedded Compact 2013. [26]
Microsoft Visual Studio 2008 y versiones anteriores admiten proyectos para versiones anteriores de Windows CE/Windows Mobile, lo que produce programas ejecutables e imágenes de plataforma como emulador o conectados por cable a un dispositivo móvil real. No es necesario un dispositivo móvil para desarrollar un programa CE. .NET Compact Framework admite un subconjunto de .NET Framework con proyectos en C# y Visual Basic (.NET) , pero no en C++ administrado . Las aplicaciones "administradas" que emplean .NET Compact Framework también requieren dispositivos con memorias significativamente más grandes (8 MB o más), mientras que las aplicaciones no administradas pueden ejecutarse correctamente en dispositivos más pequeños. En Visual Studio 2010, las herramientas para desarrolladores de Windows Phone se utilizan como una extensión, lo que permite diseñar y probar aplicaciones de Windows Phone 7 dentro de Visual Studio.
Free Pascal introdujo el puerto de Windows CE en la versión 2.2.0, dirigido a las arquitecturas ARM y x86. Más tarde, los archivos de encabezado de Windows CE se tradujeron para su uso con Lazarus , un paquete de software de desarrollo rápido de aplicaciones (RAD) basado en Free Pascal. Las aplicaciones de Windows CE se diseñan y codifican en el entorno de desarrollo integrado (IDE) de Lazarus y se compilan con un compilador cruzado adecuado . [27]
Esta herramienta de programación se utiliza para construir la plataforma ( BSP + Kernel ), los controladores de dispositivos (código fuente compartido o personalizados) y también las aplicaciones. Este es un entorno único para poner en funcionamiento el sistema. También se puede utilizar Platform Builder para exportar un kit de desarrollo de software (SDK) para el microprocesador de destino ( SuperH , x86, MIPS, ARM, etc.) para utilizarlo con otro conjunto de herramientas asociado que se indica a continuación.
Microsoft Visual C++ (eVC) integrado: una herramienta para el desarrollo de aplicaciones integradas para Windows CE. Se puede utilizar de forma independiente mediante el SDK exportado desde Platform Builder o mediante la configuración de conectividad de Platform Manager de Platform Builder.
El proyecto CeGcc proporciona herramientas de desarrollo GNU, como GNU C, GNU C++ y binutils que apuntan a Windows CE; [28] Hay 2 SDK disponibles para elegir: un SDK de plataforma Windows CE estándar basado en MinGW y un SDK basado en newlib que puede ser más fácil para portar programas desde sistemas POSIX. [29]
CodeGear Delphi Prism : se ejecuta en Visual Studio, también es compatible con .NET Compact Framework y, por lo tanto, se puede utilizar para desarrollar aplicaciones móviles . Emplea el compilador Oxygene creado por RemObjects Software , que apunta a .NET, .NET Compact Framework y Mono . Su compilador de línea de comandos está disponible de forma gratuita.
Basic4ppc – un lenguaje de programación similar a Embedded Visual Basic , apunta a .NET Compact Framework y es compatible con dispositivos Windows CE y Windows Mobile.
GLBasic : un dialecto BASIC muy fácil de aprender y usar que se compila para muchas plataformas, incluidas Windows CE y Windows Mobile. Se puede ampliar escribiendo código C/C++ en línea.
LabVIEW es un lenguaje de programación gráfico compatible con muchas plataformas, incluido Windows CE.
MortScript es un SDK de automatización semiestándar y extremadamente liviano, popular entre los entusiastas del GPS. Utiliza scripts escritos en su propio lenguaje, con una sintaxis que no es la de VBScript o JScript .
AutoHotkey : una versión de la utilidad de software de automatización y creación de macros de código abierto disponible para Windows CE. Permite la construcción de macros y aplicaciones GUI simples desarrolladas por el analista de sistemas Jonathan Maxian Timkang. [30]
A menudo, Windows CE, Windows Mobile y Pocket PC se utilizan indistintamente, en parte debido a su origen común. Esta práctica no es del todo precisa. Windows CE es un sistema operativo modular/componentizado que sirve como base de varias clases de dispositivos. Algunos de estos módulos proporcionan subconjuntos de las características de otros componentes (por ejemplo, distintos niveles de compatibilidad con ventanas; DCOM vs COM ), otros que son independientes ( compatibilidad con fuentes de mapa de bits o TrueType ) y otros que añaden características adicionales a otro componente. Se puede comprar un kit (Platform Builder) que contiene todos estos componentes y las herramientas con las que desarrollar una plataforma personalizada. Las aplicaciones como Excel Mobile (anteriormente Pocket Excel) no forman parte de este kit. Sin embargo, la versión anterior para PC de mano de Pocket Word y varias otras aplicaciones antiguas se incluyen como muestras.
La mejor descripción de Windows Mobile es que es un subconjunto de plataformas basadas en Windows CE. Actualmente, Pocket PC (ahora llamado Windows Mobile Classic), Smartphone (Windows Mobile Standard) y Pocket PC Phone Edition (Windows Mobile Professional) son las tres plataformas principales bajo el paraguas de Windows Mobile. Cada plataforma utiliza diferentes componentes de Windows CE, además de funciones y aplicaciones complementarias adecuadas para sus respectivos dispositivos.
Pocket PC y Windows Mobile son plataformas personalizadas definidas por Microsoft para uso general de PDA, que consisten en un conjunto definido por Microsoft de perfiles mínimos (Edición Profesional, Edición Premium) de software y hardware que son compatibles. Las reglas para la fabricación de un dispositivo Pocket PC son más estrictas que las de producción de una plataforma personalizada basada en Windows CE. Las características que definen al Pocket PC son la pantalla táctil como dispositivo de interfaz humana principal y su tamaño extremadamente portátil.
CE 3.0 es la base de Pocket PC 2000 y Pocket PC 2002. Un sucesor de CE 3.0 es CE.net. [31] "PocketPC [es] una capa de código independiente sobre el sistema operativo Windows CE... Pocket PC se basa en Windows CE, pero es una oferta diferente". Y los licenciatarios de Pocket PC tienen prohibido modificar la parte WinCE. [32]
La plataforma Smartphone es un sistema operativo y una interfaz con muchas funciones para teléfonos celulares. SmartPhone ofrece funciones de productividad para usuarios comerciales, como correo electrónico y capacidades multimedia para consumidores. La interfaz de SmartPhone se basa en gran medida en la navegación con joystick y la entrada de datos mediante PhonePad. Los dispositivos que ejecutan SmartPhone no incluyen una interfaz de pantalla táctil. Los dispositivos SmartPhone generalmente se parecen a otros formatos de teléfonos celulares, mientras que la mayoría de los dispositivos Phone Edition utilizan un formato PDA con una pantalla más grande.