Las Ventajas y Desventajas de los Operadores de un Dispositivos Móvil, Según el S.O
josee444Tesis16 de Agosto de 2020
4.323 Palabras (18 Páginas)1.030 Visitas
[pic 1]
Jose Angel Esquivel Ortiz
127096
CC61
CC61-CC62-CC63 (04) TÓPICOS DE SISTEMAS OPERATIVOS
Dr. Marco Tulio Ceron López.
Actividad de Aprendizaje 3. Las Ventajas y Desventajas de los Operadores de un Dispositivos Móvil, Según el S.O.
Ciudad Acuña, 03 de mayo del 2020
Índice
Introducción …………………………………………………..…………………...1
Android……………………………………………………………………………..1
iOS……………………………………………………………………………….…7
Symbian…………………………………………………………………………… 13
BlackBerry OS…………………………………………………………………..… 17
Windows Phone ………………………………………………………………....… 20
Conclusión ……………………………………………………………………....… 24
Bibliografía ……………………………………………………………………...… 26
Introducción
La mayoría de aparatos electrónicos que funcionan utilizando microprocesadores llevan incorporado un sistema operativo, como es el caso de los ordenadores, teléfonos móviles, consolas, etc. Un sistema operativo es el software fundamental que permite a los usuarios interactuar con las máquinas, gestionando los datos, las aplicaciones y sus componentes.
En este documento se plasma un análisis de algunos de los sistemas operativos que han surgido y siguen disponibles y en uso.
Android
-Kernel Unificado
Android se basa en Linux 2.6 para los servicios base del sistema como la gestión de memoria y procesos, pila de red, modelo de controladores y seguridad. El núcleo también actúa como una capa de abstracción entre el hardware y el resto de la pila de software. Esto permite que se pueda acceder a los componentes sin necesidad de conocer el modelo o características precisas que están instaladas en cada dispositivo.
Cabe mencionar que en el sitio web de Google, Android developers (2020) “El uso del kernel de Linux permite que Android aproveche funciones de seguridad claves y, al mismo tiempo, permite a los fabricantes de dispositivos desarrollar controladores de hardware para un kernel conocido”.
- Construido por Capas
Android en general es un sistema constituido por 4 capas, las cuales son las siguientes;
Kernel de Linux
Como hacíamos mención en el punto de Kernel unificado, Android basa su kernel en Linux, aprovechando el puente que hace este entre el hardware y software con sus distintos controladores.
Runtime de Android
En esta capa tenemos un concepto basado en la máquina virtual de Java, el limitado hardware de los dispositivos móviles no pudo concretar una implementación, así que se creó una nueva que trabajara y respondiera efectivamente.
Máquina Virtual Dalvik
Entre las características de la máquina virtual Dalvik que facilitan esta optimización de recursos se encuentra la ejecución de ficheros Dalvik ejecutables (.dex) –formato optimizado para ahorrar memoria–. Además, está basada en registros. Cada aplicación corre en su propio proceso Linux con su propia instancia de la máquina virtual Dalvik. Delega al kernel de Linux algunas funciones como threading y el manejo de la memoria a bajo nivel.
Esto cambia partir de Android 5.0 Dalvik donde se menciona que es remplazado por ART, optimizando el tiempo de ejecución en un 33% incluyendo el módulo de Core Libraries.
Librerias nativas
Incluye un conjunto de librerías en C/C++ usadas en varios componentes de Android. Están compiladas en código nativo del procesador. Muchas de las librerías utilizan proyectos de código abierto.
Entorno de aplicación
Proporciona una plataforma de desarrollo libre para aplicaciones con gran riqueza e innovaciones (sensores, localización, servicios, barra de notificaciones, etc.).
Esta capa ha sido diseñada para simplificar la reutilización de componentes. Las aplicaciones pueden publicar sus capacidades y otras pueden hacer uso de ellas (sujetas a las restricciones de seguridad). Este mismo mecanismo permite a los usuarios reemplazar componentes.
Aplicaciones
Este nivel está formado por el conjunto de aplicaciones instaladas en una máquina Android. Todas las aplicaciones han de correr en la máquina virtual Dalvik para garantizar la seguridad del sistema.
Normalmente las aplicaciones Android están escritas en Java o Kotlin. Para desarrollar este tipo de aplicaiones podemos utilizar el Android SDK. Existe otra opción consistente en desarrollar las aplicaciones utilizando C/C++. Para esta opción podemos utilizar el Android NDK (Native Development Kit).
- Multiproceso y Multitarea.
“Android es un sistema operativo con multitarea, permite ejecutar varias aplicaciones al mismo tiempo. Se utiliza una gestión de memoria basada en la “localidad temporal” (sí, algo así como en la memoria caché)” ( Anónimo ,2016), es decir las aplicaciones no se llegan a cerrar cuando el usuario deja de utilizarlas, ya que la tendencia es utilizar un número reducido de aplicaciones a lo largo del día.
Los dispositivos móviles no tienen el lujo de espacio de memoria swap, por lo que tienen límites muy restrictivos en la memoria. “todas las aplicaciones creadas son iguales” tanto las de “core” (nucleo) como la de “terceros” .
SMP es el acrónimo de "Multiprocesador simétrico". Describe un diseño en el que dos o más núcleos de CPU idénticos comparten acceso a la memoria principal. Hasta hace unos años, todos los dispositivos Android eran UP (monoprocesadores).
- Soporte a diferentes Pantallas
Android clasifica las pantallas de los dispositivos en función de dos propiedades generales: el tamaño y la densidad. El sistema realiza escalamiento y modificación de tamaño básicos para adaptar tu interfaz de usuario a diferentes pantallas, pero aún hay trabajo por hacer a fin de garantizar que tu IU se adapte correctamente a cada tipo de pantalla.
Hay cuatro tamaños generales: small, normal, large y xlarge. Para resolver esto, Android admite mapas de bits 9-patch en los que se especifican pequeñas regiones de píxeles que son expandibles (el resto de la imagen se mantiene sin escalar).
Y cuatro densidades generales: low (ldpi), medium (mdpi), high (hdpi), extra high (xhdpi). La densidad de píxeles es la cantidad de píxeles presentes en un área física de la pantalla y se conoce como ppp (puntos por pulgada). Esto se diferencia de la resolución, que es la cantidad total de píxeles en una pantalla.
- Soporte Multilenguaje
El sistema operativo ofrece soporte de lenguaje bajo la configuración inicial tanto del lenguaje como de la región, posteriormente es posible cambiarlo en las configuraciones del usuario en su interfaz de configuración.
- Multihilo
Android es un sistema operativo que implementa multihilos en sus procesos como mencionan en el sitio oficial de Google, Andorid developers en su artículo Descripción general de los procesos y subprocesos “Un hilo de ejecución o subproceso es la unidad de procesamiento más pequeña que un sistema operativo puede manejar”(2020). quiere decir que toda tarea que necesite de recursos costosos del sistema deberá realizarse en un hilo secundario para evitar que bloquee el hilo principal de la aplicación, y afecte al usuario durante la ejecución de la misma.
Por defecto, todos los componentes de la misma aplicación se ejecutan en el mismo proceso y es por eso que cuando hablamos del hilo principal o main thread, nos referimos al hilo de ejecución donde se ejecutan los componentes, servicios, actividades, etc. de una aplicación Android. considerando la filosofía de Android respecto al consumo de recursos, el sistema se encarga de monitorizar el hilo principal y cualquier operación que supere los 5 segundos dará lugar a un mensaje de “Application Not Responding”, permitiendo al usuario esperar o forzar el cierre de la aplicación.
- Conectividad Inalámbrica
Este sistema operativo tiene la opción de operar bajo conectividad inalámbrica y de forma offline con ausencia de esta.
- Administración del Hardware
La capa del kernel efectúa la comunicación directa con los drivers y hardware disponibles, según sea la necesidad por el usuario y la disponibilidad del hardware.
- Administración de Aplicaciones
Android te permite la administración de aplicaciones en tiempo de ejecución, pero hay que considerar las jerarquías de estas;
Procesos en primer plano:
...