tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/teme_soiii_2010/soembd/sisteme de operare...

48
Tema nr. 10 Studenţi implicaţi în redactare: Enache M. Marinel (cap. 1) coordonator Răileanu N. Ionuţ-Victor (cap. 2 /2.1) Tănăsel A.D. Andreea Laura (cap. 2/2.2) Teodorescu S. George (cap. 3) Burcea G. Roxana (cap. 4) ..:: 2010 ::..

Upload: others

Post on 06-Nov-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

Tema nr. 10

Studenţi implicaţi în redactare:

Enache M. Marinel (cap. 1) – coordonator

Răileanu N. Ionuţ-Victor (cap. 2 /2.1) Tănăsel A.D. Andreea Laura (cap. 2/2.2) Teodorescu S. George (cap. 3)

Burcea G. Roxana (cap. 4)

..:: 2010 ::..

Page 2: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

CUPRINS

1. Concepte fundamentale..................... 1 1.1 Introducere.............................................................. 1

1.2 Sisteme dedicate...................................................... 2

1.3 Caracteristicile sistemelor de operare embedded..... 5

1.4 Exemple de sisteme de operare dedicate.................. 9

2. Sisteme Linux embedded.................. 11 2.1 Caracteristici embedded Linux..................................11

2.2 Exemple de sisteme embedded Linux....................... 18

3. Sisteme Windows embedded.......26

4. Retele LIN..............................................................40

Page 3: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

1. Concepte fundamentale

1.1 Introducere

Un sistem de operare reprezintă o colecţie de programe, un ansamblu de proceduri speciale şi module de program de sistem, ca parte componentă a unui echipament sau a unui aparat automatizat, având drept scop administrarea resurselor de calcul ale sistemului cu asigurarea utilizării cât mai eficiente a acestora. Sistemul de operare este considerat ca o interfaţă între mediu hardware şi cel al programelor de aplicaţie sau utilizator. Interfaţa utilizator-echipamente Sistemul de operare este cel care trebuie să ofere posibilităţi de lansare în execuţie a programelor de aplicaţie cu alocarea resurselor necesare executării acestora, să asigure mari facilităţi la programele implementate diferitelor echipamente precum cele de planificare a execuţiilor şi asistarea acestora de utilizator. Pentru realizarea acestor procese complexe, sistemele de operare sunt organizate pe două niveluri : [1]

- nivelul fizic- destinat comunicării speciale între sistemul de operare si mediul

fizic reprezentat de partea hardware a sistemului, interferând cu acesta printr-un sistem de întreruperi.

- nivelul logic- menit să ofere utilizatorului un mijloc de comunicare, control şi

acces la echipamente, prin diverse aplicaţii special concepute sub forma unor utilitare, comenzi etc.

Sistemele de operare sunt numeroase şi diferă ca tip având în vedere utilizarea lor într-o gamă din ce în ce mai variată a aplicaţiilor necesare la un moment dat, astfel încât existenţa unui sistem de operare construit să garanteze funcţionarea unui echipament anume a dus la noţiunea de sisteme de operare încapsulate sau sisteme dedicate, sisteme embedded. [2] Majoritatea sistemelor de operare pot fi întâlnite cu uşurinţă la echipamente diversificate şi cu un grad mare de complexitate, fie că sunt utilizate în industrie sau destinate oricărui potenţial utilizator, ca pompe de petrol, avioane, automobile, ATM-uri(bancomate), echipamente video, audio etc.

1

Page 4: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

1.2 Sisteme dedicate

Un sistem dedicat reprezintă un sistem informatic realizat dintr-o combinaţie de structuri de calcul hard şi soft, din circuite electronice şi componente electromecanice capabile să realizeze funcţii specifice(dedicate unor aplicaţii), adesea cu constrângeri de calcul în timp real. Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar fi un computer personal este proiectat să fie flexibil şi să îndeplinească o gamă largă de nevoi ale utilizatorilor. Sistemele dedicate cunoscute şi sub numele de sisteme embedded (integrate) sunt controlate de una sau mai multe nuclee de procesare principale care sunt de obicei fie microprocesoare, microcontrolere sau procesoare de semnal digital (DSP). Deoarece un sistem încorporat este dedicat unor sarcini specifice, inginerii optimizează algoritmii, tehnicile de implementare şi obţinerea componentelor potrivite pentru a reduce mărimea şi costul produsului în schimbul creşterii fiabilităţii şi performanţei. Complexitatea acestor sisteme dedicate variază de la cea mai mică, valabilă pentru acele dispozitive realizate cu un singur cip (microcontroler), la cea foarte mare pentru acele sisteme care conţin mai multe unităţi de procesare, mai multe periferice şi reţele montate într-un şasiu mare sau chiar o incintă. De exemplu, sistemele de control ale traficului aerian pot fi privite ca nişte sisteme dedicate, chiar dacă acestea implică computere mainframe şi reţelele regionale şi naţionale între aeroporturi şi baze radar, având însă mai multe sisteme integrate în alcătuirea lor. [3]

• Microprocesorul – reprezintă un circuit electronic care înglobează toate funcţiile unităţii centrale de prelucrare (UCP) pe un singur cip (circuit integrat), fiind o componentă a unui microcalculator, având drept caracteristici puterea de procesare ridicată, complexitatea circuitelor şi flexibilitatea în aplicaţii.

Componente hardware utilizate în sistemele dedicate :

Acest circuit este rar folosit în sistemele dedicate, fiind o soluţie de implementare a microcalculatoarelor, mai exact a calculatoarelor personale.

• Microcontrolerul – Acest circuit este utilizat cu preponderenţă în

implementarea procesoarelor de date specifice sistemelor dedicate deoarece acesta deserveşte o aplicaţie bine precizată. Este un circuit VLSI ( Very Large Scale Integration) şi conţine pe un singur cip toate componentele de bază ale unui microcalculator precum unitatea centrală de prelucrare, memorii, dispozitive de intrare/ieşire, dispozitive periferice, astfel încât este caracterizat de o complexitate mai scăzută în raport cu cea a microprocesorului precum şi a aplicaţiilor soft rulate, oferind performanţe ridicate la un cost scăzut.

2

Page 5: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

• Procesorul numeric de semnal – reprezintă un microcontroler specializat deoarece este menit să îmbunătăţească performanţa în ceea ce priveşte execuţia mai rapidă a operaţiilor aritmetice, viteza şi precizia de procesare numerică a semnalelor. Majoritatea DSP-urile actuale sunt prevăzute cu dispozitive periferice şi de intrare/ieşire după modelul microcontrolerelor şi costul lor este relativ ridicat. Aceste modele de circuite sunt foarte importante în prelucrările multimedia, telecomunicaţii, comanda acţionărilor electrice. [4]

• ASIC (Application-Specific Integrated Circuits) – sunt circuite integrate realizate pentru aplicaţii particulare bine precizate şi destinate aplicaţiilor de serie mare datorită costului ridicat. De exemplu un cip folosit la rularea unui telefon mobil este un ASIC.

Implementări tehnologice pentru sisteme dedicate:

• ASSPd (Application-Specific Standard Products) – acestea sunt specifice

unor aplicaţii particulare dar care sunt adresabile unei clase largi de utilizatori faţă de ASIC, fiind o categorie de circuite integrate situată între circuite standard de uz general şi ASIC. [5]

• FPGA (Field Programmable Gate Array) – acesta reprezintă un dispozitiv

electronic având la baza sa componente logice şi conexiuni programabile, cu un consum ridicat de energie, fiind mai lent decât circuitele integrate ASIC şi incapabil să execute operaţii foarte complexe. Este un circuit care se programează după fabricare de utilizator folosind un limbaj hardware HDL. [6]

• SOC ( System on Chip) – tehnologia SoC prezintă mai multe avantaje în

raport cu circuitele integrate ASIC deoarece are un consum redus de la sursa de alimentare, fiabilitatea este sporită şi poate include pe acelaşi cip şi alte componente decât cele electronice cum ar fi cristalele de cuarţ şi microcomponente electromecanice, fapt ce determină un cost mai ridicat şi o utilizare specifică în realizarea aplicaţiilor de serie mare. O alternativă mai ieftină a SoC-urilor o reprezintă categoria de cipuri SiP (System in Package) în care mai multe cipuri sunt incluse în aceeaşi capsulă. [7]

• Sisteme integrate la scară mică: În această categorie intrând sisteme alcătuite dintr-un singur microcontroler de 8 sau 16 bit cu complexitate

Clasificarea sistemelor embedded Ceea ce face ca sistemele dedicate să difere între ele pot fi: operaţiile în timp real pe care le execută, dimensiunile, costul, fiabilitatea, consumul de energie care reprezintă un factor important al circuitelor integrate, astfel încât acestea se pot clasifica după cum urmează: [8]

3

Page 6: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

hardware şi software scăzută, care pot fi alimentate cu baterii şi a căror programare se poate face în limbaje de asamblare.

• Sisteme integrate la scară medie: Acestea pot fi formate dintr-un

microcontroler sau mai multe microcontrolere de 16 sau 32 bit, dar şi utilizarea unor DSP-uri sau a unor procesoare cu set redus de instrucţiuni RISC, poate fi un mijloc eficient de realizare. Se caracterizează prin complexitate hardware şi software şi pot fi programabile prin intermediul unor medii de dezvoltare ca RTOS, IDE ( Integrated Development Environment ).

• Sisteme integrate la scară mare: Sunt caracterizate de cel mai crescut grad

de complexitate hardware şi software, consum ridicat de energie şi programarea se face folosind software dedicat.

Configuraţie pentru un sistem dedicat În figură sunt reprezentate elementele principale existente unui sistem dedicat cu ajutorul cărora el poate interacţiona cu mediul extern, astfel încât pe lângă unitatea centrală de prelucrare şi memoria aferentă, se alătură o varietate de interfeţe pentru ca sistemul să poată măsura, manipula datele. [9]

Portul de diagnosticare poate fi folosit pentru diagnosticarea sistemului embedded controlat, de asemenea utilizarea tehnologiilor FPGA şi ASIC pot fi folosite pentru a spori performanţa şi fiabilitatea, iar programul este fixat având un rol bine precizat pentru aplicaţia creată.

4

Page 7: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

1.3 Caracteristici pentru sisteme de operare dedicate

Sistemele de operare pentru tehnologiile embedded diferă faţă de sistemele operare pentru calculatoarele personale prin faptul că sunt concepute să fie mai compacte şi mai eficiente datorită utilizări în scopuri precise şi diferite , acelea pentru care au fost create. De altfel sistemele de operare embedded sunt realizate să aibă dimensiuni mici şi să fie capabile să ruleze pe perioade mari de timp(ani) fără intervenţia manuală. Majoritatea sistemelor de operare dedicate sunt caracterizate de funcţionarea lor în timp real, ceea ce semnifică că evaluarea corectă a unor procese nu depinde doar rezultatul logic de prelucrare al datelor ci şi de execuţia a mai multor sarcini respectându-se anumite constrângeri de timp astfel încât sistemul să poată răspundă rapid la anumite procese şi evenimente externe urgente, să-şi poată schimba comportamentul la supraîncărcări ale componentelor electrice şi să treacă într-un regim de consum redus. Potrivit acestor prelucrări de date se deosebesc sistemele de timp real critice( hard real-time system ) şi sistemele de timp real necritice( soft real-time system ). Sistemele critice sunt foarte importante, iar soluţiile soft pentru modul real-time sunt complexe şi puternice deoarece neîndeplinirea unor constrângeri de timp poate fi considerată o eroare gravă, fatală pentru întreg sistemul având urmări catastrofale. Celelate sisteme, de timp real necritice, nu iau serios în considerare o neîndeplinire a unei constrângeri de timp, tolerând astfel de evenimente, care nu reprezintă o mare importanţă pentru decurgerea şi executarea proceselor într-un mod corect. Din cele prezentate se observă importanţa deosebită a sistemelor dedicate utilizate în timp real, care îndeosebi sunt destinate unor sarcini specifice complexe şi astfel se poate vorbi despre necesitatea stabilirii unor condiţii de îndeplinit în vederea proiectării unui astfel de sistem care să asigure o gestionare a resurselor integrată, tratând aspecte legate de constrângeri temporale, predictibilitate, adaptabilitate, corectitudine, toleranţă şi siguranţă. Astfel, un sistem de operare în timp-real trebuie să ofere un model care să permită specificarea constrângerilor temporare pentru toate tipurile de procese, să aibă un limbaj care să permită de asemenea luarea în considerare a comunicaţiilor asincrone cu exteriorul, să ofere protocoale speciale pentru gestiunea memoriei cât şi cele de comunicaţie luând în considerare constrângerile temporare dar şi mecanisme de sincronizare inter-taskuri şi de sincronizare de ceas. Caracteristică sistemelor de operare în timp real este procesarea mai mult sarcini simultan cunoscută sub numele de multitasking cu prioritizarea firelor de execuţie şi prezentarea mai multor nivele de întrerupere în etapele de calcul. Eficientizarea metodelor de calcul paralel şi de execuţie multiplă a sarcinilor se poate face prin mecanisme de divizare în timp. [10]-[11]-[12]

