symbian: un sistema operatiu per mòbils

26
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (apunts de l’assignatura en format transparència) Symbian: un sistema operatiu per mòbils David Bañeres Besora ([email protected])

Upload: mason

Post on 05-Jan-2016

57 views

Category:

Documents


8 download

DESCRIPTION

David Bañeres Besora ([email protected]). Symbian: un sistema operatiu per mòbils. Índex. 1.- Introducció 2.- Symbian 3.- Descripció del SO EPOC 32 3.1.- Engines 3.2.- Servers 3.3.- Kernel 3.3.1.- Device Drivers 3.3.2.- Gestió de la memòria 3.4.- Processos i threads - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors

(apunts de l’assignatura en format transparència)

Symbian: un sistema operatiu per mòbils

David Bañeres Besora ([email protected])

Page 2: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

2

Índex

1.- Introducció

2.- Symbian

3.- Descripció del SO EPOC 323.1.- Engines3.2.- Servers3.3.- Kernel

3.3.1.- Device Drivers3.3.2.- Gestió de la memòria

3.4.- Processos i threads3.5.- Disseny del SO

Page 3: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

3

Introducció Els mòbils han evolucionat molt!!

Tot va començar a la década dels 40.– Els mòbils funcionaven amb una bobina i un tub al buit!!

Apareixen els transistors (anys 50), els circuits integrats (principis dels 60) i els microprocessadors (principis dels 70).

– Els mòbils van adquirint aquesta tecnologia...

Als anys 70 apareixen els primers mòbils cel·lullars analògics comercials.

A principis dels 90 apareixen el primers mòbils digitals.

Avui en dia tenen accés a Internet (WAP)

Page 4: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

4

Introducció Avui en dia el telèfons mòbils necessiten un SO que gestioni tots els processos que

executen. Moltes de les companyies de mòbils i palmtops han agafat el SO Symbian com a

SO stàndard pels seus mòbils:– Ericsson, Matsushita, Motorola, Nokia, Philips, Psion, Sanyo and Sony.

Exemple de mòbils amb el SO Symbian:Ericsson R380s Nokia 9210

Page 5: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

5

Hardware en un mòbil

– CPU de 32 bits(36Mhz-190Mhz)– Dispositius E/S (pantalla digital,teclat,…)– ROM: Conté el SO i aplicacions incorporades– RAM: usada pels programes actius, kernel i per guardar informació

Bateries Pantalla Digital

Teclat numèric

CPUROM,RAM

Speaker, micròfon

Introducció

Page 6: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

6

Symbian Symbian està basat en el SO EPOC32.

Perquè EPOC32?– Característiques:

• És un SO de temps real

• Multitasca

• Multithreads

– Respecte al Hardware, té en compte:• Baix consum d’energia

• Processadors lents

• Poc espai de memòria

Page 7: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

7

Symbian Arquitectura actual del R380 d’Ericsson

Page 8: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

8

EPOC 32 Estructura del SO

KERNEL

Server

Client

API SERVER

Aplicació

Engine

API ENGINE

Aplicació

API KERNEL

Mode Usuari

Mode Privilegiat

Page 9: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

9

Engines

Aplicació:– Interactua amb l’usuari (GUI)

API Engine:– Funcions públiques de la Engine

Engine:– Part interna d’un programa per

manipular dades – Són DLLs o mòduls

Engine

Aplicació

API ENGINEDLLBoundary

Page 10: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

10

Engines Hi ha dos tipus de DLLs:

– DLL compartit: • Especifica una API fixa per un o més programes

– DLL polimòrfic:• implementa una API abstracta

• Per exemple: un driver d’impresora

Optimitza la búsqueda de la entrada de les funcions:– En comptes d’utilitzar el nom(que pot ocupar molt espai), utilitza un link per ordinal

Les DLLs es carreguen en la memòria RAM i es col·loquen en una adreça determinada. Tot els processos que la necessitin accedeixen a l’adreça de la DLL. No es descarrega fins que no hi hagi cap procés que la necessiti.

Page 11: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

11

Servidors

Clients: – Són aplicacions o altres servidors que

utilitzen els serveis d’un servidor

API Server:– Funcions per accedir als recursos que

gestiona els servidor

Servers (Servidors):– Gestiona un o més recursos– Normalment un servidor és un procésServers

Clients

API SERVERBoundary Process

Page 12: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

12

Servidors Comunicació entre clients i servidors:

– Pas de missatges mitjançant el Kernel:• mitjançant l’API del servidor

Kernel executiu

Mode Usuari

Mode Privilegiat

ClientServidor

GUIClient

PeticióResposta

Page 13: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

13

Servidors Comunicació entre clients i servidors:

– Lectura-escriptura inter-thread:• el servidor pot accedir a l’adreça del client i hi pot llegir i/o escriure.

Kernel executiu

Mode Usuari

Mode Privilegiat

ClientServidor

GUIClient

Inter-thread R/W

Page 14: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

14

Kernel

Aplicació:– Programa amb interficie d’usuari– Cada Aplicació genera un procés

API Kernel:– Les aplicacions solament poden accedir

als recursos mitjançant l’API

