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.

Communications

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.

Logging

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

Protection

Ensuring that all access to system resources is controlled.

Security

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.

Icon

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.

Debugger

Determining bugs, single step execution

Locks

Managing access to shared data between processes.

System Utilities

Provide a convenient environment for program development and execution.

Registry

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.

Microkernels

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

Message passing

Communication takes place between user modules.

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.