5

Page 8: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

În figura de mai jos se observă schema modelului multitasking potrivit căreia mai multe sarcini sunt gestionate de către sistemul de operare în timp real a căror execuţie este prezentă pe un singur procesor.

Modelul sistemului de timp real cu un sistem de operare SOTR Decizia de comutare a sarcinilor este luată de un nucleu multitasking, denumit şi kernel care decide ce sarcină trebuie îndeplinită, astfel încât operaţia în desfăşurare va fi salvată într-o zonă de depozitare (memorie), restaurează contextul noi sarcini din zona de depozitare şi revine la sarcina noua. [13] Kernelul este cel care administrează toate sarcinile denumite task-uri, iar cel mai important eveniment este comutarea lor, astfel încât se deosebesc 2 tipuri de kernele.

• Kernel nepreemptiv Acestui tip de kernel îi corespund taskurile care sunt nevoite să renunţe în mod explicit la controlul procesorului, permite întreruperi de latenţă scăzută, deoarece niciodată nu va fi dezactivat, are timpul de răspuns determinat de cel mai lung task, nu există supraîncărcare pentru protecţia datelor partajate, iar receptivitatea poate fi redusă , din cauza sarcinii de prioritate redusă pentru care este necesară o aşteptare îndelungată pentru eliberarea procesorului.

• Kernel preemptiv La acest tip, receptivitatea este bună, deoarece taskurile sunt obţinute pe baza unor priorităţi, astfel încât o sarcină de prioritate mare poate să înlocuiască o sarcină de prioritate mai mică pentru care s-ar necesita un timp mare de calcul. În aceste situaţii timpul de răspuns devine determinist, deoarece la următoarea clipă, sistemul de operare comută spre o nouă sarcină. Aici este important gradul de complexitate al programării, fiind realizată cu mare atenţie. [13]- [12]

6

Page 9: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

• Planificarea în timp-real Un element esenţial al sistemelor de operare în timp real îl reprezintă managerul de sarcini (manager task) care este compus din dispecerul de task-uri şi planificatorul de task-uri. Dispecerul de task-uri este o funcţie care salvează contextul task-ului care iese din rulare, determină task-ul care va intra în rulare şi restaurează contextul acestui task şi-l introduce în rulare. Planificatorul conţine funcţia de selectare corespunzătoare a sarcinilor folosind algoritmi speciali de planificare. În figura alăturată este exemplificată schema planificărilor împreună cu cei mai importanţi algoritmi de planificare în timp real pentru un sistem uniprocesor. [15]

Clasificarea algoritmilor de planificare uniprocesor Algoritmii de planificare se pot grupa în două clase şi anume: statici şi dinamici. Programarea statică necesită informaţia completă cu privire la problema de programare cum ar fi ( numărul de sarcini, termene limită, priorităti, etc.) cunoscută a priori, astfel încât problema este rezolvată înainte ca planificarea să fie executată. Acest tip de programare este cunoscută ca planificare anticipativă. Dacă la momentul execuţiei fezabilitatea poate fi determinată şi schimbările în configuraţie pot fi efectuate, atunci planificarea poate fi considerată dinamică. Programarea statică întotdeauna este planuită off-line. Programarea dinamică se poate face şi offline dacă problema programării complete e cunoscută a priori, dar cu o implementare online, adică configurarea este schimbată în timpul execuţiei, şi online când viitorul este necunoscut şi ignorat. [15]

7

Page 10: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

1. FPS ( Fixed-Priority Scheduling ) sau programare cu prioritate fixată

reprezintă modul în care fiecare sarcină are o prioritate stabilită şi aceasta este calculată în timpul pre-execuţiei, astfel încât sarcinile rulabile vor fi executate în ordinea determinată de priorităţile lor.

2. RMS ( Rate Monotonic Scheduling ) sau rata de programare monotonă

folosită în cazul sarcinilor periodice care se rezumă la execuţia sarcinilor de prioritate mare asociată sarcinilor cu perioada cea mai mică.

3. DMS ( Deadline-monotonic priority assignment ) reprezintă prioritatea

politicii de alocare utilizată astfel încât sarcinile cu durată mică să capete cea mai mare prioritate.

4. EDF ( Earliest Deadline First Scheduling ) este un algoritm dinamic ce

plasează procesele într-un şir prioritar astfel încât ori de câte ori are loc un eveniment de programare ca sfârşitul unei sarcini, sarcină nou lansată, etc. , şirul va fi verificat pentru procesul apropiat de propria durată limită.

5. LLF ( Least Laxity First ) reprezintă un algoritm optim pentru programarea

sarcinilor anticipative unde laxity(relaxarea) reprezintă diferenţa între durata limită şi timpul rămas pentru execuţie.

6. MUF ( Maximum Urgency First ) este algoritmul ce atribuie fiecărei

sarcini o descriere explicită de urgenţă, ce poate fi definită ca o combinaţie a două priorităţi fixate şi o prioritate dinamică care este invers proporţională cu “relaxarea” sarcinii. Una din priorităţile fixate este numită sarcină de criticitate şi are prioritate mai mare faţă de prioritatea dinamică. Cealaltă prioritate fixată numită prioritatea utilizator se află sub prioritatea dinamică. Criticitatea este de ajutor pentru distingerea sarcinilor mai importante decât altele. De reţinut este faptul că toţi algoritmii dinamici enunţaţi nu sunt optimi dacă nu există preempţiunea nu este permisă sau sistemul include mai multe procesoare.

7. SJF ( Shortest Job First ) este o metodă nepreemptivă în care procesul în

aşteptare cu cel mai mic timp estimat până la finalizare este următorul rulat.

8. SRT ( Shortest Remaining Time ) este o metodă de planificare a unităţii centrale de prelucrare fiind versiunea preemptivă a SJF, în care algoritmul constă în faptul că procesele cu cel mai mic timp până la finalizare sunt selectate pentru execuţie

9. RR ( Round Robin ) este unul dintre cei mai simpli algoritmi pentru

procesele din sistemele de operare, care atribuie porţiuni de timp pentru fiecare proces în părţi egale şi în ordine circulară, manipulând toate procesele fără prioritate.

10. HRRN ( Highest Response Ratio Next ) acest algoritm previne amânarea

nedeterminată. De fiecare dată când o sarcină este trecută peste pentru programare, raportul său de răspuns este ridicat şi eventual acesta va fi expediat. [15]

8

Page 11: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

1.4 Exemple de sisteme de operare dedicate

Sistemele de operare în timp real au evoluat de la sisteme bazate pe o planificare ciclică, la noile medii de operare performante, unde standardul POSIX a avut contribuţia cea mai semnificativă. În consecinţă, există o proliferare a versiunilor comerciale şi gratuite de sisteme de operare în timp real astfel încât putem enumera câteva exemple ca: μITRON OS, OSEK-VDX, Vx-Works, VRTX, Lynx OS, OSE şi QNX , dar şi variante gratuite ca: RT-linux (RTAI), Windows CE. [14]

• Acest sistem de operare este o variantă de OS embedded cu caracteristici complete de conformitate POSIX, şi prezintă compatibilitate cu Linux, fiind scalabil, preemptibil şi utilizat în mod special în sistemele embedded în timp real destinate unor aplicaţii aerospaţiale, militare, industriei de control al proceselor precum şi în telecomunicaţii.

Lynx OS

• Acesta este un SOTR specific sistemelor embedded rezultat din proiectul TRON (The Real Time Operating System-Nucleus). Companiile participante la implementare sunt cele ca Fujitsu, Hitachi, Mitsubhishi, Sony, etc.

μITRON

• Este un sistem de operare pentru platforme integrate ( embedded ) folosit în industria de automobile cu preponderenţă în Europa, garantând siguranţa şi stabilitatea în utilizarea pe automobile, fiind adoptat de organizaţii ca: BMW AG, Opel AG, Renault SA, Siemens AG, Volkswagen AG.

OSEK-VDX

• Este un sistem de operare în timp-real foarte fiabil produs de cei de la Mentor Graphics, fiind primul certificat în conformitate cu US FAA strict RTCA/DO-178B nivel standard A, pentru sistemele aerospaţiale. Acesta este bazat pe rularea unui Nanokernel, de înaltă tehnologie, care să asigure un răspuns rapid şi predictibil.

VRTX

• Acesta este cea mai populară şi mai completă variantă comerciabilă de sistem de operare în timp-real (de la Wind River Systems) în industria integratelor cu porturi pentru aproape toate procesoarele de pe piaţă.

Vx-Works

9

Page 12: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

Reprezintă sistemul de operare embedded de la Microsoft pentru PC-uri minimale sau pentru procesoare integrate mici. [14] În concluzie dacă aplicaţiile embedded de timp real din primele generaţii erau simple şi presupuneau algoritmi foarte sofisticaţi sau prelucrări complexe, azi acestea au evoluat ca urmare a cercetărilor şi rezultatelor deosebite din acest domeniu şi astfel a fost necesară creşterea performanţelor dispozitivelor integrate pentru proiectarea unor aplicaţii critice de siguranţă şi predictibilitate deosebită precum: sisteme de apărare naţională, sisteme de control ale traficului aerian, sisteme de apărare spaţiale, largi sisteme de comandă şi control în producţie, etc.

BIBLIOGRAFIE:

Windows CE

[1]- http://en.wikipedia.org/wiki/Operating_system [2]- http://jdurrett.ba.ttu.edu/courseware/opsys/os01.htm [3]- http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.3522 [4]- http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.95.9879 [5]- http://en.wikipedia.org/wiki/Application-specific_integrated_circuit [6]- http://en.wikipedia.org/wiki/Field-programmable_gate_array [7]- http://en.wikipedia.org/wiki/System-on-a-chip [8]- http://www.slideshare.net/murugan_m1/embedded-system-basics [9]- http://www.ece.cmu.edu/~koopman/iccd96/iccd96.html [10]- http://www.google.com/books?id=c_F2ckT-ZVsC&printsec=frontcover&dq=real+time+concepts+for+embedde+system&hl=ro&cd=1#v=onepage&q&f=false

[11]- http://www.ece.cmu.edu/~koopman/des_s99/real_time/ [12]- http://en.kioskea.net/contents/systemes/sysintro.php3

[13]- http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.62.3202 [14]- http://users.soe.ucsc.edu/~sbrandt/rtss2000/proceedings/16.pdf [15]- http://ascc2004.ee.mu.oz.au/proceedings/papers/P150.pdf

10

Page 13: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

2. Sisteme embedded linux 2.1 Caracteristici Embedded Linux

2.1.1 Introducere

Embedded Linux este utilizarea Linux în sisteme informatice integrate, cum ar fi telefoanele mobile , Personal Digital Assistant , playerelor multimedia şi alte dispozitive electronice de consum, reţele de echipamente, masini de control, automatizari industriale , echipamente de navigaţie şi instrumente medicale. Conform sondajului realizat de Capital Development Corporation, Linux a fost folosit de 18% din ingineri embedded.

2.1.1.1 Diferenţe faţă de alte sisteme de operare Linux

Spre deosebire de desktop şi versiunile de Linux server, versiunile de Linux embedded sunt concepute pentru dispozitive cu resurse relativ limitate. Datorită preocupărilor cum ar fi costul şi dimensiunea, numărul dispozitivelor embedded au, de obicei, mult mai puţin RAM şi spatii de stocare secundare decât calculatoarele de birou, şi sunt susceptibile de a folosi memorie flash în loc de un hard-disk . Deoarece dispozitivele integrate servesc scopuri specifice, mai degrabă decât să servească scopuri generale, dezvoltatorii îşi optimizeaza dispozitivele embedded Linux special pentru configuraţii hardware specifice şi situaţii de utilizare. Aceste optimizări pot include reducerea numărului de drivere şi aplicaţii software , şi modificare a kernel-ului Linux pentru a fi un sistem de operare in timp real.

