SysRq
System Request of Systeemverzoek (vaak vanuit het Engels afgekort tot SysRq of Sys Req) is een toets op het toetsenbord die geen standaardfunctie heeft. De SysRq-toets zit als subfunctie (te activeren in combinatie met de Alt-toets) onder de Print screen-toets en is de 84ste toets die door IBM werd toegevoegd aan het PC/XT-toetsenbord.
Geschiedenis
Geïntroduceerd door IBM met de PC/AT, was de oorspronkelijke bedoeling om direct low-levelfuncties van het besturingssysteem aan te roepen zonder bestaande software te beïnvloeden. Een speciale BIOS-routine - software-interrupt hexadecimaal 15, subfunctie hexadecimaal 85[1] - werd toegevoegd om het OS te informeren over het indrukken en loslaten van de SysRq-toets. In tegenstelling tot de meeste andere toetsen wordt de toetsaanslag niet opgeslagen in de toetsenbordbuffer.
Deze specifieke low-levelfunctie van de SysRq-toets was bedoeld om te schakelen tussen verschillende besturingssystemen. Toen de oorspronkelijke IBM-PC werd ontwikkeld in 1980, waren er drie toonaangevende concurrerende besturingssystemen: PC-DOS, CP/M-86, en UCSD p-System, met Xenix als toevoeging in 1983-1984. De SysRq-toets werd toegevoegd zodat meerdere besturingssystemen konden worden uitgevoerd op dezelfde computer, destijds gebruik makend van de nieuwe mogelijkheden van de 286 chip.[2]
Een speciale toets was nodig omdat de meeste software toentertijd low-level werkte waarbij vaak het besturingssysteem in zijn geheel werd omzeild, en er meestal gebruik werd gemaakt van een groot aantal sneltoetscombinaties. Ook maakte het gebruik van Terminate and Stay Resident-programma's (TSR-programma's) de zaken nog gecompliceerder. Voor de implementatie van een multi-tasking-omgeving, dacht men dat een speciale, aparte toets nodig was. Dit is vergelijkbaar met de manier waarop Control-Alt-Delete wordt gebruikt onder Windows NT.
Op het 84 toetsen tellend toetsenbord (behalve het ruimtebesparende IBM Model M toetsenbord) was SysRq een aparte toets. Op het latere 101 toetsen tellende toetsenbord werd SysRq gecombineerd met de Print Screen-toets, in dit geval moet men de Alt-toets ingedrukt houden tijdens het indrukken van de toets om SysRq aan te roepen.
De standaard BIOS-toetsenbordroutines negeerden de SysRq-toetsaanslag, zo ook de MS-DOS-inputroutines. Dit voorbeeld werd gevolgd door veel high-leveltalen in hun meegeleverde bibliotheken. Hoewel de toets nog steeds aanwezig is op de meeste pc-toetsenborden, en hoewel hij wel wordt gebruikt door sommige debuggingsoftware, is de toets nutteloos voor de overgrote meerderheid van de gebruikers.
In 2010 verwijderde Lenovo de SysRq-toets van sommige van hun nieuwe laptops.[3]
Andere toepassingen
Onder DOS, waar slecht functionerende software de hele computer kon laten vastlopen, bestonden er vroeger TSR-programma's die de SysRq-toets gebruikten als een soort van "paniekknop" waarmee het programma kon worden beëindigd zodat de gebruiker terug keerde naar de DOS-prompt.
Standaard werd de SysRq-toets onder MS-DOS gebruikt om de "Print scherm output"-modus aan of uit te zetten. In deze modus werden alle regels die op het scherm getoond werden ook doorgestuurd naar de printer.
In Linux, kan de kernel worden geconfigureerd om deze toets te gebruiken voor het systeemdebuggen en crashrecovery. Dit gebruik staat bekend als de "Magic SysRq key". Tegenwoordig is het nog steeds mogelijk, afhankelijk van welke Linuxdistributie wordt gebruikt, om met een reeks Magic SysRq sneltoetsen een vastgelopen Linux systeem alsnog draaiende of 'correct' afgesloten te krijgen.
Microsoft heeft de SysRq-toets voor verschillende OS- en applicatie-niveaudebuggers gebruikt. In de CodeView-debugger werd deze toetsaanslag soms gebruikt om het starten van debuggen tijdens de uitvoering van een programma.[4] Bij de Windows NT-kernel-debugger kan deze toetsaanslag (moet worden aangezet via de registry) gebruikt worden om het systeem via een ander aangesloten systeem te debuggen.[5] Tegenwoordich in Windows biedt met SysRq (Alt + PrintScrn) de functie om een screenshot van alleen het huidige actieve venster in het systeemklembord te zetten. (In tegenstelling tot PrintScrn, die het hele scherm in de klembord zet.)
Op de Hyundai / Hynix Super-16-computer zal het indrukken van de toetscombinatie Ctrl+SysRq zorgen voor een 'koude' start van het systeem (in tegenstelling tot Ctrl+Alt+Del wat een 'warme' start (zonder geheugentest) genereert).
Bij embedded systemen wordt de SysRq-toets meestal gebruikt om een low-level RESET#-signaal te genereren.[6]
Toetsenbord
Op een IBM/Windows toetsenbord (QWERTY) is het een van de drie toetsen voor systeemverzoeken:
IBM/Windows toetsenbord (QWERTY) | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PrtSc/ SysRq |
ScrLk | Pause/ Break |
|||||||||
Ins | Home | PgUp | NumLk | / | * | - | ||||||||||||||||||
Del | End | PgDn | 7 | 8 | 9 | + | ||||||||||||||||||
4 | 5 | 6 | ||||||||||||||||||||||
↑ | 1 | 2 | 3 | Ent | ||||||||||||||||||||
← | ↓ | → | 0 | . |
- ↑ Ralf Brown's Interrupt List (Engels). Geraadpleegd op 8 januari 2008.
- ↑ Uit een persoonlijk interview met Sandy Meade, bedenker van de SysRq toets
- ↑ http://www.pcauthority.com.au/News/164694,lenovo-bucks-tradition-ditches-sysrq-button-on-some-keyboards.aspx Lenovo breekt traditie; verwijdert de SysRq toets van sommige toetsenborden (Engels)
- ↑ Returning Control to CodeView (Engels). Microsoft Knowledge Base. Geraadpleegd op 8 januari 2008.
- ↑ How to enable a remote kernel debugger connection on a computer that is running Windows Server 2003 with Service Pack 1. Microsoft Knowledge Base. Geraadpleegd op 8 januari 2008.
- ↑ MicroVGA datasheet.