A call gate is a processor function in Intel™ central processing units (CPU). It allows for dynamic alteration of the privilege level of the CPU when utilizing certain instructions. This allows code and programs with fewer privileges to temporarily act as though they were higher privileged programs. The major advantage of a call gate is the program's ability to execute a high-level command on the system with a much faster response time than a call proceeding through an interrupt gate. One disadvantage is the potential for unauthorized programs to circumvent security measures through the use of call gates.
Think of a call gate like a back door in the processor through which higher level commands can be executed, such as the modification of information stored in memory. Although almost all programs on a computer have cause to execute these types of commands, most programs are necessarily restricted in their privileges by the operating system. This prevents indiscriminate manipulation of the computer by potentially malicious code. The operating system ensures that the routine calls going to the processor through the call gate are legitimate. This additional level of security protects the memory of the computer against most types of basic hacking threats.
Some viruses specifically assault computers' call gates, however. By posing as a legitimate program, worms and viruses can gain access to the call gate, allowing them to take control of the higher level functions of the computer. This can potentially compromise security and personal information on the system, illustrating the importance of constantly updating an operating system, as exploits to the call gate are often patched — repaired through revisions of the operating system — as soon as they are discovered.
Call gates are only used by certain processors produced during a limited span of time. Newer methods are generally faster than call gates, just as call gates are faster than traditional interrupts. The major drawback to these newer methods is that they only allow the buttressing of program privileges to a predetermined level, where as a call gate can decide what level of privilege to assign a program indiscriminately.