În loc de o suită completă de aplicaţii software de birou, sistemele embedded Linux folosesc adesea un mic set de software gratuit de utilităţi, cum ar fi busybox , şi înlocuiesc biblioteca glibc standard C, cu o alternativă mai compacta, cum ar fi dietlibc , uClibc , sau Newlib.

2.1.1.2 Dezvoltare

Linux a fost portat la o varietate de procesoare nu potrivite pentru utilizarea ca procesor de computere desktop sau server, cum ar fi diverse

CPU-uri , inclusiv ARM,

avr32 , Blackfin , cris , frv , h8300 , IP7000 m32r , m68k , MIPS , mn10300 , PowerPC , sh , sau xtensa procesoare, ca o alternativă la utilizarea unui proprietar de sistem de operare şi

toolchain.

Avantajele Linux embedded, fata de alte sisteme de operare integrate, nu includ drepturi de autor sau taxe de acordare a licenţelor, un nucleu stabil, o bază de sprijin care nu este limitat la angajaţii unei companii de software unic, şi capacitatea de a modifica şi redistribui

codul sursă . Dezavantajele includ o amprentă de memorie mai mare comparativ (kernel-ul şi sistemul de fişiere rădăcină), complexitatea modului de utilizare şi nucleu modul de acces kernel la memorie si complexitatea driverelor dispozitivelor framework.

11

Page 14: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

2.1.1.3 Grupurile de interese speciale

Mai multe grupuri din industrie s-au format pentru a încuraja utilizarea Linux în aplicaţii embedded. Acestea includ: CE Linux Forum , fondata in anul 2003 pentru a ajuta includerea de caracteristici embedded în ramura principală a kernel-ului Linux; Linux Foundation (fostă Open Source Development Labs ); Linux Telefon Standarde Forum , creat în 2004 pentru a urmări o serie de aplicaţii standard medii pentru telefoane mobile bazate pe Linux şi "dispozitive convergente"; Fundatia LiMo , fondată în 2006 de către Motorola , NEC , Panasonic , Samsung , DoCoMo , şi Vodafone pentru a stabili un set de interfeţe şi componente standard de referinţă pentru a îmbunătăţi a terţa parte a dezvoltatorilor de telefoane mobile.

Dezvoltarea Embedded Linux implică în general trei nivele: bootloader, kernel-ul Linux, şi interfaţa grafică de utilizator (sau GUI)

http://en.wikipedia.org/wiki/Embedded_Linux

2.1.2 Bootloader

Bootloader este situat pe primele adrese.

Una dintre cele mai importante componente pentru orice aplicatie embedded este Bootloader. Principalele sale funcţii sunt: initializare hardware, încărcarea şi pornirea Kernel-ului din memoria ROM. Memoria ROM este folosita pentru că este un memorie non-volatila (nu are nevoie de putere pentru a menţine conţinutul).

http://dev.emcelettronica.com/embedded-linux-linux-operating-system-microcontrollers

Bootloader-ul este de obicei prima bucată de cod care va fi executat pe orice hardware. În sistemele convenţionale cum ar fi desktop-uri, aplicaţia bootloader este în mod normal, încărcata în zona MBR (Master Boot Record), sau primul sector de pe hard unde este instalat Linux. În mod normal, BIOS-ul transfera controlul la bootloader în cazul desktop-urilor sau altor sisteme. Acest lucru pune o întrebare interesantă: cine încarcă bootloader pe dispozitive embedded, care (în majoritatea cazurilor) nu au BIOS? Două tehnici de ordin general sunt utilizate pentru a aborda această problemă: software specializat şi tiny bootcode.

12

Page 15: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

2.1.2.1 Software-ul de specialitate poate interacţiona direct cu un dispozitiv flash şi instaleaza bootloader-ul la orice locaţie din flash. Dispozitivele flash sunt cipuri speciale care se comportă ca dispozitive de stocare şi care sunt persistente - conţinutul nu este şters la reboot.

2.1.2.2 Unele clase de dispozitive embedded au tiny bootcode - pe ordinea de câtiva octeţi - care va iniţializa unele setări DRAM şi activeaza un port serial (sau USB sau Ethernet) la ţintă pentru a comunica cu programele gazdă. Programele gazdă pot utiliza aceasta conexiune sa transfere bootloader-ul la ţintă, unde este scris in flash.

După ce este instalat şi are controlul, aplicaţia bootloader efectuează următoarele tipuri de funcţii:

• Iniţializeaza viteza procesorului • Iniţializeaza memoria, aceasta include activarea bancurilor de

memorie,initializeaza registrele de configurare din memorie, şi aşa mai departe

• Iniţializeaza portul serial (dacă este prezent) • Activează instrucţiuni / date caches • Seteaza indicatorul de stiva • Seteaza zona parametrilor, construieste structura parametrilor si taguri (acesta

este un pas important, pentru ca parametri de boot sunt utilizati de către kernel pentru identificarea dispozitivelor rădăcină, dimensiunea paginii, dimensiunea memoriei)

• Efectueaza POST (Power On Self Test) pentru a identifica dispozitivele prezente şi de a raporta orice problema

• Furnizeaza sprijin pentru suspendare / reluare pentru gestionarea consumului • Salt la începutul kernel-ului

Un aspect tipic de memorie a sistemului cu bootloader, structura parametru, nucleu, sistem de fişiere ar putea fi, după cum urmează: Aspect tipic de memorie: /* inceputul memoriei */ Bootloader Zona de parametrii Kernel Sistem de fisiere /* sfarsitul memoriei */

După ce bootloader-ul este instalat în flash, acesta îndeplineşte toate initializarile pe care le-am menţionat mai înainte. Apoi, este gata să primească kernel-ul şi sistemul de fişiere de la gazdă. Odată ce kernel-ul este încărcat, bootloaderul transfera controlul kernel-ului.

3.1.2.3 Înfiinţarea unui toolchain

Înfiinţarea unei toolchain creează un mediu pe o maşină gazdă pentru compilarea kernel-ului şi acele aplicaţii care urmează să fie executate - acest lucru se datorează faptului că hardware-ul ţintă poate sa nu aibe nivel binar de executie compatibil cu gazda.

Un toolchain este format dintr-un set de componente folosite pentru compilarea, asamblarea, si legarea kernel-ul şi aplicaţiilor. Aceste componente includ:

13

Page 16: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

• Binutils - O colectie de utilitare pentru manipularea fişierelor binare. Acestea includ utilitare cum ar fi ar, ca, objdump,objcopy, şi aşa mai departe.

• GCC – compilatorul C GNU. • Glibc - biblioteca C la care se leaga toate aplicatiile. Kernel-ul şi alte lucruri

care evita utilizarea oricarei biblioteci C pot fi compilate fără ea. http://www.ibm.com/developerworks/library/l-embdev.html#ibm-pcon 2.1.3 Kernel

Kernel-ul este compilat pentru sistemul ţintă, apoi este încărcat în memoria de sistem (fie în DRAM sau în Flash), folosind bootloader-ul (care a fost deja încărcat in flash). Bootloaderul comunică cu gazda folosind port serial, ESB, sau port Ethernet pentru a transfera imaginea de kernel în flash sau DRAM. După ce kernel-ul este complet încărcată la ţintă, aplicaţia bootloader paseaza controlul la adresa de unde kernel a fost încărcat.

Kernel-ul executabil este format din mai multe fişiere obiect legate împreună. Fisierele obiect au mai multe sectii, cum ar fi text, date, date de iniţializare, bas, şi aşa mai departe. Aceste fişiere obiect sunt legate şi încărcate de un dosar cunoscut ca un script de linker. Funcţia de script-ului de linker este de a mapa secţiuni ale fişierelor obiect de intrare într-un fişier de ieşire, cu alte cuvinte, se leagă toate fişierele obiect de intrare într-un singur executabil ale căror secţiuni sunt încărcate la adresele indicate. vmlinux.lds este scriptul de linker al kernel-ului prezent în arch/ <target> / director, şi este responsabil pentru conectarea diferitelor secţiuni ale kernel-ului şi încărcarea lor la un anumit offset în memorie. Un vmlinux.lds tipic arata astfel: OUTPUT_ARCH(<arch>) /* <arch> include tipul arhitecturii */ ENTRY(stext) /* stext este punctual de intrare al kernelului */ SECTIONS /* SECTIONS comanda descrie aspectul fisierului de iesire */ { . = TEXTADDR; /* TEXTADDR este LMA pentru kernel */ .init : { /* initializeaza codul si datele*/ _stext = .; /* prima sectiune este stext apoi sectiunea __init data */ __init_begin = .; *(.text.init) __init_end = .; } .text : { /* segmentele de text real urmeaza sectiunea __init_data */ _text = .; *(.text) _etext = .; /* sfarsitul selectiei textului */ } .data :{ _data=.; /* sectiunea de date vine dupa sectiunea de text */ *(.data) _edata=.; } /* sectiunea de date se termina aici */ .bss : { /* sectiunea BSS urmeaza sectiunea symbol table */ __bss_start = .; *(.bss) _end = . ; /* sectiunea BSS se termina aici */ } }

LMA este load module address; ea semnifică adresa în memoria virtuala unde

kernel-ul va fi încărcat. TEXTADDR este adresa virtuala de start a kernel-ului şi

14

Page 17: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

valoarea sa este specificată în Makefile sub arch / <target> /. Această adresă trebuie sa se potrivească cu adresa bootloader.

Odată ce bootloader-ul copiaza kernel-ul in flash sau DRAM, kernel-ul este mutat la TEXTADDR- care este, de obicei în DRAM. Bootloader transfera apoi controlul la această adresă, astfel încât kernel-ului poate incepe executarea.

Drivere pentru dispozitive Sistemele integrate au de obicei o serie de dispozitive pentru interacţiunea cu

utilizatorul, cum ar fi touchscreen, tastaturi, senzori, interfeţele RS232, LCD-uri, şi aşa mai departe. În plus faţă de acestea, există multe alte dispozitive specializate, inclusiv flash, USB, GSM, şi mai mult. Kernel-ul controleaza - şi aplicaţiile de utilizator, inclusiv accesul GUI - toate aceste dispozitive prin intermediul driverelor respectivelor dispozitive.

Sisteme de fişiere pentru dispozitive integrate Sistemul are nevoie de o modalitate de a stoca şi prelua informaţiile într-un

format structurat; aici intervine sistemul de fişiere. Ramdisk este un mecanism pentru crearea si montarea sistemelor de fişiere cu ajutorul memoriei RAM a calculatorului şi este utilizat de obicei în Sisteme fără disc (inclusiv, desigur, dispozitivele embedded mici care conţin cipuri flash pentru stocare persistentă).

Utilizatorul poate alege tipul de sistem de fişiere bazat pe nevoi: de fiabilitate, robustete, şi / sau caracteristici îmbunătăţite. http://www.linux.it/~rubini/docs/kconf/ http://www.ibm.com/developerworks/library/l-embdev.html#ibm-pcon 2.1.4 Interfaţă grafică pentru utilizator (GUI) opţiuni

Interfaţă grafică pentru utilizator (GUI) este cel mai esential aspect al sistemului din punctul de vedere al utilizatorului: utilizatorul interacţionează cu sistemul prin intermediul GUI. Deci GUI ar trebui să fie uşor de utilizat şi destul de fiabil. Dar, de asemenea, trebuie să aibe memorie constienta pentru a executa perfect pe memorii constrânse, mici dispozitive embedded. Ca urmare, acesta trebuie să fie uşor şi foarte rapid în timpul încărcării.

Un alt aspect important este să ia în considerare problema de acrodare a licentelor. Unele distribuţii GUI au licenţe care le permit să fie folosite, chiar şi în produse comerciale, cu titlu gratuit. Altii cer ca drepturile de autor să fie plătite, în cazul în care GUI este implicat într-un proiect.

În final, cel mai probabil, dezvoltatorii vor opta pentru XFree86, deoarece acesta oferă un mediu familiar pentru ei de a folosi instrumentele lor preferate. Dar GUI noi pe piata ca Software Microwindows Century (nano-X) şi a lui QT Trolltech / embedded le dau o durere de cap firmelor care se ocupa cu Linux embedded în principal din cauza amprentelor mici precum si viteza de executie. 2.1.4.1 XFree86 4.X (X11R6.4 cu suport pentru framebuffer)

Proiectului XFree86, Inc este o organizaţie care produce XFree86, cu distributie în mod liber, cu sursa deschisa X Window System. X Window System (X11), oferă resurse pentru aplicatii ca sa se afiseze intr-o maniera grafica, şi este cel

