SISTEMAS OPERATIVOS DE DISPOSITIVOS MÓVILES HÉCTOR DOMÍNGUEZ KRYSLER PINTO AGENDA Sistemas operativos móviles Capas Historia Características Arquitectura Gestión de procesos Gestión de memoria Multitasking Conclusiones SISTEMAS OPERATIVOS MÓVILES ¿QUÉ SON? Conjunto de programas que gestiona los recursos de hardware y provee servicios en un dispositivo móvil MERCADO Fuente: http://www. comscore.com/ ANDROID ¿Qué es? Android, Inc. "Software libre": SO + Middleware + aplicaciones ¿Qué NO es? Dispositivo móvil Marca telefónica Dependiente de un fabricante ANDROID Historia Octubre 2003: Android, Inc. fue fundado por Andy Rubin, Rich Miner, Nick Sears, Chris White Agosto 2005: Google adquirió Android, Inc. Noviembre 2007: se fundó Open Handset Alliance: operadores móviles + desarrolladores de sw + + + + Noviembre 2007: se publicó Android Beta SDK. Septiembre 2008: se lanzó HTC Dream ANDROID Historia 30 de Abril de 2009 15 Septiembre de 2009 Android 1.5 Android 1.6 Cupcake Versión Linux 2.6.27 26 Octubre de 2009 Android 2.0 20 Mayo de 2010 Lanzamiento Android 2.2 OS pasa Android 2.3 Iphone iOS con el a llamarse iOS iPhone 5 Donut Eclair Versión Linux 2.6.29 Versión Linux 2.6.29 6 de Diciembre de 2010 Froyo Versión Linux 2.6.32 Gingerbread Versión Linux 2.6.33 ANDROID Características Conectividad: ● GSM, EDGE, 3G ● Bluetooth; Wi-Fi Software: ● Navegador integrado (Webkit) ● OpenGL | ES 1.0 ● SQLite ● Entorno de desarrollo: emulador + debugger + herr. profile Hardware / Multimedia: ● Cámara, GPS, Brújula, Acelerómetro ● MPEG4, MP3, AMR, JPG, GIF, otros. ANDROID Arquitectura ANDROID Arquitectura * DALVIK VM ANDROID Arquitectura - Gestión de Procesos Hace uso de un "Planificador Completamente Justo" Completely Fair Scheduler - CFS Insertar Selección de tarea: O(1) tarea: O(log N) ANDROID Arquitectura - Gestión de Memoria Limitación: 10-20 MB de RAM Por esto: 1- Archivos .dex. 2- Hace uso de Copy-on-Write 3- Zygote: "Es la célula formada inicialmente cuando un nuevo organismo es producido". ANDROID Arquitectura - Gestión de Memoria Limitación: 10-20 MB de RAM Por esto: 1) Marcar 4- Recolector de Basura: algoritmo mark-sweep 2) Barrer 5- Paginación: ARM ● * Paginación de dos ● niveles ● * Translation Lookaside ● Buffer - TLB Super-Secciones: Secciones: 16 MB 1 MB Páginas grandes: 64 KB Páginas pequeñas: 1 KB ANDROID Arquitectura - Multi-tasking ¿Múltiples aplicaciones se ejecutan al mismo tiempo? ANDROID Arquitectura - Sistema de Archivos Yet Another Flash File System Fourth Extended File System Ted Tso (Desarrollador de Google) * Memorias Flash * Gingerbread (2.3 - Diciembre 2010) iOS ¿QUÉ ES iOS? Es un sistema operativo desarrollado y distribuido por Apple, originalmente desarrollado para el iPhone (iPhone OS), siendo después usado en otros dispositivos iOS HISTORIA 9 de enero de 2007 Apple revela existencia del iPhoneOS 29 de Junio de 2007 Lanzamiento de Iphone OS 27 de enero de 2010 Steve Jobs anunció el iPad 7 de Junio de 2010 12 Septiembre de 2012 Iphone OS pasa Lanzamiento iOS 6 con el a llamarse iOS iPhone 5 iOS CARACTERÍSTICAS La interfaz de usuario de iOS está basada en el concepto de manipulación directa, usando gestos multitáctiles Acelerómetros internos para hacer que aplicaciones respondan a sacudir el dispositivo algunas Esta escrito en C, C++ y objective-c La versión actual del sistema operativo (iOS 6.1.3) ocupa más o menos 770 megabytes iOS KERNEL iOS se deriva de Mac OS X, que a su vez está basado en Darwin BSD, y por lo tanto es un sistema operativo Unix. DARWIN integra micronúcleo Mach IPC (Mensajes,semáforos,RPC) Planificador soporta (SMP) Servicios de Tiempo real Soporte de memoria virtual Multitarea Hilos freeBSD File-System Modelo de seguridad UNIX Componentes Red Acceso Multiusuario Protección de la memoria iOS ARQUITECTURA iOS es un intermediario entre el hardware y aplicaciones , cuenta con cuatro capas de abstracción las iOS ARQUITECTURA / ADMIN. PROCESOS Gestión a través de colas de prioridades. Los niveles de prioridades se dividen en cuatro grupos en base a sus características Modo kernel Normales Alta prioridad (Sistema) Migrar otras prioridades Prioridad en base a su comportamiento y al de los otros procesos en el sistema Hilos de tiempo real Penalizaciones iOS ARQUITECTURA / ADMIN. MEMORIA Gestión a través de memoria virtual. Soporta conteo automático de referencias (Objective C) MEMORIA VIRTUAL DASD MULTITASKING iOS 4 Audio en segundo plano Voz IP Localización en segundo plano Notificaciones push Notificaciones locales ....... Se agregaron nuevas iOS SISTEMA DE ARCHIVOS MECANISMO DE AISLAMIENTO SANDBOX Crear App => Home interacción solo Home Prohibiciones Excepción interfaces publicas del sistema OS X Soporta distintos sistemas de archivos HFS+, NFS,UFS,UDF,FAT, ETC ANDROID iOS KERNEL LINUX DARWIN GESTIÓN PROCESOS ÁRBOL ROJO NEGRO COLA DE PRIORIDADES GESTIÓN MEMORIA PAGINACIÓN PAGINACIÓN SISTEMA DE ARCHIVOS YAFFS2 / EXT4 MULTITASKING SI LIMITADO DESARROLLO CUALQUIER DESARROLLADOR PUEDE CREAR SUS PROPIAS APPS LOS DESARROLLADORES DEBEN PAGAR LA MEMBRESÍA SI NO VULNERABILIDAD MALWARE HARDWARE Puede instalarse sobre el Hardware de cualquier fabricante con previa adaptación de las librerías y clases. HFS+, UFS,ISO,NFS,UDF iOS no puede instalarse en hardware de terceros BIBLIOGRAFÍA [0]. http://www.comscore. com/Insights/Presentations_and_Whitepapers/2013/2013_Mobile_Future_in_Focus Android: [1]. http://developer.android.com/index.html [2].http://www.santiagosolis.com/2012/08/arquitectura-deandroid.html [3]. http://elinux.org/Android_Architecture [4]. Slash Mobility. http://slashmobility.com/slash/content/ iOS: [1].https://developer.apple. com/library/mac/#documentation/Darwin/Conceptual/KernelProg ramming/About/About.html#//apple_ref/doc/uid/TP30000905 [2]. http://www.apple.com/es/iphone/ios/ [3]. http://es.wikipedia.org/wiki/IOS_(sistema_operativo) [4]. http://es.wikipedia.org/wiki/Darwin_BSD [5]. http://es.wikipedia.org/wiki/Mac_OS_X