CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament d’Arquitectura de Computadors
Sistemas operativos para dispositivos
móviles inalámbricos
(Seminaris de CASO)
Autors
Santiago Rajado Nogales
([email protected])
Julián David Morillo Pozo
([email protected])
Qué es Symbian?

Symbian es una compañía de software propiedad de Ericsson,
Panasonic, Motorola, Nokia y Psion creada con el proposito de
desarrollar una plataforma estándar para teléfonos móviles
inteligentes y comunicadores.

SO : EPOC-R5

EPOC-R5 es un sistema operativo de 32 bits multithread
optimizado para dispositivos móviles que utilizan
comunicaciones inalámbricas.
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
2
Symbian: Requisitos básicos
Orientado a necesidades específicas
 Pequeños y portátiles pero siempre disponibles
 Orientado a un mercado masivo
 Soporte a conectividad
 Diversidad de productos
 Plataforma abierta
 Cumple con el estandar POSIX
 JVM
 Bluetooth, IPv6, WAP,...

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
3
Características principales de Symbian OS 6.x
Mensajería : E-mail , Fax, SMS
 Protocolos de comunicación: TCP/IP, WAP , Bluetooth
 Protocolos de seguridad y encriptación: HTTPS , WTLS ,SSL
 Servidor multimedia : soporte para variedad de formatos de
audio e imagen.
 Soporte para múltiples interficies de usuario : teclado, lápiz,
etc.
 Soporte para desarrollo : C++ , Java, WAP, HTML.

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
4
Uso actual

Ericsson R380

Nokia 9210

Otros : Motorola, Panasonic, Sanyo, Siemens, Psion, Sony.
Nokia 9290
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
5
Estructura: Recursos Hardware
Pantalla digital
Baterias
RS232
CPU, ROM, RAM,
Speaker, Micrófono
Teclado
Alimentación
Backup Battery
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
6
Componentes

Componentes de EPOC
Cliente
Aplicación
API SERVER
Aplicación
API ENGINE
Server
Engine
Mode
Usuari
API KERNEL
KERNEL
Mode
Privilegiat
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
7
Componentes II







Kernel : Gestiona los recursos hardware.
Aplicación : Programa con interficie de usuario.
Server : Gestiona uno o más recursos.
API Server : Interficie proporcionada por el Servidor a las
aplicaciones.
Engine : Parte de una aplicación encargada del manejo de
datos (módulos o DLL’s).
API Engine : Interficie proporcionada por la Engine a las
aplicaciones
API Kernel : Interficie entre proporcionada por el kernel a las
aplicaciones para acceder a los recursos del sistema.
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
8
Procesos, Threads y cambios de contexto

Proceso : Unidad básica de protección de EPOC.
– Espacio propio de direcciones.
– Traducciones de direcciones por parte de MMU.

Thread : Unidad básica de ejecución de EPOC.
– Comparte memoria con otros threads del proceso.
Los threads son gestionados por el kernel con preempción
inmediata
 Cambio de contexto : Pasa a ejecutarse otro thread de
mayor prioridad al que se está ejecutando actualmente.

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
9
Programas ejecutables

Hay dos tipos de ejecutables:
– .exe
• no son compartidos: diferentes ejecuciones requieren diferentes “cargas”
en memoria.
– DLL’s
• compartidas : si una DLL ya está en memoria, cualquier thread puede
acceder sin necesidad de volverla a cargar.
• Hay dos tipos:
– shared library DLL : proporcionan una API fija que puede ser utilizada
por uno o más programas.
– Polymorphic DLL : implementa API’s abstractas como un driver de
impresora, protocolo de sockets…
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
10
Kernel y E32
La parte fundamental de EPOC es E32, que consiste en el
kernel y la librería de usuario (euser).
 El kernel se ejecuta en modo privilegiado.
 La librería es el código de nivel más bajo del modo usuario.
 Ofrece una librería de funciones a otros códigos que se
ejecutan en modo usuario y controla el acceso al kernel.

Aplicaciones
Modo usuario
euser.lib
Modo privilegiado
Kernel executive
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
11
Kernel y E32 II
Kernel executive : Ejecuta código privilegiado en el
contexto de un thread que normalmente se ejecuta en
modo usuario.
 Kernel server :

– Thread principal del proceso del kernel que siempre se ejecuta en
modo privilegiado.
– Gestiona los recursos del sistema y atiende secuencialmente las
peticiones de usuario.
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
12
Gestión de memoria

2 tipos de memoria:
– ROM :
• basada en ficheros dentro de un árbol de directorios en la unidad Z:
– RAM :
• dividida en páginas de 4k.
• Utiliza la unidad C:

Cuando un ejecutable es lanzado se crea un proceso con
un único thread principal, al cual se le pueden unir otros.
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
13
Espacio de direcciones de un proceso
System ROM
RAM (Loaded DLLs)
Global shared heap X
Global shared heap Y
Local shared heap
Global shared heap X
Global shared heap Y
Thread2 heap
Thread1 heap
Thread2 stack
Thread1 heap
Thread1 heap
Thread1 stack
Thread1 stack
Thread1 stack
A.exe image
B.exe image
C.exe image
Proceso B
Proceso C
Proceso A
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
14
Gestión de eventos
Decisión fundamental de diseño : optimizar el sistema para
gestionar de forma eficiente los eventos.
 Cada aplicación o server nativo de EPOC es un único
thread de gestión de eventos.
 Active objects :

– Son llamados cuando un evento ocurre y su función es
gestionarlo.
– Implementan non-preemptive multitasking (cada evento debe ser
gestionado completamente antes de atender al siguiente)
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
15
Servers
EPOC utiliza la estructura cliente-servidor
 Dos servidores más importantes :

– file server : gestiona los ficheros.
– Window server : gestiona los inputs y el dibujo en pantalla.

Para facilitar la comunicación cliente-servidor se utiliza una
interficie formada por :
– interficie cliente.
– Paso de mensajes.
– Inter-thread read and write.
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
16
Servers II
Servidor
Client
Inter-thread read
Inter-thread write
Request
Response
Interficie
Cliente
Modo Usuario
Modo Privilegiado
Executive
Kernel
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
17
Otra opción : Windows CE
SO multitask con preempción, multithread, para dispositivos
móviles, con una interficie gráfica del estilo Windows y con
un protocolo estándar de comunicación que permite el
acceso a Internet y compartir información con otras
aplicaciones Windows.
 Tiempo real :

– Soporte a interrupciones.
– 256 niveles de prioridad.
Diseño flexible
 Totalmente ROMable.
 Lo último en multimedia.

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
18
Bluetooth
Bluetooth es una tecnología que conecta dispositivos
electrócnicos PDA’s, ordenadores, etc., sin utilizar cables
en un radio de 10 metros.
 Concebido por Ericsson pero fundado por Ericsson, Nokia,
IBM, Intel y Toshiba.
 Las velocidades de transmisión esperadas son de 720 Kbps
a 1 Mbps.
 Posibles aplicaciones: pagos electrónicos en taquillas,
parquímetros, etc.
 No está pensado para grandes cantidades de tráfico.

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
19
Bibliografia
http://www.bluetooth.com
 http://www.symbian.com
 http://mobilix.org/Mobile-Guide.db/Mobile-Guide.html
 http://www.frontiernet.net
 http://www.nokia.com
 http://www.microsoft.com
 http://www.mobilebluetooth.com
 Professional Symbian Programming , Martin Tasker.

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
20
Descargar

Document