Symbian: un sistema operatiu per mòbils

Slides:



Advertisements
Presentaciones similares
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors Sistemas operativos para dispositivos móviles.
Advertisements

Pràctica 17 Reflexions Maria Gisbert, Llorenç Godia, Mariona Kiskeri i David González.
TUTORIAL BÀSIC PER A LA GESTIÓ DE LA UBICACIÓ DE LES PERSONES EN L’APLICACIÓ DEL CATÀLEG D’ESPAIS SERVEI TÈCNIC I DE MANTENIMENT.
TFG – Àrea Enginyeria del programari
Dispositius d’emmagatzematge
ENERGIA Energia és allò capaç de transformar la matèria.
La Placa Base Izan Sánchez 4º C.
PROJECTE BANDA AMPLA RURAL - SATÈL·LIT
Impress 3... Posa-hi un fons!
Campus Virtual.
Campus Virtual.
TEMA3: Gestió de correu i agenda electrònica
TEMA1: Sistemes informàtics de l’empresa
L’ordinador i els Sistemes Operatius(S.O)
Carlos Herrero Joan Torras
INTERNET i Correu Electrònic
1 u n i t a t Sistemes informàtics. Treball en xarxa.
Disseny de la interfície d’un smartwatch i l’aplicació mòbil
Eines digitals TIC © McGraw-Hill.
Ciències per al món contemporani
Ciències per al món contemporani
MESCLES I DISSOLUCIONS
EXPLOTACIÓ D’ENERGIES RENOVABLES: SOLAR I EÒLICA
Un exemple de Màquina Virtual: el programa VMware
DISSENY D’UN SENSOR DE DADES MITJANÇANT BLUETOOTH
PETITS REPORTERS Títol.
TREBALLEM EL SISTEMA SOLAR
Control de Retirada de Vehicles
PERIFÈRICS ... Descobreix el que envolta l’ordinador!
El sistema operatiu JavaOS
Tutorial TIMERIME.
ELS DRETS SOCIALS Rics i pobres
Tutorials Campus Virtual Càrrega automàtica d’alumnes
COMUNICACIONS MÒBILS Actualment hi ha dos standards de comunicació mòbil: El 3G i el 4G. El 3G treballa amb l’standard UMTS (Universal Mobile Telecomunications.
3. TOTS SOM DIFERENTS..
ENERGIA SOLAR Anna Sorribes Mir 2on E.S.O. C
Sistemes operatius per a dispositius mòbils inalàmbrics - Symbian OS -
DIADA DE LA PAU A SJO.
Memòria RAM Neus Blasco Amor 4rtB.
EN EL VENTRE DE LA TEVA MARE
Ruben Balada Tripiana Informática
L´aprovisionament L´aprovisionament consisteix a comprar els materials necessaris per l´activitat de l´empresa (la majoria matèries primeres), emmagatzemar-los.
1 La identificació com a usuari periodista es realitza la primera vegada introduint en el camp Usuario, la lletra E seguida dels vuit dígits del DNI.
Jonathan Ceballos Rodriguez ( ) Zenón Perisé Alía ( )
Subxarxes, VLSM y CIDR. Subxarxes. Introducció Quan una xarxa es torna molt gran, és a dir, adreça molts hosts es preferible dividir-la en subxarxes més.
SCIENCE OF SYNTHESIS.
LES XARXES LOCALS i els seus components.
Usos en seguretat de SmartCards
TEMA 2 XARXES LOCALS David Bermúdez 4tC Vanesa Elvira 4tB
XARXES PRIVADES VIRTUALS ( VPNs )
Sistemes Analògics i Digitals
Sistemes Operatius (S.O.) Onion: Mecanisme d'entrada al sistema
INTERNET XARXA: Quan un conjunt d’ordinadors estan connectats entre si per comunicar-se i compartir informació. TIPUS DE XARXES: LAN: Xarxa d’àrea local,
Threads en Java David Gañán Jiménez.
Perifèrics ... escaneja, passa de real a digital!
Projecte Fi de Carrera - J2EE Alumne: Daniel Clemente Marcè
La literatura i les matemàtiques van de la mà.
BASES DE DADES Consultes
Linux i Temps Real Alexei Lebedev.
Funcionament intern d’un ordinador
PROTOCOLS DE XARXA Regles i especificacions tècniques que han de seguir els dispositius connectats a la xarxa per poder comunicar-se El protocol més utilitzat.
FUNCIONAMENT INTERN D’UN ORDINADOR
Sistema de descàrrega d’aplicacions per a mòbils intel·ligents
Propostes de millora en el GIR
Seguretat en les comunicacions en un món tot IP
La vulneració dels drets socials
DEFINICIONS DEL TREBALL EN EQUIP
Projecte: Videojocs.cat
Estils i Plantilles Ms Word.
Optimització d’E/S per aplicacions paral·leles
Transcripción de la presentación:

Symbian: un sistema operatiu per mòbils David Bañeres Besora (e3745571@est.fib.upc.es)

Í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 3.5.- Disseny del SO

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)

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

Introducció 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ó Pantalla Digital Bateries Speaker, micròfon Teclat numèric ROM,RAM CPU

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

Symbian Arquitectura actual del R380 d’Ericsson

EPOC 32 Estructura del SO Client Aplicació Aplicació API SERVER API ENGINE Server Engine Mode Usuari API KERNEL Mode Privilegiat KERNEL

Engines Aplicació: API Engine: Engine: Interactua amb l’usuari (GUI) Funcions públiques de la Engine Engine: Part interna d’un programa per manipular dades Són DLLs o mòduls Aplicació DLL Boundary API ENGINE Engine

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.

Servidors Clients: API Server: Servers (Servidors): 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és Clients Boundary Process API SERVER Servers

Servidors Comunicació entre clients i servidors: Pas de missatges mitjançant el Kernel: mitjançant l’API del servidor Servidor Client Resposta Petició GUI Client Mode Usuari Mode Privilegiat Kernel executiu

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. Servidor Client Inter-thread R/W GUI Client Mode Usuari Mode Privilegiat Kernel executiu

Kernel Aplicació: API Kernel: Kernel: 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/S Aplicació Privilege Boundary API KERNEL KERNEL

Aplicacions/Servidors/Engines Kernel Components del Kernel: Aplicacions/Servidors/Engines Mode usuari euser.lib Kernel executive Mode privilegiat Kernel Server

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.

Aplicacions/Servidors/Engines 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 Aplicacions/Servidors/Engines Demanar petició a un dispositiu euser.lib Kernel executive Salta la Interrupció Dispositiu

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. DFC ISR Dispositiu

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.

Processos i threads Processos: Threads: 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

Processos i threads Scheduler Canvi de Context 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

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

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.

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.

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.

Bibliografia [TaAl00] Pàgines web: 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