stringtranslate.com

Monitor residente

En informática , un monitor residente es un tipo de programa de software de sistema que se utilizó en muchas de las primeras computadoras desde la década de 1950 hasta la de 1970. Puede considerarse un precursor del sistema operativo . [1] El nombre se deriva de un programa que siempre está presente en la memoria de la computadora, por lo que es residente . [2] Debido a que la memoria era muy limitada en esos sistemas, el monitor residente a menudo era poco más que un trozo que obtendría el control al final de un trabajo y cargaría una parte no residente para realizar las tareas de limpieza y configuración del trabajo requeridas.

En una computadora de uso general que utilizaba entrada de tarjetas perforadas , el monitor residente gobernaba la máquina antes y después de que se ejecutara cada tarjeta de control de trabajo , cargaba e interpretaba cada tarjeta de control y actuaba como un secuenciador de trabajos para operaciones de procesamiento por lotes . [3] El monitor residente podía borrar la memoria del último programa utilizado (con excepción de él mismo), cargar programas, buscar datos de programas y mantener rutinas estándar de entrada y salida en la memoria. [2]

Capas de software de sistema similares se utilizaban normalmente en los primeros días de las últimas minicomputadoras y microcomputadoras, antes de que adquirieran la potencia necesaria para soportar sistemas operativos completos. [2]

Uso actual

La funcionalidad de monitor residente está presente en muchos sistemas integrados, cargadores de arranque y varias líneas de comandos integradas. Las funciones originales presentes en todos los monitores residentes se han ampliado con funciones actuales relacionadas con el hardware de arranque, los discos, Ethernet, los controladores inalámbricos, etc. Normalmente, se accede a estas funciones mediante un terminal en serie o un teclado y una pantalla físicos, si están conectados. A este tipo de monitor residente se lo suele denominar depurador, cargador de arranque, interfaz de línea de comandos (CLI), etc. El significado original de monitor residente al que se accede mediante serie o mediante terminal no se utiliza con frecuencia, aunque la funcionalidad sigue siendo la misma y se ha ampliado.

Las funciones típicas de un monitor residente incluyen examinar y editar la memoria RAM y/o ROM (incluida la EEPROM flash) y, a veces, registros de funciones especiales, la capacidad de saltar al código en una dirección específica, la capacidad de llamar al código en una dirección dada, la capacidad de llenar un rango de direcciones con una constante como 0x00 y varias otras. Las funciones más avanzadas incluyen el desensamblado local de instrucciones en lenguaje ensamblador del procesador e incluso el ensamblaje y la escritura en la memoria flash a partir del código escrito por el operador. Además, el código se puede descargar y cargar desde varias fuentes, y algunos monitores avanzados admiten una variedad de protocolos de red para hacerlo, así como el formateo y la lectura de FAT y otros sistemas de archivos, generalmente desde la memoria flash en buses USB o CFcard.

En el caso de los procesadores integrados, muchos depuradores en circuito con modo de solo software utilizan conceptos y funciones de monitor residente a los que se accede con frecuencia mediante una interfaz gráfica de usuario de entorno integrado (IDE). No son diferentes de las líneas de comando de monitor residente a las que se accede mediante línea serial tradicional, pero los usuarios no son conscientes de ello. A más tardar, los desarrolladores y usuarios avanzados descubrirán estas funciones de monitor residente integradas de bajo nivel al escribir código API de bajo nivel en un host para comunicarse con un objetivo integrado para la depuración y la ejecución de casos de prueba de código.

Varios microcontroladores actuales tienen monitores seriales residentes o cargadores de arranque extendidos disponibles como opciones para que los usen los desarrolladores. Muchos son de código abierto. Algunos ejemplos son PAULMON2, [4] AVR DebugMonitor [5] y el cargador de arranque y monitor Arduino Bamo128. [6] En general, la mayoría de los monitores residentes actuales para computación embebida se pueden compilar de acuerdo con varias restricciones de memoria, desde pequeñas y minimalistas hasta grandes, llenando hasta el 25% del espacio de código disponible en un procesador AVR ATmega328 con 32 kilobytes de memoria flash, por ejemplo.

En muchos casos, los monitores residentes pueden ser un paso adelante respecto de la depuración de printf y son muy útiles cuando se desarrolla con un presupuesto que no permite utilizar un depurador en circuito de hardware (ICD) adecuado.

Ejemplos de sistemas con monitores residentes

Véase también

Referencias

  1. ^ Introducción a los sistemas operativos 000.18/018, Departamento de Ciencias de la Computación de la Universidad Johns Hopkins
  2. ^ abc Sistemas operativos - Clase 02, Universidad de Auckland
  3. ^ "59.305 - Sistemas operativos, Universidad Massey [ enlace roto ]
  4. ^ PAULMON2
  5. ^ Monitor de depuración AVR
  6. ^ Bamo128 Cargador de arranque y monitor Arduino