| A | B |
| multi-user | Allows two or more users to run programs at the same time. Some operating systems permit hundreds or even thousands of concurrent users. |
| multiprocessing | Supports running a program on more than one CPU. |
| multitasking | Allows more than one program to run concurrently. |
| multithreading | Allows different parts of a single program to run concurrently. |
| real time | Responds to input instantly. |
| Kernel | Central module of the operating system, stays in memory. |
| Preemptive Multitasking | The operating system hands out CPU time slices to each program. |
| Cooperative Multitasking | Each program controls the CPU for as long as it needs. |
| API | An application program interface (sometimes spelled application programming interface) is the specific method prescribed by a computer operating system or by an application program by which a programmer writing an application program can make requests of the operating system or another application. |
| GUI | A GUI (usually pronounced GOO-ee) is a graphical (rather than purely textual) user interface to a computer. |
| BOOT | To boot (as a verb; also "to boot up") a computer is to load an operating system into the computer's main memory or random access memory (RAM). Also refered to as the Bootstrap Process. |
| BIOS | Basic input/output system (BIOS) is the program a personal computer's microprocessor uses to get the computer system started after you turn it on. |
| RAM | RAM (random access memory) is the place in a computer where the operating system, application programs, and data in current use are kept so that they can be quickly reached by the computer's process. |
| Nonresident | Programs that are loaded into memory from disk as needed. |
| memory resident | Programs that are loaded into memory during the boot process and remain in memory until the machine is shut down. |
| Process | is software that performs some action and can be controlled -- by a user, by other applications or by the operating system. |
| Interrupt | special signals sent by hardware or software to the CPU. |
| non-maskable interrupt | There are some interrupts (such as those from error conditions or problems with memory) that are so important that they can't be ignored |
| process control block | Typically contains an ID number that identifies the process, pointers to the locations in the program and its data where processing last occurred, register contents, states of various flags and switches, pointers to the upper and lower bounds of the memory required for the process, a list of files opened by the process, the priority of the process, and the status of all I/O devices needed by the process |
| Thrashing | If enough processes are started, and if the operating system hasn't been carefully designed, the system can begin to use the vast majority of its available CPU cycles to swap between processes rather than run processes. |
| Thread | deals with all the CPU-intensive work of a normal process, but generally does not deal with the various types of I/O, and does not establish structures requiring the extensive process control block of a regular process. |
| Asymmetric | Some operating systems will use one CPU for their own needs, dividing application processes among the remaining CPUs. |
| Virtual Memory Management | Since disk space is cheap compared to RAM, the technic of moving information in RAM to hard disk intelligently can greatly expand RAM space at no cost. |
| High-speed cache | This is fast, relatively small amounts of memory that are available to the CPU through the fastest connections |
| Main memory | The RAM that you see measured in megabytes when you buy a computer. |
| Secondary memory | This is most often some sort of rotating magnetic storage that keeps applications and data available to be used, and serves as virtual RAM under the control of the operating system. |
| Driver Programs | The path between the operating system and virtually all hardware not on the computer's motherboard goes through this special type of program |
| Buffers | The operating system will instruct a this to continue taking input from the device, but to stop sending data to the CPU while the process using the input is suspended. Then, when the process needing input is made active once again, the operating system will command this to send data. |
| User Interface | brings structure to the interaction between a user and the computer. |
| Open Source | requires the distribution of original source materials that can be studied, altered and built upon, with the results once again freely distributed. |
| Paging | moving data in blocks between available memory as the schedule of processes dictates. |