Está en la página 1de 12

Sistemas operativos en dispositivos móviles

Universidad Central de Venezuela


Faculta de Ciencias/ Escuela de Computación
Sistemas Operativos
Jose Miguel Valera Soto, Ci.: 28.218.108
Caracas, 17 de septiembre de 2021

Resumen: La necesidad de Sistemas Operativos que den soporte a dispositivos


móviles y provean oportunidades para el desarrollo de aplicaciones, ha
incrementado debido a la proliferación de usuarios de dispositivos móviles ya que
estos se han vuelto una importante y asequible computadora móvil. Estos
dispositivos móviles o smartphones poseen muchas de las características que
ofrece un computador normal tales como: procesadores de alta velocidad, amplio
espacio de almacenamiento, multi-tasking, pantallas y cámaras de alta
resolución; y así como un computador normal, los dispositivos móviles pueden
correr en diferentes Sistemas Operativos, los cuales son el principal componente
para el funcionamiento de un dispositivo móvil.

Introducción
Los dispositivos móviles han sido los más adoptados medios de comunicación a nivel mundial,
con más penetración que cualquier otro dispositivo electrónico. Cada dispositivo móvil necesita
de un sistema operativo para ejecutar sus servicios. Los primeros sistemas operativos móviles
eran sencillos debidos a la capacidad limitada de los teléfonos que los soportaban, sin embargo,
hoy en día los smartphones incorporan gran cantidad de las características de un computador
corriente tales como: procesadores de alta velocidad, gpu, largos espacios de almacenamiento,
multitasking, cámaras y pantallas de alta resolución, etc. Los sistemas operativos móviles de hoy
en día combinan características de un sistema operativo de un computador de escritorio con
algunas otras, incluyendo una pantalla táctil, bluetooth, wi-fi, GPS, cámara de video y
reconocimiento de voz.
Los sistemas operativos móviles han tenido que evolucionar para dar soporte a estas
características, además muchos de estos están diseñados para permitir que terceros desarrollen
aplicaciones para estos dispositivos, gracias a esto , los usuarios pueden tener acceso a nuevas
aplicaciones y servicios al conectarse a su app store, esto ha hecho posible que estos dispositivos
móviles tengan la disposición de tener avanzadas aplicaciones de internet y servicios; como sea
el mercado esta abarcado por numerosas compañías y plataformas, incluyendo distintos
Sistemas operativos y plataformas para el desarrollo de aplicaciones, esto resulta en que las
aplicaciones solo puedan ser utilizadas por dispositivos móviles que utilicen el sistema operativo
para el que fue creado una aplicación

En este paper haremos énfasis en las características de los Sistemas Operativos en dispositivos
móviles, un poco sobre el funcionamiento básico de estos, los diferentes SO móviles que existen
y como se estructuran, además de un breve resumen de su historia y el funcionamiento del
multitasking en dispositivos móviles.

¿Qué es un Sistema Operativo?


Antes de comenzar a hablar sobre el Sistema Operativo en cuestión, empezaremos explicando
que es un sistema operativo. Un sistema operativo es una colección de software que maneja los
recursos de hardware y provee servicios comunes para programas de computadora, el sistema
operativo es un componente vital del software en un sistema informático, las aplicaciones de
programa generalmente requieren de un SO para ser ejecutadas. Algunos de los SO mas
conocidos y utilizados hoy en día son: Linux, Windows, MacOS, Aunque se podría decir que
Windows lleva la vanguardia solo por el hecho de ser el más comúnmente usado hoy en día

Sistemas operativos móviles


Un sistema operativo móvil es una plataforma de software sobre la cual corren aplicaciones de
programa en dispositivos móviles como un PDA, tablets, teléfonos celulares y Smartphones. A lo
largo de los años los sistemas operativos móviles pasaron de ser sistemas operativos basados en
PC’s a sistema operativos embebidos, hasta llegar a ser sistemas operativos orientados a
Smartphones hoy en día (Okediran y Ganiyu 2014)

Los sistemas operativos móviles a diferencia de los Sistemas operativos para PC, son mucho más
simples y están orientados a la conectividad inalámbrica, los formatos multimedia para móviles
y las diferentes maneras de introducir información en ellos. Algunos de los Sistemas Operativos
utilizados en los dispositivos móviles están basados en el modelo de capas

¿Como funcionan los sistemas operativos móviles?


Cada capa del sistema operativo tiene su función y proceso, el funcionamiento del SO depende
de cada una de estas partes, en líneas generales el SO administra todos los recursos del móvil,
otorgando prioridades para las diferentes memorias y programas

De esta manera cuando un usuario ejecuta una aplicación, cambia los privilegios de ejecución de
la aplicación y hace que sea esta la que se ejecute en primer plano y aparezca sobre la pantalla.
Se puede pensar en el SO como un policía de tráfico cuya labor es redirigir los flujos de
información y determinar cuales tienen preferencia (Steele 2020), además de optimizar el
funcionamiento del dispositivo y gestionar las memorias

Otro de los puntos clave de un sistema operativo es que de este depende la instalación de
programas y aplicaciones, ya que muchos desarrolladores crean sus aplicaciones para un SO en
concreto, por ello se debe tener en cuenta el tipo de sistema que tiene el dispositivo para
determinar que uso se le puede dar

Capas de un Sistema Operativo Móvil

Kernel

El núcleo o kernel es el encargado de proporcionar acceso a los elementos de hardware del


dispositivo, este ofrece distintos servicios como controladores o drivers para el hardware,
sistema de archivos, gestión de procesos y de memoria.

Los sistemas operativos para móviles pueden basarse en núcleos Linux, tal como lo hace
Android e incluso IOS, el sistema operativo del iPhone utiliza un núcleo heredado de UNIX

Middleware

El middleware es un conjunto de módulos que hacen posible la existencia de aplicaciones para


móviles, este es transparente para el usuario ya que no debe realizar ninguna acción, ni
configurar nada para el correcto funcionamiento del mismo, y ofrece servicios claves como el
motor de mensajería, intérpretes de páginas web, gestión del dispositivo y seguridad.
Entorno de ejecución de aplicaciones

Es un gestor de aplicaciones y un conjunto de interfaces programables abiertas, y programables


por parte de los desarrolladores para la creación de software (Gonzalez, 2017), es decir que
contiene los elementos necesarios para la creación y desarrollo de software

Interfaz de usuario

Las interfaces de usuario facilitan la interacción del usuario con el diseño de la presentación
visual de la aplicación. Los servicios que incluye son componentes gráficos, como botones,
pantallas y listas, además del marco de interacción

La interfaz es el elemento que comúnmente utilizamos para interactuar con el dispositivo, sin
esta capa seria imposible utilizarlo ya que presenta todos los elementos necesarios para realizar
cualquier tarea en nuestro dispositivo. Además, incluye todos los elementos gráficos que hacen
posible el cómodo uso del mismo, en el también coexisten otras aplicaciones nativas del móvil

Algunas de las particularidades mas importantes incluidas en los Smartphones, es la posibilidad


de realizar todas las tareas que desee el usuario con los dedos a través de un touch screen, que
poco a poco se ha ido convirtiendo en un standard, otro punto muy importante es la capacidad
de personalización que permite la interfaz de usuario de los sistemas operativos móviles

Figura 1 – Estructura del Sistema Operativo Móvil


Android OS
Android es un Sistema operativo móvil basado en el kernel Linux desarrollado por Google, con
una interfaz de usuario basada en manipulación directa, ya que Android está diseñado para
dispositivos móviles con touch screen como smartphones, tablets, e incluso para algunos Smart
tv, Smart watch(Arorab et al 2014).El SO utiliza las entradas de la pantalla táctil las cuales
corresponden a acciones del usuario como hacer swipe, tap o pinchar la pantalla, Android
también ha sido utilizado en consolas de juegos y cámaras, entre otros dispositivos. Actualmente
Android posee la mayor base de instalaciones que cualquier otro Sistema operativo móvil,
además los dispositivos Android se venden más que cualquier otro y posee la segunda tienda de
aplicaciones más grande con más de 3 millones de apps.

Android es open source por lo que es low-cost y un sistema operativo altamente customizable,
por ello es la opción más común entre dispositivos móviles. Este Sistema operativo utiliza un
kernel de Linux con APIs de alto nivel escritos en C, por lo general las aplicaciones son
programadas en Java y ejecutadas con una máquina virtual usando compilación en tiempo real
para traducir código de java a Dalivk dex-code(Okediran y Ganiyu 2014).Esta combinación nos
trae algunas características de seguridad, como un manejo de memoria eficiente, multitasking
preventivo, Unix User identifiers (UIDs) y permisos de archivos. Las aplicaciones en Android se
ejecutan cada una en un proceso separado con un UID único, que comúnmente indica distintos
permisos de la aplicación, esto significa que normalmente las aplicaciones no serán capaces de
leer o escribir la data o código de otras aplicaciones, y para hacer que las aplicaciones puedan
compartir recursos estas deben declararlas estáticamente al momento de instalarse, con lo que
se notifica al usuario para que conceda permiso. Android posee las siguientes capas:

