Executivul de Timp Real RTK

Previzualizare curs:

Extras din curs:

APD-C1

3.2 Executivul de timp real RTK

A fost dezvoltat de On Time Company. (www.on-time.com)

RTK permite executia intercala a task-urilor.

3.2.1 Caracteristici:

a) Necesita spatii modeste de memorie (16 KB pentru cod,6 kb pentru date)

b) Poate opera cu un numar teoretic nelimitat de task-uri. Task-urilor li se pot asocia prioritati. Prioritatile

sunt un numar intreg intre 1 si 64.

c) O aceeasi prioritate poate fi alocata mai multor task-uri.

d) Timpul de comutare a starii unui task in jur de 6 microsecunde

e) Comutarile se pot efectua la orice moment de timp

f) Pune la dispozitia programatorului semafoare cutii postale si mesaje pentru implementarea operatiilor

multitasking

g) pune la dispozitia programatorului drivere specializate pentru ecran, tastatura, port serial. port paralel si

retea.

3.3.2 Task-uri sub RTK

In context RTK un task reprezinta o functie C sau C++ sau o procedura Pascal fara parametri si cu

stiva proprie. Structura unui program RTK impune utilizare de functii C la care se adauga functii RTK.

Este obligatorie existenta unui task main.

Hardware

BIOS

MS-DOS

RTK

Aplicatii

Task-urile pot fi in diverse stari. Ne imaginam task-urile ca evoluand intr-un spatiu in care sunt identificate

mai multe stari. Tranzitia intre stari se realizeaza prin directive de tip: start, stop etc

In context RTK un task se poate gasi intr-una din urmatoarele stari: Current, Ready, Suspended,

Delaying, Blocked, Timed (temporizat)

Starea Current: * In cadrul acestei stari un task e in aceasta stare daca este in executie un singur

In starea Current se ajunge numai din Ready. Insa din starea Current se poate ajunge in orice alta stare.

Starea Ready: * Se gasesc toate task-urile care indeplinesc toate conditiile pentru a fi executate

Starea Suspended: *In aceasta stare se gasesc task-urile care au fost suspendate explicit printr-o functie

RTK Suspend. Ele pot fi in orice moment activate prin functia RTK Resume.

Starea Delaying: => task intarziat. * El cedeaza controlul microprocesorului in urma executiei functiei RTK

Delay. Dupa expirarea timpului are loc tranzitia din starea Delaying in starea Ready.

Un task Blocked e un task blocat in asteptarea unui eveniment extern care reprezinta un semnal de semafor,

un mesaj dintr-o cutie postala, un mesaj de trecere etc. D.p.d.v al timpului asteptarea e nedefinita.

Se trece in starea Ready numai daca evenimentul s-a produs. Functie de natura evenimentului la care se

asteapta exista mai multe substari:

Blocked_Wait - asteapta semnalul semaforului

Blocked_Put - asteapta depunerea unui mesaj intr-o cutie postala

Blocked_Get - asteapta preluarea unui mesaj dintr-o cutioe postala

Blocked_Send - transmite un mesaj de la un task catre alt task

Blocked_Receive - legat de receptionarea unui mesaj

Substarile starii Blocked

Starea Timed este apropiata de starea Blocat Numai ca se indica si un interval de timp in care sa aiba

loc blocarea. Iesirea din Timed are loc fie la producerea evenimentelor fie la expirarea timpului.

DIRECTIVE

Ready

Suspended

Current

Delaying Blocked Timed

Timed_Wait - asteapta semnalul semaforului

Timed_Put - asteapta depunerea unui mesaj intr-o cutie postala

Timed_Get - asteapta preluarea unui mesaj dintr-o cutioe postala

Timed_Send - transmite un mesaj de la un task catre alt task

Timed_Receive - legat de receptionarea unui mesaj

Substarile starii Timed

Prin functiile sale RTK ofera posibilitatea implementarii operatiilor multitasking.

Cu exceptia Current pentru toate celelalte stari task-urile sunt organizate in stari.

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Executivul de Timp Real RTK.pdf
Alte informații:
Tipuri fișiere:
pdf
Nota:
7/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
5 pagini
Imagini extrase:
5 imagini
Nr cuvinte:
1 047 cuvinte
Nr caractere:
6 430 caractere
Marime:
83.40KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Calculatoare
Predat:
la facultate
Materie:
Calculatoare
Profesorului:
Nicolae Paraschiv
Sus!