Resident monitor

Im Computer, a Resident Monitor ist eine Art von Art von Systemsoftware Programm, das in vielen frühen Computern aus den 1950er bis 1970er Jahren verwendet wurde. Es kann als Vorläufer angesehen werden Betriebssystem.[1] Der Name stammt aus einem Programm, das immer im Speicher des Computers vorhanden ist und so "wohnhaft" ist.[2] Da der Speicher für diese Systeme sehr begrenzt war, war der ansässige Monitor oft kaum mehr als ein Stub, der am Ende eines Jobs die Kontrolle erlangte und einen nicht ansässigen Teil lädt, um die erforderlichen Aufgaben zu säubern und die erforderliche Aufgaben zu erledigen.

Auf einem allgemeinen Computer verwenden Lochkarte Input, der ansässige Monitor hat die Maschine vor und nach jedem regiert Jobkontrolle Die Karte wurde ausgeführt, geladen und jede Kontrollkarte interpretiert und als Jobsequenzer für Stapelverarbeitung Operationen.[3] Der ansässige Monitor könnte den Speicher aus dem zuletzt gebrauchten Programm (mit Ausnahme von sich selbst) den Speicher löschen, Programme laden, nach Programmdaten suchen und Standard-Eingabe-Output-Routinen im Speicher verwalten.[2]

Ähnliche Systemsoftwareschichten wurden in der Regel in den frühen Tagen des späteren verwendet Minicomputer und Mikrocomputer Bevor sie die Stromversorgung erhielten, um vollständige Betriebssysteme zu unterstützen.[2]

Derzeitiger Gebrauch

In vielen eingebetteten Systemen, Bootladern und verschiedenen eingebetteten Befehlszeilen ist die Resident Monitor -Funktionalität vorhanden. Die ursprünglichen Funktionen, die in allen ansässigen Monitoren vorhanden sind, werden durch heutige Funktionen erweitert, die sich mit Startzeit-Hardware, Festplatten, Ethernet, drahtlosen Controllern usw. befassen Ein solcher ansässiger Monitor wird häufig als Debugger, Bootlader, Befehlszeilenschnittstelle (CLI) usw. bezeichnet. erweitert.

Die typischen Funktionen eines residenten Monitors umfassen das Untersuchen und Bearbeiten von RAM und/oder ROM (einschließlich Flash -EEPROM) und manchmal spezielle Funktionsregister, die Fähigkeit, unter einer bestimmten Adresse in den Code zu springen, die Fähigkeit, Code unter einer bestimmten Adresse aufzurufen, die Fähigkeit zu Füllen Sie einen Adressbereich mit einer Konstanten wie 0x00 und mehreren anderen. Erweiterte Funktionen beinhalten die lokale Demontage gegen den Prozessor Montagesprache Anweisungen und sogar Montage und Schreiben in Flash -Speicher aus dem vom Bediener eingegebenen Code. Außerdem kann Code aus verschiedenen Quellen heruntergeladen und hochgeladen werden, und einige erweiterte Monitore unterstützen TFTP, FTP, HTTP usw. Networking sowie Formatierung und Lesen von Fett- und anderen Dateisystemen, die normalerweise aus Flash -angehängtem Speicher in USB- oder CFCard -Bussen sind.

Für eingebettete Prozessoren verwenden viele "Incirit-Debugger" mit dem Software-Modus Resident Monitor-Konzepte und -Funktionen, auf die häufig von einem Gui-IDE zugegriffen wird. Sie unterscheiden sich nicht von der traditionell seriellen Linie, die auf die Befehlszeilen der auf Resident Monitor zugegriffen werden, aber die Benutzer sind sich dessen nicht bewusst. Letztendlich entdecken Entwickler und fortschrittliche Benutzer diese eingebetteten Monitor -Funktionen auf niedrigem Niveau, wenn sie auf einem Host auf niedrigem Niveau -API -Code eingebettetes API -Code schreiben, um mit einem eingebetteten Ziel für das Debugging- und Code -Testfall zu kommunizieren.

Mehrere aktuelle Mikrocontroller verfügen über serielle Monitore oder erweiterte Bootlader, die als Optionen zur Verwendung von Entwicklern verfügbar sind. Viele sind Open Source. Einige Beispiele sind Paulmon2,[4] AVR Debugmonitor[5] und der BAMO128 Arduino Bootloader und Monitor.[6] Im Allgemeinen können die meisten derzeit ansässigen Monitore für eingebettetes Computing nach verschiedenen Speicherbeschränkungen zusammengestellt werden Atmega328 Prozessor mit zum Beispiel 32 Kilobyte Flash -Speicher.

In vielen Fällen können ansässige Monitore ein Schritt aus dem "Printf-Debugging" sein und sind sehr hilfreich, wenn sie sich auf einem Budget entwickeln, das keine ordnungsgemäße Hardware-In-Circuit-Debugger (ICD) verwendet.

Beispiele für Systeme mit ansässigen Monitoren

Gm-naa i/o

Siehe auch

Verweise