Rezidentní monitor - Resident monitor

Ve výpočetní technice je rezidentní monitor typem systémového softwarového programu, který se používal v mnoha časných počítačích od 50. do 70. let. Lze jej považovat za předchůdce operačního systému . Název je odvozen od programu, který je vždy přítomen v paměti počítače, a je tedy „rezidentní“. Protože v těchto systémech byla paměť velmi omezená, byl rezidentní monitor často jen o něco více než útržek, který by získal kontrolu na konci úlohy a načetl nerezidentní část, aby provedl požadované úlohy vyčištění a nastavení úlohy.

Na běžném počítači využívajícím vstup děrované karty řídil rezidentní monitor stroj před a po provedení každé karty kontroly úlohy , načetl a interpretoval každou kartu kontroly a fungoval jako řadič úloh pro operace dávkového zpracování . Rezidentní monitor mohl vymazat paměť z naposledy použitého programu (s výjimkou samotného), načíst programy, hledat programová data a udržovat standardní vstupně-výstupní rutiny v paměti.

Podobné systémové softwarové vrstvy se obvykle používaly v počátcích pozdějších minipočítačů a mikropočítačů, než získaly podporu pro podporu plných operačních systémů.

Aktuální použití

Funkce rezidentního monitoru je přítomna v mnoha vestavěných systémech, zavaděčích a různých vložených příkazových řádcích. Původní funkce přítomné ve všech rezidentních monitorech jsou rozšířeny o současné funkce zabývající se hardwarem spouštěcího času, disky, ethernetem, bezdrátovými řadiči atd. K těmto funkcím se obvykle přistupuje pomocí sériového terminálu nebo fyzické klávesnice a displeje, pokud jsou připojeny. Takový rezidentní monitor se často nazývá debugger, zavaděč, rozhraní příkazového řádku (CLI) atd. Původní význam rezidentního monitoru se sériovým nebo terminálovým přístupem se často nepoužívá, i když jeho funkce zůstala stejná a byla rozšířený.

Mezi typické funkce rezidentního monitoru patří zkoumání a úpravy paměti RAM a / nebo ROM (včetně flash EEPROM) a někdy i speciální registry funkcí, schopnost skákat do kódu na zadanou adresu, schopnost volat kód na danou adresu, schopnost vyplňte rozsah adres konstantou, například 0x00 a několika dalšími. Mezi pokročilejší funkce patří místní demontáž podle instrukcí jazyka sestavování procesoru a dokonce i montáž a zápis do paměti flash z kódu zadaného operátorem. Kód lze také stáhnout a nahrát z různých zdrojů a některé pokročilé monitory podporují sítě tftp, ftp, http atd., Stejně jako formátování a čtení souborů FAT a dalších souborových systémů, obvykle z flash paměti připojené na sběrnici USB nebo CFcard.

U vestavěných procesorů používá mnoho „obvodových debuggerů“ v režimu pouze pro software koncepty a funkce rezidentních monitorů, které jsou často přístupné pomocí IDE GUI. Nelíší se od tradičních příkazových řádků rezidentního monitoru, na které se přistupuje sériovou linkou, ale uživatelé si toho nejsou vědomi. Nejpozději vývojáři a pokročilí uživatelé objeví tyto nízkoúrovňové funkce vestavěného rezidentního monitoru při psaní nízkoúrovňového kódu API na hostiteli, aby mohli komunikovat s vloženým cílem pro ladění a spuštění testovacího případu kódu.

Několik současných mikrokontrolérů má jako volitelné doplňky pro vývojáře k dispozici rezidentní sériové monitory nebo rozšířené zavaděče. Mnohé z nich jsou open source. Některé příklady jsou PAULMON2, AVR DebugMonitor a zavaděč a monitor Bamo128 Arduino. Obecně lze většinu současných rezidentních monitorů pro vestavěné výpočty kompilovat podle různých paměťových omezení, od malých a minimalistických až po velké, vyplňující až 25% kódového prostoru dostupného na procesoru AVR ATmega328 s 32 kB paměti flash, příklad.

V mnoha případech mohou být rezidentní monitory krokem od „printf debugging“ a jsou velmi užitečné při vývoji s rozpočtem, který neumožňuje použití správného hardwarového ladicího obvodu (ICD).

Příklady systémů s rezidentními monitory

GM-NAA I / O

Viz také

Reference