1. Linux Kernel: Android recae en Linux para seguridad, manejo de memoria y procesos,
etc.
2. Android Runtime: Provee un conjunto de librerías que soporta la mayoría de las
funcionalidades de las librerías principales de java, y la máquina virtual de Android
(Dalivk VM) se apoya en el kernel de Linux por alguna razón subyacente
3. Librerías: Android incluye un conjunto de librerías de C/ C++ expuestas a los
desarrolladores a través del framework de Android.
4. Application Framework: Provee una capa de acceso a las APIs del framework usadas por
las aplicaciones del núcleo
Figura 2 – Estructura de Android

iOS
IOS es un Sistema operativo móvil desarrollado por Apple Inc. y distribuido únicamente para
hardware de Apple, es el SO que funciona en iPhone, iPad, iWatch, es closed source y
propietario pero además esta construido sobre Darwin Core OS. IOS hace uso de la pantalla
táctil para cualquier interacción con el usuario con gestos como tap, tap and hold o pinch para
controlar los elementos de la interfaz, y para realizar acciones en la misma

Este sistema operativo móvil es derivado de Mac OS X, que comparte sus bases de Darwin OS,
un OS UNIX compatible con posix de código abierto, y viéndolo de esta manera podríamos decir
que iOS es una variante de UNIX. IOS esta hecho de 4 capas: Core OS, Core Services, Media,
and Cocoa Touch6

Core OS level

Esta capa contiene el kernel, un manejador de archivos, un sistema de seguridad y una serie de
drivers de dispositivos, esta capa es la más cercana al hardware con un kernel Unix multitarea,
además se encuentran las APIs escritas en lenguaje C. El kernel de iOS es llamado XNU y es un
núcleo de Darwin, desde la primera versión de iOS (1.0), hasta el más reciente (14.0)

Core Services
Esta capa se encuentra justo por encima de la base de iOS y en esta tenemos todas las APIs
orientadas a objetos, y algunos servicios básicos como conexión a la red, manejo de líneas,
manejo de contactos y opciones. Todos estos servicios abren la posibilidad de utilizar los
componentes de hardware del dispositivo (GPS, brújula, acelerómetro y el giroscopio)

Medios

La capa de medios es el siguiente nivel utilizado para transferencia multimedia

Cocoa touch

Esta capa corresponde a la interfaz de usuario de iOS, con esta capa es con la que interactúan el
90% del tiempo los desarrolladores al desarrollar una aplicación, la interfaz está completamente
orientada a objetos. Cocoa touch además contiene un framework que permite escribir
aplicaciones en iOS, y estos frameworks además definen el aspecto de la aplicación. También
proveen la infraestructura y soporte para el multitasking, touch, notificaciones, etc. El lenguaje
principal para desarrollo en esta capa son objective-C y Swift, Swift es un lenguaje de
programación compilado el cual interactúa con los frameworks de cocoa touch y el código en
objective-C

Figura 3 – iOS 15
Windows Phone OS
El template de Windows Phone es un SO diseñado para dispositivos móviles desarrollado por
Microsoft, este es el sucesor de la plataforma Windows Mobile que estaba basada en el kernel
Windows CE. Analizando las figuras 2 y 4 se podría decir que la arquitectura de Windows Phone
corresponde a una versión vieja de la de Android, tal como Android, Windows Phone OS está
diseñado para múltiples plataformas de hardware y chipsets, para que de esa manera los
desarrolladores sean capaces de compilar aplicaciones en tiempo real, el principal lenguaje de
desarrollo de aplicaciones para este SO es C#, además todo es compilado en CLR, que es una
máquina virtual que funciona de manera similar al Dalivk virtual machine de Android

Este SO móvil fue lanzado por primera vez en 2011, y tuvo algunas pocas actualizaciones que
añadió ciertas características importantes como “Cortana”, que es un asistente de voz y
sincronización entre dispositivos, posteriormente este fue sacado del mercado en 2015 y luego
cambiado por Windows 10 (móvil), que fue diseñado para proveer una experiencia parecida a la
de Windows 10 de escritorio, como sea podemos decir que Windows 10 (móvil) es una
continuación de Windows Phone, debido a la similaridad de ambos sistemas operativos

