Term 
         | 
        
        
        Definition 
        
        | A way for the user to interact with the system. Common types are GUI's, CLI's, and batch systems. |  
          | 
        
        
         | 
        
        
        Term 
         | 
        
        
        Definition 
        
        | A window system with a pointing device to direct IO from menus and make selections and a keyboard to enter text. |  
          | 
        
        
         | 
        
        
        Term 
         | 
        
        
        Definition 
        
        | A system where commands and directives are entered into files and those files are executed. |  
          | 
        
        
         | 
        
        
        Term 
         | 
        
        
        Definition 
        
        | A system where commands are entered through text in a program that allows the user to enter and edit them. |  
          | 
        
        
         | 
        
        
        Term 
         | 
        
        
        Definition 
        
        | The program in a CLI that allows the user to enter commands. |  
          | 
        
        
         | 
        
        
        Term 
         | 
        
        
        Definition 
        
        | An interface to make the services provided by the operating system available to the programs. |  
          | 
        
        
         | 
        
        
        Term 
        
        | Application Programming Interface |  
          | 
        
        
        Definition 
        
        | Provides a set of functions available to the programmer with a set of parameters to allow the manipulation of data. |  
          | 
        
        
         | 
        
        
        Term 
         | 
        
        
        Definition 
        
        | Processes exchange messages with each other to transfer information. Can be direct or indirect. Direct it goes straight to the process, indirect can go to a mailbox or some other place that will eventually be read by the process. |  
          | 
        
        
         | 
        
        
        Term 
         | 
        
        
        Definition 
        
        | Processes can communicate by connecting to the same region of memory and writing messages in it and then indicating that they are done writing their message so other processes can read it. |  
          | 
        
        
         | 
        
        
        Term 
         | 
        
        
        Definition 
        
        | Programs that the user directly uses. Like web browsers, or word-processors. |  
          | 
        
        
         | 
        
        
        Term 
         | 
        
        
        Definition 
        
        | Breaking the operating system into more manageable modules. In this approach the operating system is broken into multiple layers, with the lowest being the hardware, and the highest being the user space. |  
          | 
        
        
         | 
        
        
        Term 
         | 
        
        
        Definition 
        
        | Removes all non-essential parts of the kernel and implements them as system and user-level programs. Basically tries to get the kernel to be as small as possible. |  
          | 
        
        
         | 
        
        
        Term 
         | 
        
        
        Definition 
        
        | Set of core components that get linked together during boot time. |  
          | 
        
        
         | 
        
        
        Term 
         | 
        
        
        Definition 
        
        | Logical extension of layered approach, in which the hardware is abstracted into several different execution environments. |  
          | 
        
        
         | 
        
        
        Term 
        
        | Host (in virtual machine) |  
          | 
        
        
        Definition 
        
        | The actual operating system that the virtual machine is running on. |  
          | 
        
        
         | 
        
        
        Term 
        
        | Guest (in virtual machine) |  
          | 
        
        
        Definition 
        
        | The operating system that the virtual machine is emulating. |  
          | 
        
        
         | 
        
        
        Term 
         | 
        
        
        Definition 
        
        | Running an operating system virtually with certain tweaks made to it. |  
          | 
        
        
         | 
        
        
        Term 
         | 
        
        
        Definition 
        
        | Virtualization technique that presents a software interface to virtual systems that is similar to underlying hardware. |  
          | 
        
        
         | 
        
        
        Term 
         | 
        
        
        Definition 
        
        | Turning a system on and loading the kernel into memory. |  
          | 
        
        
         | 
        
        
        Term 
         | 
        
        
        Definition 
        
        | Locates the kernel, loads it into memory, and executes it. |  
          | 
        
        
         |