The Translation Lookaside Buffer (TLB) is a cache of memory page translations employed in many systems with memory paging capability. When the processor needs to translate a given virtual address into a physical address, the TLB is consulted first. On x86 systems, TLB misses are handled transparently by hardware. Only if the page directory/table entry is not present in-core will the operating system be notified (by the means of a page fault exception.)| wiki.osdev.org
A stack trace is debugging output, normally sent to a log file or a debug window that shows the hierarchy of callers that called the current function. A stack trace is generated by analysing the stack to find each stack frame. The addresses of the functions called can be retrieved from each stack frame and the names of the functions displayed.| wiki.osdev.org
The Multiboot specification is an open standard that provides kernels with a uniform way to be booted by Multiboot-compliant bootloaders. The reference implementation of the Multiboot specification is provided by GRUB.| wiki.osdev.org
This article is written like a tutorial. Please edit it to have more information and documentation instead of example code and step by step instructions.| wiki.osdev.org
For a quick tutorial on getting a bare bones C++ kernel running see Bare BonesA kernel can be programmed in C++, it is very similar to making a kernel in C, except that there are a few pitfalls you must take into account (runtime support, constructors, ...). This page will not list any (dis)advantages of this approach, but rather what you need to do to get things fired up.| wiki.osdev.org
A bootloader is a program written to load a more complex kernel. Implementation details are gathered in Rolling Your Own Bootloader| wiki.osdev.org
In your average, memory-protected environment, a "context" is a virtual address space, the executable contained in it, its data etc.| wiki.osdev.org
Stack can also refer to the TCP/IP stack in Networking. This article discuss the datastructure and stacks used in architectures. | wiki.osdev.org
A Task State Segment (TSS) is a binary data structure specific to the IA-32 and x86-64 architectures. It holds information about a task. In Protected Mode the TSS is primarily suited for Hardware Task Switching, where each individual Task has its own TSS. For use in software multitasking, one or two are also generally used, as they allow for entering Ring 0 code after an interrupt. In Long Mode, the TSS has a separate structure and is used to change the Stack Pointer after an interrupt or per...| wiki.osdev.org
Contents| wiki.osdev.org
This article discusses x86-64 CPUs (AMD64 and Intel's equivalent EM64T implementation). IA-64 (Itanium) is really a different beast and not addressed here.| wiki.osdev.org
Interrupts are signals from a device, such as a keyboard or a hard drive, to the CPU, telling it to immediately stop whatever it is currently doing and do something else. For example, a keyboard controller can send an interrupt when a character key was pressed. Then the OS can display the character on screen immediately, even if the CPU was doing something completely unrelated before, and return to what it was doing afterwards. When a specific interrupt arises, the CPU looks up an entry for t...| wiki.osdev.org
Contents| wiki.osdev.org
The factual accuracy of this article or section is disputed.| wiki.osdev.org
Difficulty level| wiki.osdev.org
This page or section refers to its readers or editors using I, my, we or us. It should be edited to be in an encyclopedic tone.| wiki.osdev.org
The Global Descriptor Table (GDT) is a binary data structure specific to the IA-32 and x86-64 architectures. It contains entries telling the CPU about memory segments. A similar Interrupt Descriptor Table exists containing task and interrupt descriptors.| wiki.osdev.org
Contents| wiki.osdev.org
Real Mode is a simplistic 16-bit mode that is present on all x86 processors. Real Mode was the first x86 mode design and was used by many early operating systems before the birth of Protected Mode. For compatibility purposes, all x86 processors begin execution in Real Mode.| wiki.osdev.org
This page or section is a work in progress and may thus be incomplete. Its content may be changed in the near future.| wiki.osdev.org
Target Triplets describe a platform on which code runs and are a core concept in the GNU build system. They contain three fields: the name of the CPU family/model, the vendor, and the operating system name. You can view the unambiguous target triplet for your current system by running:| wiki.osdev.org
Contents| wiki.osdev.org
The System V Application Binary Interface is a set of specifications that detail calling conventions, object file formats, executable file formats, dynamic linking semantics, and much more for systems that complies with the X/Open Common Application Environment Specification and the System V Interface Definition. It is today the standard ABI used by the major Unix operating systems such as Linux, the BSD systems, and many others. The Executable and Linkable Format (ELF) is part of the System ...| wiki.osdev.org