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])
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
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)
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
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ó
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
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
7
Symbian Arquitectura actual del R380 d’Ericsson
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
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
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.
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
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
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
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
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
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.
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ó
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
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.
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
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
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
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.
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.
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.
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
Top Related