Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ kern_loader(8) — NEXTSTEP 1.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

kl_util(8)

midi(4)

KERN_LOADER(8)  —  UNIX Programmer’s Manual

NAME

kern_loader − kernel server loader daemon

SYNOPSIS

/usr/etc/kern_loader [ −d ] [ −v ] [ script file ...  ]

DESCRIPTION

Kern_loader is a server task that responds to access requests for known loadable kernel mode servers by loading the server into the kernel and initializing it to respond to this, and subsequent requests.  Kernel servers are represented by script files describing the filename of the relocatable file, initialization and shutdown command sequences, and a mapping from advertized ports (see the "Name Server Functions" section in the "Mach Functions" chapter of TheNeXTSystemReferenceManual) to kernel server entry points.

Kern_loader also listens on it’s own port for requests made via Mach RPC (see kl_util (8)).  This interface can be used to add and delete servers, as well as to load servers into the kernel and unload running servers from the kernel.  There’s also a mechanism for receiving status of all installed servers. 

When invoked, kern_loader reads its configuration file and inspects its command line for a list of script files describing each kernel server that is to be prepaired for loading into the kernel.  These script files contain a set of commands specifying how the server is to be represented and initialized within the kernel.  Following is a list of commands that may make up a script file:

SERVER_NAME Specifies the name of the server for further manipulation. 

RELOC File name of the relocatable file containing the kernel server.  This will be relocated against the kernel once an address has been allocated for it within the kernel address space. 

ADVERTIZED_PORT
Specifies the name of a port that is to be allocated and advertized with the netname server.  When the kern_loader receives messages on any of these advertized ports the kernel server will be loaded into the kernel and initialized.  As part of the initialization sequence receive and ownership rights the advertized port are forwarded to the kernel server.  The message will then be forwarded by kern_loader to the loaded kernel server. 

MAP Specifies the mapping of advertized ports to internal routines within the kernel server. 

INIT the function named by this command will be called with a specified integer argument as part of the server initialization sequence. 

FREE As with INIT the named function will be called with an integer argument as part of the kernel server shutdown sequence. 

PORT_DEATH This command specifies a routine internal to the kernel server to be called when a port death message is received on it’s behalf. 

START This command causes the kernel server to be started immediately, rather than waiting for a message to be received on one of it’s advertized ports.  This is most appropriate for kernel servers that do not listen on any ports, or are wired into kernel data structures for non−server style access. 

WIRE This command causes the text and data of the loaded kernel server to be wired down, making the kernel server immune from unexpected page faults. 

Each script file

OPTIONS

−d Don’t detach from the invoking terminal. 

−v Display the debugging information. 

FILES

/etc/kern_loader.conf

SEE ALSO

kl_util(8) midi(4). 

NeXT, Inc.  —  21 June 1989

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026