Computer Architecture

The basic components of a computer are - Processor, Memory, Input / Output Devices & Buses

Processor

A central processing unit (CPU), also called as a processor, is the electronic circuitry within a computer that executes instructions that make up a computer program. The processor consists of -

Memory

The memory holds the instructions and the data that the program currently being executed by CPU requires. In a computer system this is the Random Access Memory (RAM).

Input / Output Devices

An input device is a piece of equipment that is used to provide data and control signals to the system. The most basic example for input devices is the keyboard and mouse.

An output device is any peripheral that receives data from a computer, usually for display, projection, or physical reproduction. The most basic example for output devices is the monitor and speaker.

Buses

Data is transmitted from one part of a computer to another, connecting all major internal components to the CPU and memory, by the means of Buses. Types:

Basic architecture of a computer

Basic architecture of a computer

Connection of various components via buses

Connection of various components via buses

A more detailed image of the architecture of a computer

A more detailed image of the architecture of a computer


Types of Systems

We first need to identify what out target system is. A target system can be a desktop, server or an embedded system. Depending on what our target system is, we choose the operating system.

Generally a GPOS is chosen for desktop and servers because desktops & servers are required to be perform multiple tasks that the user demands. On the other hand, embedded systems are made for once specific use case, say the control board in a washing maching, and hence a dedicated OS is required for this system. So, an RTOS is generally chosen for embedded systems.

(Source 1) (Source 2)

General Purpose Operating System (GPOS)

A GPOS is an essential component of any mobile device, server, or computer system, and is responsible for running all the applications in an installation. GPOS is great for performing multiple tasks at the same time, but issues with latency and synchronization make them less than ideal for time-sensitive applications.

Platforms like Linux, Windows, and Mac OS examples of GPOS.

Real-time Operating System (RTOS)

RTOS are software platforms designed for use cases in which time is of the essence, for example, in a nuclear power plant. Processing time must be far shorter than in a GPOS, and the execution pattern for applications and processes needs to be predictable.

Generally, RTOS runs on smaller, more lightweight hardware than GPOS, as larger hardware configurations tend to be less agile.

Two basic types of RTOS are -

GPOS vs RTOS

Linux

<aside> 💡 POSIX stands for Portable Operating System Interface to Unix Systems. This is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. (Source)

</aside>