Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ suspend(8) — AOS 4.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

reboot(2)

unix(1)

SUSPEND(8)  —  

NAME

suspend − suspend unix and return to DOS (6152 only)

SYNOPSIS

/etc/suspend

DESCRIPTION

Suspend writes out buffered filesystem information to the disks, saves the screen contents, notifies device drivers, and then suspends the processor, and returns control on the PS/2 to DOS. While DOS has control only clock interrupts are serviced on the Risc Processor - no I/O operations can be processed because there is no program running on the PS/2 to handle requests and forward the resulting interrupts back to the kernel. 

At this point the DOS environment is restored to its state before Unix.exe started up and all of the DOS environment is available for other DOS programs (except for the PS/2’s extended memory which Unix may still be using if /dev/pc0a or /dev/rpc0a is being used). 

While the kernel is suspended no user Unix processes are running, and no I/O interrupts are being serviced, though clock interrupts are being taken to keep the time-of-day clock correct. 

Later, when the suspended Unix kernel can be restarted by specifying the restart 1 option to the DOS unix(1) command. This causes the DOS unix command to reconnect with the looping kernel. The device drivers then reinitialize themselves, the saved screen image is restored, and the suspend command exits. It is possible that an I/O error may be indicated by a device driver as a result of the reinitialization if the DOS environment has changed in such a way as to disable a particular device. 

NOTES

If Unix is using the extended PS/2 memory (e.g. as a filesystem or swap device) then DOS drivers or programs cannot as Unix may get filesystem errors and/or kernel panics. 

If unix.exe is invoked with different parameters during restart than when originally started some I/O devices may not behave very well as the device may not be accessible or have the same information. For example, if the system is suspended while a diskette is being read, and while Unix is suspended a different diskette is inserted, the Unix driver may have no indication that this has happened. Similar problems exist for other devices. 

Unix processes that are real-time sensitive, or network connections that have timeouts that might expire while Unix is suspended may lose connections or have other problems. In general, the effect is very similar to invoking the kernel debugger - all Unix activity stops until the kernel is restarted. 

Note that this is NOT a hot-key situation - Unix is looping in a tight kernel loop and cannot service network requests or execute user code while suspended. Even cpu-bound user processes cannot be executed as they might issue paging requests that would require disk access.  In general, this facility should NOT be used on any machine that provides services to other machines on a network (e.g. a network server machine). 

If run on an IBM RT PC, /etc/suspend will fail and cause an invalid argument message. 

DIAGNOSTICS

reboot: Not Owner
If not invoked as root.

reboot: I/o error
If a device driver has an error reinitializing a device.

SEE ALSO

reboot(2), unix(1)

BUGS

As the C shell (csh(1) has a builtin suspend command it is necessary to provide a pathname (e.g. /etc/suspend) in order to invoke this command, or to escape it (e.g. \suspend). 

PRPQs 5799-WZQ/5799-PFF: IBM/4.3  —  December 1988

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