Los diversos sistemas operativos que existen permiten al programador de aplicaciones móviles abstraerse del hardware que hay por debajo para que puedan centrarse en aspectos de más alto nivel. En particular los teléfonos móviles se caracterizan por tener un hardware de capacidades muy limitadas en comparación con el de los ordenadores personales, igualmente variado en cuanto a configuraciones (velocidad de proceso, capacidad de memoria, tamaño de pantalla, capacidades sonoras, etc.), y que se espera que esté funcionado durante largos periodos de tiempo al mismo tiempo que se ha de conservar al máximo la carga de las baterías. Además las tecnologías en este campo evolucionan también a mucha velocidad, aumentando casi día a día tanto las capacidades del hardware como de lo que hay a su alrededor (ancho de banda, cobertura, servicios ofrecidos por los operadores, número de usuarios, etc.), haciendo que los diversos modelos de teléfono se vayan quedando desfasados casi inmediatamente después de salir al mercado. Es por ello necesaria la existencia de la capa del sistema operativo, para poder hacer un uso del hardware flexible y económicamente viable (sería muy costoso e ineficiente desarrollar partiendo de cero el interfaz de uso de cada modelo nuevo).
En el mundo de los teléfonos móviles existen varios sistemas operativos, algunos de ellos creados propiamente para estos dispositivos y otros que son adaptaciones de los que corren en los ordenadores personales. Entre ellos podemos destacar:
- Symbian: Creado y diseñado especialmente para su uso en teléfonos móviles por la alianza de varios fabricantes como Nokia, Sony Ericsson, Motorola, Fujitsu, Panasonic, Samsung, y otros. Corre únicamente en procesadores ARM y cuenta con muchas de las características propias de los sistemas de escritorio, como multitarea preemptiva, multithreading y protección de memoria. Para desarrollar sobre él cuenta con librerías y marcos de desarrollo para interfaces gráficos propios del fabricante. Para programarlo se usa una versión muy especializada de C++, pero para algunos dispositivos es también posible hacerlo con Python, Visual Basic, Perl o Java. Se contemplan cuatro tipos de dispositivos o perfiles de hardware, denominados Serie60, Serie80, Serie90 y UIQ. La mayoría de Nokia son Serie60, todos los de Sony Ericsson trabajan bajo UIQ, así como también Motorola.
- Windows Mobile: Desarrollado por Microsoft y utilizado por muchos fabricantes que también usan otros sistemas, como Motorola, Palm, Qtek o Samsung. Derivado de Windows CE, cuenta con dos variantes: Windows Mobile PocketPC, para PDAs y Windows Mobile Smartphone, para teléfonos. Corre en procesadores x86, ARM y MIPS, y cuenta también con características propias de los sistemas de escritorio como la multitarea, la ejecución en varios hilos y la protección de memoria para los procesos. Para desarrollar software se pueden usar los entornos propios de Microsoft (Compact Framework .NET), Java (J2ME) y otros.
- Linux: La flexibilidad de su licencia Open Source ha permitido que sea adaptado por diversos fabricantes para que funcione en PDAs y teléfonos móviles. Existe una especificación denominada "Linux for embedded devices" desarrollada por un consorcio de empresas como IBM, Intel, Motorola, Siemens, Sharp, Sony, Nec o Samsung cuyo fin es ponerse de acuerdo en la creación de normas para que se puedan hacer desarrollos sobre esta plataforma. Los procesadores sobre los que corre son los habituales: ARM, MIPS y x86. Para desarrollar software se puede usar el lenguaje C de forma nativa que cuenta con numerosas librerías, y también se pueden usar lenguajes interpretados como Perl y Python. En algunos modelos se puede correr la máquina virtual de Java y es posible también desarrollar en ese entorno.
- PalmOS: Desarrollado originalmente para agendas electrónicas (PDAs) e incorporado posteriormente a algunos teléfonos móviles de gama alta, lo utilizan bajo licencia de PalmSource Inc, algunos fabricantes como LG, Samsung o Kyocera. Las versiones más recientes corren sobre procesadores ARM, pero en el pasado lo hacía también sobre otros dispositivos. Al llevar mucho tiempo en el mercado han surgido varios compiladores y librerías para desarrollar software, siendo los más numerosos los de C/C++ y en menor medida Java y lenguajes de más bajo nivel específicos. La gama de teléfonos más conocida que lo usan son los Treo, fabricados por la propia Palm.
- Otros: Además de los anteriores existen otros sistemas que actualmente ya no se desarrollan y subsisten en teléfonos antiguos (NokiaOS), son demasiado nuevos y poco extendidos (por ejemplo el reciente iPhone de Apple, que usa una versión de MacOSX) o demasiado cerrados y específicos (por ejemplo RIM, que lo llevan los Blackberry, muy famosos como lector de mail sobre todo en USA pero muy poco extendidos en Europa).
La siguiente tabla muestra las ventas por fabricante en el tercer cuatrimestre de 2006, que dan cifras similares (aunque no se muestran cifras de los sistemas operativos):
| EMEA smart mobile device market | |||||
| | Q3 2006 | Q3 2005 | Growth | ||
| Vendor | Shipments | Share | Shipments | Share | YTY |
| Nokia | 5,500,830 | 75.2% | 4,848,450 | 74.0% | 13.5% |
| HTC | 298,730 | 4.1% | 78,740 | 1.2% | 279.4% |
| RIM | 253,420 | 3.5% | 230,190 | 3.5% | 10.1% |
| Sony Ericsson | 219,010 | 3.0% | 116,640 | 1.8% | 87.8% |
| HP | 186,390 | 2.5% | 308,280 | 4.7% | -39.5% |
| Others | 861,310 | 11.8% | 970,550 | 14.8% | -11.3% |

No hay comentarios.:
Publicar un comentario