Remote Program Load
   HOME

TheInfoList



OR:

Remote Initial Program Load (RIPL or RPL) is a protocol for starting a computer and loading its
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
from a
server Server may refer to: Computing *Server (computing), a computer program or a device that provides functionality for other programs or devices, called clients Role * Waiting staff, those who work at a restaurant or a bar attending customers and su ...
via a
network Network, networking and networked may refer to: Science and technology * Network theory, the study of graphs as a representation of relations between discrete objects * Network science, an academic field that studies complex networks Mathematics ...
. Such a server runs a
network operating system A network operating system (NOS) is a specialized operating system for a network device such as a router, switch or firewall. Historically operating systems with networking capabilities were described as network operating systems, because they al ...
such as
LAN Manager LAN Manager is a discontinued network operating system (NOS) available from multiple vendors and developed by Microsoft in cooperation with 3Com Corporation. It was designed to succeed 3Com's 3+Share network server software which ran atop a heavi ...
,
LAN Server IBM LAN Server is a discontinued network operating system introduced by International Business Machines (IBM) in 1988. LAN Server started as a close cousin of Microsoft's LAN Manager and first shipped in early 1988. It was originally designed to r ...
,
Windows NT Windows NT is a proprietary graphical operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems sc ...
Server,
Novell Novell, Inc. was an American software and services company headquartered in Provo, Utah, that existed from 1980 until 2014. Its most significant product was the multi-platform network operating system known as Novell NetWare. Under the lead ...
NetWare NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol. The original NetWare product in 19 ...
,
LANtastic LANtastic is a peer-to-peer local area network (LAN) operating system for DOS and Microsoft Windows (and formerly OS/2). The ''New York Times'' described the network, which permits machines to function both as servers and as workstations, as all ...
,
Solaris Solaris may refer to: Arts and entertainment Literature, television and film * ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem ** ''Solaris'' (1968 film), directed by Boris Nirenburg ** ''Solaris'' (1972 film), directed by ...
or
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
. RIPL is similar to
Preboot Execution Environment In computing, the Preboot eXecution Environment, PXE (most often pronounced as ''pixie'', often called PXE Boot/''pixie boot''.) specification describes a standardized client–server environment that boots a software assembly, retrieved from ...
(PXE), but it uses the Novell NetWare-based
boot A boot is a type of footwear. Most boots mainly cover the foot and the ankle, while some also cover some part of the lower calf. Some boots extend up the leg, sometimes as far as the knee or even the hip. Most boots have a heel that is cle ...
method. It was originally developed by IBM.


IBM LAN Server

IBM LAN Server enables clients (RIPL requesters) to load the operating systems
DOS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicat ...
or
OS/2 OS/2 (Operating System/2) is a series of computer operating systems, initially created by Microsoft and IBM under the leadership of IBM software designer Ed Iacobucci. As a result of a feud between the two companies over how to position OS/2 ...
via the 802.2/ DLC-protocol from the LAN (often
Token Ring Token Ring network IBM hermaphroditic connector with locking clip. Screen contacts are prominently visible, gold-plated signal contacts less so. Token Ring is a computer networking technology used to build local area networks. It was introduc ...
). Therefore, the server compares the clients' requests with entries in its RPL.MAP table. Remote booting DOS workstations via
boot image A boot image is a type of disk image (a computer file containing the complete contents and structure of a storage medium). When it is transferred onto a boot device it allows the associated hardware to boot. The ''boot image'' usually includes t ...
s was supported as early as 1990 by IBM LAN Server 1.2 via its PCDOSRPL protocol. IBM LAN Server 2.0 introduced remote booting of OS/2 stations (since OS/2 1.30.1) in 1992.


RPL and DOS

