Prioritatea 100 - stadopedia

Tranzacția introdusă în acest bloc este atribuită priorității 100.

Întârzierea în blocul ADVANCE depinde de prioritatea tranzacției. Marele premiu cu prioritate minimă (1) este întârziat cu 4 unități de timp model, tranzacția cu cea mai mare prioritate (3) este întârziată cu 10 unități de timp model.







4.16. Organizarea serviciului cu întrerupere. Blocuri PRE-EMPT și RETURN

În multe cazuri, este necesară organizarea întreținerii în dispozitiv cu întreruperi (de exemplu, când a fost efectuată o operațiune pe mașină a existat o defecțiune). Această situație poate fi modelată, având în vedere că eșecul echipamentului este un transact, a cărui prioritate este mai mare decât tranzacția procesată de mașină. În acest caz, o tranzacție cu prioritate mai mare ar trebui să înceteze serviciul unei tranzacții cu prioritate inferioară, i. E. descărcați-o de pe dispozitiv. Aceasta explică traducerea literală a cuvântului englezesc c preempt- de descărcare, dar punctul C de vedere al unei operațiuni unic OCP-canal a decis să utilizeze dispozitivul de captare pe termen [10]. Pentru organizare în exploatare roystve gura c întrerupe PREEMPT folosi o pereche de blocuri (SEIZE) - RETURN (RETURN) precum și pentru dispozitivul convențional fără întreruperi blocuri utilizate sechestra - RELEASE.

Blocul PREEMPT are următorul format:

Rezultatul implicit

Nume dispozitiv (numeric sau simbolic)

Abilitatea de a captura în funcție de prioritate

Numele blocului (numeric sau simbolic) în care tranzacția întreruptă

Vezi explicația de mai jos

Numărul parametrului (nume numeric sau simbolic) pentru tranzacția întreruptă

Vezi explicația de mai jos

Posibilitatea scoaterii din serviciu

Vezi explicația de mai jos

Blocul PREEMPT permite tranzacției, în funcție de condițiile specificate în operanzii blocului, să ocupe aparatul. Blocul PREEMPT poate, de asemenea, să întârzie tranzacția la intrare.

Operandul A specifica numarul sau numele dispozitivului pe care este generata intreruperea. Un operand poate fi un nume, un număr întreg pozitiv, NAV sau CCHA * CCHA.

Operand B specifica modul prioritar (daca B = PR) sau modul de intrerupere (daca acest operand este omis). Când operează în modul prioritar, o tranzacție care ocupă deja dispozitivul sau generează o întrerupere a acestuia poate fi întreruptă numai de o tranzacție a cărei prioritate este mai mare decât prioritatea acestei tranzacții. Operațiunile întrerupte se prefac pentru utilizarea suplimentară a dispozitivului, atunci când operatorul tranzacționat va intra în blocul corespunzător RETURN. Operațiunile întrerupte sunt plasate în lista de întârziere în ordinea priorității.

Operand C specifica numarul sau numele blocului la care tranzactia intrerupta ar trebui sa incerce sa intre in aceeasi clipa. Pre-a rupt pierde tranzactioneze de control al dispozitivului, dar susține dreptul de a utiliza, dacă nu se specifică argumentul operandul E. este dorit Modul de operare cu prioritate operandul setat în cazul în care întrerupe C. tranzactioneze are o prioritate mai mare decât prerie-Du-. Operandul poate fi un nume, un numar pozitiv, NAV sau CCHA * CCHA.







Operandul D specifica numarul parametrului asociat tranzactiei intrerupte. Dacă tranzacția întreruptă în momentul întreruperii este trimisă în lista evenimentelor viitoare (a se vedea punctul 4.22), atunci restul timpului este scris la parametrul specificat. Dacă un astfel de parametru nu există, atunci acesta este creat. În modul de prioritate de operare, operandul D este setat numai dacă transactorul de întrerupere are o prioritate mai mare decât tranzacția întreruptă. Operandul poate fi un nume, un numar pozitiv, NAV sau CCHA * CCHA.

Operandul E seteaza sau nu specifica un mod de stergere (RE). B Régis-mă elimina RE întrerupt tranzactioneze nu mai pretinde a fi dispozitivul Execu-formare și încearcă să intre în blocul specificat C operanzi (în cazul în care operandului E reprezintă RE. Trebuie să fie definit și operator Rand C). În modul prioritate, modul RE este utilizat numai dacă prioritatea tranzacției de întrerupere este mai mare decât prioritatea tranzacției întrerupte. Când se utilizează RE întreruptă tranzactioneze nu ar trebui să intre în blocuri sau RETURN de lansare, dispozitiv conectat, în care Transact la service întrerupt. În cazul în care modul nu este specificat RE (operandE omis), apoi întrerupt tranzactioneze la întoarcerea sa la lista evenimentelor curente va încerca din nou să ia unitatea.

Un transact întrerupt poate fi inclus în lista evenimentelor viitoare. Dacă este necesar să faceți acest lucru, utilizați operand D.

Transactorul întrerupt luptă pentru dispozitiv, chiar dacă este mutat de către operandul C (dacă RE nu este folosit în operand E). Dacă transactorul avortat încă se luptă pentru dispozitiv, atunci încercarea de a intra în blocul TERMINATE duce la o eroare. O astfel de tranzacție înainte de a intra în blocul TERMINATE trebuie să intre în blocurile RELEASE sau RETURN

Transact poate fi întrerupt pe orice număr de dispozitive.

Dispozitivul poate fi capturat de mai multe ori, dar nu de două ori la rând, printr-o singură tranzacție.

Transact nu poate intra în bloc dacă, în modul prioritar, dispozitivul este deja capturat de tranzacție cu prioritate egală sau mai mare decât prioritatea tranzacției active. Transactul activ este plasat în conformitate cu prioritatea din lista de întârzieri ale dispozitivului.

Transact nu poate intra în bloc dacă dispozitivul este într-o stare inaccesibilă. Astfel de tranzacții sunt plasate în lista de întârzieri ale dispozitivului în conformitate cu prioritatea și în cadrul priorității de către regula FIFO.

Atributele numerice standard asociate cu blocul descris sunt aceleași ca în Tabelul. 4.26, cu adăugarea NAV FIj - semnalizatorul de întrerupere al dispozitivului (1 dacă dispozitivul este în starea de întrerupere, altfel 0).

Rețineți că atunci când se specifică operanții D și / sau E. De asemenea, trebuie specificat operandul C.

Dacă modul prioritar nu este setat (fără PR în operand B), operanzii C. D și (sau) E sunt ignorați. Cu toate acestea, este posibil ca pentru tranzacția întreruptă să fie selectată o ieșire alternativă, iar prioritatea tranzacției nu este luată în considerare. Acest caz apare atunci când este dat operandul C (și uneori operanzii D și (sau)), dar în operandul B, modul prioritar nu este setat. Această utilizare a operanților determină ca dispozitivul care ocupă transactorul să fie interceptat și direcționat de-a lungul unei căi alternative. În acest caz, întreruperile pe mai multe nivele nu apar.

Perele blocurilor SEIZE - RELEASE și PREEMPT - RETURN pot folosi aceleași denumiri ale dispozitivelor ocupate. În funcție de logica modelului, utilizatorul trebuie să determine în ce caz rezolva întreruperile și în care nu.

Blocul RETURN este asociat blocului PREEMPT, precum și blocului RELEASE în blocul SEIZE și este proiectat să elibereze dispozitivul capturat anterior. Are următorul format:







Articole similare

Trimiteți-le prietenilor: