Computer Systems

Input

Whatever goes into the computer. Input can take a variety of forms, from commands you enter from the keyboard to data from another computer or device. A device that feeds data into a computer, such as a keyboard or mouse, is called an input device


Output

Anything that comes out of a computer. Output can be meaningful information or gibberish, and it can appear in a variety of forms -- as binary numbers, as characters, as pictures, and as printed pages. Output devices include display screens, loudspeakers, and printers.


Storage

Computer data storage, often called storage or memory, is a technology consisting of computer components and recording mediaused to retain digital data. It is a core function and fundamental component of computers. The central processing unit (CPU) of a computer is what manipulates data by performing computations. In practice, almost all computers use a storage hierarchy, which puts fast but expensive and small storage options close to the CPU and slower but larger and cheaper options farther away. Often the fast, volatile technologies (which lose data when powered off) are referred to as "memory", while slower permanent technologies are referred to as "storage", but these terms can also be used interchangeably. In the Von Neumann architecture, the CPU consists of two main parts:control unit and arithmetic logic unit (ALU). The former controls the flow of data between the CPU and memory; the latter performs arithmetic and logical operations on data


Process

In computing, a process is an instance of a computer program that is being executed. It contains the program code and its current activity. Depending on the operating system (OS), a process may be made up of multiple threads of execution that execute instructionsconcurrently.

A computer program is a passive collection of instructions; a process is the actual execution of those instructions. Several processes may be associated with the same program; for example, opening up several instances of the same program often means more than one process is being executed.

Multitasking is a method to allow multiple processes to share processors (CPUs) and other system resources. Each CPU executes a single task at a time. However, multitasking allows each processor to switch between tasks that are being executed without having to wait for each task to finish. Depending on the operating system implementation, switches could be performed when tasks performinput/output operations, when a task indicates that it can be switched, or on hardware interrupts.