15

Page 18: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

mai frecvent utilizat de sistemul UNIX şi-like boxes UNIX. Acesta este mic şi eficient, ruleaza pe o gamă largă de hardware, este transparent fata de retea, şi este bine documentat. X11 ofera facilitati puternice pentru gestionarea ferestrelor, manipularea evenimentelor, sincronizare. Dezvoltatorii sunt deja familiarizati cu API-urile sale. Are suport inclus pentru framebuffer-ul kernel, şi o amprenta foarte mica - ceea ce este foarte util pentru dispozitive cu mai putina memorie. XServer suportă şi VGA, non VGA carduri grafice, are suport pentru adâncimi 1, 2, 4, 8, 16 şi 32, şi a construit un suport pentru redare. Cea mai recentă versiune este de XFree86 4.1.0. Avantaje:

• Utilizarea vitezei arhitecturii pentru framebuffer. • Relativ mici amprente - mărimea este în intervalul de la 600 la 700 kilobytes,

ceea ce îl face uşor pentru a rula pe dispozitivele mici. • Suport foarte bun: o mulţime de documente să fie disponibile on-line, există,

de asemenea, o serie de liste de corespondenţă pentru dezvoltarea XFree86. • API X este foarte bogată.

Dezavantaje: • performanţă mai mica decât cel mai recent embedded GUI. • Din nou, în comparaţie cu cele mai noi evoluţii în GUI - cum ar fi nano-X sau

QT / embedded, care sunt concepute special pentru mediul embedded - XFree86 are cerinte mari de memorie.

2.1.4.2 Microwindows

Microwindows este un proiect open source din Century Software care este proiectat pentru dispozitivele mici cu unităţile de afişare mici. Are o multime de caracteristici care vizează mediul grafic de ferestre moderne. Microwindows este acceptat pe o varietate de platforme.

Arhitectura Microwindows este bazata pe client / server si are un aspect in straturi. La nivelul cel mai scăzut sunt ecranul şi driverele dispozitivului de intrare (ca şi pentru tastatura sau mouse) să interacţioneze cu hardware-ul real. La nivel de mijloc, un motor grafic portabil oferă sprijin pentru elemente grafice.

La nivelul cel mai de sus, Microwindows suporta doua API-uri: Win32/WinCE API, precum şi Nano-X,care este folosit pe Linux.

Microwindows are suport pentru 1, 2, 4, şi 8 BPP (biţi per pixel) display-uri paletizate, precum şi 8, 15, 24, şi 32 display-uri trucolor BPP. De asemenea, Microwindows suportă framebuffer-ul, ceea ce îl face destul de rapid. Amprenta serverului Nano-X este undeva în jur de 100 - 150 kilobytes. Avantaje:

• Spre deosebire de implementarea Xlib, nano-X încă rulează sincron pe client, ceea ce înseamnă că, o dată ce o cerere pachet este trimisa de client, serverul aşteaptă până cand intregul pachet a sosit, înainte de a servi un alt client. Acest lucru ţine codul extrem de simplu, în timp ruleaza foarte repede.

• Amprente mici Dezavantajele:

• Caracteristicile Networking nu sunt corect reglate încă (în special transparenţa fata de reţea).

• Nu multe aplicatii sunt disponibile. • Comparativ cu X, nano-X nu are documentaţia mare şi nu suporta la fel de

bine – dezvoltarea este foarte rapida, astfel încât aceasta se poate schimba.

16

Page 19: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

2.1.4.3 API FLTK pe Microwindows

FLTK este un simplu, dar flexibil GUI toolkit, care câştigă o atenţie sporită în lumea Linux, în special pentru mediile cu amprenta mica. Acesta oferă cele mai multe widget-uri pe care le-ar aştepta de la un set de unelte GUI precum butoane, casete de dialog, casete de text, şi o frumoasă selecţie de "evaluatori" (widget-uri folosite pentru introducerea valorilor numerice). Acestea includ bare de defilare, cadrane, şi alte câteva.

Versiunea pentru Linux a FLTK vizat pentru motorul GUI Microwindows este cunoscut ca FLNX. FLNX este alcătuit din două componente: Fl_Widget şi FLUID. Fl_Widget cuprinde toate API-urile de widget de bază. FLUID (Fast Light User Interface Designer) este un editor grafic utilizat pentru producerea de cod sursă FLTK. În total, FLNX este un excelent constructor UI, care poate fi folosite pentru a crea aplicatii pentru mediile integrate.

Amprenta lui Fl_Widget este de aproximativ 40 - 48 K şi FLUID (care include fiecare widget), cantareste aproximativ 380 K. Aceste amprente foarte mici fac Fl_Widget şi FLUID foarte populari în lumea de dezvoltare embedded. Avantaje:

• Oricine este obişnuit cu dezvoltarea de aplicatii GUI bazate pe mai multe medii stabilite ca Windows se va adapta la mediul FLTK destul de uşor.

• Documentaţia sa include un manual foarte complet şi bine scris. • Acesta este distribuit sub LGPL, pentru ca dezvoltatorii sa aibe flexibilitate in

modul in care pun licenta pe aplicatiile lor. • FLTK este o biblioteca C + +. Alegerea unui model orientat pe obiect este

buna, iar mediile cele mai moderne GUI sunt orientate pe obiect; aceasta ar trebui să faciliteze, portarea cererilor scrise la API-uri similare.

• mediul Century oferă mai multe facilităţi utile, cum ar fi ScreenTop şi browser-ul ViewML.

Dezavantaje: • În timp ce FLTK functioneaza atat cu X şi API-uri Windows, FLNX nu

functioneaza. incompatibilitatea sa cu X împiedică adoptarea sa în multe proiecte.

http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Embedded-Linux-Graphics-Quick-Reference-Guide/ http://www.ibm.com/developerworks/library/l-embdev.html#ibm-pcon http://www.microwindows.org/ 2.1.5 Concluzii Dezvoltarea Embedded Linux are o evoluţie rapidă. Trebuie să studiezi şi să alegi dintr-o varietate de opţiuni pentru orice, de la bootloader şi distribuţie, la sistemul de fişiere şi GUI. Dar, datorită acestei libertati de alegere, la o comunitate foarte activă Linux, dezvoltarea embedded pe Linux a ajuns la noi perspective, si modificarea modulelor dupa specificatiile personale nu a fost niciodată mai simpla. Acest lucru a dus la crearea multor dispozitive handheld şi miniaturale moderne, care este un lucru foarte bun - nu trebuie să fi un expert pentru a alege dintre aceste module sa adaptezi aparatul tau la propriile nevoi.

17

Page 20: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

2.2 Exemple de Sisteme Embedded

Acestea sunt distributiile de embedded Linux, care sunt menţinute şi susţinute de companii ca produse comerciale. Ele oferă o gamă largă de capabilităţi şi ţintesc o gamă largă de pieţe, de la infrastructura de telecomunicaţii high-end, pentru calculatoare personale, pana la control embedded low-end. Nu toate produsele enumerate aici rămân disponibile în comerţ. Cu toate acestea, ele au fost ţinute pe lista pentru scopuri de interes istoric.

AMIRIX: Embedded Linux - derivate din standard, open source Debian GNU / Linux şi adaptate prin adăugarea de driverele de dispozitive hardware şi de instrumentele specifice configuraţiei sistemului. Suporta mici amprente, fără disc, Flash-based, cerinţe headless system.

Coollogic: Coollinux - Coollinux AE (Appliance Edition) combină puterea de Linux si tehnologia Java pentru a furniza un sistem de operare pentru următoarea generaţie de aparate de internet.

Coventive: XLinux - nucleu embedded Linux , care poate fi configurat să foloseasca cât mai puţin,pana la 143KB pentru aparatele de informare si cele embedded. Suport: 586, 686, MediaGX, STPC, StrongARM, SH3/SH4, PA-RISC, ARM-7, şi multe altele.

Esfia: RedBlue Linux - o distribuţie Embedded Linux pentru solutii de comunicare wireless, derivate din pre-lansarea kernel nucleului Linux 2.4. Acesta are o amprenta de nucleu tipic de 400k octeţi şi suportă procesoare atât cu şi fără MMU.

KaeilOS (fostă Klinux) - o distribuţie embedded Linux pentru aplicaţii industriale. Acesta include instrumentele de dezvoltare şi depanare pentru sisteme embedded şi sisteme în timp real, atât generale cât şi de documentare specifica, create în întregime de către Koan Software, din Bergamo, Italia.

KYZO: PizzaBox Linux - o imprimare de fişiere bazate pe Linux şi Samba, cu CD-ul serverului proiectat pentru a rula de la 6MB de Flash ROM pe un procesor 486 (sau mai mare).

Lineo: Embedix - o solutie embedded de software bazat pe Linux, care este proiectat special pentru viteza, memoria şi cerinţele de stocare a dispozitivelor încorporate. Suportă o gamă largă de procesoare cu şi fără MMUs, inclusiv X86, PowerPC, ARM, MIPS, şi multe altele. Include suport pentru mici amprente, în timp real (bazat pe o alegere de RTAI sau RTLinux), precum şi soluţii de înaltă disponibilitate.

LynuxWorks: BlueCat - o distribuţie de open-source Linux, îmbunătăţita pentru a îndeplini cerinţele dezvoltarilor embedded, proiectat pentru a permite configurarea pentru a se potrivi cu acurateţe cerinţelor de dezvoltare embedded, de la mici

18

Page 21: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

dispozitive la scara largă a sistemelor multi-procesor şi aplicaţii de înaltă disponibilitate . Suportă o gamă largă de procesoare, inclusiv X86, PowerPC, ARM, MIPS, şi multe altele.

Mizi: Linu @ - Linu @ este un sistem embedded de operare Linux cu o interfaţă grafică bazată pe Qt / Embedded. Eficienţa şi dimensiunea compactă sunt bine adaptate la Internet Appliance, Smart Phone, şi aplicaţii PDA. Procesoarele acceptate includ ARM, StrongARM, MIPS, x86, şi MPC. OS necesită destul de puţin ,cam 2MB DRAM şi 4MB de memorie Flash.

MontaVista: Hard Hat Linux - Hard Hat Linux Cross Development Kit are ca tinta o gamă largă de arhitecturi de processor embedded, placi si platforme la nivel de sistem pentru aparatele de internet, dispozitive portabile, echipamente de retea, interfete de telefonie.

Neoware: NeoLinux - o distribuţie embedded Linux care este derivata de la Red Hat Linux şi este optimizata pentru utilizarea în aparate de informaţii. Suporta bootarea de pe memorii flash locale sau de pe un server de reţea de la distanţă, şi oferă capabilităţi pentru sistemul de management de la distanţă.

PalmPalm: Tynux - o soluţie de Embedded Linux optimizata pentru aparatura Internet inclusiv MP3 playere, video playere, televizoare pe internet, PDA sau telefoane mobile, telefoane de Internet, echipamente de conferinte video, telefoane video, etc.

Red Hat: Embedded Linux - Red Hat ofera tehnologii embedded atat pentru execuţie cat şi pentru dezvoltare şi este dedicata sistemelor variind de la dispozitive embedded la aparate high-end. Tehnologiile specifice includ Embedded Linux, EL / IX, RedBoot, uClinux, şi GNUPro, plus portare personalizata şi servicii de optimizare.

REDSonic: RedIce-Linux - o distribuţie embedded Linux care suportă numeroase computere şi poate rula atât din DiskOnChip sau CompactFlash media. De asemenea, oferă capabilităţi în timp real.

RidgeRun: DSPLinux – o distribuţie embedded Linux si un instrument axat pe multimedia, wireless şi dispozitive de bandă largă bazate pe procesoare dual-core, care combina un nucleu ARM cu un procesor de semnal digital (DSP) cu nucleu de un singur cip. Nucleul DSPLinux ruleaza pe ARM, în timp ce activitatile din timp real ruleaza pe DSP.

SysGo: ELinOS Embedded Linux - ELinOS este bazat pe Linux Kernel 2.4 şi oferă, prin urmare, cele mai recente caracteristici Linux, cum ar fi Jurnalizarea Flash File System (JFFS), Memory Technology Devices (MTD), precum şi suport extins pentru USB. Suportul activitatilor in timp real este disponibil prin extinderea kernelului RTAI .

19

Page 22: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

