Programmer's key
Encyclopedia
The Programmer's Key, or interrupt button, is a button or switch on a computer
which causes an asynchronous interrupt
request (IRQ) to be sent to the processor
. If a debugger
is installed on the machine, it is activated when the interrupt request is processed, allowing the user to view and usually modify the computer's internal memory. The interrupt is of highest priority, allowing debugging of interrupt handler
s. This is quite useful in debugging
software, which is why it gets its name.
The "key" need not always be a button or a switch. On some computers, it is a pinhole into which a straightened paperclip
- or syringe - must be inserted (to prevent accidental activation).
This term is used chiefly among Macintosh programmers, perhaps because the Mac hardware once supported this function. On most 68000 family based Macintosh computers, an interrupt request can also be sent by holding down the command key and striking the power key on the keyboard. This effect is also simulated by the 68000 environment of the Mac OS nanokernel
on PowerPC machines and the Classic environment.
Modern Mac hardware no longer includes the interrupt button, as the Mac OS X operating system has integrated debugging options. In addition, Mac OS X's protected memory blocks direct patching of system memory (in order to better secure the system).
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...
which causes an asynchronous interrupt
Interrupt
In computing, an interrupt is an asynchronous signal indicating the need for attention or a synchronous event in software indicating the need for a change in execution....
request (IRQ) to be sent to the processor
Central processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...
. If a debugger
Debugger
A debugger or debugging tool is a computer program that is used to test and debug other programs . The code to be examined might alternatively be running on an instruction set simulator , a technique that allows great power in its ability to halt when specific conditions are encountered but which...
is installed on the machine, it is activated when the interrupt request is processed, allowing the user to view and usually modify the computer's internal memory. The interrupt is of highest priority, allowing debugging of interrupt handler
Interrupt handler
An interrupt handler, also known as an interrupt service routine , is a callback subroutine in microcontroller firmware, operating system or device driver whose execution is triggered by the reception of an interrupt...
s. This is quite useful in debugging
Debugging
Debugging is a methodical process of finding and reducing the number of bugs, or defects, in a computer program or a piece of electronic hardware, thus making it behave as expected. Debugging tends to be harder when various subsystems are tightly coupled, as changes in one may cause bugs to emerge...
software, which is why it gets its name.
The "key" need not always be a button or a switch. On some computers, it is a pinhole into which a straightened paperclip
Paperclip
A paper clip is an instrument used to fasten sheets of paper together usually made of steel wire bent to a looped shape.-Shape and composition:...
- or syringe - must be inserted (to prevent accidental activation).
This term is used chiefly among Macintosh programmers, perhaps because the Mac hardware once supported this function. On most 68000 family based Macintosh computers, an interrupt request can also be sent by holding down the command key and striking the power key on the keyboard. This effect is also simulated by the 68000 environment of the Mac OS nanokernel
Mac OS nanokernel
Before Mac OS X, PowerPC versions of the Mac OS were based on a nanokernel, or extremely simple operating system kernel. The initial revision of this software is an extremely simple, single tasking system which delegates most tasks to an emulator running the Motorola 68K version of the operating...
on PowerPC machines and the Classic environment.
Modern Mac hardware no longer includes the interrupt button, as the Mac OS X operating system has integrated debugging options. In addition, Mac OS X's protected memory blocks direct patching of system memory (in order to better secure the system).