universitatea politehnica bucureȘtistst.elia.pub.ro/news/so/teme_so_2013/432_cepoima...se împarte...

67
UNIVERSITATEA POLITEHNICA BUCUREȘTI 2013

Upload: others

Post on 14-Feb-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSITATEA POLITEHNICA BUCUREȘTI

2013

UNIVERSITATEA POLITEHNICA BUCUREȘTI

FACULTATEA DE ELECTRONICĂ, TELECOMUNICAȚII ȘI TEHNOLOGIA INFORMAȚIEI

TEMĂ DE CASĂ

Arhitectura sistemului de operare Symbian

Profesor coordonator: Studenți:

Conf. dr.ing. Ştefan Stăncescu Cepoi Marian Adrian

Tudorache Bogdan-Alin

Enoiu Dragoș-Ciprian

Mîrzac Adrian Cătălin

Săraru Ștefania-Alexandra

Minea Maria-Adriana

București

2013

Page | 1

CUPRINS

Cepoi Marian Adrian:

Nucleul și interfața hardware

I. INTRODUCERE .............................................................................................. 3

1.1. Obiectivele proiectării ............................................................................... 4

II. ARHITECTURA NUCLEULUI .................................................................... 5

2.1. Nucleul EKA1 și nucleul EKA2 ................................................................. 5

2.2. Componentele SINGLETON ..................................................................... 7

2.3. Componentele arhitecturii nucleului ......................................................... 8

Tudorache Bogdan-Alin:

Sistemul de comunicații în arhitectura Symbian

1. Introducere ..................................................................................................... 11

2. Scopul implementarii....................................................,................................. 12

3. Framework-urile de comunicatie: Comms framework................................... 13

4. Serviciile de telefonie..................................................................................... 14

5. Serviciile de networking..................................................................................16

6. Serviciile punct-la-punct.................................................................................18

Enoiu Dragoș-Ciprian:

Nivelul sistemului de operare

1. Introducere ..................................................................................................... 19

2. Obiectivele proiectarii ................................................................................... 20

3. Blocul serviciilor generice ............................................................................. 21

4. Blocul serviciilor grafice si multimedia ........................................................ 21

4.1. OpenGL ES ............................................................................................. 23

4.2. Serverul ferestrelor ................................................................................. 23

5. Blocul serviciilor de conectivitate ................................................................. 24

Nucleul și interfața hardware Cepoi Marian Adrian

Page | 2

Mîrzac Adrian Cătălin:

Stratul aplicației

I. INTRODUCERE …………………….......................………..................….. 25

1.1. Obiectivele proiectării ……………..................................................….. 26

II. ARHITECTURA …………………….....................……......................….. 27

III. COMPONENTE ……………………....................…………..................... 29

3.1. Protocoale multimedia ........................................................................... 30

3.2. Motoarele de aplicatii office ................................................................. 31

3.3. Suportul aplicatiilor web ....................................................................... 32

Săraru Ștefania-Alexandra:

Implementarea platformei Java ME în sistemul Symbian

1. Introducere ..................................................................................................... 34

2. Cerințele subsistemului Java ME .................................................................. 37

3. Obiectivele proiectării pentru subsistemul Java ME ..................................... 39

4. Evoluția Java în sistemul de operare Symbian .............................................. 40

5. Arhitectura ..................................................................................................... 43

6. Interfețe de programare de nivel inferior ....................................................... 47

6.1. MIDP 2.0 și CLDC 1.1 ........................................................................... 51

Minea Maria-Adriana:

Securitatea platformei Symbian

1. Introducere ..................................................................................................... 54

2. Installer-ul nativ ............................................................................................. 56

3. Data Caging ................................................................................................... 57

4. TCB si TCE ................................................................................................... 59

BIBLIOGRAFIE .................................................................................................. 64

Nucleul și interfața hardware Cepoi Marian Adrian

Page | 3

Nucleul și interfața hardware

I. INTRODUCERE

Symbian este un sistem de operare orientat spre dispozitivele mobile şi o platformă de

calcul concepută pentru telefoanele inteligente, a cărei licenţă este în prezent menţinută de către

Accenture.

Sistemul de operare Symbian a fost iniţial dezvoltat de Symbian Ltd. Acesta este un

descendent al lui Psion EPOC şi ruleaza exclusiv pe procesoarele ARM, deşi o portare pentru

procesoarele de tip x86 a existat.

În momentul de fața Symbian este deținut de Ericsson (15.6%), Nokia (47.9%),

Panasonic (10.5%), Samsung (4.5%), Siemens AG (8.4%), și Sony Ericsson (13.1%)1.

Figura 1. Evoluția platformelor mobile

În 2008 Nokia achiziționează „Symbian Software Limited”, înființînd organizația

independentă non-profit „Symbian Foundation”. Sistemul de operare și platformele software

S60, UIQ și MOAP(S) au fost date de către deținătorii lor către fundație, în scopul transformării

platformei Symbian într-una open-source.

Symbian este optimizat pentru telefoane cu baterii de putere joasă şi pentru sistemele pe

bază de memorie ROM2.

1 http://ro.wikipedia.org/wiki/Symbian_OS

Nucleul și interfața hardware Cepoi Marian Adrian

Page | 4

1.1. Obiectivele proiectării

Symbian este structurat la fel ca multe alte sisteme de operare desktop pe multitasking,

multithreading, și memory protection. Avantajul său major este faptul că a fost realizat pentru

dispozitive mobile, cu resurse limitate, care pot rula luni de zile3.

Sistemul de operare Symbian este conceput astfel încât sa poata fi baza unei mari

varietăți de telefoane de la producători diferiți.

Sistemul de operare Symbian a fost conceput având la bază trei principii:

- integritatea şi securitatea datelor utilizatorului este crucială;

- timpul utilizatorului nu trebuie risipit;

- toate resursele trebuie folosite la maxim.

Pentru respectarea acestor 3 principii, Symbian utilizează un microkernel ce menține o

separare între interfaţa de utilizator şi engine.

EPOC avea o structură „nanokernel”, ultimele versiuni Symbian nu mai au „cu adevarat”

nanokernel, insă, încât includ unele device drivere.

Nucleul și interfața hardware reprezintă nivelul de bază al sistemului de operare. Acesta

cuprinde nucleul și suportul componentelor.

Figura 1.1. Nivelul interfeței hardware și al nucleului în structura sistemului

4.

2 “Sisteme Multimedia”, Proiect, Universitatea Tehnică ”Gheorghe Asachi” Iași

3 Akhil James, “Symbian OS”, Seminar report, 2007

4 Ben Morris, “The Symbian OS.Architecture Sourcebook”, John Wiley & Sons, Ltd, 2007

Nucleul și interfața hardware Cepoi Marian Adrian

Page | 5

Nucleul rulează într-un spațiu de adrese protejat, astfel încât o eroare într-o aplicație nu poate

suprascrie stiva nucleului5.

Acest nivel este responsabil de:

- inițializarea hardware-ului;

- crearea și gestionarea proceselor, spațiului de adrese și altor resurse precum timere;

- programarea, preempțiunea și manipularea întreruperilor;

- încapsulează toate procesele care rulează în modul privilegiat în acest nivel;

- separă nivelele superioare de hardware.

II. ARHITECTURA NUCLEULUI

2.1. Nucleul EKA1 și nucleul EKA2

Sistemul de operare Symbian a fost conceput ca un sistem de operare bazat pe

microkernel. Acesta are unele probleme. Dacă sistemele clasice folosesc un singur apel de

sistem, microkernel-ul folosește transmiterea de mesaje6.

Responsabilitațile nucleului sunt împărțite între punerea în aplicare a primitivelor

adecvate pentru utilizarea de către straturile superioare ale sistemului de operare și interfațarea

cu platforma hardware.

Figura 2a. Accesul la nivelul fizic se face de la, sau prin intermediul nucleului.

5 Akhil James, “Symbian OS”, Seminar report, 2007

6 Andrew S. Tanenbaum, “Modern Operating Systems”, Third Edition

Nucleul și interfața hardware Cepoi Marian Adrian

Page | 6

Pentru că nivelul nucleului reprezintă interfața cu platforma hardware, acesta este

dependent de hardware. Compatibilitatea sistemului de operare cu alte platforme hardware

presupune compatibilitatea nucleului cu acestea.

Kernel-urile se comportă mai mult sau mai puţin identic pe partea de utilizator, dar în

interior sunt construite foarte diferit. EKA1(EPOC Kernel Architecture 1) a fost ales de unii

constructori ca să menţina compatiiblitatea cu driverele vechilor dispozitive, în timp ce

EKA2(EPOC Kernel Architecture 2) este un kernel de timp real.

Nucleul EPOC pe 16 biți este inspirat de arhitectura Intel 8086 cu aplicații dezvoltate atât

în OPL cât și în C API-uri native ale sistemului de operare EPOC, oferind șansa oricărui

dezvoltator de a-și creea propriile aplicații soft. Astfel, nucleul pe 16 biți a trebuit să abordeze

multe dintre cerințele care sunt îndeplinite astăzi de EKA2, din cauza poziționării sale între

sistemele de operare în timp real integrate și sisteme de operare desktop clasice, cum ar fi

Windows .

EKA1 este complet pe 32 de biți fără problemele lui EPOC rezultate din arhitectura lui

8086 cu memorie segmentată.

EKA2 merge pe ideea de multi-tasking. Se împarte timpul de execuție al proceselor între

mai multe fire de execuție, oferind utilizatorului telefonului mobil impresia că rulează mai multe

aplicații în același timp. Nucleul alocă timpul procesorului firelor de execuție în funcție de

prioritate și minimizează întârzierile firelor de prioritate mare7.

7 Jane Sales, “Symbian OS Internals”, John Wiley & Sons Ltd, 2007

Nucleul și interfața hardware Cepoi Marian Adrian

Page | 7

2.2. Componentele SINGLETON

Nivelul nucleului și interfeței hardware constă din blocul arhitecturii nucleului (sau

blocuri, în cazul versiunilor care includ ambele variante de nucleu, EKA1 și EKA2) și două

colecții de componente Singleton (a se vedea figura 3a).

Figura 3a. Colecțiile Localizare și Driver de ecran.

Localizarea

Această componentă este un plug-in personalizat, care implementează setările locale

specifice , inclusiv șiruri de caractere standard ( de exemplu , ziua și luna), unitățile de distanță ,

simboluri monetare , data și formatul de timp, și așa mai departe8.

Tabel 3a. Componentele Localizării

Numele componentei Numele de dezvoltare

Locale Support LOCE32 ONGOING, ELOCL

Locale Support este inclus în nivelul nucleului, deoarece acesta pune în aplicare diferite șiruri de

caractere utilizate direct de către nucleu (de exemplu, mesaje implicite de sistem). Acesta este

încărcat de biblioteca utilizator9.

8,9 Ben Morris, “The Symbian OS.Architecture Sourcebook”, John Wiley & Sons, Ltd, 2007

Nucleul și interfața hardware Cepoi Marian Adrian

Page | 8

Driver-ul de ecran

Acesta implementează operațiile generice definite de Bit GDI(Graphics Device Interface)

pentru a manipula harta memoriei fizice a ecranului dispozitivului sau harta de biți(bitmap). De

obicei, harta biților și harta memoriei de afișare sunt adresate în același mod, prin urmare, este

furnizată o interfața comună ambelor.

Tabel 3b. Componentele Driver-ului de ecran

Numele componentei Numele de dezvoltare

Screen Driver SCREENDRIVER

2.3. Componentele arhitecturii nucleului

Arhitecturile EKA1 și EKA2 au proprietăți asemănătoare micronucleului. De exemplu,

principalele servicii precum server-ul de fişiere şi biblioteca utilizator, precum şi toate

elementele grafice şi serviciile de comunicaţii, inclusiv crearea de reţele şi telefonie, rămân în

afara nucleului, rulând ca procese pe partea de utilizator. Acest lucru este în contrast, de

exemplu, cu arhitecturile nucleelor monolitice Linux și Microsoft Windows.

EKA2 se bazează pe un nanonucleu care este proiectat pentru a funcționa în timp real și a

susține stiva de protocoale GSM, CDMA, wCDMA.

Regândirea arhitecturii a avut un scop secundar de a îmbunătăți modularitatea nucleului.

EKA1 are un grad mare de dependență de hardware10

.

Figura 2.3a. Arhitectura nucleului EKA2.

10

Ben Morris, “The Symbian OS.Architecture Sourcebook”, John Wiley & Sons, Ltd, 2007

Nucleul și interfața hardware Cepoi Marian Adrian

Page | 9

Arhitectura nucleului conține patru componente:

- serviciile nucleului;

- driver-e logice;

- variant;

- ASSP.

Figura 2.3b. Componentele arhitecturii nucleului.

Driverele de dispozitiv logice (LDD)

Sunt plug-in-uri în cadrul nucleului care realizează abstractizarea logică a dispozitivelor

hardware și accepta driverele de dispozitiv fizice (PDD), plug-in-uri care comunică direct cu

dispozitivul fizic.

Figura 2.3c. LDD.

Driver-ul Ethernet este o implementare logică a cipurilor Ethernet;

Driver-ul USB este driver-ul logic pentru portul USB cu versiunea suportată 2.0;

Driverele Audio, Video și voce sunt servicii utilizate de controlerele MDF(Multimedia

Device Framework).11

11

Ben Morris, “The Symbian OS.Architecture Sourcebook”, John Wiley & Sons, Ltd, 2007

Nucleul și interfața hardware Cepoi Marian Adrian

Page | 10

ASSP(Application-specific Semiconductor Parts)

Dependențele hardware sunt împărțite între ASSP, bazat pe proprietățile procesorului și

perifericele aflate pe același cip cu acesta, și perifericelor din exteriorul cipului.

Modulul ASSP conține codul sursă adaptat la o gamă de diferite microprocesoare (de

exemplu, ARM720/920/SA1100/Xscale).

Variant Conține componentele off-chip independente de modului ASSP. Ea prevede

implementarea hardware a funcțiilor de control ale nucleului.

Figura 2.3d. Componentele Variant.

Componenta Bootsrap are rolul de a pregăti perifericele, memoria și harta spațiului de

adrese, dacă există MMU (Memory Management Unit), și pornește nucleul.

Emulatorul este un mecanism care încarca extensiile din memoria ROM și asigură ca