La arquitectura de Windows Phone requiere de una capa de hardware que cumpla los requisitos
mínimos de Microsoft: CPU ARM7, GPU con soporte para DirectX 9, 256Mb de RAM y 8Gb de
memoria flash, además de una cámara y 6 botones físicos, etc. La capa de kernel de Windows
Phone maneja los drivers de dispositivos de bajo nivel, así como también seguridad básica, redes
y almacenamiento. Por encima del kernel se encuentran 3 librerías: Modelo de aplicaciones para
el manejo de aplicaciones, Modelo UI para manejo de interfaz de usuario, y un módulo de
integración en la nube para búsquedas en internet, además de servicios de localización y
notificaciones. La capa de aplicaciones incluyen Silverlight, XNA, HTML/JavaScript y CLR que
soporta C# o aplicaciones VB .Net
Figura 4 – Estructura de Windows Phone

Multitasking en Sistemas Operativos Móviles


Multitasking es la característica de un SO que permite que varios procesos o aplicaciones se
ejecuten aparentemente al mismo tiempo, compartiendo uno o más procesadores, los sistemas
multitasking son capaces de ejecutar más de un proceso a la vez, para permitir la ejecución de
muchos más programas

En el caso de Android, fue Samsung quien realmente aprovecho y mostro el verdadero potencial
del multitasking, al incorporar el uso de ventanas flotante de forma nativa en sus dispositivos,
de esta manera se podía tener más de una aplicación ejecutándose al mismo tiempo en primer
plano

Por otra parte, iOS implemento una forma muy limitada de multitasking en sus inicios ya que en
este solo se mostraba una barra “multitarea” que permitía cambiar entre aplicaciones, pero estas
realmente no se encontraban ejecutándose ni se les permitía ejecutarse mientras no estuviese en
primer plano. En iOS existían 5 estados de actividad para las aplicaciones, que determinaban si
estaban cerradas (No en ejecución), si está en ejecución pero no está ejecutando código
(inactivo) o cuando una aplicación se está utilizando en primer plano (activo), etc.

Cuando una aplicación pasaba a segundo plano, estas entraban en un modo suspendido, y en
este estado solo se encontraba en RAM pero no podía utilizar ciclos del procesador, y en caso de
necesitarse más memoria en el dispositivo las aplicaciones suspendidas se borraban de la RAM.
Sin embargo con las últimas versiones de iOS se añadió una nueva característica llamada Fast
App switching, el cual permite salvar el estado de una aplicación, salir de la aplicación y luego
retomarla en el punto en que la dejamos, aunque esto realmente no es multitasking, por otra
parte se añadió una característica en la que solo se permite ejecutarse en segundo plano a ciertas
aplicaciones como música, localización, notificaciones, Apple news y background, el cual ejecuta
ciertas aplicaciones que no están en primer plano de vez en cuando de acuerdo a un algoritmo
que intenta predecir que app es más probable que el usuario utilice

En cuanto a Windows Phone, este tomo el mismo camino que iOS de no dar soporte a ningún
tipo de multitarea, ya que después de salir de una aplicación esta se cerraba completamente con
el objetivo de recuperar los recursos y ponerlos a disposición del sistema. Posteriormente con la
actualización “Mango” implementaron los “Agentes de fondo”, que permitían que procesos se
ejecutaran en segundo plano pero bajo ciertos parámetros (solo podían utilizar el 10% del CPU y
5MB de RAM), cuando se está funcionando con batería, al conectarse el dispositivo móvil a un
cargador estos tendrían menos limitaciones

Figura 5 – Ventanas flotantes en Android 7.0

Conclusión
En este paper hemos estudiado los diferentes sistemas operativos móviles mas populares
actualmente, esto nos permitió comprender que la forma en la que estos se estructuran en capas
para asegurar un correcto funcionamiento y dar una mayor seguridad para el usuario, tienen la
misma base de cierta manera y comparten ciertas capas básicas como por ejemplo el kernel el
cual es necesario para administrar el hardware del dispositivo y proveer ciertos servicios

Por otra parte también se hablo de la historia de los SO móviles, que podríamos decir tuvo su
origen con la llegada de palm OS y los PDAs, posteriormente hubo un auge en el que se
desarrollaron gran variedad de SO móviles, que en su mayoría terminaron siendo abandonados,
esto se debió a que existían grandes competidores como Android y iOS cuya popularidad e
interfaces de desarrollo permitieron que desarrolladores crearan aplicaciones para estas, lo cual
trajo aun mas usuarios a estas plataformas por la gran variedad de aplicaciones en sus tiendas
de aplicaciones

