Sisteme de operare real-time

Download Report

Transcript Sisteme de operare real-time

Universitatea Politehnica Bucuresti
Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei
Sisteme de operare real-time
Masterand:
Cergau Alexandru
- 2010 -
Introducere SORT
• folosite în general pentru computere de tip embedded
• Real time = abilitatea sistemului de operare de a oferi
nivelul necesar de service într-un timp de răspuns
predefinit scurt (POSIX 1003.1 )
• raspunde unor stimuli externi receptionati prin intrarile
sale
 time-triggered - sistemul testeaza periodic intrarile
 event triggered - prin întreruperi
• Folosite pentru capacitatea lor de răspuns rapid, nu
pentru volumul total de muncă (calcule) pe care îl pot
efectua
Caracteristici SORT
Un SORT trebuie sa ofere:
 un model care sa permita specificarea constrângerilor
temporare pentru toate tipurile de procese
 un limbaj care sa permita specificarea clara a sistemului si care
sa permita luarea în considerare a comunicatiilor asincrone cu
exteriorul
 politici de planificare si gestionare a resurselor care sa confere
sistemului proprietatile de garantie si predictibilitate
 protocoale de comunicatie care sa ia în considerare aspectele
temporare
 protocoale speciale pentru gestiunea memoriei
 mecanisme de sincronizare inter-taskuri si de sincronizare de
ceas.
Caracteristici SORT (II)
• se ia în considerare notiunea timp la toate nivelele
• echilibru intre flexibilitate si predictibilitate
• Planificarea - garanteaza respectarea constrângerilor
temporale. Nerespectarea constrângerilor conduce la:
 conflictele datorate disputarii procesoarelor
 conflictele datorate disputarii resurselor
• Preemptibilitatea = posibilitatea taskurilor de a fi
întrerupte, suspendate temporar
 complet preemptive - pot fi întrerupte în orice punct
 nepreemptive - în nici un punct al executiei
 partial preemptive – cu exceptia zonelor critice
Caracteristici SORT (III)
• Prioritatea
 taskuri TR critice - hard real-time tasks
 depasirea limitei de timp nu poate fi tolerata ducand la efecte
catastrofale;
 au prioritatea cea mai mare;
 li se rezerva static resursele, aceasta fiind o garantie necesara, dar
nu suficienta pentru a trata toate situatiile dinamice ce ar putea
aparea;
 numar redus de taskuri critice
 taskuri TR esentiale - soft real-time tasks
 importante, dar depasirea limitei poate fi tolerata
 taskuri neesentiale - non-real-time tasks
 nu sunt direct asociate activitatilor TR ale aplicatiei;
 se executa ultimele
Arhitectura Qnx
•microkernelul Neutrino
administreaza un grup de procese
cooperante
•Ofera:
multitasking
multiuser
retea
transmitere de mesaje,
planificare preemtiva
schimbare rapida de context
•foloseste standardul POSIX
Arhitectura Qnx (II)
• exista un modul numit procnto ,format din
microkernelul Neutrino si process manager
• Microkernelul Neutrino = implementare a coreului POSIX impreuna cu serviciile fundamentale
de transmitere a mesajelor.
• caracteristicile POSIX care nu sunt implementate
in microkernel sunt asigurate de procesele
optionale si librariile partajate.
• process managerul este capabil sa creeze procese
POSIX multiple
• comunicare interproces bazata pe mesaj
Arhitectura RTLinux
•sistem de operare mic si rapid,
•bazat pe standardul POSIX
1003.13
•nivel de virtualizare hardware
intre kernelul Linux standard si
partea hardware
•RTLinux este sistemul de
operare “oaspete” al kernelului
Linuxului (detine controlul deplin
al memoriei)
Arhitectura RTLinux (II)
• Domeniul prioritatilor : 0 – 1000000
• Fara numar limita de threaduri, costul planificarii este
proportional cu numarul acestora
• Planificare
 SCHED_FIFO - planificare cu prioritate fixa
 threadurile cu aceeasi prioritate sunt executate in ordinea FIFO
 SCHED_SPORADIC - ruleaza actiuni aperiodice
 SCHED_EDF implementeaza EDF ( Earliest Deadline First), o
politica de planificare dinamica a prioritatilor.
 Firele de executie sunt ordonate in functie de prioritate,
 dar firele cu aceeasi prioritate sunt planificate tinand cont de politica
EDF.
• toate firele de executie ale aplicatiilor si kernelul RTLinux
ruleaza in acelasi spatiu de adrese
Arhitectura VxWorks
•microkernelul wind
•trasaturi real-time :
multi-tasking
planificare
 comunicare si sincronizare
intre taskuri,
administrarea memoriei
celelalte functionalitati sunt
implementate sub forma unor
procese.
Arhitectura VxWorks (II)
• foarte scalabil prin includerea sau excluderea
unor module
• toate sistemele si aplicatiile au acelasi spatiu de
adrese
• pentru obtinerea unui raspuns rapid intreruperile
externe, rutinele de serviciu ale intreruperilor
(ISR – interrupt service routines) din VxWorks
ruleaza intr-un context special in afara contextului
threadurilor
• Adresa ISR-ului este stocata intr-o tabela de
intreruperi si este apelata direct de hardware
Exemple de SOTR si folosirea lor
Comparatie SOTR
MULŢUMESC!
14