For DOS remote boot to work, the RPL boot loader is loaded into the client's memory over the network before the operating system starts. Without special precautions the operating system could easily overwrite the RPL code during boot, since the RPL code resides in unallocated memory (typically at the top of the available
conventional memory In DOS memory management, conventional memory, also called base memory, is the first 640 kilobytes of the memory on IBM PC or compatible systems. It is the read-write memory directly addressable by the processor for use by the operating system ...
). The RPL code hides and thereby protects itself from being overwritten by hooking INT 12h and reducing the memory reported by this BIOS service by its own size. INT 12h is used by DOS to query the amount of available memory when initializing its own real-mode memory allocation scheme. This causes problems on more modern DOS systems, where free real-mode address ranges may be utilized by the operating system in order to relocate parts of itself and load drivers high, so that the amount of available conventional memory is maximized. Typically, various operating system vendor and version specific "dirty tricks" had to be used by the RPL code in order to survive this very dynamic boot process and let DOS regain control over the memory occupied by RPL once the boot is complete in a seamless manner. Since
MS-DOS MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few ope ...
/ PC DOS 5.0 and DR DOS 6.0, the operating system checks if the RPL has hooked INT 2Fh by looking for a "RPL" signature at the code pointed to by INT 2Fh. If present, DOS calls INT 2Fh/AX=4A06h to retrieve the amount of memory from the RPL and integrate it into its own memory allocation, thereby protecting the RPL code from being overwritten by other programs. Still, it remained the RPL's difficult responsibility to cleanly remove itself from memory at the end of the boot phase, if possible.


RPLOADER and DR-DOS

In addition to this "RPL" interface, DR DOS 6.0 and higher since 1991 support a more flexible extension named "RPLOADER". If DR DOS detects the presence of RPLOADER rather than RPL only, it starts to issue INT 2F/AX=12FFh/BX=0005h broadcasts at certain critical stages in the boot process. The RPL code can use them to relocate itself in memory (in order to avoid conflicts with other resident software or to avoid
memory fragmentation In computer storage, fragmentation is a phenomenon in which storage space, main storage or secondary storage, is used inefficiently, reducing capacity or performance and often both. The exact consequences of fragmentation depend on the specif ...
when the RPL memory is freed later on), or to hook into and better integrate with the operating system in order to perform its final cleanup tasks in a well-defined and coordinated manner through a robust and supported
backend interface In software engineering, the terms frontend and backend (or sometimes referred to as back end or back-end) refer to the separation of concerns between the presentation layer (''frontend''), and the data access layer (''backend'') of a piece of soft ...
rather than mere hacks. This helps to improve compatibility without having to adapt the RPL code with each new version of the operating system, and it avoids unnecessary memory fragmentation and thereby increases available memory for DOS programs to run. The interface can also be utilized to run DR DOS as a task under a host operating system such as
Concurrent DOS Multiuser DOS is a Real-time operating system, real-time multi-user multi-tasking operating system for IBM Personal Computer, IBM PC-compatible microcomputers. An evolution of the older Concurrent CP/M-86, Concurrent DOS and Concurrent DOS 386 ...
. Since 2018,
RxDOS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicatio ...
 7.24 supports the "RPLOADER" broadcasts as well.


See also

*
Initial Program Load In computing, booting is the process of starting a computer as initiated via hardware such as a button or by a software command. After it is switched on, a computer's central processing unit (CPU) has no software in its main memory, so so ...
*
Network booting Network booting, shortened netboot, is the process of booting a computer from a network rather than a local drive. This method of booting can be used by routers, diskless workstations and centrally managed computers (thin clients) such as pub ...
* PROTMAN$ (Protocol Manager from Microsoft LAN Manager) *
Self-relocation In computer programming, a self-relocating program is a program that relocates its own address-dependent instructions and data when run, and is therefore capable of being loaded into memory at any address. In many cases, self-relocating code is a ...
*
Self-replication Self-replication is any behavior of a dynamical system that yields construction of an identical or similar copy of itself. Biological cells, given suitable environments, reproduce by cell division. During cell division, DNA is replicated and ca ...
* NetWare DOS Requester * NetWare Client 32 for DOS/Windows


References


Further reading

* * * * * {{cite web , title=Microsoft LAN Manager 2.1 RPL Tools and Specification , url=ftp://ftp.microsoft.com/developr/drg/RPL/ , access-date=2009-06-11 * GG24-3671-00: IBM Personal System/2 Advanced Server Planning Guide ''(IBM Redbook)'' Network booting