System request

Revision as of 17:37, 5 May 2025 by 158.106.48.10 (talk) (→‎History)
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Template:Short description Template:Redirect

System Request (SysRq or Sys Req) is a key on personal computer keyboards that has no standard use. Introduced by IBM with the PC/AT, it was intended to be available as a special key to directly invoke low-level operating system functions with no possibility of conflicting with any existing software. A special BIOS routine – software interrupt 0x15, subfunction 0x85<ref name="intlist">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> – was added to signal the OS when SysRq was pushed or released. Unlike most keys, when it is pressed nothing is stored in the keyboard buffer.

HistoryEdit

The specific low level function intended for the SysRq key was to switch between operating systems. When the original IBM-PC was created in 1980, there were three leading competing operating systems: PC DOS, CP/M-86, and UCSD p-System,<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> while Xenix was added in 1983–1984. The SysRq key was added so that multiple operating systems could be run on the same computer, using the capabilities of the 286 chip in the PC/AT.<ref>Personal interview with Sandy Meade, creator of the SysRq key</ref>Template:Vc

A special key was needed because most software of the day operated at a low level, often bypassing the OS entirely, and typically made use of many hotkey combinations. The use of terminate-and-stay-resident (TSR) programs further complicated matters. To implement a task switching or multitasking environment, it was thought that a special, separate key was needed. This is similar to the way "Control-Alt-Delete" is used under Windows NT.

On 84-key keyboards (except the 84-key IBM Model M space saver keyboard), SysRq was a key of its own. On the later 101-key keyboard, it shares a physical key with the Print screen key function. The Alt key must be held down while pressing this dual-function key to invoke SysRq. This continues through modern PC keyboards.<ref name="modern">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

The default BIOS keyboard routines simply ignore SysRq and return without taking action. So did the MS-DOS input routines. The keyboard routines in libraries supplied with many high-level languages followed suit. Although it is still included on most PC keyboards manufactured, and though it is used by someTemplate:Which debugging software, the key is of no use for the vast majority of users.

On the Hyundai/Hynix Super-16 computer, pressing Template:Key press will hard boot the system (it will reboot when Template:Key press is unresponsive, and it will invoke startup memory tests that are bypassed on soft-boot).Template:Fact

Modern usesEdit

In Linux, the kernel can be configured to provide functions for system debugging and crash recovery.<ref name="linux">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> This use is known as the "magic SysRq key".

Microsoft has also used SysRq for various OS- and application-level debuggers. In the CodeView debugger, it was sometimes used to break into the debugging during program execution.<ref name="mskb43648">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> For the Windows NT remote kernel debugger, it can be used to force the system into the debugger.<ref name="mskb900093">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

On modern Windows and some Linux desktop environments "Alt + Print screen" (which is the shortcut for SysRq on most modern keyboards<ref name="modern" />) copies an image of the current active window, instead of the entire screen as Print Screen alone would.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

Similar keysEdit

IBM 3270-type console keyboards of the IBM System/370 mainframe computer, created in 1970, had an operator interrupt key that was used to cause the operating system such as VM/370 or MVS to allow the console to give input to the operating system.

See alsoEdit

ReferencesEdit

Template:Reflist

External linksEdit

Template:Keyboard Template:Keyboard keys