DEV Community

Himanshu Gupta
Himanshu Gupta

Posted on

Hardware and software fundamentals.

Hardware is anything physically connected to a computer.

Central Processing Unit (CPU)
A physical object that takes data from the main memory, processes it, and returns the updated data to the main memory.

Control unit (CU)
A subunit of the CPU that controls data flow from and into the main memory.

Arithmetic and logic unit (ALU)
Subunit of the CPU that is responsible for processing arithmetic and logic operations.

Input units
Take data from the world or an input device and convert it into streams of bytes.

Output units
Take processed data from the CPU and render it in a
human-understandable way.

Storage units
Where data is stored after being retrieved and processed. The physical memory space.

Memory
The main memory and RAM (physical spaces in the computer) and
secondary storage (e.g. hard drives)

Software is a collection of programs and procedures that perform
tasks on a computer

Machine language
The only language the computer can process: a stream of ones and zeros (binary). A low-level language.-

Assembly language
A human-readable language that translates binary into assembly
instruction, which must be translated into machine language for the
computer. A low-level language.

High-level programming languages
Allow the writing of human-readable programs without large amounts of
low-level instructions (i.e. assembly language instructions).

Assembler
A utility program that translates an assembly language program into
machine language.

Compiler
A program that translates human-readable source code into
machine-readable target code in a low-level language. Once the
translation is complete, the target code is passed to the target machine for execution.

Interpreter
A program that translates human-readable source code into
machine-readable target code in a low-level language command by
command while the source code is being executed.
**
Operating system**
Software that supports a computer's basic functions, manages computer hardware and software resources, and provides common services for computer programs

User applications
Software written for the end-user that's designed to carry out a task unrelated to the operation of the computer system.

Top comments (0)