TimeSys: GPL Linux - o distribuţie Linux pentru placi embedded. Include un nucleu Linux cu low-latency consolidata, plus biblioteci, lanţuri de instrumente, utilitare, drivere, scripturi, şi documentaţia, toate distribuite sub GNU Public License (GPL). Opţiuni suplimentare sunt disponibile pentru îmbunătăţirea sistemului în timp real, servicii de calitate şi performanţă în reţea.

Tuxia: TASTE – o distributie embedded Linux care are ca tinta aparatele de Internet, inclusiv webpads, set-top, clientii subtiri, si telefoane ecran. Cuprinde o stiva completă de componente software, inclusiv drivere de hardware, nucleul Linux Embedded, motor grafic, Java Virtual Machine, şi aplicarea la nivel de cod.

Vitals System: vLinux - un port de Linux pentru aplicaţii bazate pe ARM încorporat. vLinux poate sprijini, de asemenea, procesoare non-MMU ARM, care sunt potrivite pentru modele low-cost pentru producţia comercială. vLinux sprijina, în present,ARM-ul Samsung ce are nucleul bazat pe procesorul RISC de familie; cu toate acestea, porturile de procesoare suplimentare sunt în curs de desfăşurare.

Wind River Linux - oferă o distributie General Purpose Platform Linux cu add-on-ul opţional Real-time Core. Acesta oferă, de asemenea, distributia "Platform" Linux care vizează aplicaţii specifice de piaţă:

- Mobile Internet Devices (bazat pe arhitectura Intel Atom)

- Infotainment

- Echipament de reţea

- Aparate de consum

TUXIA (R) a deschis un nou drum în domeniul sistemelor embedded Linux prin furnizarea de experienta deplina de Internet la reţeaua de calcul şi la aparate de informaţii, cum ar fi cutii settop, clientii subtiri / terminale de web şi PDA-uri. Fiind ca o parghie mai mult de opt ani cu experienta in pionierat dispozitive cheie Linux, TUXIA (R) a proiectat o noua generatie de sisteme embedded, cu TASTE (TUXIA Appliance Sinteza Tehnologie). TASTE, dispune de un sistem de operare Linux Kernel 2.4, browser-ul Nanozilla (R), un complement de plug-in-uri şi alte funcţionalităţi care sunt configurate în funcţie de utilizarea unui aparat de informare. Folosind tehnologie de compresie bloc, TUXIA (R) a proiectat TASTE-ul pentru a avea amprenta cea mai mică de memorie a oricărui sistem embedded Linux disponibil astăzi, care ofera economii dramatice pentru producatorii de dispozitive. Cu kit de dezvoltare TUXIA EST (TUXIA Sinteza Mediu), software-ul aparatului poate fi uşor adaptat şi extins pentru nevoile clienţilor. Cu excelente centre se intinde pe patru continente, echipa TUXIA crescand cu cate 120 de membri, fiind unul dintre cei mai importanti producatori la revoluţia embedded Linux. Parteneriate strategice TUXIA includ ACCES, Citrix, Insyde Software, Accesorii FOCUS, M-Systems, MGI, National Semiconductor, STMicroelectronics si Tvia. TUXIA este vârful de lance, de asemenea, al Consortiului Embedded Linux in Europa.

20

Page 23: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

Implementarile Embedded Linux sunt disponibile ca obiecte descărcabile şi coduri sursă, şi sunt acoperite de licenţe open source. Ele au ca tinta o gamă larga de nevoi şi pot fi modificate pentru a se potrivi cu cerinţele aplicaţiilor specifice.

Embedded Debian - acest proiect îşi propune să facă Debian GNU / Linux o alegere mainstream pentru proiecte embedded.

AMSEL - Advanced module integrate Secure Linux este un sistem de operare, bazat pe kernel-ul Linux, care a fost dezvoltat si optimizat special pentru desfăşurarea în medii critice de securitate embedded. Functiile tipice pentru o instalaţie AMSEL sunt, de exemplu, de implementare ca dispozitiv de filtrare de pachete sau ca o poarta de acces cripto (VPN, SSH-la-Telnet).

Embedded Gentoo - Un proiect pentru crearea de versiuni embedded de Gentoo Linux a realizat versiuni preliminare pe x86, MIPS, PPC şi ARM. Versiunile includ nuclee binare native de sistem, cross-platform toolchains, şi, pentru x86, un toolchain opţional imbunatatit. Proiectul are nevoie, pentru a ajuta dezvoltatorii sa adăuge cross-compilare, de constientizare pentru pachetelor sursă.

ETLinux - o distribuţie Linux complet proiectata pentru a rula pe calculatoare industriale mici, mai ales PC/104 module.

FREESCO - uşor de utilizat, alternativa open source la produsele comerciale de rutare, care include multe din caracteristicile sistemului de operare Linux, în software-ul care se potriveşte pe o singură dischetă. Utile pentru crearea de routere fiabile, poduri, şi servere.

Linux Router Project - o "reţea centrala de micro-distribuţie" de Linux care face uşoara constructia / menţinerea routerelor, serverelor de acces, serverelor subţire, clientilor subtiri, aparatelor de reţea şi sistemelor embedded. LRP încape pe o singură dischetă.

Linux VR proiect - acest proiect oferă o punere în aplicare Linux pentru NEC VR, seria de procesoare system-on-chip, cele mai multe fiind iniţial proiectate pentru a rula Windows CE bazate pe calculatoare personale.

Linux On A Floppy (LOAF) – o distributie pe un singur floppy-disk care rulează pe 386 şi care constă din nucleul şi un set de utilitare gratuite. LOAF suporta diferite protocoale de reţea, inclusiv browser-ul lynx, FTP, telnet si SSH.

Qplus - constă dintr-un nucleu Linux embedded reconfigurabil, biblioteci de sistem, un sistem de ferestre grafic, un constructor ţintă, un instrument de optimizare a bibliotecii şi BSP pentru x86 şi obiective ARM.

Midori Linux - un proiect open source care furnizeaza software de sistem pe dispozitive mici. Acesta include un sistem de construire, un nucleu Linux, cu memorie şi stocare a puterii, conserva caracteristici, este şi un sprijin la nivel de

21

Page 24: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

sistem pentru rularea normală a software-ului Linux pe platforme care ar putea necesita altfel aplicatii personalizate "embedded".

uClinux - un derivat de Linux special pentru microprocesoare care nu oferă o memorie de management unitate (MMUs). Suportă o listă tot mai mare de procesoare, inclusiv: Motorola DragonBall (M68EZ328), M68328, M68EN322, ColdFire, QUICC; ARM7TDMI; MC68EN302; Axis ETRAX, Intel i960, PRISMA, Atari 68K si altele. Acest proiect open source este menţinut de SnapGear şi Arcturus.

μLinux (aka muLinux) - o distribuţie "full-configurata, minimalista, aproape completa, aplicare-centrica mica" de Linux, făcuta în Italia. μLinux incape pe o singură dischetă.

PeeWeeLinux – o mica distribuţie Linux care vizează dispozitive embedded. Unul din obiectivele lui PeeWeeLinux este de a face configurarea şi instalarea sistemului de operare Linux pe o platforma embedded "cat de nedureroasa posibil".

PeeWeeLinux este intr-un efort de dezvoltare continuă pentru a oferi un mediu care face configurarea şi instalarea unui sistem de operare Linux pe o platforma embedded uşoara. Unele dintre caracteristicile cheie ale PeeWeeLinux sunt: - Dezvoltarea pe o platforma RedHat 6.2

- Pachete de construictie şi menţinere, folosind RPM

- Pachetele sunt personalizate pentru a reduce amprenta de memorie

- Ncurses conduse de configurare grafica şi instrumente de instalare

- 2.2.x kernel-ului îmbunătăţit pentru aplicaţii embedded

- Suport USB

- Suport PCMCIA

- Suport XFree86

Utilitarul de configurare este condus de meniu şi permite pentru pachete complete, sau un subset de fişiere de pachete, includerea în sistemul ţintă. Sistemele folosind syslinux sau lilo bootloader sunt acceptate. Ţintele pot consta din rădăcini ramdisk, radacini cu partitii read-only şi convenţionalele radacini cu partitii unice de citire-scriere. Proiectele pot fi salvate pentru o utilizare ulterioară; făcând astfel foarte uşoara testarea diferitelor configuratii. PeeWeeLinux include o gamă completă şi în creştere de utilitati si aplicatii pentru o varietate de produse. Traditionalele fişiere de configurare şi binarele pot fi adăugate la un proiect şi salvat ca un proiect. Posibile aplicatii pentru constructia de sisteme cu PeeWeeLinux includ: dischetele de salvare, routere, Firewall, Thin-Clienti, si altele.

22

Page 25: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

Sursele kernel-ului PeeWeeLinux includ un număr de caracteristici importante pentru aplicaţii embedded, cum ar fi drivere conforme GPL pentru dispozitive flash, cele mai noi drivere disponibile de reţea, suport USB si PCMCIA.

Main_Menu

Package_Selection

23

Page 26: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

File_Selection

Target_Selection

24

Page 27: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

Projects_Menu

Backup_Menu

25

Page 28: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

Bibliografie:

http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Embedded-Linux-Distributions-Quick-Reference-Guide/

http://embedded.sourceforge.net/

http://www.thefreelibrary.com/TUXIA's+Embedded+Linux+Software+Suite+Ported+onto+STMicroelectronics'...-a077230722

3. Sisteme embedded Windows

Windows Embedded este o familie de sisteme de operare de la Microsoft

concepute pentru utilizare în domeniul sistemelor integrate. Microsoft face disponibile patru categorii diferite de sisteme de operare pentru dispozitivele integrate care vizează o piaţă largă, variind de la small-footprint, dispozitive în timp real pana la dispositive POS. Sistemele integrate de operare Windows sunt disponibile pentru integratori de sisteme OEM numai, care îl pune la dispoziţia utilizatorilor finali pre-încărcate cu hardware-ul.

Windows Embedded Compact

Windows CE

- Windows CE 5.0 -

26

Page 29: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

Windows CE (cunoscut oficial ca Windows Embedded Compact sau Windows Embedded CE versiunea 6.0 şi uneori abreviat WinCE) este un sistem de operare dezvoltat de Microsoft pentru computere minimaliste şi sisteme integrate. Windows CE este un sistem de operare fata de versiunea Windows desktop. Nu trebuie confundat cu Windows XP Embedded, care este NT-based. Windows CE este susţinut pe Intel x86, MIPS, ARM, şi Hitachi SuperH procesoare. Caracteristici

Windows CE este optimizat pentru dispozitivele care au minim de depozitare-

un nucleu Windows CE poate functiona în cadrul unui megabyte de memorie. Dispozitive sunt adesea configurate fără stocare pe disc, si pot fi configurate ca un system "închis" care nu permite utilizatorilor finali de extindere (de exemplu, acesta poate fi ars într-ROM). Windows CE conform definiţiei de sistem de operare în timp real, cu o latent determinista de întrerupere.De la versiunea 3 şi mai departe, sistemul suporta 256 niveluri de prioritare şi foloseşte moştenirea prioritara care se ocupă de inversiunea prioritara. Unitatea fundamentală de executie este de thread. Acest lucru ajută la simplificarea şi îmbunătăţirea interfeţei timpului de executie.Microsoft a declarat că "CE" nu este o abreviere intenţionata, dar multi oameni cred CE vine de la "Consumer Electronics" sau "Compact Edition". Microsoft spune că implică o serie de preceptii de proiectare ale Windows CE, ce include "Compact, Conectabil, Compatibil, Companion, şi Eficient". Prima versiune, cunoscute în timpul de dezvoltare sub numele de cod "Pegasus", prezenta un GUI(Graphical User Interface)ca la Windows cum şi un număr de aplicaţii populare de Microsoft, toate concepute sa consume putin spatiu, memorie, precum şi viteza ca si palmtop-urile de atunci.

De atunci, Windows CE a evoluat într-un sistem de operare încorporat, în timp real, bazat pe componente. Nu mai este orientat exclusiv la computere portabile. Multe platforme s-au bazat pe nucleulul sistemului de operare Windows CE, inclusiv AutoPC Microsoft, Pocket PC 2000, Pocket PC 2002, Windows Mobile 2003, Windows Mobile 2003 SE, Windows Mobile 5.0, Windows Mobile 6, Smartphone 2002, Smartphone 2003, Portable Media Centrul şi multe dispozitive industriale şi sisteme embedded. Windows CE chiar a fost folosit pentru jocuri de la Dreamcast, a fost sistemul de operare al Handheld Gizmondo, şi poate rula parţial console Xbox modificate.

