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 i ...
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 h ...
,
LAN Server,
Windows NT
Windows NT is a proprietary graphical operating system produced by Microsoft, the first version of which was released on July 27, 1993. It is a processor-independent, multiprocessing and multi-user operating system.
The first version of Win ...
Server,
Novell NetWare,
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 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, w ...
.
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 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 r ...
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 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 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.
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 communicati ...
7.24 supports the "
RPLOADER
" broadcasts as well.
See also
*
Initial Program Load
*
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
*
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 c ...
*
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