Aprendimos además, que el SO móvil es como un policía de tránsito que redirige el flujo de
información y determina que aplicaciones tienen una mayor prioridad al momento de ser
ejecutada en el procesador; también descubrimos que en cuanto a multitasking, Android fue de
los primeros SO que lo incluyeron de manera efectiva y que otros como iOS solo daban la
impresión de poseer multitasking

Referencias
• Subrahmanyam, V.V. & Swathi, Kailasam. (2011). A Study on Mobile Operating Systems
and their Recent Advances. Disponible en: https://www.ijser.org/researchpaper/A-
Study-on-Current-Mobile-Operating-Systems.pdf
• O. C. Novac, M. Novac, C. Gordan, T. Berczes and G. Bujdosó, "Comparative study of
Google Android, Apple iOS and Microsoft Windows Phone mobile operating systems,"
2017 14th International Conference on Engineering of Modern Electric Systems (EMES),
2017.Disponible en: https://ieeexplore.ieee.org/abstract/document/7980403
• Hall, S., & Anderson, E. (2009). Operating systems for mobile computing. Journal of
Computing Sciences in Colleges.Disponible en:
https://www.semanticscholar.org/paper/Operating-systems-for-mobile-computing-
Hall-Anderson/930bd617350302a559e94f69181059b3afd361af
• OkediranO., O., Arulogun, O.T., GaniyuR., A., & OyeleyeC., A. (2014). Mobile Operating
Systems and Application Development Platforms: A Survey. International Journal of
Advanced Networking and Applications.Disponible en:
https://www.semanticscholar.org/paper/Mobile-Operating-Systems-and-Application-
Platforms%3A-OkediranO.-Arulogun/d350c0f5778d6355d6b3bf413d2f43093db023d0
• ISSN 2348-1196 (print) International Journal of Computer Science and Information
Technology Research ISSN 2348-120X (online) Vol. 2, Issue 3, pp: (483-489), Month:
July - September 2014, Disponible en: https://pdfcoffee.com/mobile-operating-system-
4-pdf-free.html
• Subrahmanyam, V.V. & Swathi, Kailasam. (2011). A Study on Mobile Operating Systems
and their Recent Advances.Disponible en:
https://www.researchgate.net/publication/315108816_A_Study_on_Mobile_Operating
_Systems_and_their_Recent_Advances
• Arjun Roy, Stephen M. Rumble, Ryan Stutsman, Philip Levis, David Mazières, and
Nickolai Zeldovich. 2011. Energy management in mobile devices with the cinder
operating system. In Proceedings of the sixth conference on Computer systems (EuroSys
'11). Association for Computing Machinery, New York, NY, USA, 139–152.
DOI:https://doi.org/10.1145/1966445.1966459
• Ali, Ahmed. (2014). A Review of Different Comparative Studies on Mobile Operating
System. Research Journal of Applied Sciences, Engineering and Technology. 7. 2578-
2582. 10.19026/rjaset.7.570.
• Costello Sam. 2020. ‘How to Use Multitasking on the iPhone‘ . Disponible en:
https://www.lifewire.com/use-multitasking-on-iphone-2000763
• Madrazzo Miguel. 2014. ‘Multitasking, la aplicación que aprovecha al máximo las
capacidades multitarea de Android’ . Disponible en:
https://www.elespanol.com/elandroidelibre/aplicaciones/20140324/multitasking-
aplicacion-aprovecha-maximo-capacidades-multitarea-android/3000009_0.html
• Mendez C. . ‘Cómo funciona realmente la multitarea en Android e iOS’. Disponible en:
https://hielosmendez.es/como-funciona-realmente-la-multitarea-en-android-e-ios/
• Adonai Herrera González. 2017. Sistemas Operativos para Dispositivos Móviles.
Instituto Tecnologico de Chilpancingo. Mexico, Chilpancingo de los Bravo. Disponible
en:https://www.academia.edu/34925792/Sistemas_Operativos_para_Dispositivos_Mó
viles_Portafolio_de_evidencias_Bitácora_Unidad_2_Arquitectura_de_los_Sistemas_
Operativos_Móviles
• Gamarra Gustavo. 2018. ‘¿Qué es el kernel y cómo funciona?’. Disponible en:
https://www.profesionalreview.com/2018/01/04/que-es-el-kernel-y-como-funciona/
• De la calle R. .2021. ‘¿Qué sistemas operativos móviles han existido más allá de Android
y de iOS?’. Disponible en: https://www.movilzona.es/2021/06/30/sistemas-operativos-
moviles/

También podría gustarte