platforma emulată se comportă la fel ca dispozitivul fizic12

.

12

Jane Sales, “Symbian OS Internals”, John Wiley & Sons Ltd, 2007

Sistemul de comunicații Tudorache Bogdan-Alin în arhitectura Symbian

Page | 11

Sistemul de comunicații în arhitectura Symbian

1. Introducere

Dupa cum bine stim sistemul de operare Symbian este aproape ca un trademark pentru

binecunoscuta firma producatoate de telefoane mobile, Nokia. In trecut lucrurile nu au stat chiar

asa; da,este adevarat ca totul a plecat de la compania findandeza dar au fost momente in care

acest sistem a fost implementat atat pe telefoane produse de compania Samsung cat si de Sony

Ericsson.

Prima data aplicatia a aparut in 2002, iar ultima versiune a acesteia a aparut 9 ani mai tarziu, o

data cu lansarea Symbian Anna si Symbian Belle, multe imbunatatiri au fost aduse de la prima

aparitie a acestui software pentru telefoane dar din pacate lupta cu rivale, cum ar fi Android sau

IOS( Apple) a fost pierduta, compania suferind un declin considerabil si nereusind nici pana in

acest moment sa isi revina din colaps.

In aceasta lucrare vom prezentas sistemul de comunicatii, acesta reprezinta in esenta o parte

componenta a Sistemului de Operare Symbian. Mai exact, de referim la bucata care se ocupa cu

serviciile de conectivitate, pe langa cele clasice de telefonie voce, mai nou si video, si

transmitere de mesaje, mesaje multimedia si date ( poze,clipuri, documente).

Ne vom referi la modul in care comunica diferite dispozitive si cum acestea reusesc sa faca

schimb de date. In general pentru a ne conecta la un telefon folosim cablul de date ( conectarea

de cele mai multe ori se face prin porturi de mini-USB, acest lucru fiind mai la indemana datorita

spatiului mic pe care acea componenta il ocupa in ‚scheletul‟ telefonului ) sau sistemul de

