La carga remota del programa inicial ( RIPL o RPL ) es un protocolo para iniciar una computadora 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 al entorno de ejecución previo al arranque (PXE), pero utiliza el método de arranque basado en Novell NetWare . Fue desarrollado originalmente por IBM .
IBM LAN Server permite a los clientes (solicitantes 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.
Para que funcione el arranque remoto de 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 la 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 de ser sobrescrito conectando INT 12h [5] [4] y reduciendo la memoria reportada por este servicio BIOS por su propio tamaño. DOS utiliza INT 12h 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 el sistema operativo puede utilizar rangos de direcciones libres en modo real para reubicar partes de sí mismo y cargar controladores altos , de modo que la cantidad de memoria convencional disponible sea maximizado. Normalmente, el código RPL tenía que utilizar varios "trucos sucios" específicos de la versión y del proveedor del sistema operativo para sobrevivir a este proceso de arranque tan dinámico [2] y permitir que DOS recuperara el control sobre la memoria ocupada por RPL una vez que se completa el arranque. una manera perfecta.
Desde MS-DOS / PC DOS 5.0 y DR DOS 6.0 , el sistema operativo comprueba si el RPL ha conectado INT 2Fh buscando una RPL
firma " " en el código señalado por 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] Aun así, seguía siendo responsabilidad del RPL eliminarse limpiamente de la memoria al final de la fase de arranque, si era posible.
Además de esta " RPL
" interfaz, DR DOS 6.0 y versiones posteriores 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 arranque. proceso. [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 libere más adelante), o para conectarse y integrarse mejor con el sistema operativo para realizar sus tareas de limpieza finales 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 de 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, RxDOS 7.24 RPLOADER
también admite las transmisiones " ". [8]