1 / 84

RTMON HC 11

RTMON HC 11. Prof. Ing. Vladimír Vašek, CSc. Charakteristika RTMON. Preemptivní systém Samostatný soubor, který se přilinkuje k uživatelským procesům Je užíván pomocí služeb Služby pro práci s procesy Služby pro práci se schránkami a zprávami Musí být inicializován.

Download Presentation

RTMON HC 11

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RTMON HC 11 Prof. Ing. Vladimír Vašek, CSc.

  2. Charakteristika RTMON • Preemptivní systém • Samostatný soubor, který se přilinkuje k uživatelským procesům • Je užíván pomocí služeb • Služby pro práci s procesy • Služby pro práci se schránkami a zprávami • Musí být inicializován

  3. Vektor uživatelského procesu(1)

  4. Vektor uživatelského procesu(2)

  5. Vektor uživatelského procesu(3)

  6. Stav procesu (1) • STDEF – pouze definován pomocí CRTP • STREDY – připraven na spuštění • STRUN – běžící • STSTOP – pozastavený • STABOR – abortovaný • STWTIM – čeká na uplynutí času do spuštění

  7. Stav procesu (2) • STWCON – čeká na uplynutí času do pokračování • STWQF – čeká na zprávu ve schránce, jejíž adresa je v HDSOW • STWQE – čeká na uvolnění schránky, jejíž adresa je v HDSOW • STOCRT – proces přetekl přes časovou periodu spouštění

  8. Vektor uživatelského procesu(4)

  9. Vektor schránky

  10. Volání služeb (1) • Před voláním služby je nutno naplnit příslušné vstupní registry podle požadavků volané služby. • Akumulátor A obsahuje číslo volané služby (pevně dáno) • Akumulátor B většinou obsahuje číslo procesu, což je identifikátor vrácený službou CRTP (založení procesu - registrace pro jádro RTMON).

  11. Volání služeb (2) • Každá služba vrací nejméně akumulátor A, kde je uložen návratový kód procesu (chyba). • Vlastní volání jádra RTMON se provede pomocí instrukce JSR SERV, čímž se předá řízení manažeru služeb.

  12. Seznam návratových kódů služeb (1)

  13. Seznam návratových kódů služeb (2)

  14. POPIS SLUŽEB (1) Služby pro práci s procesy

  15. CRTP - založení procesu • Vyplní hlavičku procesu do tabulky hlaviček a regulérně zaregistruje proces pro jádro systému. • Nastavuje zásobník procesu a hodnotu jeho aktuálního ukazatele na dno zásobníku. • Stav procesu nastaví na „pouze definován“ a vyplní proměnnou HDSTAR ve vektoru procesu startovací adresou procesu. • Vrátí identifikátor procesu, kterým se odkazují ostatní služby na daný proces. • Je možno založit až 20 procesů (bez úpravy).

  16. STRP – spuštění procesu • Spustí založený proces buďto jednorázově nebo s periodickým spouštěním. • Při periodickém spouštění musí uživatel zaručit, že proces bude dokončen do doby dalšího možného spuštění. Pokud tato situace přece jen nastane, bude proces vyloučen z dalších rozhodování jádra a obdrží status STOVRT. • Při definovaném pozastavení do prvního spuštění nejsou odpočítávány tiky procesu v periodě spouštění. Proces počká až uplyne doba do spuštění, spustí proces a začne odpočítávat tiky do dalšího spuštění.

  17. DLYP – pozastavení procesu • Pozastaví další zpracování procesu buďto na neurčito nebo na zadanou dobu. • Je-li pozastavení časově omezeno, proces pokračuje po uplynutí časového intervalu. • Není-li časově omezeno, nemůže proces již dále pokračovat dokud jiný proces nespustí službu CONP

  18. CONP – pokračování procesu • Povolení dalšího zpracování procesu pozastaveného službou DLYP. • Má-li pokračovat proces s vyšší prioritou, dostane ihned přidělen procesor, v jiném případě musí počkat, až budou uspokojeny ostatní procesy s vyššími prioritami.

  19. CHPP – změna periody spouštění • Změní periodu spouštění u periodicky spouštěných procesů. • Lze s výhodou využít pro zastavení dalšího periodického spouštění nebo pro zahájení spouštění s novou periodou. • Je nutno mít na paměti, že programátor aplikace musí zaručit ukončení procesu do příchodu dalšího požadavku na spuštění

  20. STOP – zakončení procesu • Slouží k zakončení práce procesu. • Musí být na konci každého procesu! • Provádí regulérní korekci dat vektoru procesu. • Pokud nebude proces před předáním procesoru jádru systému ukončen touto službou, bude systém zablokován bez šance k regulérnímu obnovení práce bez resetu mikropočítače.

  21. ABRP – abort procesu • Provede symbolické vyřazení procesu z tabulek systému. • Je-li periodicky spouštěn musí být perioda spouštění před službou ABRP vynulována pomocí služby CHPP! • Programátor by po použití služby ABRP neměl provádět s daným procesem žádné další operace. • Tato služba nemá v RTMON HC11 tak výrazně nutné uplatnění jako v jiných systémech reálného času, jelikož se programy nemohou do mikropočítače zavádět dynamicky a není tedy třeba uvolňovat paměť jiným aplikacím.

  22. POPIS SLUŽEB (2) Služby pro práci se schránkami a zprávami

  23. CRTQ – založení schránky • Založí schránku pro výměnu dat mezi procesy a vrátí identifikátor schránky, kterým se odkazují ostatní procesy na tuto datovou strukturu. • Schránka má velikost 2 byty a je možno založit až 20 schránek

  24. WRTQ – zápis do schránky bez čekání • Zapíše informace z registru IY do schránky určené identifikátorem bez čekání na volnou schránku. • Je -li ve schránce stará zpráva, bude přepsána a vrácen kód chyby EQFU

  25. WRWQ – zápis s čekáním na volnou schránku • Zapíše informace z registru IY do schránky určené identifikátorem s čekáním, dokud je ve schránce stará zpráva. • Po dobu čekání není procesu přidělován procesor

  26. REDQ – čtení ze schránky bez čekání • Čte zprávu ze schránky. • Je-li schránka prázdná, vrací zprávu 0000H a kód chyby EQEM

  27. RDWQ - čtení s čekání na zprávu • Čte zprávu ze schránky. • Pokud je schránka prázdná, čeká až bude naplněna některým z procesů.

  28. DELQ – zrušení schránky • Symbolicky zruší schránku. • Musí být zajištěno, že v okamžiku rušení již schránka není používána žádným procesem.

  29. Přehled služeb (1)

  30. Přehled služeb (2)

  31. Přehled služeb (3)

  32. Přehled služeb (3)

  33. Přehled služeb (4)

  34. Seznam systémových proměnných (1)

  35. Seznam systémových proměnných (2)

  36. Seznam systémových proměnných (3)

  37. Systémové tabulky

  38. Mapa paměti (1)

  39. Mapa paměti (2)

  40. Mapa paměti (3)

  41. Mapa paměti (4)

  42. Mapa paměti (5)

  43. Mapa paměti (6)

  44. Demonstrační příklad programu v reálném čase Hlavní program

  45. Hlavní program (1)

  46. Hlavní program (2)

  47. Hlavní program (3)

  48. Hlavní program (4)

  49. Hlavní program (5)

  50. Blok identifikátorů použitých procesů • IDE1 FCB 0 číslo procesu 1 • IDE2 FCB 0 číslo procesu 2

More Related