O trăsătură distinctivă a Windows CE, comparativ cu alte sisteme de operare Microsoft este faptul că o mare parte din ea sunt oferite sub formă de cod sursă. Prima sursă de cod a fost oferită mai multor vânzători, astfel încât acestia să poate sa isi adapteze la hardware-ul lor.Apoi, produse cum ar fi Platforma Builder (un mediu integrat Windows CE OS pentru crearea si integrarea imaginii, sau sistem de operare bazat pe design-ul personalizat CE) a oferit mai multe componente în formă cod sursă publicului larg. Cu toate acestea, o serie de componente de bază care nu au nevoie de adaptare la medii de hardware specifice (altele decât cele de familie CPU), sunt încă distribuite numai în forma binară.

27

Page 30: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

Visual Studio

Dezvoltarea instrumentelor

Ultimile versiuni de Microsoft Visual Studio suporta proiecte pentru Windows CE / Windows Mobile, producand programe executabile şi platforme de imagini, fie ca un emulator,ori atasat prin cablu la un dispozitiv mobil real. Un dispozitiv mobil nu este necesar să dezvolte un program CE. NET Compact. Framework suportă un subset al. NET Framework cu proiecte în C #, VB.NET. CodeGear Delphi Prism, care rulează în Visual Studio, suporta de asemenea .NET Compact Framework şi, astfel, pot fi folosite pentru a dezvolta aplicaţii mobile. Se foloseşte compilatorul Oxygene creat de RemObjects, care vizează .NET,.NET Compact Framework şi Mono. Compilator sau este disponibil gratuit.

Free Pascal and Lazarus Free Pascal a introdus Windows CE în versiunea 2.2.0, avand ca tinta ARM şi

arhitecturile x86. Mai târziu, Windows CE fişiere au fost traduse pentru utilizarea cu Lazarus, un pachet software RAD bazat pe Free Pascal. Aplicatii Windows CE sunt proiectate şi codificate în IDE Lazarus şi compilate cu un compilator corespunzător.

Basic4ppc Basic4ppc care este un limbaj de programare asemănător cu Visual Basic, a

avut ca obiectiv .NET Compact Framework şi suporta Windows CE şi dispozitivele Windows Mobile. Platforma Builder

Acest instrument de programare este utilizat pentru construirea platformei (BSP + kernel), drivere de dispozitiv (sursa comuna sau la comandă). Acesta este un mediu cu un pas pentru ca sistemul sa gata sis a mearga. Se poate utiliza, de asemenea, Platforma Builder să exporte un SDK (kit de dezvoltare software) pentru microprocesor ţintă (SuperH, X86, MIPS, ARM etc).

Embedded Visual C++ (eVC)

Embedded Visual C + + este instrumentul pentru dezvoltarea aplicatiilor integrate pentru dispozitivele bazate pe Windows CE. Acest instrument poate fi folosit independent folosind SDK din Platforma Builder sau utilizând Platforma Builder, folosind setup-ul Platformei Manager.

AutoHotkey Un port de open source macro-creation si software de automatizare

AutoHotkey este disponibil pentru Windows CE, care permite construirea de macro-uri şi aplicaţii simple GUI dezvoltate de către analistul de sisteme Jonathan Maxian Timkang.

28

Page 31: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

Windows Embedded Standard

Relaţia cu Windows Mobile, Pocket PC şi SmartPhone

Deseori, Windows CE, Windows Mobile şi Pocket PC-ul sunt folosite alternativ - în ciuda originii lor comune. Această practică nu este în întregime corecta. Windows CE este un sistem de operare modular, care serveşte ca fundament din mai multe clase de dispozitive. Unele dintre aceste module oferă subseturi de caracteristici ale componentelor (de exemplu, a diferitelor niveluri de ferestre de sprijin; DCOM vs COM), altele care sunt separate (bitmap sau ca suport de fonturi TrueType), şi altele care adaugă caracteristici suplimentare la o altă componentă.

Se poate cumpara un kit (Platform Builder), care conţine toate aceste componente şi instrumentele cu care să dezvolte o platformă personalizata. Aplicaţii cum ar fi Excel Mobile / Pocket Excel nu fac parte din acest kit. Vechile versiune de Handheld PC de Poecket Word şi mai multe alte aplicaţii mai vechi sunt incluse ca probe.

Windows Mobile este cel mai bine descris ca un subset de platforme bazate pe Windows CE care sta la baza. În prezent, Pocket PC-ul (numit acum Windows Mobile Clasic), SmartPhone (Windows Mobile Standard), şi PocketPC Phone Edition (Windows Mobile Professional) sunt cele trei platforme principale sub umbrela Windows Mobile. Fiecare platforma utilizeaza diferitele componente ale Windows CE, precum şi caracteristici suplimentare şi aplicaţii potrivite pentru dispozitivele lor.

Pocket PCcat şi Windows Mobile este o platforma Microsoft particularizata pentru uz general PDA, şi constă dintr-un set de profile minim Microsoft (Professional Edition, Premium Edition) de software şi hardware care este suportat. Regulile de fabricare a unui dispozitiv Pocket PC sunt mai stricte decât cele bazate platforma Windows CE. Caracteristicile definitorii ale Pocket PC sunt digitizorul ca dispozitivul principal de interfaţă umană şi dimensiunea extrem de portabila.

Platformei SmartPhone este un OS scump cat şi interfaţa pentru telefoanele celulare. SmartPhone oferă caracteristici de productivitate pentru utilizatorii de afaceri, cum ar fi e-mail, precum şi capacităţile multimedia pentru consumatori. Interfaţa SmartPhone se bazează foarte mult pe joystick-ul de navigare şi pe intrarea PhonePad. Dispozitive de incarcare SmartPhone nu includ o interfaţă de ecran tactil. Dispozitivele SmartPhone, în general, se aseamănă ca si factor de forma, în timp ce cele mai multe dispozitive Phine Edition utilizează un factor de formă PDA cu un ecran mai mare.Screenshot of an alpha build of Windows CE 1.0Timeline of Windows CE Development

Microsoft a lansat trei ediţii de Windows XP, care sunt orientate spre

dezvoltatorii de sisteme embedded, pentru utilizarea în electronice de consum specifice, set-top, ATM-uri, dispozitive medicale, jocuri video arcade, terminale de punct de vânzare, şi componente Voice over Internet Protocol (VoIP).

29

Page 32: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

Windows XP pentru Sisteme Embedded este o ediţie de Windows XP care conţine toate caracteristicile Windows XP Professional, dar are restricţii privind acordarea de licenţe echipamentelor care trebuie sa booteze direct in aplicatia echipamentului facuta de producator.

Windows XP Embedded

Windows XP Embedded, frecvent abreviat "XPe", este o versiune a ediţiei Windows XP Professional. Un producător de echipamente originale este liber să aleagă doar componentele necesare reducând amprenta sistemului de operare şi reducerea zonei de atac, în comparaţie cu XP. Spre deosebire de Windows CE, sistemul de operare Microsoft pentru dispozitive portabile şi electronice de consum, XP Embedded prevede Windows API, si suport pentru întreaga gamă de aplicaţii şi driverele dispozitivelor pentru Microsoft Windows.

XPe poate rula pe dispozitive cu cel puţin 32MB Compact Flash, 32MB RAM şi un P-200 microprocesor. XPe a fost lansat pe 28.11.2001. Începând din octombrie 2008, cel mai nou release este Windows XP Embedded Service Pack 3.

- Screenshot of Windows XP Embedded Evaluation running several Windows components -

30

Page 33: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

Dispozitivele vizate pentru XPe au inclus bancomate, jocuri arcade, slot de masini, case de marcat, robotică industriala, set-top box, Network Attached Storage (NAS), ceasuri de timp, dispozitivele de navigare, locomotive de cale ferata, etc. Versiuni personalizate ale sistemului de operare pot fi implementate pe orice, chiar dacă XPe susţine acelaşi hardware care suporta XP Professional (arhitectura x86), restricţiile de acordare a licenţelor de prevenire sunt instalate pe PC-urile standard.

Cu toate acestea, Microsoft a făcut unele excepţii de la această regulă, care să

permită XPe alături de o instalare standard Windows OEM. Unele notebook-urile Dell conţin o instalare XP embedded, ca parte caracteristică a MediaDirect 2.0.

- A BT Internet payphone loading Windows XP Embedded -

31

Page 34: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

Componentized OS:

• Filtre de scriere - XPe include componente cunoscute sub numele de filtrede scriere, care pot fi folosite pentru a filtra scrierile pe disc. Volumele pot fi marcate ca read-only folosind aceste filtre şi toate scrierile pot fi redirecţionate. Aplicaţii în modul utilizator nu sunt conştiente de filtrele de scriere. XPe prezinta două filtre de scriere:

Enhanced Write Filter (EWF) - EWF protejează un sistem la nivel de volum. Redirecţionează toate scrierile de pe disc pe o unitate protejata, pe RAM sau pe un disc separat. EWF este extrem de util atunci când este utilizat în Thin Clients care au memoria flash, ca sursă primară de boot.

File Based Write Filter (FBWF) - FBWF permite configurarea unui dosar individual ca un volum protejat de citire / scriere.

• USB Boot

XPe adaugă o opţiune de boot USB pentru Windows. Un dispozitiv încorporat XPe poate fi configurat să boot-eze de pe un drive USB.

• CD Boot

Un dispozitiv XPe poate fi configurat să boot-eze de pe un CD-ROM. Acest dispozitiv permite să boot-eze fără obligaţia de a avea o unitate fizică de hard disk, şi oferă "fresh boot" de fiecare dată când imaginea este pornita (o proprietate moştenită prin faptul că sistemul de operare este pornit de pe sistemul de mass-media doar în read-only ). Un dezavantaj al aceastei tehnologii este ca actualizarea imaginii impune procesul complet de constituire a imaginii pentru a fi completat din nou de la început la sfârşit.

• Network Boot

Un dispozitiv XPe poate fi configurat să boot-eze corect de pe o reţea configurata. Sinonim cu CD-ul Boot, Network Boot elimină cerinţa de a avea hard disk fizic, precum şi furnizarea de "fresh boot".Un bonus al NetworkBoot-ul este abilitatea de a incarca imaginea deja instalata. Odată ce imaginea este actualizata, imaginea este pur şi simplu postata pe server-ul RIS şi o dată ce clientii repornesc vor primi imaginea actualizata.

Windows Embedded Standard (2009) este versiunea actualizată a Windows XP Embedded, versiune finala de Windows XP Professional şi succesorul lui Windows NT 4.0 Embedded. Acesta oferă Win32 API şi este disponibil pentru procesoarele x86. Windows Embedded Standard 2009 este derivat din Windows XP Embedded, deoarece Microsoft la momentul dezvoltării sale nu au avut o versiune finala de Windows Vista. Windows Embedded Standard 2009 include Silverlight,. NET Framework 3.5, Internet Explorer 7, Windows Media Player 11, RDP 6.1, Network Access

32

Page 35: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

Protection, Microsoft Baseline Security Analyzer şi suport pentru a fi gestionate de către Windows Server Update Services şi System Center Configuration Manager.

Microsoft a anunţat că următoarea versiune, Windows Embedded Standard 2011, va trebui să se bazeze pe Windows 7, care a fost anterior cu numele de cod Windows Embedded "Quebec". Windows Embedded Standard 2011 este de aşteptat pentru a include caracteristicile lui Windows Vista şi Windows 7, cum ar fi Aero, SuperFetch, ReadyBoost, BitLocker Drive Encryption, Windows Firewall, Windows Defender, Windows Presentation Foundation, Silverlight 2, printre multe alte pachete. Acesta va fi disponibil în versiunile x86 şi x64 şi vizate pentru lansare în 2010. Va avea o amprentă mai mare (~ 300 MB), comparativ cu 40 MB la XPe şi va necesita, de asemenea, de activare a produsului.

Windows Embedded Enterprise

Windows Embedded Enterprise brand al sistemelor de operare Windows Embedded consta în Windows XP pentru sisteme integrate, Windows Vista pentru Sisteme Embedded, care sunt aceleasi versiuni ca cele retail, dar sunt licenţiate exclusiv pentru utilizarea în dispozitive înglobate. Ele sunt disponibile atât pentru arhitectura x86, precum şi x86-64 (x64) procesoare.

Windows Embedded POSReady

Windows Embedded POSReady este brand-ul de sisteme de operare Windows Embedded pentru de sisteme de vânzare Point, inclusiv chioşcuri de vânzare şi distribuitoare automate. În prezent, acest brand este limitat la Windows Embedded Point of Service pentru sistemul de operare, care se bazează pe Windows XP Embedded.

Windows Mobile

Windows Mobile este un sistem compact de operare mobil dezvoltat de Microsoft, şi proiectat pentru utilizarea în smartphone-uri şi dispozitive mobile.

Versiunea curentă este numit "Windows Mobile 6.5". Ea se bazează pe Windows CE 5.2 şi oferă o suită de aplicaţii de bază, folosind Microsoft Windows API. Acesta este conceput pentru a fi oarecum similar cu versiunilor desktop de Windows, din punct de vedere caracteristică cat şi estetic. În plus, dezvoltarea de software este disponibila pentru Windows Mobile, şi software-ul poate fi achiziţionat prin intermediul Windows Marketplace pentru Mobile.

Iniţial apar ca sisteme de operare Pocket PC 2000, majoritatea Windows Mobile a veni cu un stylus, care este folosit pentru a introduce comenzi prin atingerea acestuia pe ecran. Microsoft a anunţat o platforma noua si complete pentru telefon

33

Page 36: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

Windows Phone 7, la Mobile World Congress din Barcelona, pe 15 februarie 2010. Telefoanele care rulează Windows Mobile 6.x nu pot fi de upgradsta la versiunea 7.

Cota Windows Mobile de pe piata smartphone a scazut de la an la an, în scădere cu 20% in Q3 2009. Acesta este al 5-lea cel mai popular sistem de operare smartphone, cu o cota de 2% din piata smartphone la nivel mondial (dupa Symbian, BlackBerry OS, Android si iPhone OS). În Statele Unite, este al treilea cel mai popular sistem de operare al smartphone-urilor pentru uz profesional (după BlackBerry OS şi iPhone OS), cu o cota de 24% în rândul utilizatorilor de întreprindere.

- Windows Mobile 6.5.3 Today Screen -

• Azi ecranul arată data curentă, informatiile proprietarului , intalnirile viitoare, mesajele e-mail, şi sarcini. (Este acum ecranul de întâmpinare în WM6.5)

Caracteristici comune

Windows Mobile pentru Pocket PC prezinta urmatoarele caracteristici standard în cele mai multe dintre versiunile sale:

• Bara de activităţi arată ora curentă şi volumul • Office Mobile o suită de versiuni mobile ale aplicaţiilor Microsoft Office • Outlook Mobile vine cu Windows Mobile • Internet Explorer Mobile este un browser de Internet dezvoltat de Microsoft

pentru Pocket PC şi PC-ul portabil care vine încărcat implicit cu Windows Mobile si Windows CE pentru Handheld PC

• Windows Media Player pentru Windows Mobile • Client pentru PPTP VPN. • Internet Connection Sharing (ICS), care, în telefoanele mobile permite

calculatoarelor atasate sa aiba acces la internet prin USB şi Bluetooth. • Sistem de dosare similar cu cel al 9x/Windows Windows NT şi suport pentru

multe dintre tipurile de acelaşi fişier • Abilitatea de multitask

34

Page 37: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

Hardware

Există trei versiuni de Windows Mobile pentru dispozitive hardware diferite: * Windows Mobile Professional ruleaza pe "Windows Mobile" (smartphones) cu touchscreen * Windows Mobile Standard ruleaza pe "Windows Mobile" cu ecrane normale * Windows Mobile Clasic, care rulează pe "dispozitive cu Windows Mobile Classic" (Pocket PC).

Windows Mobile Clasic (Pocket PC)

Un "dispozitiv Windows Mobile Clasic" este un Windows Mobile asistent digital personal (PDA), care nu are funcţionalitate de telefon. A fost cunoscut anterior ca Pocket PC. Aceasta a fost conceput pentru sistemul de operare Windows Mobile. Aceste dispozitive au constat în dispozitive independente Pocket PC, fără capabilităţi de telefon mobil, precum şi cele care au inclus capabilităţi de telefon mobil. Numele cel mai actual al unui system de operare Windows Mobile destinate utilizării pe Pocket PC este oficial "Windows Mobile 6 Professional" pentru dispozitive cu capabilităţi de telefon mobil şi "Windows Mobile 6 Classic" pentru dispozitive fără capabilităţi de telefon mobil.

- An O2 Pocket PC phone -

35

Page 38: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

Windows Phone

"Windows Mobile" (termen Microsoft pentru gama de smartphone-uri) a devenit platforma hardware imediat următoare după Pocket PC pentru a rula Windows Mobile, si a debutat cu lansarea de Pocket PC 2002. Deşi, în sensul larg al termenului "Smartphone", ambele Pocket PC cat si Smartphones Microsoft se încadrează în această categorie, ar trebui remarcat faptul că Microsoft utilizeaza termenul "Smartphone" ce include mai multe dispozitive specifice hardware care diferă de telefoanele Pocket PC. Astfel de smartphone-uri au fost iniţial proiectate fără touchscreen, destinate a fi exploatate mai eficient cu o singură mână, şi au avut de obicei rezoluţie de afişare mai mică decât Pocket PC. Intentia Microsoft pentru platforma Smartphone a fost de a crea un dispozitiv care va functionat precum şi un telefon şi dispozitiv de date într-un mod mai integrat.

- A Smartphone (T-Mobile Dash) -

36

Page 39: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

Versions

Pocket PC 2000

Pocket PC 2000, iniţial cu numele de cod "Rapier", a fost lansat pe 19 aprilie

2000, şi a fost bazat pe Windows CE 3.0. Acesta a fost debutul a ceea ce sa numit mai târziu sistem Windows Mobile de operare, şi menit să fie un succesor al sistemului de operare al PC-uri Palm-size. Pocket PC-ul 2000 a fost destinat în special pentru dispozitivele Pocket PC, cu toate acestea mai multe dispozitive Palm-Size PC au avut capacitatea de a fi actualizate. În plus, mai multe telefoane Pocket PC 2000 au fost lansate, cu toate acestea,platforma Smartphone-urile Microsoft, nu a fost creata.

Singura rezoluţie suportata de către această versiune a fost de 240 x 320 (QVGA). Fromate de card de memorie detaşabil, care au fost susţinute au fost CompactFlash şi MultiMediaCard. În acest moment Pocket PC nu au fost standardizate, cu o arhitectura CPU specifica. Ca rezultat, Pocket PC-ul 2000 a fost lansat pe multiple arhitecturi de procesor; SH-3, MIPS şi ARM. Sistemul de operare Pocket PC a fost similar cu Windows 98, Windows Me, si Windows 2000.

- Typical Pocket PC 2000 Today Screen -

Pocket PC 2000 include urmatoarele aplicatii:

• Pocket Office o Pocket Word o Pocket Excel o Pocket Outlook

• Pocket Internet Explorer

37

Page 40: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

• Windows Media Player • Microsoft Reader • Microsoft Money • O aplicatie pentru luare de notite • Support pentru recunoasterea caracterelor • Infrared (IR) File beaming capability

Pocket PC 2002

Pocket PC 2002, iniţial numele de cod "Merlin", a fost lansat în octombrie 2001. Ca si Pocket PC 2000, a fost alimentat de Windows CE 3.0. Deşi creat în principal pentru 240 × 320 (QVGA) dispozitivele Pocket PC, Pocket PC 2002 a fost de asemenea utilizat pentru telefoanele Pocket PC, şi pentru prima dată, telefoanele Smartphone. Aceste Pocket PC 2002 Smartphones au fost în principal dispozitive GSM.Din punct de vedere estetic, Pocket PC 2002 a fost menit să fie similar ca design-ul Windows-ului XP. Typical Pocket PC 2002 Today Screen. Noi aplicatii incluse: * Enhanced UI cu support pentru interfata * Verificator ortografic şi numărul de instrument Word în Pocket Word * Descărcări ce pot fi salvate şi WAP în Pocket Internet Explorer * suport Virtual Private Networking * Sincronizare de dosare * MSN Messenger * Servicii de Terminal * Windows Media Player 8 cu capacitate de streaming * Microsoft Reader 2 * Suport Palm OS * Imbunatatirea Pocket Outlook * Digital Rights Management (DRM) suport în Microsoft Reader

Windows Mobile 2003 Windows Mobile 2003, iniţial numele de cod "Ozone", a fost lansat pe 23 iunie 2003, şi a fost primul lansat sub banner-ul Windows Mobile. A venit în patru ediţii: "Windows Mobile 2003 pentru Pocket PC Premium Edition", " Windows Mobile 2003 Professional Edition pentru Pocket PC ", "Windows Mobile 2003 pentru Smartphone " şi " Windows Mobile 2003 Phone Edition pentru Pocket PC ". Ultimul a fost conceput special pentru Pocket PC,ce include funcţionalităţi de telefon. Professional Edition a fost folosit în modelele de buget Pocket PC. Acesta nu avea un număr de caracteristici care au fost în ediţia Premium, cum ar fi un client pentru VPN L2TP/IPsec. Windows Mobile 2003 a fost alimentat de Windows CE 4.20.

38

Page 41: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

Typical Windows Mobile 2003 for Pocket PC Today Screen Noi aplicatii incluse: * Suport pentru tastaturi add-on * interfata de comunicare Enhanced cu Bluetooth * suport Bluetooth * Suport Bluetooth pentru casca * Aplicatii cu Poze , e-mail, * jocul Jawbreaker * Enhanced Pocket Outlook cu vCard şi vCal * Imbunatatirea Pocket Internet Explorer * Windows Media Player 9.0 cu streaming de optimizare * opţiuni de răspuns SMS pentru Phone Edition * suport fişier MIDI ca tonuri de apel în Phone Edition

Windows Mobile 2003 SE Windows Mobile 2003 Second Edition, cunoscut sub numele de "Windows Mobile 2003 SE”, a fost lansat pe 24.03.2004 şi a fost oferit pe Dell Axim x30. Aceasta a fost ultima versiune care a permis utilizatorilor sai backup şi restaurarea unui dispozitiv prin ActiveSync. Noi aplicatii incluse: * Portret şi Peisaj de comutare pentru Pocket PC * Aspect nou Pocket Internet Explorer * VGA (640 × 480), 176х220, 240x240, 480x480 rezolutie ecran * Wi-Fi Protected Access (WPA)

39

Page 42: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

4. Retele LIN-Local interconnect network

La inceputul secolului 20,au fost concepute sisteme de control ale procesului şi sisteme de fabricaţie,bazandu-se in principal pe tehnologia mecanica si dispozitive analogice. Dupa un timp, au fost introduse tehnologia de control pneumatic si puterea hidraulica. Tehnologia de control pneumatic a facut posibil controlul sistemelor de la distanta printr-un sistem de control centralizat. Aceste tehnologii sunt inca folosite.

La inceputul anului 1960, un computer digital a fost pentru prima data folosit ca un controler digital. Termenul DDC(direct digital control) a fost folosit pentru a evidentia faptul ca dispozitivul care detine controlul asupra procesului este computerul. In anii 1960, tehnologia de implementare a minicomputerelor era inca o solutie prea scumpa pentru multe dintre problemele dispozitivelor de control. In acelasi timp PLC a fost dezvoltat si l-a inlocuit pe cel standard .In plus,multe tehnologii au fost dezvoltate pentru procese de productie discrete.NC(numerically controlled machine tools) au inceput sa fie controlate de computere .

Cu cat utilizarea computerelor digitale si a tehnologiilor asociate s-a extins, retelele de comunicatie industriala convertite la transmisia digitala au inceput sa se dezvolte.

Utilizarea retelelor locale la interconectarea computerelor si dispozitivelor automate in conformitate cu sistemul de automatizare industriala a devenit cunoscuta din 1980.Capacitatea mare a comunicatiei low-cost oferita de retelele locale a facut posibila extinderea computerizarii si a multor servicii de automatizare.Sistemele de automatizare sunt adesea implementate ca o arhitectura distribuita deschis cu comunicatie peste retelele de comunicatie digitala.

Utilizatorii stiu sa se conecteze la o retea locala pentru a comunica cu computere sau dispozitive automate pe alte retele locale prin intermediul gateway-urilor legate de o retea de arie larga.

Cum sistemele automatizate industriale s-au extins si numarul dispozitivelor de automatizare a crescut,pentru automatizarea industriala foarte important este sa oferi standarde care fac posibila interconectarea multor dispozitive automate diferite intr-o modalitate standard.Eforturi de standardizare considerabile au fost facute in aria de retele locale.Standardul OSI permite oricarei perechi de dispozitive automate sa comunice fiabil indiferent de producator.

