stringtranslate.com

Carga inicial remota del programa

La carga inicial remota de programas ( RIPL o RPL ) es un protocolo para iniciar un ordenador y cargar su sistema operativo desde un servidor a través de una red . Un servidor de este tipo ejecuta un sistema operativo de red como LAN Manager , LAN Server , Windows NT Server, Novell NetWare , LANtastic , Solaris o Linux . [1]

RIPL es similar a Preboot Execution Environment (PXE), pero utiliza el método de arranque basado en Novell NetWare . Fue desarrollado originalmente por IBM .

Servidor LAN de IBM

IBM LAN Server permite a los clientes (solicitantes de RIPL) cargar los sistemas operativos DOS u OS/2 a través del protocolo 802.2 / DLC desde la LAN (a menudo Token Ring ). Por lo tanto, el servidor compara las solicitudes de los clientes con las entradas de su tabla RPL.MAP. El arranque remoto de estaciones de trabajo DOS a través de imágenes de arranque fue admitido ya en 1990 por IBM LAN Server 1.2 a través de su protocolo PCDOSRPL. IBM LAN Server 2.0 introdujo el arranque remoto de estaciones OS/2 (desde OS/2 1.30.1) en 1992.

RPL y DOS

Para que funcione el arranque remoto DOS, el cargador de arranque RPL se carga en la memoria del cliente a través de la red antes de que se inicie el sistema operativo. Sin precauciones especiales, el sistema operativo podría sobrescribir fácilmente el código RPL durante el arranque, ya que el código RPL reside en memoria no asignada (normalmente en la parte superior de la memoria convencional disponible ). [2] [3] [4] El código RPL se oculta y, por lo tanto, se protege a sí mismo de ser sobrescrito al enganchar INT 12h [5] [4] y reducir la memoria informada por este servicio BIOS por su propio tamaño. INT 12h es utilizado por DOS para consultar la cantidad de memoria disponible al inicializar su propio esquema de asignación de memoria en modo real. [5] [4] Esto causa problemas en sistemas DOS más modernos, donde los rangos de direcciones libres en modo real pueden ser utilizados por el sistema operativo para reubicar partes de sí mismo y cargar controladores en alto , de modo que se maximice la cantidad de memoria convencional disponible. Por lo general, el código RPL tenía que utilizar varios "trucos sucios" específicos de la versión y el proveedor del sistema operativo para sobrevivir a este proceso de arranque muy dinámico [2] y permitir que DOS recuperara el control sobre la memoria ocupada por RPL una vez que el arranque se completaba de manera fluida.

Desde MS-DOS / PC DOS 5.0 y DR DOS 6.0 , el sistema operativo verifica si el RPL ha interceptado INT 2Fh buscando una RPLfirma " " en el código al que apunta INT 2Fh. Si está presente, DOS llama a INT 2Fh/AX=4A06h [3] [4] [6] para recuperar la cantidad de memoria del RPL e integrarla en su propia asignación de memoria, protegiendo así el código RPL de ser sobrescrito por otros programas. [3] [4] Aún así, seguía siendo la difícil responsabilidad del RPL eliminarse limpiamente de la memoria al final de la fase de arranque, si era posible.

RPLOADER y DR-DOS

Además de esta RPLinterfaz " ", DR DOS 6.0 y superiores desde 1991 admiten una extensión más flexible denominada " RPLOADER". [7] [4] Si DR DOS detecta la presencia de RPLOADER en lugar de solo RPL, comienza a emitir transmisiones INT 2F/AX=12FFh/BX=0005h [3] [7] [4] en ciertas etapas críticas del proceso de arranque. [3] [7] [4] El código RPL puede usarlos para reubicarse en la memoria (para evitar conflictos con otro software residente o para evitar la fragmentación de la memoria cuando la memoria RPL se libera más adelante), o para conectarse e integrarse mejor con el sistema operativo para realizar sus tareas de limpieza final de una manera bien definida y coordinada a través de una interfaz de backend robusta y compatible en lugar de simples hacks. [3] [7] [4] Esto ayuda a mejorar la compatibilidad sin tener que adaptar el código RPL con cada nueva versión del sistema operativo, y evita la fragmentación innecesaria de la memoria y, por lo tanto, aumenta la memoria disponible para que se ejecuten los programas DOS. La interfaz también se puede utilizar para ejecutar DR DOS como una tarea en un sistema operativo host como Concurrent DOS . [6]

Desde 2018, RxDOSRPLOADER 7.24 también  admite las transmisiones " ". [8]

Véase también

Referencias

  1. ^ McKenzie, James; Lightfoot, Chris (1999). "RPLD - un servidor de arranque remoto RPL/RIPL". Archivado desde el original el 23 de agosto de 2017. Consultado el 11 de junio de 2009 .
  2. ^ ab Paul, Matthias R. (1997-10-02) [1997-09-29]. "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM BOOT.TXT - Una breve descripción de cómo se inicia OpenDOS". Archivado desde el original el 2003-10-04 . Consultado el 29 de marzo de 2009 .[1]
  3. ^ abcdef Paul, Matthias R. (17 de julio de 2000). Brown, Ralf D. (ed.). "2F4A06: INT 2F - DOS 5+ - DOS SUPERVISOR "REBOOT PANEL" - ADJUST MEMORY SIZE". Lista de interrupciones de Ralf Brown 61 . Archivado desde el original el 22 de agosto de 2017 . Consultado el 22 de agosto de 2017 .
  4. ^ abcdefghi Paul, Matthias R. (13 de agosto de 2002). "Suche freien Speicherbereich unterhalb von 1 MB, der nicht von OS überschrieben wird" (en alemán). Grupo de noticias : de.comp.lang.assembler.x86. Archivado desde el original el 4 de septiembre de 2017 . Consultado el 3 de septiembre de 2017 .
  5. ^ ab Brown, Ralf D. (ed.). "12: INT 12 - BIOS - GET MEMORY SIZE". Lista de interrupciones de Ralf Brown . Archivado desde el original el 2017-08-22 . Consultado el 2017-08-22 .
  6. ^ abc Chappell, Geoff (enero de 1994). Schulman, Andrew; Pedersen, Amorette (eds.). DOS Internals . The Andrew Schulman Programming Series (1.ª impresión, 1.ª ed.). Addison Wesley Publishing Company . págs. 134, 140–143. ISBN 978-0-201-60835-9. ISBN 0-201-60835-9(xxvi+738+iv páginas, disquete de 3,5" [2][3]) Erratas: [4][5][6]
  7. ^ abcd Paul, Matthias R. (17 de julio de 2000). Brown, Ralf D. (ed.). "2F12FFBX0005: INT 2F - DR DOS 6.0+ - TRANSMISIONES DE LA FASE DE ARRANQUE PARA MEMORYMAX/RPLOADER/SECURITY". Lista de interrupciones de Ralf Brown 61 . Archivado desde el original el 22 de agosto de 2017 . Consultado el 22 de agosto de 2017 .(NB. Información adicional está pendiente de publicación 62.)
  8. ^ ecm (8 de octubre de 2018). "Lanzamiento de RxDOS 7.24". bttr-software.de . DOS no ha muerto. Archivado desde el original el 15 de diciembre de 2018 . Consultado el 27 de enero de 2020 .

Lectura adicional