Kernel:– Controla els recursos del sistema com la

RAM i els dispositius de E/SKERNEL

Aplicació

API KERNELPrivilegeBoundary

Page 15: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

15

Kernel Components del Kernel:

Kernel Server

Kernel executive

euser.lib

Mode usuari

Mode privilegiat

Aplicacions/Servidors/Engines

Page 16: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

16

Kernel

El Kernel té dos components principals:

– Kernel Executive:• Fa de pont entre l’usuari i el Kernel Server.

– Kernel Server:• Sempre s’executa privilegiat.

• Té un únic thread que té la prioritat més alta.

• Gestiona els recursos del sistema.

• Obté les requestes del client.

Page 17: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

17

Device Drivers

Una aplicació pot demanar una petició i quan l’obté el Kernel li dóna la resposta

El dispositiu va donant les interrupcions al Kernel per fer les diferents tasques

– Ex: Rellotge

Kernel executive

euser.lib

Aplicacions/Servidors/Engines

Demanar peticióa un dispositiu

Dispositiu

Salta la Interrupció

Page 18: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

18

Device Drivers

Quan es produeix una interrupció:

– S’executa una rutina ISR (interrupt service routine): Normalment serveix per avisar que s’ha produit la interrupció.

– Després s’executa una funció DFC (delayed function call) que servirà per fer la tasca precisa.

Dispositiu

ISR

DFC

Page 19: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

19

Gestió de la memòria La memoria la gestiona la MMU

Dos tipus de memòries:– ROM:

• Consisteix en un conjunt de fitxers en estructura de directoris.

• S’hi pot accedir mitjançant una unitat de disc.

– RAM• Dividida per la MMU en pàgines de 4k.

• Memòria no-persistent que es manté mentre tinguem energia a la màquina.

• Important: EPOC no té memòria virtual en un swap, sinó que utilitza pàgines de la memòria RAM.

Page 20: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

20

Processos i threads Processos:

– La unitat fundamental de protecció dintre l’EPOC• Té un espai de memòria

• Una pila

• Un codi d’execució

Threads:– La unitat fundamental d’execució dintre EPOC

• Un procés té un o més threads

• Cada thread s’executa independent

• Tenen memòria compartida (la del procés)

Memòria del procés

SP

Page 21: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

21

Processos i threads Scheduler

– Entra el thread que té la major prioritat– EPOC té “preemptive multitasking”:

Si hi ha un thread a la cua amb una prioritat més alta --> treu el thread que s’executa

Canvi de Context– El SO intenta que els canvis de context no tinguin gaire overhead

– PROBLEMA: els canvis de context entre processos (Ex: client-servidor) són molt costosos:

• Solució: Es fiquen tots conjuntament en un procés per tal que el canvis de context siguin més ràpids:

– Ex: s’utilitza en els servidors de sockets i de telefonia

Page 22: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

22

Processos i threads Distribució de la memòria dins un procés:

RAM (Shared DLLs)

System ROM

Process image

Thread1 stack Thread2 stack Thread3 stack

Global heap

Thread1 heap Thread2 heap Thread3 heap

Page 23: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

23

Processos i threads Distribució de la memòria dins un procés:

– Accés a memòria de sistema (ROM) i direcció de les DLLs compartides(RAM).– Heap compartit del procés– Memòria per cada thread:

• Pila d’una dimensió reduïda

• Heap del thread(serveix per guardar les estructures de dades grans)

• Si es necessita, un thread pot tenir més d’un heap

Accés a la memòria:– Un procés no pot accedir a l’espai de memòria d’un altre perquè estan completament

separades – Els threads d’un procés poden accedir a heap global i als heaps dels altres threads ja

que estan dins del mateix espai d’adreces d’un procés.

Page 24: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

24

Disseny del SO

Desició fundamental del disseny:– Optimització del sistema per tenir una recepció eficient d’events (event Handling)– IDEA: events en Visual Basic

Avui en dia els SOs posen molt esforços per soportar processos i threads però però deixen de banda la orientació a events.

Molts programes orientats a events en un SO d’aquest estil són molt més eficients que en un convencional multitasca.

Page 25: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

25

Disseny del SO Els events es gestionen mitjançant objectes actius (active objects)

– Realment es un member virtual d’una funció anomenada RunL().– Aquest funció RunL() es crida quan passa l’event que volem controlar.– Aquesta funció comença amb un preprocés per analitzar l’event.– Després pot cridar a altres funcions per acabar la feina de l’event.

EPOC implementa la multitasca mitjançant els active objects.

També implementa preemptive multitasking:– Un thread pot treure un altre que s’està executant si té una prioritat més alta– Quan treballem amb active objects no funciona el preemptive multitasking ja que al ser

events s’han d’acabar d’executar per complet.

Page 26: Symbian: un sistema operatiu per mòbils

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS

Departament. d’Arquitectura de Computadors - UPC

26

Bibliografia

[TaAl00]– Martin Taske, Jonathan Allin, Professional Symbian Programing. Mobile Solutions on the

EPOC System

Pàgines web:– www.symbian.com– www.nokia.com– www.ericsson.com