Ce este o retea industriala? Prin definitie, o retea industriala cere distributie geografica a unei masuratori fizice de I/O si senzori sau distributie functionala a aplicatiilor. Cele mai industriale retele transfera biti de informatie serial.Transferul

40

Page 43: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

de date serial prezinta avantajul de a utiliza numai un numar limitat de fire pentru schimbul de date intre dispozitive.Cu cateva fire,putem transmite informatia pe distante considerabile.Din cauza ca retelele industriale lucreaza cu cateva dispozitive pe aceeasi linie este mai usor sa adaugi un dispozitiv nou la sistemele deja existente.

Pentru a face acest lucru sa functioneze ,reteaua noastra trebuie sa defineasca un set de reguli(un protocol de comunicare) pentru a stabili cum este directionata informatia in retea sau dispozitive,controlere,computere s.a.m.d.Cu ajutorul protocoalelor de comunicatie ,acum este posibil sa reduci timpul de care ai nevoie pentru transfer , sa asiguri o protectie mai buna a datelor si sa garantezi sincronizarea timpului si raspunsul in timp real determinist in cateva aplicatii.Retelele industriale asigura de asemenea faptul ca sistemul trimite informatie fiabil fara erori dar si siguranta intre noduri in retea.

Pentru retelele de comunicatie la un nivel scazut in automatizarea industriala, solutiile retelelor industriale locale precum MAP sunt prea scumpe sau nu ating timpul de raspuns cerut, in functie de aplicatii.

LIN este un protocol de comunicatie serial ieftin ,care suporta efectiv o aplicatie de la distanta in cadrul retelei unui automobil.In mod special este destinat nodurilor mecatronice in aplicatii auto,dar si in aplicatii industriale.

Acesta este destinat completarii retelei CAN existente ducand la retele ierarhice in termen de autoturisme.Prima versiune implementata a noului LIN a fost publicata in noiembrie 2002 ca LIN versiunea 1.3.In septembrie 2003, versiunea 2.0 a fost introdusa pentru a extinde capacitatile de configurare.

Principalele caracteristici ale protocolului sunt:

-unic master,pana la 16 slaves

-SNPD (slave node position detection) permite atribuirea adresei nodului dupa power-up

-singur fir de comunicatii de pana la 19,2 kbit/s @ 40 metri lungime de magistrala

-timp de latenta garantat

-lungime variabila a frame-ului de date(2,4 si 8 byte)

-flexibilitate de configurare

-receptie , cu sincronizare in timp fara cristale sau rezonatoare ceramice

-control de date si detectare a erorilor

-detectarea nodurilor defecte

-implementarea low-cost pe baza standardului hardware UART/ SCI

41

Page 44: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

-enabler pentru retelele ierarhice

-tensiune de lucru de 12 V

Datele sunt transferate dincolo de magistrala in mesaje de forma fixa cu lungimi selectabile.Master task transmite un antet care consta intr-un semnal de pauza,urmat de sincronizare si campurile de identificare.Slave-urile raspund cu un frame de date ,care consta in 2,4 si 8 octeti de date plus 3 octeti ai informatiei de control.

LIN MESSAGE FRAME

Un mesaj contine urmatoarele campuri:

- pauza de sincronizare

-byte de sincronizare

-byte de identificare

-byte de control

Tipuri de frame: 1.Cadru neconditionat:frame-urile neconditionate poarta mereu semnale iar identificatorii theirra se gasesc in intervalul 0-59(0×00 la 0×3b).Toti abonatii la frame-ul neconditionat vor primi frame si il vor pune la dispozitia cererii(presupunand ca nu au fost detectate erori ).

2.Eveniment care declanseaza un frame

Scopul unui eveniment care declanseaza un frame este de a spori responsabilitatea cluster-ului LIN fara sa atribuie prea multa latime de banda a magistralei la alegerea nodurilor slave multiple odata cu aparitia rara a evenimentelor.Primele date care se gasesc in frame-ul neconditionat trebuie sa fie egale cu identificatorul secret.Editorul unui frame neconditionat asociat va asigura doar transportul pana la frame-ul sau.Daca niciuna dintre task-urile secundare nu raspund antetului, restul slotului nu functioneaza si antetul este ignorat.In cazul in care mai mult un task slave raspunde la antet, in acelasi slot, va avea loc o coliziune iar master-ul trebuie sa o rezolve prin solicitarea frame-urilor neconditionate asociate inainte de a cere din nou evenimentul care a declansat frame-ul.

42

Page 45: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

3. Frame sporadic

Antetul unui frame sporadic se trimite numai in sloturile asociate frame-urilor atunci cand master task stie ca un semnal efectuat in frame a fost actualizat.Editorul frame-ului sporadic trebuie sa ofere intotdeauna raspuns antetului.

4.Frame-ul de diagnosticare

Frame-ul de diagnosticare efectueaza intotdeauna date de diagnostic sau de configurare si contine 8 bytes de date.Identificatorul este fie de 60(0*3C),numit “master request frame” ,sau 61(0*3D) numit “slave response frame”.Inainte de generarea antetului a unui frame de diagnosticare,master task necesita un modul de diagnosticare in cazul in care va fi trimis.Task-urile secundare publica si se aboneaza la raspuns in functie de modulul lor de diagnosticare.

5.User-defined Frame

Identificatorul este 62(0×3E).Antetul unui utilizator definit al frame-ului este intotdeauna transmis cand un slot frame alocat frame-ului este procesat

6.Frame rezervat

Frame-urile rezervate nu trebuie sa fie utilizate intr-un cluster LIN 2.0.Identificatorul lor este de 63(0*3F)

LIN hardware

Specificarea LIN a fost conceputa pentru a permite nodurilor hardware ieftine sa fie folosite in cadrul unei retele.Acesta este un low-cost, cu un singur fir de retea bazat pe ISO 9141.In topologiile retelelor de masini de astazi ,sunt folosite oricare dintre microprocesoarele UART sau hardware LIN dedicat .Microcontrolerul genereaza toate datele LIN necesare (protocol) de software si este conectat la reteaua LIN prin intermediul unui transceiver LIN .A lucra ca un nod LIN ,este doar o parte din posibila functionalitate.Lin hardware poate include acest transceiver si functioneaza ca un nod LIN pur fara functionalitate adaugata.

Precum nodurile LIN slave ar trebui sa fie cat mai ieftine posibil,acestea pot genera ceasul lor intern printr-o combinatie oscilator RC in loc de un oscilator cu cristal(cuart sau ceramica).Pt a asigura stabilitatea ratei unitatii de viteza intr-un frame LIN, este folosit SYNC din interiorul header-ului.

43

Page 46: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

LIN protocol

Lin-Master foloseste una sau mai multe tabele de programare predefinite pentru a porni trimiterea si primirea catre magistrala LIN. Aceste tabele de programare contin cel putin sincronizarea relative, unde mesajul trimis este initiat. Un Frame LIN este compus din doua parti header si response. Header-ul este intodeauna trimis de catre LIN Master, in timp ce response este trimis de singurul dedicate LIN-Slave.

Transmiterea datelor in cadrul LIN se transmit serial ca 8 biti cu un bit de pornire si unul de oprire,neavand bit de paritate. Rata bitilor variaza de la 1kbit/s la 20 kbit/s. Datele pe magistrala sunt divizate in recesiv (logical HIGH) si dominant(logical LOW). Timpul normal este considerat de catre sursa de ceas stabila a LIN Master-ilor, cea mia mica entitate este un bit time (52 µs @ 19.2 kbit/s).

Doua stari ale magistralei -modul Sleep si active- sunt folosite in cazul protocolului LIN. IN timp ce datele sunt pe magistrala toate nodurile trebuie sa fie in starea activa. DUpa un timp specificat, nodurile intra in modul Sleep si eliberate inapoi in starea active de frame-ul WAKEUP. Acest frame poate fi trimis de orice nod cerand o activitate pe magistrala, ori LIN Master urmarindu-si programul intern, sau unul dintre atasamentele LIN Slaves fiind activate de aplicatia softului intern. Dupa ce toate nodurile sunt activate, Master-ul continua sa programeze urmatorul Identificator.

HEADER

Antetul este format din trei parti:

Break: Campul “break”(pauza) este folosit pentru a activa toate atasamentele slave-urilor LIN sa urmeze anumite parti ale antetului.Este format dintr-un bit de start si cativa biti dominanti. Lungimea este de cel putin 11 biti;in utilizarea standard de astazi se folosesc 13 biti, si de aceea difera de formatul initial al datei. Aceasta este folosita pentru a se asigura ca nodurile LIN cu ceas principal diferit de rata unitatii de viteza a magistralei din campuri specificate vor detecta pauza ca un frame pornind comunicarea si nu ca un bit de date standard cu toate valorile zero(hexadecimal 0x00).

SYNC: SYNC este un tip standard de date cu o valoare in hexazecimal de 0x55. Slave-urile LIN care merg pe oscilatorul RC vor folosi distanta dintre un numar fix de varfuri crescatoare si descrescatoare pentru a masura bitul curent de pe magistrala( timpul normal al master-ului) si pentru a recalcula rata unitatii de viteza interna.

44

Page 47: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

IDENTIFICATORUL: Identificatorul defineste ca o actiune sa fie indeplinita de unul sau mai multe dintre nodurile atasate ale slave-ului LIN. Constructorul retelei trebuie sa se asigure de functionalitatea corecta inca din faza de proiectare(unui singur slave ii este permis sa trimita date catre magistrala intr-un frame).

Daca identificatorul vrea ca un slave fizic LIN sa trimita raspunsul, identificatorul se poate numi Rx-identifier. Daca aplicatia master slave trimite date catre magistrala se poate numi Tx-identifier.

Response

Raspunsul este trimis de una dintre task-urile slave atasate si este impartit in date si control.

Data: Slave-ul pentru raspuns poate trimite de la 0 la 8 octeti de date catre magistrala.Cantitatea de date este stabilita de catre proiectantul cererii si oglinzile de date relevante pentru cererea pe care LIN slave o ruleaza.

Control :Exista 2 modele de control disponibile in cadrul LIN:primul este de control,inclusiv octeti de date numai(Versiunea 1.3),cel de-al doilea include identificatorul in plus(Versiunea 2.0+).Modelul de control utilizat este predefinit de proiectantul cerere.

SLAVE NODE POSITION DETECTION(SNPD) autoaddressing

Aceste metode permit detectarea pozitiei de noduri slave in magistrala LIN dar si atribuirea unei adrese de nod unic.

Permite dispozitivelor asemanatoare sau identice sa fie conectate in magistrala fara sfarsit de linie de programare sau conector de programare pin.

Restrictii:

Toate slave-urile auto-abordate trebuie sa fie intr-o singura linie

Slave-ul standard poate fi conectat in orice fel

Extra Wire Daisy Chain (XWDC)

Fiecare nod slave trebuie sa furnizeze 2 pini in plus,o intrare D1 si o iesire D2.

Prima intrare a nodului SNPD este fie setata la GND fie conectata la iesirea master-ului.

Iesirea primului nod 2 este conectata la intrarea D1 a nodului secundar si asa mai departe rezultand un lant.

45

Page 48: Tema nr 10 - stst.elia.pub.rostst.elia.pub.ro/news/TEME_SOIII_2010/SOEMBD/Sisteme de operare pentru... · Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar

Fiecare configuratie de pini Dx(x=1-2) are circuite suplimentare pentru a ajuta la detectarea pozitiei.

1.Rezistenta comutabila se alimenteaza la vbat

2.Se leaga la GND

3.Se leaga la un comparator cu tensiune vbat/2

LIN API

LIN API (Application Programmers Interface) oferă un set de apeluri de funcţii (de bază este limbajul de programare C), care trebuie să fie pus în aplicare in fiecare driver software LIN. Folosind acest set predefinit de rutine ale driver-ului, toate funcţiile LIN pot fi accesate.Utilizarea funcţiilor API-compliant facilitează punerea în aplicatie a driverelor software standard. De asemenea, testarea este accelerata.

Avantaje ale LIN-ului:

-usor de folosit

-componente disponibile

-preturi mai ieftine decat CAN sau alte magistrale de comunicatii

-mai multe vehicule de incredere

-extensie usor de implementat

-nu se percepe taxa de licenta de protocol

-LIN nu este o inlocuire completa a magistralei CAN.

Insa magistrala LIN este o buna alternativa ori de cate ori costurile sunt esentiale si viteza/latimea de banda nu este esentiala.

46