CH. 2 OS

User Interface (UI)

Almost all operating system have these.

Program Execution

The system must be able to load a program into memory and to run that program, end execution, either normally or abnormally (indicating error).

I/O operations

A running program may require.

File-system manipulation

Programs needed to read and write files and directories, create/delete them, search them, list file information, and permission management.


Process may exchange information, on the same computer or between computers over a network.

Error detection

OS needs to be constantly aware of possible errors.

Resource allocation

When multiple users or multiple jobs running concurrently.


Keep track of which users use how much and what kinds of computer resources.


Ensuring that all access to system resources is controlled.


System from outsiders requires user authentication, extends to defending external I/O devices from invalid access attempts.

Command Line Interpreters(CLI)

Special system program that runs when a users logs in. Executes user commands.

Graphical User Interface(GUI)

Users employ a mouse-based window-and-menu system - desktop metaphor.


Represents files, programs, and actions.

Application Programming Interface(API)

Accessible via high-level programs.

System call

Sequence to copy the contents of one file to another file.

System call interface

Intercepts function calls in the API and invokes the associated system calls within the OS.

Runtime Environment

Full suite of software to execute application written a programming language.


Determining bugs, single step execution


Managing access to shared data between processes.

System Utilities

Provide a convenient environment for program development and execution.


Used to store and retrieve configuration information.

File Modification

Special commands to search contents of files or perform transformations of the text.

Programming-language support

Compilers, assemblers, debuggers, and interpreters sometimes provided.

Application Binary Interface (ABI)

Architecture equivalent of API, defines how different components of binary code can interface for a given operating system on a given architecture, CPU.

OS written as

A partition the task into smaller components or modules.


Moves things as much from the kernel into the user space.

Message passing

Communication takes place between user modules.


Best current methodology for OS design.

Loadable Kernel Modules(LKMs)

Set of core components and can add addition services via modules, either at boot ime or at run time.

Hybrid Systems

Combines multiple approaches to address performance, security, and usability needs.