bluetooth-ul iar mai nou chiar prin conexiune la internet ( mobile data-oferite de operator sau

Wi-Fi. Facand o scurta paranteza wi-fi este este numele comercial pentru tehnologiile construite

pe baza standardelor de comunicație din familia IEEE 802.11; utilizate pentru realizarea de rețele

locale de comunicație (LAN) fără fir (wireless, WLAN) la viteze echivalente cu cele ale rețelelor

cu fir electric de tip Ethernet.

Sistemul de comunicatii Tudorache Bogdan-Alin in arhitectura Symbian

Page | 12

In primul rand cand ne referim la blocul de comunicatii trebuie sa ne gandim la complexitatea

acestuia, de cele mai multe ori acesta trebuie sa reprezinte o punte de legatura intre diferite

moduri, tehnologii de comunicatie, incepand cu cele seriale, cele pe distante mici-

USB,Bluetooth sau infrarosu ( din ce in ce mai putin), pana la VoIP (mai nou implementat intr-o

mica masura) dar de asemenea si telefonia voce, date mesaje pentru retele de GSM/UMTS, 2G,

2.5G, 3G si 4G.

Tehnologiile implementate pe sistemul de comunicatie Symbian s-au dezvotat si adaptat repede,

in trend cu constantele imbunatatiri aduse pe toate planurilecum ar fi serviciile de telefonie 2.5G

si 3G.1

2. Scopul implementarii

Serviciul de comunicatii, asa cum il si reprezinta numele are legatura cu tot ceea ce tine de

comunicatie si transfer de date,in esenta de servicii si de protocoale

Exemple: - protocoale seriale RS232 , IrDA si USB

- Bluetooth

- Protocoale de networking TCP/IP ( IPv4 si IPv6 )

- Wi-fi

- Telefonie voce 2G, 2.5 G si 3G, date si mesagerie ( GSM/UMTS)

Acestea la randul lor se ajuta de servicii cum ar fi:

- browsing-ul de internet

- e-mail, SMS, MMS,WAP

- fax

- data sync

Dupa aceste functii de trebuie indeplinite sistemul de comunicatii se imparte in :

- Framework-urile de comunicatie;

1Ben Morris, “The Symbian OS.Architecture Sourcebook”, John Wiley & Sons, Ltd, 2007;

Sistemul de comunicatii Tudorache Bogdan-Alin in arhitectura Symbian

Page | 13

- Serviciile de telefonie;

- Serviciile de networking;

- Serviciile punct-la-punct;2

3.Framework-urile de comunicatie: Comms framework

Reprezinta structura care sustine toate serviciile. Iar pentru a sustine conexiunile de comunicatie

si transfer de date se foloseste interfata client implementata de Sockets Server, impreuna cu

interfete aditionale pentru fiecare comunicatie in parte. De exemplu, pentru a folosi protocolul

TCP/IP folosim Sockets Server impreuna cu librariile Serviciilor de networking. Configurarea

initiala a telefonului se face utilizand Baza de date a sistemului impreuna cu serviciul de scurta

legatura ( short data link- cablu USB).

Sockets Server reprezinta o interfata catre protocoalele de comunicatie catre un ”dead end”, un

capat de linie cunoscut ca sockets. Serverul de Sockets este cunoscut ca ESock, acest nume fiind

numele librariei care il implementeaza.

Architectura

Referindu-ne la telefoanele mobile, scopul principal este de a asiguracomunicatia.

Permintedispozitivelorsa se conecteze a retea, sacreezesisasalvezesetarile de networking,

sacontabilizezetraficul de date pe care, fie le primeste fie le trimite( incoming and outgoing data).

Exemplulcelmai bun esteatuncicand se da refresh la mail, telefonultrimite un mesaj la serverul de

mail, cerand o actualizare a bazei de date, siprimesteraspuns, fie pozitivcadatelesuntactualizate

fie negative impreuna cu datelenecesareactualizarii.

Alcatuire

1. Proceselesisetarilecomunicatiilor:

Acestlucru se afla in Comms Root Server si in Comms Root Server Configurator. Root Server

estecontrolat de catreprocesul C32 in interiorulcaruiaruleazatoateServerele de Comunicatie,

inclusib Sockets Server, Serverul de TelefoniesiServerul de Comunicatiiseriale.

Serverul de Root- Root Server nu esteaccesibilutilizatorului, acestafiindintrebuintatnumai de

catrecreatoriiprogramului.

2. Configuratiacomunicatiilor

AceastacontineBaza de date a Sistemului de Comunicatie, sianumetoatesetarile

framework-ului de comunicatie, acesteareprezintainformatiidespreconexiuniledisponibile,

2http://docs.huihoo.com/symbian/nokia-symbian3-developers-library-v0.8/ Ben Morris, “The Symbian OS.Architecture Sourcebook”, John Wiley & Sons, Ltd, 2007

Sistemul de comunicatii Tudorache Bogdan-Alin in arhitectura Symbian

Page | 14

informatiaestearanjataintr-una din diferiteletabele ( exp: IAP – Internet Access Provider

si Internet Service Provider – informatii cu privire la operatorul de internet).

The Data Communications Server collection contains the components that provide the

frameworks for sockets communications, and for starting network connections.

3. Serverul de date

AcestacontinecomponenteleESock Sever siESock Server Configurator.Contine socket-

urilepentrucomunicatiesipentruconexiuneainitiala la retea.

4. Intrebuintarile framework-urile de comunicatie

Aceastacolectiecontine „scheletul‟sistemului, elementeledarsimanagerulMBuf.

Oferainfrastructuranecesaralegaturiidintrethreadurisiprocese, utilitateaacesteiaeste data de

un comportament special necesarmanagementuluimemoriei, care de

asemeneasarespectestandardeleimpuse de comunicatie.

5. Plug-inurile Serverului serial si Serverului de comunicatie

Aceste plug-inuri( program care se insereaza in alt program pentru a

indeplininistefunctiispecifice), elecontinServerul Serial C32 siPortul Serial CSY( permit

accesultelefonului la portul serial.3

4. Serviciile de telefonie

Acestea au fost create pentru a putea fi folosite de o mare varietate de telefoane, inclusiv GSM si

telefoane de birou cu un dispozitiv Symbian OS integrat.

Blocul este organizat intr-un server primar si un framework, si anume ETel Telephony server

impreuna cu module implementate hardware ( considerate a fi de nivel mic) si utilitati ( de nivel

inalt).

S-a plecat de la Core API, o implementare prin care se un mecanism universal telefoanelor cu

posibilitatea de a fi adaugate module de networking dar si interfete hardware, acestea din urma

oferind suport pentru servicii specifice. Scopul principal era acela de a oferi clientilor informatia

printr-o legatura telefonica.

3Ben Morris, “The Symbian OS.Architecture Sourcebook”, John Wiley & Sons, Ltd, 2007

http://www.symlab.org/main/documentation/reference/s3/sdk/GUID-8F2D6AC8-8357-55C7-

970B-CD2684BA9B04.html

Sistemul de comunicatii Tudorache Bogdan-Alin in arhitectura Symbian

Page | 15

Arhitectura

Serviciile de telefoane sunt construite in jurul Etel Telephony Server, acesta reprezentand un

nucleu principal de procese care confera control asupra telefoniei. ETel este in framework

extensibil ale caror module pot extinde functionalitatea nucleului principal. In esenta, ETel poate

fi upgradat in doua directii: hardware- sa suporte retele noi si evolutii hardware- sa suporte

servicii noi. Din aceasta posibilitate de extensie rezulta flexibilitatea, care implica o importanta

divizie a indatorililor sistemului Symbian si suportului oferit de telefon.

Serviciile de telefoniesunt impartite in :

o Telephony Server

o Telephony Messaging

o Component Collections

Telephony Server - realizeaza accesul functiilor de telefonie in sistemul Symbian OS, indiferent

daca telefonul are hardware-ul necesar. Serverul implementeaza standardul client-server frame-

work, oferind clientului API, de asemenea mai implementeaza si interfata CMP, realizand aceste

lucruri are loc comunicatia sub supravegherea Comms Root Server, care ofera canalele de

comunicatie. Principalele mijloace utilizate de server sunt telefoanele, liniile de telefonie si

apelurile.

Principalele indatoriri ale API-ului central sunt functii generice, se verifica statusul

componentelor hardware ale telefonunui si capabilitatile acestuia in gestionarea apelurilor voce,

date si fax-uri.

ETel Server+ Core API + Fax Client-Server= ER5 – baza necesara a fi implementa pe telefoane.

Telephony Messaging – Multimodul ETel extins realizeaza suportul pentru mesagerie, cu

implementatii specifice, cum ar fi Socket Server protocol-module plug-ins, acestea ofera o

interfata pentru clientii care doresc sa trimita mesaje. Se ocupa in special cu codarea si decodarea

mesajelor, suportul Sim pentru stocarea acestora si interactia cu Telephony Server ( via ETel

Multimode) pentru trimiterea si receptia mesajelor.

Component collections:

Utilitatile telefonului - Telephony Utilities Collection

Sunt 3 compomente simple, la care utilizatorul nu are acces, dar care sunt absolut necesare :

Telephony watchers – afiseaza semnalul, nivelul de incarcare al bateriei si atunci cand se

efectueaza un apel

Phone Sync- sincronizarea intre aplicatia agender si intrarile de pe ICC ( sau SIM)

Dial- componentele necesare apelarii

Sistemul de comunicatii Tudorache Bogdan-Alin in arhitectura Symbian

Page | 16

Baza de date a telefonului- contine toate framework-urile care indeplinesc funciile de baza –

ETel Server and core

ETel 3rd Party API

Fax Client and Server

ETel Multimode

ETel Packet Data

ETel Sim Toolkit

ETel CDMA

Utilitatile SMS- reprezinta acele protocoale care asista in crearea si procesarea mesajelor

SMS.4

5. Serviciile de networking

Navigare pe internet si folosirea email-urilor au fost factorii determinanti de la care s-a decis

includerea serviciilor de internet cand s-a lansat prima oara Symbian OS, desi exista si un mare

potential pentru aplicatii folositoare de internet ca jocurile multiplayer sau stiri on-line.

Nucleul principal al implemenarii serviciilor de networking ramane TCP/IP v4/v6, utilizata ca

un modul PRT Socket Server plug-in.

Wap support- s-a dovedit a deveni un standard pentru device-uri mobile dar mai ales pentru

telefoane, pentru a pune la indemanana browsingul pe acele dispozitive. Wap-ul se foloseste de

asemenea de o stiva ,ca si TCP/IP, cu transport si datagrame stratificate definite pe o varietate

mare de posibile retele mobile. Diferenta cruciala dintre Wap si HTTP o reprezinta folosirea

atata modelelor push cat si a modelelor pull, si anume, clientul cere un gateway si acesta

primeste date, iar la modulul push, clientul primeste date direct de la gateway fara sa fi fost

precedat de vreo cerere .

4http://www.symlab.org/main/documentation/reference/s3/sdk/GUID-8F2D6AC8-8357-55C7-

970B-CD2684BA9B04.html

Sistemul de comunicatii Tudorache Bogdan-Alin in arhitectura Symbian

Page | 17

Arhitectura

Structura generala a serviciilor de networking este similara celei de standard OSI 7 si exista o

corespondenta pentru fiecare dintre cele 4 nivele.

Incepand de sus in jos:

Serviciile de internet si utilitatile incuzand securtatea networkingului, implementarea

WAP

Extensii specifice catre Socket Server si Network Conection Manager.

Protocoale principale, stiva TCP/IP ( Figura de mai jos)

Managementul interfetei network

Implementatiile interfetei network

Atunci cand o sub-sesiune Socket Server este deschisa de client cerand un socket din protocolul

TCP/IP, cererea este trecuta prin stiva TCP/IP,care incearca sa porneasca o conexiune. Daca nu

reuseste sa gaseasca o interfata, ii cere Managerului Interfetelor Network sa incarce si sa

porneasca coenxiunea pe o conexiune mai potrivita. Cand conexiunea este stabilita, Managerul

Interfetei Network incartca si porneste modulul NIF, care implementeaza Interfata Network si

incepe negocierea autentificarii si alte caracteristici legate de legatura( encapsulare si compresie)

Sistemul de comunicatii Tudorache Bogdan-Alin in arhitectura Symbian

Page | 18

si in cele din urma obtinerea unei adrese IP. In cele din urma Managerul interfetei network leaga

NIF-ul de stiva TCP/IP. 5

6. Serviciile punct-la-punct Sunt utilizate pentru conectarea directa, cu ajutorul unui cablu serial sau USB, sau folosind unde

radio de mica distanta, sau chiar infrarosu/Bluetooth, pentru a comunica doua dispozitive. De

asemenea in aceasta categorie am putea include mai nou si internetul wireless ( wi-fi),

dar nu nici pe departe punct- la-punct sau pe mica distanta.

Reprezentarile pentru: Bluetooth Wireless Usb

Principalele tehnologii punct-la-punct sunt: RS232 serial, USB, infraros/IrDA si Bluetooth, de

asemenea putem vorbi si de Obex, un protocol orientat pe transferul de obiecte,care poate fi

folosit atat pe IrDA cat si pe Bluetooth.

Aceste bloc de servicii include „ managerierea”, utilitatile, implementarea protocoalelor si

adaptarea plug-inurilor hardware.

In aproape toate cazurile aceste servicii sunt folosite pentru transferul de date, datele putand fi

reprezentate de poze,fisiere,documente, .mp3-uri, dar si pentru prealizarea unor conexiuni mai

complexe cum ar fi folosirea telefonului mobil pe post de modem.

Din serviciile discutate pana acum, nu putem trece cu vederea peste faptul ca majorita au ajuns la

‚forma finala‟ fiind destul de greu sa mai fie imbunatatie in vre-un fel, si totusi exceptia o

reprezinta Bluetooth-ul, la acest sistem de comunicatii s-au tot adus imbunatatiri; la viteza cu

care se transera datele, la consumul de energie, la raza de actiune si in cele din urma la rata

erorilor( din ce in ce mai mica).

De retinut faptul ca sistemul de comunicatie seriala si usb au devenit atat de raspandite incat de

multe ori sunt plug and play, ne mai fiind nevoie de instalarea unor programe specializate,

aplicatiile necesare fiind gasite chiar in driverele sistemului de operare utilizat( in cazul

conectarii la PC).

5http://docs.huihoo.com/symbian/nokia-symbian3-developers-library-v0.8/GUID-7821C498-70A2-5D3C-989A-

58CEBAE9162B.html

Nivelul sistemului de operare Enoiu Dragoș-Ciprian

Page | 19

Nivelul sistemului de operare

1. Istoria OSului Symbian

UNIX are o istorie lunga, aproape in forme antice in termeni de calculatoare. Windows ul are o istorie

relativ lunga pe langa UNIX. OSul Symbian, pe de alta parte are o istorie destul de scurta. Are radacinile

sale in sistemul ce a fost dezvoltat in anii 90 si a avut debutul in anul 2001. Acest lucru nu e de mirat,

deoarece platformele smartphone-lor pe care sistemul de operare Symbian ruleaza a evoluat recent

deasemenea.

Sistemul de operare Symbian are radacini in dispozitivele mobile si are un stil de dezvoltare rapid prin

versiunile sale.

În 2008 Nokia a achizitionat „Symbian Software Limited”si a infiintat organizația independenta

non-profit „Symbian Foundation”. Sistemul de operare și platformele software S60, UIQ și MOAP(S) au

fost date de catre detinatorii lor catre fundatie, în scopul transformarii platformei Symbian într-una

open-source.

Symbiana fost la un moment dat este cel mai raspandit sistem de operare pentru telefoane

mobile, întâlnit la aproximativ jumătate dintre vânzările de smartphone-uri. Recordul detinul a fost in

anul 2009 insa vanzarile au scazut dramatic pana in prezent.

Nivelul sistemului de operare Enoiu Dragoș-Ciprian

Page | 20

2. Obiectivele proiectarii sistemului de operare Symbian

Symbian include protectia memoriei și multitasking pe baza de intreruperi.

Sistemul de operare Symbian a fost conceput avand la baza trei principii:

integritatea si securitatea datelor utilizatorului este de maxima importanța

sa nu se piarda din timpul utilizatorului

toate resursele sunt putine

Pentru urmarirea acestor principii, Symbian folosește un microkernel, are o abordare chemare-

și-întoarcere (call-and-callback) a serviciilor și separă interfața de utilizator față de motorul sistemului.

Dispozitivele mobile avînd surse limitate de energie și putere scăzută, sistemul de operare este conceput

pentru a minimiza consumul de putere al sistemului. Aplicațiile și sistemul de operare urmează un model

obiect-orientat: MVC (Model-View-Controller).

Fig. 2: comparație între structurile generice kernel / microkernel; este de remarcat că, în timp ce EPOC

avea o structură „nanokernel”, ultimele versiuni Symbian nu mai au „cu adevarat” microkernel, încât

includ unele device driver-e

Nivelul sistemului de operare Enoiu Dragoș-Ciprian

Page | 21

Iterațiile mai târzii ale sistemului de operare, conform cererilor de piață, au introdus un

kernel „în timp real” și un model de securitate al platformei – în versiunile 8 și 9.

3. Blocul generic de servicii a sistemului de operare.

Aici putem observa cateva servicii oferite pentru utilizarea directa a aplicatiilor,

deasemenea si a unor librarii specifice de programare definite pentru aplicatii si sistem. Inclusiv

pentru interfetele utilizatorului si pentru Layer ele de mai sus.

Serviciile de loggare si cele de planificare a taskurilor folosite de catre aplicatiile

sistemluui sau de componentele sale

Libraria C Standard, obera un mediu de baza POSIX ce este folosit de componentele

sistemului (de exemplu java) si deasemenea este util pentru portarea software ului din

alte platforme

Exista librarii ce suporta securitate bazata pe certificate sau pe criptografie, incluzant cei

si certificari

4. Blocul serviciilor grafice si multimedia

Aceste bloc ofera toate serviciile bazate pe grafica la nivel de hardware si ofera schela ce suporta

serviciile de tip multimedia.

Ofera Windowing, manageruirea de evenimente, grafice vectoriale si bitman toate ce suporta

functiile de bitmap, desen si fonturile de scris, deasemenea suporta printarea de nivel jos pentru

WYSIWYG.

Defineste intr un mod usor de inteles, un set multimedia APIs ce ofera o schita pentru

implementari. Mai include camera si difuzia tuner API, inregistrare si captura de sunet API,

imagini statice si captura de imaginii dinamice, expunere si rulare de API si conversii si

manipulare de tip API.

Nivelul sistemului de operare Enoiu Dragoș-Ciprian

Page | 22

Nivelul sistemului de operare Enoiu Dragoș-Ciprian

Page | 23

4.1. OpenGL ES

OpenGL ES este un standar pentru grafice 2D si 3D, in special pentru sisteme de tip embedded

incluzand console si telefoane. Defineste aplicatii de tip API pentru redate, mapare de texte, si pentru

alte efecte de grafica, deasemenea pentru sistemele native de tip windowing ca un subset de statii de

lucru si standardul OpenGL desktop-orientat.

OpenGL suporta in sitemul de operare Symbian ce formeaza o schtita de lucru ce

implementeaza legatura API si clientul API standard definit dar ce nu ofera o implementare concreta. O

implementare de tip “ciot” este oferita de OpenGL ES si componentele OpenGL ES.

Cadrul este oferit pentru implementarile de legarura Open GL ES ului si pentru a asigura o

compatibilitate intre dispozitive difeite

4.2. Serverul ferestrelor

Serverul ferestrelor (windowing) este inima arhitecturii a graficei a unui sistem de operare

Symbian si este centrul de manageruieste driverele aplicatiilor. Spre deosebire de celelalte sisteme de

operare, in SO-ul Symbian nu este nicio notiune de aplicatii bazate pe caractere sau dispozitive . Toate

aplicatiile in OSul Symbian sunt grafice intrinseci iar ecranul este la realizarea evenimentul aplicatiei;

deasemenea fiind o sursa importanta pentru evenimentele aplicative.

Serverul de fereastra foloseste conceptul de aplicatie ce apartine windows ului pe afisajul

dispozitivelor pentru a serializa accesul la afisajul de catre aplicatii multiple. O fereastra pe un OS

Symbian este o zona dreptunghiulara ce poate fi desenata de catre aplicatia in raspuns fie cu sistemul de

evenimente si ce primeste concentrarea evenimentelor deasemenea si a evenimentelor pointerilor si a

tastaturii. Serverul ferestrelor detine ecranul ca o resursa si detine coada de evenimente singulare prin

care toate evenimentele dispozitivelor, fie originare de sistem sau originare de aplicatie, sunt

manipulate, manageruite de kernel iar evenimentele aplicatiilor si cele generate de serverul de fereste

insusi ce le distribuie la aplicatii sau sistemelor cu interfete de utilizator. Serverul ferestrelor

implementeaza o schema clasica de OS Symbian – Serializeaza accesul la resursele comune, cea ce in

cazul de fata include afisajul fizic si interactiune cu alte evenimente ( De notat ca dispozitivele ar putea

avea afisaze fizice multiple)

O fereastra este o abstractizare pentru crearea unei regiuni de ecran valabila unei aplicatii de

interactionat. O fereastra abstractizeaza o regiune fizica pe ecran. Din persepectiva unui developer de

aplicatie, o fereastra este o regiune de ecran in care o aplicatie poate fi construita. Pentru a desena in

Nivelul sistemului de operare Enoiu Dragoș-Ciprian

Page | 24

regiunea ferestrei si sa primeasca de la utilizator informatie, aplicatiile creaza inauntrul ferestrei iar

controul devine unitati de interactiune.

Aplicatiile sunt, prin definitie, procese ce apartin ferestrelor deschise. Aplicatiile pot crea si

distruge ferestre, ar putea avea mai multe ferestre si le-ar putea comuta intre ele. Aplicatiile cu ferestre

formeaza un grup de ferestre. Prima aplicatie fereastra intr un grup este fereastra client de sus si o

aplicatie ce trebuie sa aiba macar un ordin de afisaz.

In mod uzual, dimensiunea ferestrei unui ecran complet.Asadar, fereastra nu poate trece peste

dar se pot ascunde una de cealalta.

5. Blocul serviciilor de conectivitate

Arhitectura de conectivitate ofera un cadru pe care serviciile ce au dispozitivele bazate pe

TCP/IP ce pot fi create.Fiindca utilizatorul actual este abstractizat, un astfel de serviciu ruleaza pe orice

purtator. Implementarile sunt aduse pentru dispozitivele host ce au servicii de rezerva.

Windows PC desktop-side are implementari ce sunt oferite ca o parte din Serviciile de

conectivitate si implementari dar in principiu serviciile intr un dispozitiv cu OS Symbian sunt agnostice

despre operatiunea host ului pe sistem.Deoarece serviciile sunt pazate pe TCP/IP, implementarile pe

partea de host (gazda) pot fi scrise pentru orice sistem de operare. Tipic, toate licentele ofera o gazda

de conectivitate de un fel : majoritatea suporta doar Windows, unele suporta doar Mac OS/OS X .

Pachetele gratis de tip Third-party ofera diferite grade de suport pentru Linux sau UNIT in conectivitate

pentru dispozitivele cu OS Symbian.

Stratul aplicației Mîrzac Adrian Cătălin

Page | 25

Stratul aplicației

I. INTRODUCERE

Serviciile de aplicații oferă suport interfața - utilizator - independent pentru

aplicații pe sistemul de operare Symbian ( vezi Figura 7.1 ) . În general , servicii,

ale căror utilizatori sunt destinate în mod special pentru a fi aplicații sau motoare

de aplicatii ( mai degrabă decât componente și servere de System ) pot fi găsite

aici . Un număr de cadre de aplicare esențiale sunt de asemenea incluse . Java ME

folosește , de asemenea, cadrele și servicii găsite în stratul de servicii pentru

aplicații .

Fig. 1 Stratul aplicatiei in modelul de system

Serviciile variază de la cele utilizate de toate aplicațiile ( cadrele aplicațiilor de bază ) , la cele care furnizează logica tehnologiei specifice ( de exemplu , suport pentru aparat, mesaje și protocoale multimedia ) , a serviciilor adresate cererilor individuale specifice ( PIM și aplicații de birou ) . Testul sau referinta interfeței utilizatorului , după caz , sunt furnizate în set de instrumente de personalizare pentru licențiați, dar sunt înlocuite în produsele liceentiate ( inclusiv SDK) 1. 1 Ben Morris, “The Symbian OS.Architecture Sourcebook”, John Wiley & Sons, Ltd, 2007

Stratul aplicației Mîrzac Adrian Cătălin

Page | 26

Scopul:

Stratul Serviciilor de aplicație se bazează pe serviciile de bază ale sistemului

de operare pentru a furniza servicii destinate în primul rând pentru utilizarea

aplicațiilor cat și pentru motoare și include unele cadre de aplicații esențiale , care

sunt folosite de către toate aplicațiile , fie mediată direct sau prin cadre de nivel

superior. Stratul serviciilor de aplicare este , de asemenea, utilizat de componentele

Java ME . Acestea oferă servicii utilizate de toate aplicațiile , dar imediat de

stratul de cadru UI și de interfața cu utilizatorul . De exemplu , instalarea de

aplicații și lansarea , vizualizarea de comutare , și relațiile arhitecturii de aplicare .

De asemenea, acesta ofera:

- servicii generice de sprijin de toate tipurile de aplicații , de exemplu , textul de redare și MIME bazate pe recunoașterea de conținut și de manipulare. - tehnologie de sprijin specifica aplicației , de exemplu , sprijin Versit ( vCard și vCal ) , protocoale și Internet , web și sesiuni multimedia ; alarme pentru aplicații de tip PIM. - aplicații specifice de servicii , de exemplu , motoare si plug -in-uri pentru PIM și aplicații de birou , de gestionare a dispozitivului , și aprovizionare2 .

II. Obiectivele proiectarii

De la început , sistemul de operare Symbian a fost conceput ca o platformă de

aplicații . În special , un obiectiv important a fost reusita de a scrie aplicatii

bogate și convingătoare pentru dispozitivele de buzunar , mobile ( ecran mic ,

ROM și RAM de mică putere , conectate. Arhitectura sistemului capteaza cadrul

cererii ca un serviciu generic folosit de toate aplicațiile și motoare furnizate de

aplicatiile independente ale interfeței cu utilizatorul , si stratificat atât sub cadrele

care au sprijinit aspectele GUI specifice cat si cele ale interfeței cu utilizatorul .

Separarea de bază a aplicațiilor în interfețe utilizator și motoare în special

adoptarea unei abordări MVC are o istorie lungă în sistemul de operare Symbian .

Pe măsură ce sistemul a evoluat , a existat o distincție tot mai mare între motoare și

servicii . Serviciile sunt înțelese ca acordarea de sprijin in lucrul cu modele de date

2 Akhil James, “Symbian OS”, Seminar report, 2007

Stratul aplicației Mîrzac Adrian Cătălin

Page | 27

, de exemplu , identificatori , traducători și gestionari de protocol de date

dactilografiate la nivel de aplicație . Motoarele sunt înțelese mai precis ca logica

aplicației specifice care face parte dintr-o implementare a aplicației care este

independenta de interfața cu utilizatorul . Conform acestei definiții , serviciile de

aplicare ar fi de așteptat pentru a expune Symbian OS, dar motoarele de aplicare nu

ar fi . Aplicând această definiție a sistemului are ca efect deplasarea funcționalitatii

motoarelor ( care devin mai restrânse). Aceasta este direcția în care sistemul de

operare a evoluat. În cele mai recente versiuni ale sistemului de operare prin

urmare , stratul de servicii suportă motoarele de aplicare , dar nu le include ( cu

excepția motoarelor existente ) .

Mostenirea motoarelor aplicatiei În timp ce funcționalitatea poate continua să apară pe dispozitive specifice

, aceasta nu ar trebui să fie considerată ca făcând parte din livrarea sistemului de operare . Alte servicii , de exemplu imprimarea, trebuie, de asemenea, să fie luata în considerare ca moștenire pentru diferite motive. Obiectivele inițiale ale suportului de imprimare în sistemul de operare Symbian ( pentru a asigura imprimarea documentelor WYSIWYG ) au fost depășite de natura conținutului imprimat și de protocoalele noi ( cum ar fi Bluetooth ) .

III. Arhitectura

Un obiectiv al arhitecturii interfață -utilizator în sistemul de operare

Symbian este de a permite funcționalitatea comună cât mai mult posibil, pe partea

de sistem și pentru a pune la dispoziție o gamă cat mai largă de aplicații . Acest

lucru permite aplicațiilor să fie scrise cu un minim de cod. Codul mai complex este

scris doar o singură dată , pe partea sistemului, de unde este testat și validat , și este

refolosit in aplicare . În timp ce strategia pentru realizarea acestui scop s-a mutat de

la furnizarea de motoare de aplicare deplină in a oferi servicii complete , la

motoare ce se deplasează până la straturile licenței , obiectivul rămânand același .

Și în timp ce clasele care definesc arhitectura de bază a unei cereri a sistemului de

operare Symbian diferă între interfețe utilizator -variantă , ele toate provin de la

Stratul aplicației Mîrzac Adrian Cătălin

Page | 28

Symbian OS. Acesta implementează comportamentul care sta la baza . In

aplicatie , acest lucru este interesant . Pe de o parte , este extrem de puternic ,

deoarece un cod aplicație parcurge un drum lung, pe de altă parte prezintă o curbă

de învățare abruptă a scriitorului aplicație . Stratul serviciilor de aplicații oferă

suport pentru aplicații .

Suport pentru aplicatiile generice

Cele mai vechi versiuni ale sistemul de operare Symbian au inclus o serie

de aplicații din categoria Standard PIM și aplicațiile Office ( Agenda , date ,

World Time) , un sistem de ajutor , și așa mai departe . Din ce în ce , furnizarea de

servicii comune și API-uri de standardizare este văzută ca oferind mai multă

valoare pentru licențiați decât furnizarea gata facuta. Cu toate acestea , motoarele

moștenite încă fac parte din sistemul de operare . Împreună cu funcții de telefonie

specifice ( de mesagerie și e-mail , precum și aplicarea telefonului în sine ) ,

aplicatii PIM - cel mai important , o agendă și un calendar simplu - se află în

centrul a ceea ce un telefon modern oferă utilizatorilor săi . O serie de servicii

comune stau la baza acestor aplicatii standard , inclusiv suportul pentru

manipularea de text de bază ,vCard și vCalendar standarde , alarme , de backup,

notificări , fișiere și conversii data .

Serverul de alarmă formeaza o inlantuire de alarme la nivel de system pe

bază de timp şi oferă API-uri pentru aplicaţii pentru a seta si modifica alarmele de

interogare. Serverul de alarmă nu evidentiaza alarmele sonore ci serverul de alerta

evidentiaza aceste functii. Serverul ,,alarma” este un server de Symbian OS

convenţional reusind gestionarea resurselor partajate . Clienţii creaza o sesiune şi

conecteaza serverul pentru a folosi API-uri. Alarmă Server are o lungă istorie în

Symbian OS.3

Suport pentru tehnologiile generice

Mesageria si navigarea au devenit funcții esențiale pentru telefoane mobile .

Stratul serviciilor de aplicații oferă suport extensibil pentru standardele de

Stratul aplicației Mîrzac Adrian Cătălin

Page | 29

mesagerie , inclusiv SMS , MMS, e-mail , pentru protocoale de browser de

Internet și pentru noi protocoale multimedia bazate pe sesiune . Serviciile de

asistență includ recunoașterea de conținut , inclusiv recunoașterea MIME, pentru

datele care provin de la rețeaua și suportul mesajelor " inteligente "( mesaje care

conțin datele de configurare și setările destinate pentru a fi utilizate de către

system in locul utilizatorului.

Suportul pentru mesaje de toate tipurile, de la e-mail pentru mesaje text si

multimedia, este o caracteristică importantă la Symbian OS. Suportul mesagerie

a fost disponibil de la prima lansare. Ca sistemul de operare sa devina mai centrat

pe telefon, mesagerie fără îndoială a devenit mai critică decât a fost iniţial, deşi

cazurile de utilizare sunt diferite pentru telefoane şi PDA-uri. Implementarea

mesajelor pe Symbian OS oferă o infrastructură de mesagerie completă pentru

utilizarea unei aplicaţii de mesagerie, fie de la un beneficiar al licenţei sau de la o

altă sursă. Ea se bazează pe un server de mesaj, care gestionează accesul la un

depozit de mesaje unificate şi efectuează acţiunile generice, care sunt expuse prin

intermediul unui API. Aceasta deţine, de asemenea, un cadru extensibil care să

permită acţiuni generice pentru anumite tipuri de mesaje speciale. Cadrul este

deschis şi este destinat să sprijine personalizare nivelului de întreprindere (de

exemplu, pentru comanda, sistemele de mesagerie corporative, sau servicii),

precum şi prelungirea licenţei (de exemplu, să se adapteze funcţionalitatii generice

pentru un anumit utilizator interfata – aplicaţie de mesagerie S60 si UIQ se

comporta diferit din perspectiva utilizatorului final). Partea client API permite

aplicaţiei client funcţii de bază, precum editare, copiere şi mutare.

IV. COMPONENTE

Componentele sunt afisate in figura de mai jos:

Stratul aplicației Mîrzac Adrian Cătălin

Page | 30

1) Protocoalele multimedia:

Componenta RTP este un server provenind din placa de baza avand acces la

serviciile RTP. Acesta ofera un serviciu de IP bazate pe reteaua de transport în

timp real. Cadrul SIP si SIP furnizor de conectare oferă suport pentru SIP și

integrarea în infrastructura de rețea.

Stratul aplicației Mîrzac Adrian Cătălin

Page | 31

2) Motoarele de aplicatii Office

Această colecție ( vezi Figura 7.11 ) oferă mai vechi implementări cerere -

motor ale EPOC original. Redundante pe un telefon modern , ele sunt

susceptibile de a fi eliminate într -un viitor comunicat de sistem de operare .

(fig. 4.2)

Componentele motorului aplicatiei Office le avem prezentate in urmatorul tabel:

3) Suportul aplicatiilor web:

Stratul aplicației Mîrzac Adrian Cătălin

Page | 32

Această colecţie ( fig. 7.16) oferă Internet, web şi suport de aplicaţie WAP.

Internetul si componentele aplicatiei web:

- Componenta HTTP permite clientilor sa stabileasca o sesiune de

transport pentru protocoalele HTTP, ofera API-uri de baza pentru

sesiunile de transport, tranzactii si mesaje.

- Componenta protocolului HTTP ofera aplicatii incarcate dinamic inclusiv

TCP/IP, HTTP 1.1 şi WSP 1.2.

- Componenta filtrului HTTP ofera plug-in-uri incarcate dinamic pentru a

configura sesiunea de transport inainte de utilizare. Include filtrele de

baza HTTP si WSP care incapsuleaza raspunsurile la evenimentele de

Stratul aplicației Mîrzac Adrian Cătălin

Page | 33

sesiune. Ex: autentificarea clientului , validarea si redirectionarea

mesajului.

- Biblioteca HTTP retine clasele utilitare utilizate de internet . Aceasta

contine implementari pentru URI, un format standardizat de timp .

- Componenta support Bookmark oferă o bază de date marcaj pentru

browserele web

- Componenta motor Telnet oferă un sistem de operare Symbian Telnet

daemon și susține sesiuni pentru a comunica cu o gazda specificata .

- Motorul FTP al sistemului de operare Symbian sustine sesiuni pentru a

comunica cu o gazda specificata.

- Componenta WAP oferă o interfață între stiva WAP și infrastructura de

mesagerie pentru a sprijini WAP ca un transport de mesaje3.

3 Ben Morris, “The Symbian OS.Architecture Sourcebook”, John Wiley & Sons, Ltd, 2007

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 34

Implementarea platformei Java ME în sistemul Symbian

1. Introducere

Platforma Java Micro Edition(Java ME) este o parte importantă a platformei Java pentru

telefoane mobile.

Ea are calitatea de a oferi un mediu flexibil pentru toate aplicațiile care rulează pe

dispozitive ca telefoane mobile,e-book-uri,PAD-uri.

Această platformă ofera utilizatorilor interfete flexibile ,dar și securitate și suport pentru

aplicațiile online și offline. Prin urmare,aplicațiile pe platforma Java ME sunt portabile pe mai

marea majoritate a dispozitivelor.Aceste aplicații au în jur de 1 MB.

O altă platformă creată pentru telefoanele mobile este platforma Symbian și este folosită

de Nokia și Sony Ericcson.Este o platformă care a avut un mare succes pentru că deținea la un

moment dat 50 % din piață la nivel global.

1

Cel mai frecvent profil implementat de către platforma Java ME este MIDP (Mobile

Information Device Profile), folosit pentru dispozitive mobile.

Ce inseamna acronimul ME de la Java ME?

Prescurtarea Java ME vine de la Java Micro Edition și este o platforma special conceputa

pentru telefoanele mobile, PDA-uri, fiind cunoscută anterior sub denumirea de J2ME,adica Java

2 Micro Edition.

Java ,de-a lungul timpului s-a consacrat ca un limbaj puternic de programare datorită

faptului că se poate rula pe orice platformă.J2ME este o mașină virtuală optimizată și este cea

1 http://www.slideshare.net/guest7e14b6a/symbian-os-1413049

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 35

care oferă informații cu caracter personal, dispozitive de comunicare și calcul. De cele mai

multe ori , aceste dispozitive sunt de dimensiuni mici și nu atat de puternice cât sunt

dispozitivele de calcul tradiționale.

La ce ne referim cand spunem dispozitive?

Când spunem dispozitive ne referim la mai multe dispozitive diferite atât din punctul de

vedere al capacității , cât și din punctul de vedere al dimensiunii ecranului ori al funcționalității.

O observație bună este că e inutil să avem o singură mașină virtuală pentru toate

dispozitivele.

De ce J2ME?

Pentru ca are capacitatea de a programa dispozitive și pentru ca ea cuprinde un număr de

componente specificate , care au fost definite de către industrie prin JCP (Java Community

Process).

Tehnologia Java se învârte în jurul unui număr de utilizatori diferiți în industrie,toți

participând la îmbunătățirea continuă și dezvoltarea platformei prin intermediul JCP. Utilizatorii

finali cer în mod constant noi caracteristici și capabilități suplimentare pentru serviciile lor ,iar

dezvoltatorii de aplicații depun eforturi pentru a le crea . Dispozitivele de proiectare

OEM(Original Equipment Manufacturers), sunt capabile să găzduiasca aceste noi servicii și

caracteristici. Dezvoltatorii implementează aceste servicii pe mediul mobil pentru că acest lucru

conduce la noi afaceri.

În urmatoarea figură sunt reprezentate exemple pentru cuvintele cheie expuse mai sus.

Poza a fost lasată in limba engleza cu scopul de a nu ii strica din formă.Deci,în

următoarele randuri voi discuta despre componentele ei.Si anume

În mijlocul schemei sunt utilizatorii finali,adică cei care cumpără un dispozitiv iesit pe

piată.În jurul acestor utlizatori se învart celelalte pentru că dispozitivele sunt create cu acest scop,

de a fi utilizate și cumpărate de o lume întreagă.

Observăm că la inceput se pleacă de la platforma Java,apoi se incearcă un conținut,o

verificare de programe și niste crearea de instrumente si opțiuni ,apoi se ajunge la echipamentul

original prin implementare,soluții,verificări și alte instrumente menite să facă o aplicație mult

mai ușoară.

Deci, o concluzie cu referire la aceasta poză ar fi că aplicațiile sunt concepute pe baza

patformei Java și după multe verificări și soluții la codurile greșite se ajunge la un dispozitiv care

este lansat utilizatorilor finali care cumpăra un produs ținând cont atât de brand cat și de ceea ce

poate să facă acel dispozitiv.

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 36

2

Aceasta constantă evoluție asigură că platforma Java va continua să servească nevoile

celor implicați în eco-sistem.

S-a propus vreo modernizare a platformei?

Raspunsul este “Da”.În 2011 , Oracle și parteneri lui sunt cei care lucrează în

conformitate cu JCP(Java Community Process) pentru a lansa Java ME.next, o propunere pentru

a da un suflu nou platformei Java ME .

“Dacă privim tehnologia Java din punct de vedere statistic, 3 miliarde de telefoane

mobile suportă platforma Java. În fiecare an, numărul de telefoane noi ce rulează aplicații Java

este de 31 de ori mai mare decât cele de la Apple si cele cu Android.”

[3]http://programatori.info/blog/2011/05/aplicatii-java-pentru-telefoane-mobile/

Nokia oferă instrumente şi resurse tehnice pentru dezvoltatori în crearea J2ME şi a altor

aplicaţii pe standardele industriei, oferind oportunităţi pentru dezvoltatori să le vândă prin pieţe

industriale de invatare.

2 http://www.oracle.com/technetwork/java/javame/about-java-me-395899.html

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 37

2. Cerințele subsistemului Java ME

Java este o platformă ,un mediu de aplicație care și-a câstigat importanța în zilele noastre

pentru că este utilizată preponderent în crearea aplicațiilor pentru telefoanele mobile,dar și pentru

că oferă gama de descărcare și instalare de programe(jocuri,utilitați,media player).Aceasta este

un standard pentru dezvoltatorii care doresc să extindă sistemele de informații la utilizatorii de

telefoane mobile,precum și aplicații personalizate .

Dezvoltarea unei aplicații pentru Symbian

Acum câțiva ani , telefoanele existente nu dispuneau de sisteme de operare complexe și

nici de platforme de dezvoltare complexe.

În urmatoarea figură avem schema unei arhitecturi software a unui dispozitiv mobil.Se

poate observă că între aplicațiile Java și aplicatiile native există o diferenta din cauza faptului că

cele native au acces direct atât la sistemul de operare al telefonului,cât și la software-ul

sistemului,pe când aplicațiile Java au acces limitat,doar prin mai multe API-uri Java.

Mai sus s-a prezentat arhitectura tipica a unui software al unui telefon mobil, deci voi

prezenta in figura următoare ,arhitectura generala a unui telefon (unde Masina Virtuala Hot Spot

se refera la Mașina Virtuala HotSpot Java creată de Sun) :

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 38

O calitate importantă a filozofiei Java este independentă platformei care se aplică, la fel

de mult atât în contextul MIDP ,cât și implementării desktop Java.

Implementarea Java ME în Symbian OS oferă un mediu standard pentru instalarea și

rularea MID-let-urilor, cu acces la baza serviciilor sistemului de operare prin intermediul MIDP

2.0 API , care include un numar de API-uri optionale - ca de exemplu MobileMedia,Grafica 3D

- precum și la tehnologia Java pentru industria Wireless (JTWI) standard,care are scopul de a

standardiza suportul MIDP pentru telefoane mobile și Interfața Emulatorului Unificat(UEI =

Unified Emulator Interface),o dezvoltare a instrumentelor standarde inițiale.

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 39

3. Obiectivele proiectării pentru subsistemul Java ME

Symbian OS oferă o serie bogată și puternică pentru implementarea Java ME , dar are ,

de asemenea, unele probleme mari . Acestea sunt o consecință a diferențelor de arhitectură dintre

sistemul de operare Symbian și platforma Java și diferențele dintre componentele sistemului de

operare Symbian șiAPI-urile MIDP care sunt construite în partea de sus a API-urilor Symbian .

Există unele nepotriviri specifice între sistemul de operare Symbian și modelele de Java ,

în special faptul ca modelele lor de filetare sunt incompatibile .

Sistemul de operare Symbian are propriul model de aplicație nativă ( pentru C + + ) , cu

care trebuie sa fie integrat ciclului de viață al MIDP, în cazul în care MID-let-urile sunt create

pentru a avea un ciclu de viață fără aplicație nativă .

Symbian OS are un set bogat de controale native, abstractizări de locație, dialoguri

personalizate, mecanisme presetabile, s.a.m.d., toate fiind asteptate să fie customizabile la nivel

de interfată și interactiune, de cei care asigură interfața cu utilizatorul,o alternativă cu care

sistemul de operare este integrat pe orice dispozitiv personalizat Symbian OS. Prin urmare , orice

aspecte dependente de implementare MIDP trebuie să fie personalizate pentru diferite interfețe

pentru o gama variata de utilizatori.

MID-let-urile ar trebui , pe cât posibil , să arate și să se simtă ca fiind aplicații native .

Pentru sistemul de operare Symbian , aceasta reprezintă o provocare specială de când felul cum

arată aplicația în versiune finala depinde foarte mult de interfața cu utilizatorul care rulează pe un

anumit dispozitiv cu sistem de operare Symbian .

Componenentele API a Symbian OS au implementare diferită de la API-urile

MIDP(Mobile Information Device), care necesită o arhitectură internă elaborată pentru a lega

funcționalitatea între cele două ierarhii de clase ortogonale .

Subsistemul Java ME, privit ca ansamblu poate fi schimbat şi înlocuit cu altul.

Beneficiarii de Symbian au, de asemenea, libertatea de a alege care dintre JSR-uri le foloseasca

si care nu.

Pentru a depăsi aceste complicații ,implemenatarea Java ME trebuie să îndeplinească

anumite obiective de bază de proiectare :

• Suport pentru comportament aproape nativ de MID-let-uri , pentru a permite trecerea

fără sudură între MID-let-urile și aplicațiile native

Să asigure o implementare completa ( MIDP specifică caracteristici atât obligatorii cât și

opționale ), pentru a se asigura că punerea în aplicare Java ME pe sistemul de operare Symbian

este extrem de competitiv

• Să permită o " platformă comună ", prin furnizarea unui sistem de bază solid pe toate

smartphone-uri Symbian

• Să furnizeze optiune de personalizare ca element esential, parte din sistemul de operare

Symbian . Deținătorii de licență pot alege să varieze gradul în care au suport Java de pe un

dispozitiv special prin extinderea sau limitarea implicită a implementării Symbian Java ME ,

inclusiv înlăturarea sau înlocuirea în întregime .

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 40

4. Evoluția Java în sistemul de operare Symbian

Prima implementare Java pe Symbian a fost bazată pe JDK 1.1.4 , ce aparținea firmei Sun

și a fost lansată în 1999 ca parte a sistemului de operare Symbian OS v5.Pentru apariția viitoare,

au decis să profite de memoria redusă oferită de PersonalJava (comparativ cu JDK ) ,ca bază

pentru punerea lor în aplicare Java. Această versiune,Symbian OS 6.0, a aparut in 2000.

În plus , Symbian OS versiunea 6.0 oferea o implementare JavaPhone API,o extindere

verticală la platforma de PersonalJava, oferind acces la funcţiile de telefon care stau la bază,

inclusiv capacitatea de a:

• Accesa funcționalitatea telefonului

• De a trimite și a primi datagrame

• De a manipula agenda și calendarul

Între timp, Sun a revizuit strategia Java . În 1999, recunoscând că "o mărime nu se

potrivește tuturor " Sun a anunțat separarea platformei Java în trei versiuni :

• Java 2 Enterprise Edition ( J2EE )

• Java 2 Standard Edition ( J2SE )

• Java2 Micro Edition ( J2ME )

Insa, Java a fost redenumit Java 2 o data cu lansarea de JDK 1.2 .

Editia Enterprise a fost menita să ofere soluţii capăt la capăt, soluțiile concentrându-se pe

partea de server, în timp ce Editia Standard era direcţionată în funcţie de mediul desktop.

Editia Micro a fost direcţionata la o gamă largă de consumatori şi dispozitive electronice

încorporate cu resurse constrânse.Misiunea programului se referea la o gamă largă de dispozitive

diferite pe segmente de piaţă.Aceasta ediție este subdivizată în configuraţii orientate la

configuraţii hardware speciale.

Configurația cea mai potrivită pentru telefoane mobile este CLDC(Connected Limited

Device Configuration), și avea 160-512 KB de memorie disponibile pentru Java, baterie,

eventual intermitentă, conexiune.

Situându-se în top ,deasupra lui CLDC, profilul MIDP (Mobile Information Device)

este cel care specifică un API stabilit adecvat pentru dispozitive de informare mobil precum

telefoanele.

O dată ce s-a văzut că J2ME MIDP castigă spațiu în fața tuturor, producătorii de

telefoane mobile au aprobat ușor faptul că platforma Java este un mediu potrivit pentru

aplicații.Symbian recunoaște puterea în mutarea MIDP incluzând J2ME MIDP 1.0 ca standard

Java în versiunea Symbian OS 7.0 lansat in 2012,precum şi portarea la versiunile anterioare.

Cu toate acestea a fost recunoscut că specificatiile MIDP 1.0 duc la limitarea severa a

domeniului de aplicare al MID-let-urilor.Ca o consecinţă ,mai scumpa, dar cu cea mai mare

memorie, PersonalJava/JavaPhone, a fost reținută ca o opţiune disponibilă pentru licenţiaţii.

În timp, J2ME a progresat față de prima sa concepere din 1999 . Deși MIDP 1.0 a generat

unconsiderabil entuziasm în rândul comunității Java wireless , acesta fiind limitat în capacitățile

sale în ceea ce privește accesul la funcționalitatea oferită de un telefon inteligent tipic din cadrul

unui MID-let . Prin urmare, la scurt timp după lansarea MIDP 1.0,comunitate fără fir a început să

se lucreze la consolidarea capacităților MIDP . Acest lucru a fost manifestat în Specificatiile

MIDP 2.0 Java (JSR 118 ) , lansate in forma sa finală în noiembrie 2002 și o serie de prelungire

API JSR-uri , toate facând parte din Comunitatea Procesului Java.

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 41

Aceste evoluţii vor creşte funcţionalitatea pentru MID-let-uri. În consecinţă, cea mai

recentă versiune de Symbian OS, versiunea 7.0 oferă suport pentru J2ME MIDP 2.0, care aduce

un nou model nou de securitate, îmbunătăţit UI API, API-uri joc şi audio şi o implementare

Impinge Registrii(Push Registry) pentru platforma Java. În plus, Symbian OS v7.0s oferă o

punere în aplicare Java API pentru tehnologia Bluetooth Wireless (JSR82), oferind acces MID-

let-urilor la stiva Bluetooth şi la Mesageria Wireless API (JSR 120), permiţând MID-let-urilorsa

trimite şi sa primeasca mesaje SMS.

Nokia a construit pe cea mai recentă versiune de Symbian OS cu scopul de a produce

versiunea 2.0 din seria lor 60 de platformă. În plus față de funcționalitatea care vine ca standard

în versiunea 7.0s ( a se vedea mai sus ) , Nokia a adăugat , de asemenea, aplicația proprie de API

Media Mobil ( JSR 135 ), având sprijinul Java pentru redare video , generare de ton și de captare

foto , completarea audio API-ul care vine ca parte a MIDP 2.0 .

3 3 http://img.pathfinder.gr/clubs/files/32296/9.pdf

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 42

Beneficiile Java pe Symbian OS din punctul de vedere al dezvoltatorilor , operatorilor de

rețea, și furnizorii de servicii care vor beneficia de valoarea adăugată oferită de Java pe sistemul

de operare Symbian sunt:

• implementarea Symbian Java este robusta . Pierderile de date de utilizator în sistemul de

operare Symbian telefoane este foarte rar , și resetarea sistemul este rareori necesar .

• sistemul de operare Symbian Java este rapid . Symbian MIDP 1.0 oferă suport pentru

software-ul VTK interpret accelerat, în timp ce MIDP 2.0 foloseste Sun CLDC HI VM .

Componentele Java UI Symbian conduc direct la componentele UI nativ . Sistemul de operare

Symbian la rândul său, este extrem de eficient .

• Implementarea Java are o amprentă mică , profitând de filosofie slabă și medie a

sistemul de operare Symbian .

• implementarea Symbian ale noilor API-uri derivate din Java Community Process extind

funcționalitatea de MIDlet .

Cu performanța și capacitățile Java wireless pe sistemul de operare Symbian, care în

continuă îmbunătățire, oferă acum ISV-uri și servicii furnizorilor un mediu de dezvoltare

viabilă, pentru direcționarea marketingului pentru servicii de date avansate în spațiul fără fir .

Hop-urile JavaME

Startul platformei Java ME a fost unul cu greutăți din partea concurenței crescute pentru

că industria de jocuri mobile a fost din totdeauna în continuă creștere.S-a observant ca nu a

existat niciun suport standard de JRS (Java Specification Request) disponibil, si unele

implementări nu concordau cu cerințele stabilite de JRS existente , iar altele le satisfaceau

partial.

Un alt lucru dificil de stabilit a fost cunoașterea specificațiilor care să fie suportate de

orice receptor.S-a intamplat și cazul în care ,în cadrul unei familii de telefoane mobile din cadrul

unui producator , să existe nereguli cu API-urile care să lipsească,iar această lipsă să nu poate să

fie dovedită de vreun motiv concret.Propriile API-uri adaugate de un producător conduce la o

funcție suplimentară care nu poate să fie acoperită de JRS-urile standarde.

Daca în tot acest timp s-a lucrat la specificații și la funcții suplimentare,librariile au rămas

pe loc,neputând fi inlocuite din motive de compatibilitate.

Rezultatul a venit cu o serie de soluții care au avut capabilitatea de a facilita programarea

în aplicații Java ME,care aveau ca țintă o mulțime de dispozitive în același timp.Aplicațiile Java

ME se refereau în mod special la jocuri și s-a încercat scrierea unor librării în medii eterogene și

apoi au trebui să recupereze investigațiile făcute.

Acest fenomen a fost un caz nefericit și s-a numit “fragmentare”,iar tot ce s-a scris pe

bucăti a trebuit sa fie verificat peste tot.Fenomenul a avut un efect negativ pana la scoaterea pe

piața a aplicațiilor Java ME.

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 43

5. Arhitectura

Care este arhitectura platformei?

Arhitectura J2ME este prezentata in figura de mai jos :

O arhitectura este data explicit in urmatoare figura de mai jos:

4

4 http://scdsd.bluepink.ro/2007-2008/scdsd/gs_I_j2me.pdf

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 44

Ce inseamnă figura de mai sus?

Figura de mai sus ne arată din ce blocuri este compusă J2ME și anume:

Masina Java Virtuală

- Execută cod compilat Java la nivel de byte (clasă.)

- Disponibil pentru multe sisteme

- Controlează codul de (de securitate)

KVM , care este des folosită pentru telefoane mobile:

- Kilobyte Virtual Machine (KVM)

- Amprentă de memorie începând de la doar 60 kB (+)

Daca am da un zoom la arhitectura Java ME am observa urmatoarele blocuri

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 45

Care sunt partile componente ale masinii java?

J2ME are 3 parti componente:

1. Configurația care conține o mașină virtuală și câteva librării de clase,adică conține

limbajul Java + JVM(descrisa in figura de jos) + librăriile clasei de bază

5

2. Un profil care ne pune la dispoziție un set folositor de API-uri,iar aici ne referim la

telefoanele mobile care folosesc MIDP ce includ API’uri pentru GUI și jocuri 2D

3. Pachete opționale sau set optional de API-uri ,care pot sau nu pot fi folositoare în crearea

de aplicații,adică : grafică 3D,servicii internet, acces sistem de fișiere

Aceste părți componente sunt evidențiate și prin schema urnătoare

5 http://pip.ac.tuiasi.ro/Doc/curs/Curs_01.pdf

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 46

Ce inseamnă API?

API este un acronim pentru Application Programming Interfaces (APIs) și se traduce în

română prin Interfețe de Programare a Aplicațiilor și constă în diverse și multiple librării ,de

exemplu retea 3D,servicii bazate pe locație.

Acest lucru este arătat în figura următoare:

Care a fost scopul proiectării platformei JAVA ME?

Această platformă a fost concepută de catre Sun cu scopul de a rula pe echipamente

simple(cu memorie redusă,grafică limitată) și să fie compatibilă cu majoritatea sistemelor de

operare.

Tot ei au fost creatorii mașinii virtuale Kauai (KVM),care avea nevoie de 10% din

resursele cerute de mașina virtuală Java (JVM).

Rezultatul final a fost construirea platformei Java ME din trei componente de nivel inalt.

De retinut este faptul că nu există nici o "aplicație J2ME",iar pachetele de configurare,

profil și cel opțional trebuie sa fie alese.

Când Java 2 Platform, Micro Edition (J2ME) a fost introdusă pentru prima dată, avea

definita în specificațiile oficiale doar o singură configurație CLDC (Connected Limited Device

Configuration) și doar un singur profil MIDP (Mobile Information Device Profile).

În prezent, există aproximativ patruzeci de specificații J2ME legate la diferite etape ale

JCP,însă majoritatea definesc pachete opționale, în loc de configurații sau profiluri.

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 47

6. Interfete de programare de nivel inferior

Configurațiile

Acestea sunt de fapt cele care specifica memoria alocată,puterea procesorului și

conectivitatea în retea.

“Configurarea definește o platformă minimă pentru o clasă de dispozitive, cu memorie

similară și capacitățile de procesare. Este un mediu complet de execuție Java, constând din:

O masina virtual Java (VM) pentru a executa cod.

Cod nativ la interfața cu sistemul de bază.

Un set de bază Java clase de rulare.Setul de clase de bază este în mod normal destul de

mic și trebuie să fie îmbunătățită cu clase suplimentare furnizate de J2ME profiluri sau de

implementator de configurare.”6

Clasificare:

CLCD = The Connected Limited Device Configuration

CDC = Connected Device Configuration

Aceasta clasificare este aratata si in urmatoarea figura :

Configurația,are rolul de a defini platforma pentru cele două clase de dispozitive

menționate mai sus:

CLDC

Este o interfață de utilizator limitat

Are putere de calcul redus (de obicei cu o baterie)

Are o rețea cu lățime de bandă mică

6 http://www.cs.huji.ac.il/~ssd/J2ME/J2ME.htm

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 48

CDC

Este o conexiune la rețea cu lățime mare de bandă

Are cerințe de memorie mai mare

Daca CLCD a avut ca scop principal telefoanele mobile PDA-urile low-level,cele CDC

au avut ca scop dispozitivele cu o memorie vastă și cu o conectivitate la o rețea puternică și

procesoare rapide.

Ce configurație e mai folosită?

CLCD ramane cea mai folosită configurație,însa există și telefoane cu system Symbian

care au platforma bazată pe CDC.

Până în ziua de astazi au existat două versiuni ale configurației CLDC,cea mai recentă

apăruta numindu-se CLDC 1.1 și fiind implementată in telefoanele mobile încă din anul

2003.Această configurație include pe lângă alte actualizari și un suport pentru operații in virgulă

mobilă.

Configurațiile sunt specificații care detaliză o mașină virtuală Java și au un API restrâns

care este cel care stă la baza dezvoltării de aplicații pentru o anumită categorie de dispozitive.

Platforma Java ME are un suport larg în industrie, datorită flexibilității sale în a programa

diferite dispozitive.Cuvântul cheie după care se ghidează JavaME este “Write Once, Run

Anywhere”,care vrea să confirme faptul că un cod scris în această platforma se poate mula pe

orice dispozitiv.

În câte versiuni este disponibil CLDC?

CLDC este disponibil în două versiuni:

● CLDC 1.0 care a existat în dispozitive până în maxim anul 2005 și nu conținea tipuri în

virgulă mobilă

● CLDC 1.1 este cel actual și are suport pentru virgulă mobilă(mai ales într-un software

lent) și conține mai multe noutăți.

Se folosește pentru telefoanele mobile,de consum și dispozitive de divertisment,pentru

platforme integrate, controlere, senzori.

7

1. 7 “The symbian os architecture source book “ by Ben Morison

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 49

Profilurile

Acestea construiesc nivelul superior al unei configurații și sunt adaptabile și specializate

pentru dispozitive,tot mai dezvoltate si mai multe,într-o piaţă in continuă creștere, cum ar fi

telefoanele mobile Mobile Information Device Profile (MIDP).

Tot ele sunt” cele care definesc în mod eficient un contract între o aplicație şi un set de

dispozitive de acelaşi tip, de obicei, prin includerea bibliotecilor de clase care sunt mult mai

specifice domeniului decât cele disponibile în orice configurare speciala. “8

Profilurile sunt cele abordează probleme specifice de dispozitiv ca API și ca GUI,

memorie persistentă, funcționalități specifice de dispozitiv etc Cele mai multe profile populare

sunt Mobile Information Device Profile (MIDP), Profil Personal (PP) și Profil titlu personal

(PBP).

“Profilele sunt atasate configuratiilor, adaugând API-ul specific necesar crearii efective

a unei aplicatii.” 9

Clasificare :

Mobile Information Device Profile 1.0 (MIDP1) care Contine suport pentru sunet,are

grafice limitate

Mobile Information Device Profile 2.0 (MIDP2).

Voi enumare cateva diferente majore intre 4 profiluri,diferente specificate in urmatorul

site : 10

“MIDP 1.0

suport pentru sunet,

grafice limitate,

numai HTTP, nu Socket-uri

are multe extensii specifice furnizorului, care este un dezavantaj.

MIDP 2.0

joc API

Mai bună rețea șisuport multimedia

8 http://stst.elia.pub.ro/news/SOA/Teme_SOA_12_13/StanciuValerian/Symbian.pdf

9 http://thor.info.uaic.ro/~acf/java/slides/j2me1_slide.pdf

10 http://www.symbianresources.com/tutorials/javame/JavaME-01-Overview.pdf

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 50

11

MIDP 2.1

Încearcă să îmbunătățească problemele fragmentarii (versiune diferită pentru

fiecare telefon )

Specificații mai stricte pentru pachete

MIDP 3.0 (JSR 271)

MIDlet-uri multiple pot rulaîn același timp sau înfundal, auto-lansare

Specificații mai detaliate

Mai multe posibilități de UI,suport de ecrane secundare “

Profilurile impun cerinte minime pentru dispozitive ca dimensiunea ecranului,posibilitati

de introducere a datelor și anume

● O configurație detaliată

●Conține API-uri pentru UI(User Interface=Interfata utilizatorului), de manipulare

eveniment, de stocare a datelor,rețele, cronometre.

● Cerințe minime pentru dispozitive (dimensiunea ecranului, de introducere posibilități)

● Pentru telefoanele mobile: Mobile Information Device Profile (MIDP)

Care este relația între profiluri și configurații?

Profilul este suma tuturor configurațiile si a caracteristicilor de baza specifice dispozitivelor.

11 “The symbian os architecture source book “ by Ben Morison

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 51

6.1. MIDP 2.0 si CLDC 1.1

Pentru ca MIDP 1.0 era limitat,chiar daca a generat la inceput entuziasm,comunitatea

Java Wireless a dorit sa lucreze la consolidarea capacitatilor de MIDP,pentru ca limitarea primei

versiuni era legata de capacitatiile sale.

“Acest lucru s-a manifestat în MIDP 2.0 (JSR 118), lansat în forma sa finală în noiembrie 2002, şi o gamă de extensie API JSRs, toate făcând parte din Java Community Process. Aceste evoluţii oferă o creştere substanţială a funcţionalităţii disponibile pentru MIDlet-uri. În consecinţă, cea mai recentă versiune de Symbian OS (versiunea 7.0s) şi UIQ 2.1 au trecut la un singur concept tehnologic Java bazat pe J2ME CLDC şi MIDP 2.0 (API-uri suplimentare, plus J2ME opţional). J2ME MIDP este stabilit, în prezent ca platforma Java omniprezenta în aria de telefonie mobila şi, ca atare, Symbian va continua să evolueze şi spori posibilitatile de CLDC/MIDP pe care le ofera. “12

Pe de altă parte , multe dintre caracteristicile convingătoare ale platformei Java ME (

disponibile prin intermediul pachetelor documentate de procesul JSR) , cum ar fi grafice

multimedia și 3D , sunt disponibile numai pe telefoane relativ noi , care de obicei ruleaza pe

CLDC 1.1 și MIDP 2.0 sau 2.1 .

12

http://www.webdesigning.ro/java/javamobility.pdf

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 52

Specificațiile CLDC și MIDP ofera o bază solidă pe care se pot dezvolta cu incredere

jocuri.

Limitările platformei CLDC și MIDP sunt în multe feluri semnificative :de memorie ,

procesoare , crearea de rețele , și capacități grafice care pot restricționa activitățile de dezvoltare

în raport cu eforturile jocului . Acest lucru este în cazul în care apare o diferența reală dintre

dispozitivele de programare pentru micro și PC-uri sau console.

Implementarea platformei Java ME în sistemul Symbian Săraru Ștefania-Alexandra

Page | 53

Tool-ul de instrumente Sun Wireless:

Este bazat pe referinte de implementare CLDC 1.1 si MIDP 2.0

Suporta API-uri aditionale

Simplu si usor de utilizat

Are instrumente pentru performanta aplicațiilor

Pot fi personalizate pentru diverse dispozitive

Se integreaza cu Java IDE disponibile comercial IDE: Eclipse,Netbeans

Securitatea platformei Symbian Minea Maria-Adriana

Page | 54

Securitatea platformei Symbian

1. Introducere

Sistemul de Operare Symbian v9.0 a introdus Platforma de Securitatecu scopul de a

projata datele si integritatea telefonului. Acest model opereaza la nivelul software avand rolul

de detectare si prevenire impotriva aplicatilor neutorizate la hardware , software si de sistem

sau utilizatorul de date. Prin aceste mijloace se incearca a se evita problemele ce apar datorita

blocarii telefonului, compromiterea datelor de utilizator, sau care pot afecta alte softwar -uride

rețea.

Platforma de Securitate previne software-ul ce ruleaza pe Sistemul de Operare Symbian sa

actioneze in mod eronat.De fiecare dată cand se instalează o aplicație, Sistemul de Operare

Symbian de instalare verifică dacă cererea are capacități adecvate prin intermediul unei

semnături digitale emise de o autoritate de încredere1.

Din punct de vedere arhitectural, Platforma de Securitate prezinta un set de modificari ce

se regasesc la toate nivelurile, fiind susținute de SemnaturaSymbian, ce prevede un mijloc

pentru a crea o legătură formală între o aplicație și originea sa, precum și asigurarea unui

mecanism de revizuire pentru a promova cele mai bune practici în proiectarea și scrierea de

aplicatii Symbian OS .

Will Palmer, arhitect de sistem, responsabil cu proiectul platformei de securitate declara:

„Există trei principii pentru Platforma de Securitate.Primul principiu este unitatea de

încredere, ideea procesului de a fi unitatea de încredere. Deoarece memoria este deja

protejata per-proces pe procesor, care se potrivește destul de bine, și are, de asemenea,

avantajul de a fi o abordare „cel mai putin privilegiata”, bazata pe cel mai mic element din

sistemul de operare. Al doilea principiu este ideea capacităților , care au efect de jetoane

autorizate. Deci, pentru a putea accesa o resursă potențială, un proces trebuie să posede o

anumită capacitate care îi permite să facă acest lucru. Și al treilea principiu este cuștile de

date, care se refera la citirea și scrierea fișierelor de protecție, care protejează integritatea

datelor, precum și protecția datelor de ochii indiscreti”2.

Cele mai importante principii sunt:

Procesele ca unitate de încredere, care să transforme încredereaintr-o resursa de

sistem de proces granular

Capabilitati cum ar fi jetoane de incredere ,care sunt necesare pentru a efectua

acțiuni

Cuști de date, care protejează datele de ochii indiscreti sau interferență,sau ambele.

1„The Accredited Symbian Developer Primer - Fundamentals of Symbian OS” , John Wiley & Sons Ltd , 2006.

2“The Symbian OS Architecture Sourcebook - Design and Evolution of a Mobile Phone OS” ,John Wiley & Sons Ltd 2007.

Securitatea platformei Symbian Minea Maria-Adriana

Page | 55

Unitatea de încredere este definita prin faptul că toate firele într-un proces împărtășesc

același nivel de încredere .Scopul este acela de a proteja utilizatorii PC-urilor de intentiile rau-

voitorilor. Pentru o lunga perioda de timp Sistemul de Operare Symbian, a fost protejat

impotriva programelor software rău intentionate deoarece acesta a fost implementat in

dispozitivele ROM,in care sistemul nu putea fi corupt,acest lucru se datoreaza faptului ca

ROM permite doar citirea nu si scrierea. Datorita desing-ului său, Sistemul de Operare

Symbian este protejat impotriva unor lipsuri ce tin de securitate ce pot fi gasite pe alte

sisteme.

Dispozitivele mobile, in special telefoanele,sunt diferite față de sistemele desktop; atat

modul lor de acces fizic cat și accesul la rețea se face diferit. Pe de altă parte telefoanele

prezintă noi oportunități pentru soft-urile rau intentionate3.

Will Palmer este de părere că :

„Când randament modelului de a fost conceput a aparut existența unui set de

constrângeri cu privire la ceea ce a trebuit să ofere: a trebuit să fie robust, a trebuit să fie

simplu, și nu ar trebui să intre în modul de funcționare a unui telefon, astfel, de exemplu, nu

ai putea folosi sute de cicluri de ceas pe el, pentru că pe un dispozitiv mic aveți constrângeri

de performanță și putere. De asemenea, a trebuit să fie adecvate pentru un sistem de operare

deschis: oamenii trebuie să fie capabili sa instaleze software suplimentar pe telefoanele lor

și trebuie să fie simplu și ușor de înțeles.4”

Data Caging-ul (cuști de date), a fost ales pentru simplitate și economie (refindu-se in

acest caz la cicluri de ceas și de putere). O alta remarca importanta a fost cea ca mecanimele

de pe desktop-urile computerelor cu care userii sunt chiar multumiti, cum ar fi logging on , ar

fi nepotrivite pentru telefon.

Will Palmer sustine :

„Autorizatia bazata pe modelul de proces-capacitate este simplu de înțeles și se

potrivește cazului telefon mult mai bine decât un sistem de autentificare. Deci, într- un sistem

de autentificare vă conectați și cu parola pentru a te autentifica sistemului, și o dată

autentificat poți face orice este permis nivelului tau de autentificare. Dar un telefon este

diferit: acesta este un mediu cu un singur utilizator; este în buzunarul tău, îți aparține. Deși

lucrurile devin mai complexe acum, din cauza cerințelor pentru drepturi administrative. De

exemplu, operatorul de rețea ar putea să dorească să modificați setările de pe telefon.5”

Mecanismul de capacitate este folosit pentru a proteja atât resuresele"sistem" cat si pe cele

"utilizator".

3,4

“The Symbian OS Architecture Sourcebook - Design and Evolution of a Mobile Phone OS” , John Wiley & Sons Ltd 2007

5,6

“The Symbian OS Architecture Sourcebook - Design and Evolution of a Mobile Phone OS” ,John Wiley & Sons Ltd 2007.

Securitatea platformei Symbian Minea Maria-Adriana

Page | 56

Will Palmer rezumă diferența :

„Nu exista tipuri de capacități mai puternice decât altele, ele doar protejeaza lucruri

diferite. Capacitățile sistemului protejează integritatea părților interesate și a dispozitivului,

întrucât capacitățile de utilizator protejează intimitatea utilizatorului și bani.6”

API-urile protejate sunt marcate la metoda-nivel cu capacitatea necesară de a le exercita

și a avea acces la toate resursele care stau la bază (fișiere de date, de exemplu). Capacitățile

unei metode fac parte din interfața sa. Pentru a utiliza API-uri protejate, dezvoltatorii trebuie

să solicite un set adecvat de capacități, iar acest lucru se poate realiza prin intermediul

programului de Semnatură Symbian.

Unei aplicații "semnate",i se acordă un set de capacități. Capacitățile de aplicare sunt

verificate de servere atunci când API-urile protejate sunt apelate de aplicații.Software-ul

nesemnat este semnalizat pentru utilizator la momentul instalării ca fiind nesemnat (și, prin

urmare, nu este de încredere).Astfel, în timp ce aplicații nesemnate pot atribui orice capacități

de utilizator pentru orice binare cum crede de cuviință, utilizatorul este avertizat la timpul de

instalare șiîi ofera opțiunea de a aproba cererea sau nu.Aplicațiile nesemnate nu pot utiliza

capacitățile sistemului, acest lucru inseamnă că ele nu pot folosi API-uri care afectează

comportamentul dispozitivului. Securitatea datelor este asigurată pe o baza per cerere de

model „data-caging”.

2. Installer-ul nativ

Programul de instalare este un „ pinch point ” pentru a obține un adaus al pachetului

de programe instalate corect pe un Sistem de Operare Symbian v9 pe telefon. Motorul de

instalare software este furnizat de Symbian, stratul de interfață cu utilizatorul este adăugat de

producător de telefoane mobile, astfel încât controalele aratăfoarte diferit(de exemplu de la un

telefon S60 la un telefon UIQ). Instalatorul menționeaza adesea că programul de instalare

nativ indică faptul că se instalează software-ul ce ruleaza direct pe Sistemul de Operare

Symbian, mai degrabă decât pe straturile superioare (cum ar fi exemplul MIDlet-uri Java ce

rulează într-o Masină Virtuală Java).

Responsabilitățile cele mai importante ale software-ului de instalare sunt:

• Validarea și instalarea de pachete software native (cunoscute sub numele de fișiere SIS)

Securitatea platformei Symbian Minea Maria-Adriana

Page | 57

•Validarea software-ul livrat într-o formă pre-instalată pe carduri media

•Să se ocupe de upgrade-uri și mutări, și să ofere servicii de administrare a pachetelor pentru

restul platformei7.

Installer-ul efectuează o serie de verificări înainte de instalare pentru a verifica dacă

fișierul SIS nu a fost modificat și se verifică dacă capacitățile binare de aplicare nu le

depășesc pe cele permise, pe baza semnăturii, ce însoțește pachetul de SIS.

În cazul în care verificarea se face cu succes , instalatorul plasează fișierele în

directoarele „data-caging” corecte din telefon. Acesta este motivul pentru care instalorul este

cunoscut sub numele de'' gardian'' și face parte din TCB (Trusted Computing Base – Baza de

Calcul de Încredere ).

Introducerea în securitate a platformei pentru Sistemul de Operare Symbian v9 a

adăugat noi cerințe semnificative pentru instalarea software si instalarea pachetelor SIS cu

care acesta funcționează. Sistemul de Operare Symbian a avut posibilitatea de a restructura

structura de bază a dosarelor SIS, și a schimbat formatul intern de la edițiile anterioare. Acest

lucru înseamnă că fișierele SIS anterioare v9 nu sunt compatibile cu Sistemul de Operare

Symbian v9 de instalare software. Acest lucru poate părea a fi o lipsă mare de compatibilitate,

nici binare ce se regăsesc într-un fișier SIS vechi nu sunt compatibile cu cele necesare pentru

a rula pe Sistemul de Operare Symbian v9, din cauzabinarului„se sparge” noua versiune a

sistemului de operare introdusă. Varianta V9 de instalare software verifică binarele și

abandonează dacă întâlnește un stil vechi (anterior V9) incompatibil sau unul construit pentru

o sarcina greșită (de exemplu, un binar construit pentru a rula pe emulator într-un pachet

conceput pentru a instala codul pentru hardware, sau vice-versa).

3. Data Caging

Sistemul de fișiere Symbian OS este împărțit pentru a proteja fișierele de sistem

(deosebit de importante pentru buna funcționare a telefonului), date de aplicare (pentru a

preveni alte aplicații de la furtul de conținut cu drepturi de autor sau coruperea accidentală de

date) și fișiere de date cu caracter personal pentru utilizator (acestefișiere trebuie să rămână

confidențiale)8 .

Această partiționare este denumită „Data Caging”(cuștide date). Termenul de cuști se

referă la toate tipurile de fișiere, indiferent dacă conținutul este cod sau date, astfel că

Sistemul de Operare Symbian ar trebui sa fie numit ''cuști fișier''. Acesta nu este folosită de

întregul sistem defișiere, există unele zone publice, pentru care nu sunt necesare capabilități.

Cu toate acestea, unele directoare în sistemul de fișiere pot fi accesate numai cu ajutorul unor

capabilități, acestea sunt zonele private. Zonele private se află sub trei căi de nivel superior

speciale: \sys(sisteme), \resource(resurse) și \ private (privat).

Restricțiile de acces se aplică în directoarele și a subdirectoarelor din ele, în timp ce

accesul la toate celelalte căi rămâne public și nusunt necesare capacitățipentru a le citi , sau

pentru a le scrie.

7„The Accredited Symbian Developer Primer - Fundamentals of Symbian OS” , John Wiley & Sons Ltd , 2006.

8“Quick Recipes on Symbian OS - Mastering C++ Smartphone Development”, John Wiley & Sons Ltd ,2008.

Securitatea platformei Symbian Minea Maria-Adriana

Page | 58

Procesele TCB (Trusted Computing Base - Baza de calcul de incredere) au acces

complet de citire-scriere in toate directoarele9. Pentru alte procese, capacitățile necesare

pentru a citi sau a scrie in anumite directoare care sunt rezumate în tabelul ce va urma:

Figura 1. Data Caging siCapacitati10

.

Capacitatea de AllFiles permite acces de citire la întregul sistem de fișiere și acces de

scriere la toate subdirectoarele de \ private. Capacitatea TCB(Trusted Computing Base - Baza

de calcul de incredere) extinde această permisiune de acces de scriere la \ sys ,\ resource și

subdirectoarele lor.

Controalele de acces ale unui fișier sunt determinate în întregime de către locatia pe

care directorul o conține, indiferent de unitate, precum și capacitățile procesului de a încerca

să facă acest lucru. Nu este necesar sa aibă liste explicite de control al accesului pentru fiecare

fișier pentru a determina care procese se pot folosi. Acest lucru înseamnă, de asemenea, că,

dacă un dezvoltator doreste să limiteze accesul la un fișier, atunci doar trebuie să fie mutat

intr- un alt director11

.

Căi de „Caged file”: \sys

\ Sys \ bin-ul este locul unde toate programele binare (executabile) locuiesc.

Executabilele construite in ROM-ul telefonuluimobil circulă de la Z: \ sys \ bin, în timp ce

software-ul instalat este scris în directorul \sys\bin al unitatii C: sau directorul echivalent pe

suport detaşabil12

.

9, 11

„The Accredited Symbian Developer Primer - Fundamentals of Symbian OS” , John Wiley & Sons Ltd , 2006 10

“Quick Recipes on Symbian OS - Mastering C++ Smartphone Development”, John Wiley & Sons Ltd ,2008

12,12, 13, 14

„The Accredited Symbian Developer Primer - Fundamentals of Symbian OS” , John Wiley & Sons Ltd , 2006.

Securitatea platformei Symbian Minea Maria-Adriana

Page | 59

Pentru a verifica falsificarea de executabile instalate pe suport detașabil, întrucat

binarele ar putea fi modificate prin scoaterea cardului din telefon, C: \ sys \ hasheste folosit

pentru a stoca in siguranta amestecurile de binare.Doar codul de TCB are acces de read / write

in directorul \ sys și subdirectoarele acestuia, codul cu capacități AllFiles are acces de citire la

\ sys. Acest lucru asigură că doar codul de încredere poate accesa executabilele. Codul binar

stocat în altă parte pe telefon nu este executabil, pentru a proteja împotriva instalarii de

software-uri rau voitoare.O consecință a faptului că s-au solicitat toate codurile executabile,

pentru a fi instalate în \ sys \ bineste că potențialul de ciocnire a numelor de fișiere este

crescut. Dezvoltatorii trebuie să se asigure că binarele lor au nume unice, de obicei, prin

includerea SID sau UID3, care sunt unice pentru un binar.

Căi de „Caged file”:\resource

Directorul de \resource este doar pentru fișiere de resurse, care sunt strict pentru citire,

de exemplu: bitmap, fonturi și fișierele de ajutor. Numai TCB poate scrie în acest director,

pentru a furniza aplicații cu asigurarea că resursele lor de date nu vor fi corupte, fie accidental

sau deliberat. Nu sunt necesare capabilități pentru a citi din acest director13

.

Ca și în cazul prezentat mai sus, cazuldirectorului \sys, fișierele din directorul

\resource sunt fie construite în ROM-ul telefonului sau instalate pe media inscriptabil mai

târziu de către programul de instalare.

Căi de „Caged file”:\private

Fiecare proces are propria zonă de fișiere, sistemul de cuști ca un subdirector în

\private, pe fiecare unitate.Subdirectorul este identificat prin SID al EXE. Numai procesele cu

potrivire SID sau cei cu capacitate AllFiles posedă acces complet de citire-scriere in

director.Un DLL nu are propriul director privat, dar folosește pe cel al procesului de

încărcare.In Sistemul de Operare Symbian clasa de accesla serverul de fisiere oferă o metodă

prin care se descoperă numele călii private, numite RFS :: PrivatePath ()14

.

Exceptii

Un fișier de instalare. pkg poate fi utilizat de către alte părți pentru a specifica faptul că

datele să fie puse însubdirectorul\ private \ <sid> \ import de catre o altă aplicație, însă numai

în cazul în care importul subdirectorul există deja pe dispozitiv.

Securitatea platformei Symbian Minea Maria-Adriana

Page | 60

4. TCB și TCE

Platforma de securitate reprezinta definiția unității de încredere, fiind unul dintre

conceptele fundamentale în domeniul securității. Sistemul de Operare Symbian definește

procesul ca cea mai mică unitate de încredere. Procesele cele mai frecvente (aplicatii sau

servere) pot rula pe telefon în numele utilizatorului și pot fi construite în telefon de către

producător sau se pot fi instalate pe telefon, după ce au fost scoase pe piata spre a fi vandute.

Pe Sistemul de Operare Symbian, aceasta platforma ,controlează procesele și le

limitează la activitățile pentru care are privilegiile corespunzătoare. Sistemul va îndeplini o

cerere pentru un serviciu, doar dacă procesul are privilegiul necesar, deoarece fără privilegiile

corespunzătoare, procesul nu este considerat suficient de încredere. Procesul este considerat

ca fiind cea mai mică unitate de încredere, deoarece este unitatea de protecție a memoriei pe

Sistemul de Operare Symbian. Hardware-ul telefonului ridică o eroare de procesor daca

accesul intr-un proces se face printr-o adresa ce apartine unui spatiul virtual de adrese. Asadar

, Sistemul de Operare Symbianse asigură că un proces nu poate accesa direct orice alt spațiu

de adrese virtuale, deoarece se previne acest lucru de hardware.Astfel, protecția hardware-

asistată oferă baza modelului de software de securitate. Există, desigur, mecanisme pentru

schimbul de date între procesele de siguranță, iar acestea sunt mediate de către nucleu.

Sistemul de Operare Symbian are patru niveluri corespunzătoare de încredere care se

aplică proceselor ce rulează pe el , acestea variind de la cel mai de încredere pana la cel care

nu este deloc deîncredere. Acestea sunt prezentate mai jos după cum urmează:

Baza de calcul de incredere - the Trusted Computing Base (TCB)

Mediul de calcul de incredere - the Trusted Computing Environment (TCE)

Alta zona de incredere (semnata) software

Restul platformei (nesemnata, deci de neincredere)15

.

In cele ce vor urma se va discuta despre fiecare din aceste niveluri in parte :

Baza de calcul de incredere - the Trusted Computing Base (TCB)

TCB este partea de încredere din sistemul de operare Symbian, deoarece controlează

nivel scăzu de mecanismele de securitate și are responsabilitatea de a menține integritatea

sistemului. In cadrul codului TCB, Sistemul de Operare Symbian ruleaza la cel mai inalt nivel

de privilegii.InSistemul de Operare Symbian codul TCB este atent verificate pentru a se

asigura se comportă în mod corespunzător și poate fi considerat de încredere. TCB include

nucleul sistemului de operare, are grija de detaliile despre fiecare proces inclusiv inspectarea

setului de privilegii care îi sunt atribuite. Servarul de fisiere deasemenea face parte din TCB si

este folosit pentru a incarca codul programului intr-un proces. Informatiile privilegiate pentru

cod sunt stabilite de nucleu in timpul procesului de rulare. Cele mai multe telefoane Symbian

OS sunt '' deschise'', iar instalarea software-ului (SWinstall) face parte din TCB.Programul de

15

„The Accredited Symbian Developer Primer - Fundamentals of Symbian OS” , John Wiley & Sons Ltd , 2006.

Securitatea platformei Symbian Minea Maria-Adriana

Page | 61

instalare se execută atunci când un fișier este instalat la un pachet de fișier SIS.Acesta extrage

fișiere, incluzând binarele programului , de la pachet și are rolul important de validarea

privilegiilor cerute pentru binare de program împotriva semnăturii digitală a pachetului

respectiv. Mai exact Unitatea de Gestionare a Memoriei (MMU) precum și alte caracteristici

hardware legate de securitate sunt, de asemenea, parte din TCB16

.

Majoritatea bibliotecilor de utilizatori nu sunt incluse în TCB. Numai cateva dintre

acestea care trebuie să fie utilizate de către server de fișiere sau de instalare software (un

exemplu ar fi bibliotecile criptografie) sunt prezentate ca avand cel mai înalt nivel de

încredere17

.

Mediul de calcul de incredere - the Trusted Computing Environment (TCE)

TCE este de fapt software-ul de încredere furnizat în telefonul mobil de Symbian și

alți furnizori, (de exemplu de catre furnizorul de platforma UI și producătorii de telefoane).

Codul TCE este considerat de incredere si nu are nevoie sa ruleze la cel mai înalt nivel de

privilegii. Acesta oferea mai putine privilegii si este mai putin de incredere comparativ cu

codul de funcționare în cadrul TCB. În cadrul TCE, fiecare componentă are privilegiile

necesare pentru a efectua un set bine definit de servicii. Sistemul de OperareSymbian

limitează amenințarea reprezentată de orice defect dintr-un cod de server sau de posibilitatea

că ar putea fi compromisa,din baza de date. Codul TCE pune în aplicare, aceste servicii de

sistem în procesele de server. Atunci cand se selecteaza serverele caau anumite privilegii,

este posibil să se limiteze accesul la operațiunile sensibile de nivel scăzut și astfel preveni

abuzul prin alte procedee.

In continuare se prezinta un exemplu: consideram două componente ale TCE, serverul

fereastră și serverul de telefonie:

In primul caz, serverul cazul serverului de fereastra (WServ), acesta are acces privilegiat la

hardware-ul ecran, dar nu necesita acces la rețeaua de telefonie;In cel de-al doilea caz,

serverul de telefonie (ETEL) are acces privilegiat la driverul de dispozitiv de comunicare, dar

nu are nevoie sa acceseze hardware-ul ecranului.

Serverele TCE furnizeaza API-uri pentru software-ul din afara TCE oferind astfel

acces la al doilea nivel de servicii inferioare. Spre exemplu, o aplicație din telefon nu face

parte din TCE și nu are aceleași privilegii ca serverul de telefonie sau server fereastră,

deoarece nu comunică direct cu hardware-ul.18

Serverele sistemul de operare Symbian au o semnificatie foarte importanta in cadrul

arhitecturii de securitate a platformei reprezentand pentru acasta o piatra de temelie. Fiecare

16

„The Accredited Symbian Developer Primer - Fundamentals of Symbian OS” , John Wiley & Sons Ltd , 2006. 17

„The Accredited Symbian Developer Primer - Fundamentals of Symbian OS” , John Wiley & Sons Ltd , 2006. 18,

„The Accredited Symbian Developer Primer - Fundamentals of Symbian OS” , John Wiley & Sons Ltd , 2006.

Securitatea platformei Symbian Minea Maria-Adriana

Page | 62

server are datoria de a modera și de a proteja utilizarea resurselor de nivel scazut, pe care le

detine, siofera acces la resurse pentru clienții care rulează în procese de mai puțina încredere.

Software semnat

Majoritatea adaugarilor software se află în afara TCE, dar necesita anumite privilegii

pentru a utiliza serviciile oferite de TCE. De exemplu, software-ul care are nevoie de acces la

serviciile de rețea trebuie să deschidă un socket (priza) de rețea.Serverul de socket (ESOCK)

face parte din TCE și se ocupă de operațiunile de nivel scazut pe interfața de rețea. O aplicație

care dorește să deschidă o rețea de socket cere serverului de socket să facă acest lucru în

numele său. Serverul de socket mai intai va verifica daca cerinta de la un program a fost

acordata unui nivel adecvat de încredere, pentru că nu ar trebui să acorde pur și simplu acces

la toate codurile care doresc să deschidă socket-uri de rețea,altfel codul malitios ar putea ataca

reteaua sau alte dispozitive. Este important ca orice cerere prin care solicită un serviciu sa fie

considerat demn de încredere înainte ca cererea sa fie acordata. Atunci cand o autoritate

externa decide sa semneze o cerere pentru a permite sa efectueze actiuni(cum ar fi

deschiderea unui socket de rețea) de pe telefon, cererea nu este evaluata la fel de riguros ca și

un cod ce se execută în cadrul TCB sau TCE.Insasi codul sursa deobicei nu este inspectat linie

cu linie, desi anumite funcționalități de coduri testate și acreditate de dezvoltator sunt

verificate19

.

Software-ul nesigur

Nu se poate avea încredere în software-ul care nu este semnat, sau este „ auto-

semnat”( este semnat, dar nu de una dintre autoritățile Symbian fiabile), acasata încredere nu

poate fi determinată. Acest lucru trebuie considerat de neîncredere pentru Sistemul de Operare

Symbian. Aceasta nu înseamnă în mod special că software-ul este rău intenționat sau fără

valoare. Există multe operații utile care pot fi efectuate de pe un telefon fără a apela serviciile

de sistem, dar ar necesita un anumit nivel de privilegii. Sistemul de Operare Symbian face

numai controale de securitate acolo unde este necesar pentru a asigura integritatea sistemului

și de a proteja serviciile sensibile. Aceste controale cuprind circa 40% din toate sistemele de

operare ale API Symbian. Un joc de solitaire, de exemplu, nu poate efectua nici o acțiune care

accesează datele utilizatorului sensibile sau date sau servicii de sistem critice. Software-ul de

neîncredere poate fi instalat și poate rula pe telefon, dar este un '' sandboxed'' și nu se poate

efectua nicio acțiune care necesită privilegii de securitate20

.

In continuare se va reprezenta in relatia dintre TCB, TCE si platformei Sistemului de

Operare Symbian.

19, 20

„The Accredited Symbian Developer Primer - Fundamentals of Symbian OS” , John Wiley & Sons Ltd , 2006.

Securitatea platformei Symbian Minea Maria-Adriana

Page | 63

Figura 2. Etajele de incredere21

.

Cifra deliberata nu arata TCB ca centrul unui set de inele.

Deși nucleu poate fi în mod normal considerat ca ocupând poziția din imagine, unele

serviciile ale sale sunt disponibile pentru toate procesele.

În al doilea rând, server-ul de fișiere, ca si alte servere, este atât un client al kernel-ului și cat

si disponibil pentru alte procese.

Componenta de instalare software este indicat să se întinda perimetrul exterior, deoarece

acasta actioneaza ca un paznic pentru telefon.

21

„The Accredited Symbian Developer Primer - Fundamentals of Symbian OS” , John Wiley & Sons Ltd , 2006.

Page | 64

BIBLIOGRAFIE

1. Ben Morris, “The Symbian OS.Architecture Sourcebook”, John Wiley & Sons, Ltd, 2007;

2. Jane Sales, “Symbian OS Internals”, John Wiley & Sons Ltd, 2007;

3. Akhil James, “Symbian OS”, Seminar report, 2007;

4. Andrew S. Tanenbaum, “Modern Operating Systems”, Third Edition;

5. http://ro.wikipedia.org/wiki/Symbian_OS;

6. “Sisteme Multimedia”, Proiect, Universitatea Tehnică ”Gheorghe Asachi” Iași.

7. http://ro.wikipedia.org/wiki/Symbian_OS;

8. http://www.crhc.illinois.edu/wireless/assignments/simulations/appLayerControl.html

9. http://www.symlab.org/main/documentation/reference/s3/sdk/GUID-8F2D6AC8-8357-

55C7-970B-CD2684BA9B04.html

10. http://docs.huihoo.com/symbian/nokia-symbian3-developers-library-v0.8/

11. http://docs.huihoo.com/symbian/nokia-symbian3-developers-library-v0.8/GUID-

8F2D6AC8-8357-55C7-970B-CD2684BA9B04.html#GUID-8F2D6AC8-8357-55C7-970B-

CD2684BA9B04

12.http://docs.huihoo.com/symbian/nokia-symbian3-developers-library-v0.8/GUID-

7821C498-70A2-5D3C-989A-58CEBAE9162B.html

13. http://en.wikipedia.org

14. Developing Software for Symbian OS, Second Edition by Steve Babin

15. http://thor.info.uaic.ro/~acf/java/slides/j2me1_slide.pdf

16. http://en.wikipedia.org/wiki/Java_Platform,_Micro_Edition

17. http:/www.idsi.md/files/file/prezentari_practica_studenti/Telefoane%20Mobile.pdf

18. htt://www.j2mesalsa.com/elearning/MIDP.html

19. http:/andreea.uv.ro/dir/Vostinar/Referat/referat.htm

20. http://www.slideshare.net/zdmilan/cldc-hotspot-architecture

21.http://www.slideshare.net/SaurabhJain4/openclass-j2me-introduction-to-cldc-10

22. http://www.slideshare.net/eutie/j2me-step-by-step

23. http://www.slideshare.net/amaneiro/j2me

24. http://www.slideshare.net/edschepis/javame-development-workflow-jmdf-2007

25. http://control.aut.utcluj.ro/scd/lab3/laborator3_j2me.htm

26. http://www.cs.huji.ac.il/~ssd/J2ME/J2ME.htm

27. http://www.inf.unibz.it/~ricci/MS/slides-2010-2011/3-J2ME-GUI.pdf

28. http://www.slideshare.net/anupama12369/j2me-presentation

29. http://www.slideshare.net/muthusvm/midp-api

30. http://www.slideshare.net/surjeetk27/j2-me-beginner

40. http://mobiledevices.kom.aau.dk/uploads/media/An_Introduction_to_Java_ME.pdf

41. http://www.artima.com/designtechniques/hotspot.html

42. http://en.wikipedia.org/wiki/Abstract_Window_Toolkit

43. http://scdsd.bluepink.ro/2007-2008/scdsd/gs_I_j2me.pdf

Page | 65

44.http://jcp.org/aboutJava/communityprocess/ec-public/materials/2012-05-

1617/ME7_JCP_Brazil.pdf

45. http://www.blueboard.com/j2me/why.htm

46. http://www.oracle.com/technetwork/java/javame/index.html

47. https://blogs.oracle.com/java/entry/getting_started_with_oracle_java

48. http://www.blueboard.com/j2me/notes.htm

49. http://www.blueboard.com/j2me/links.htm

50. http://jcp.org/en/jsr/tech?listBy=1&listByType=platform

51. http://mobiledevices.about.com/od/glossary/g/What-Is-Java-Me.htm

52.https://www.princeton.edu/~achaney/tmve/wiki100k/docs/Java_Platform,_Micro_Edition.

html

53. http://pip.ac.tuiasi.ro/Doc/curs/Curs_01.pdf

54.ftp://202.5.194.21/SW_ebooks/GAME%20DEVELOP/Programming%20Java%202%20M

icro%20Edition%20for%20Symbian%20OS.pdf

55.http://www.oracle.com/technetwork/java/javame/javamobile/overview/about/index.html

56. http://www.oracle.com/technetwork/java/javame-old/nokia-137145.html

57. http://www.slideshare.net/andreasjakl/symbian-os-overview

58. http://www.slideshare.net/ezhilarasi46/symbian

59. http://img.pathfinder.gr/clubs/files/32296/9.pdf

60. http://www.slideshare.net/HatemMahmoud/introduction-to-symbian-os

61. http://www.slideshare.net/guest7e14b6a/symbian-os-1413049

62. http://www.webdesigning.ro/java/javamobility.pdf

63. http://www.oracle.com/technetwork/java/index-jsp-138820.html

64. http://www.oracle.com/technetwork/java/whatsnew-138562.html

65.http://www.developer.nokia.com/info/sw.nokia.com/id/3cfc525e-f0ec-491c-badd-

085c0e2df8bf/Java_ME_Developers_Library.html

66. http://thor.info.uaic.ro/~acf/java/slides/j2me1_slide.pdf

67. „The Accredited Symbian Developer Primer - Fundamentals of Symbian OS”, byJo

Stichbury and Mark Jacobs , John Wiley & Sons Ltd,2006.

68. “The Symbian OS Architecture Sourcebook - Design and Evolution of a Mobile Phone

OS” ,by Ben Morris, John Wiley & Sons Ltd , 2007.

69. “Quick Recipes on Symbian OS - Mastering C++ Smartphone Development”, by

Michael Aubert, with Alexey Gusev, Tanzim Husain, Jenny Mulholland, Antony Pranata,

JukkaSilvennoinen, Jo Stichbury, John Wiley & Sons Ltd , 2008.