top of page

Qunatumzeon

What are classical computers?

In today’s world, computers are everywhere from the smartphones in our pockets to the servers powering the internet. While emerging technologies like quantum computing often grab headlines, classical computers remain the foundation of nearly all digital systems. But what exactly are classical computers, and how do they work?


What Are Classical Computers?


Classical computers are devices that process information using a binary system ones and zeros. This binary system, also known as bits, is the core unit of data in classical computing. Each bit represents a state of either 0 or 1. By combining bits in large numbers, classical computers can store and manipulate massive amounts of information.

Unlike quantum computers, which rely on qubits and principles like superposition and entanglement, classical computers operate in a deterministic manner: given the same input, they will always produce the same output. This predictability is what makes classical computers reliable for everyday applications.


CPU (Central Processing Unit)

The brain of a computer, responsible for executing instructions that make programs and systems run. It processes commands from software, performs arithmetic and logical operations, and manages the flow of data between memory and other components. The CPU operates through the fetch-decode-execute cycle, fetching instructions from memory, decoding them to determine the required action, and executing tasks such as calculations or data transfers. Key components include the ALU (Arithmetic Logic Unit) for math and logic operations, the Control Unit for coordinating tasks, and registers, which are small, ultra-fast storage areas for temporary data. Modern CPUs are incredibly powerful, capable of processing billions of instructions per second, making them essential for everything from simple applications to complex computations.

GPU (Graphics Processing Unity)

A specialized processor that handles graphics and visual computations. Unlike the CPU, which focuses on general tasks, the GPU excels at parallel processing, making it ideal for rendering images, videos, 3D graphics, and running complex simulations. Modern GPUs are also used in fields like AI and scientific computing because they can process thousands of operations simultaneously, significantly speeding up tasks that involve large amounts of data.

RAM (Random Access Memory)

A type of computer memory that temporarily stores data and instructions that the CPU needs while programs are running. Unlike permanent storage like hard drives or SSDs, RAM is volatile, meaning its contents are erased when the computer is turned off. It allows the CPU to quickly access information, which makes tasks like opening applications, running software, or switching between programs much faster. Essentially, the more RAM a computer has, the more data it can handle simultaneously, improving overall speed and multitasking performance.

Storage Drives

Storage refers to the devices and media used to save data permanently or long-term in a computer. Common types include hard drives (HDDs), which use spinning disks to store large amounts of data; solid-state drives (SSDs), which use fast flash memory for quicker access and reliability; flash drives (USB drives), which are portable storage devices using flash memory; and floppy disks, an older magnetic storage format now mostly obsolete. Storage devices hold everything from your operating system and applications to documents, photos, and videos, providing the memory that remains even when the computer is powered off.

Mother Board

A motherboard is the main circuit board in a computer that connects and allows communication between all components, including the CPU, RAM, GPU, storage devices, and peripheral devices. It houses key elements like the chipset, which manages data flow, and slots and ports for expansion cards, memory modules, and external connections. Essentially, the motherboard acts as the central hub, ensuring that all parts of the computer can work together efficiently.

PSU (Power Supply Unit)

A component that provides electrical power to all parts of a computer. It converts the alternating current (AC) from a wall outlet into the direct current (DC) that computer components need to operate safely. The PSU ensures that the CPU, GPU, motherboard, storage devices, and peripherals receive stable and sufficient power, making it essential for reliable and efficient computer performance.



Programing Languages


Programming languages are the tools that allow humans to give instructions to a computer. They translate human-readable code into commands that a computer’s hardware can execute. Some languages are considered low-level because they are closer to the hardware and give programmers precise control over the system. Examples of these include C and Assembly.


C is often called a “high-level low-level language” because it has a syntax that is easier for humans to read and write, while still giving direct access to memory, processor operations, and hardware-level functions. Programs written in C can efficiently manage resources, manipulate data, and interact closely with the operating system, making it ideal for creating system software, embedded devices, and performance-critical applications.


#include <stdio.h>


int main() {

printf("Hello, World!\n");

return 0;

}

  • #include <stdio.h> includes a standard library for input/output functions.


  • int main() is the entry point of the program.


  • printf("Hello, World!\n"); prints the message to the console.


  • return 0; indicates the program finished successfully



Assembly language is even closer to the hardware. Each instruction in Assembly corresponds almost directly to a single machine code operation executed by the CPU. This allows programmers to control exactly how the CPU processes data, how memory is accessed, and how peripherals are managed. Assembly is often used in areas where performance, timing, or hardware control is critical, such as device drivers, bootloaders, and embedded systems.


section .data

msg db 'Hello',0xA ; Message with newline

len equ $ - msg ; Length of the message


section .text

global _start


_start:

mov eax, 4 ; sys_write

mov ebx, 1 ; file descriptor (stdout)

mov ecx, msg ; pointer to message

mov edx, len ; length of message

int 0x80 ; call kernel


mov eax, 1 ; sys_exit

xor ebx, ebx ; exit code 0

int 0x80 ; call kernel

  • section .data stores data like strings.


  • section .text contains the code instructions.


  • mov loads values into CPU registers.


  • int 0x80 makes a system call to the Linux kernel.


  • This prints “Hello” and then exits the program.


Using these low-level languages affects both hardware and software. On the hardware side, the programmer controls how the CPU executes instructions, how memory is allocated and accessed, and how devices are interfaced. On the software side, these languages enable developers to create highly efficient programs, operating systems, and tools that can leverage the hardware’s full potential, often outperforming software written in higher-level languages.



Lets talk about System OS


Software is a set of instructions that tells a computer how to perform tasks. It can be divided into two main categories: applications, which perform specific tasks for users, and system software, which manages the hardware and provides a platform for applications to run. The most important type of system software is the operating system (OS).


An operating system is the backbone of a computer that manages hardware resources, provides a user interface, and enables applications to run. Different OSs are designed for different hardware and user needs


Windows

A widely used operating system developed by Microsoft. It offers a graphical user interface, extensive software support, and is common in home and office environments. Windows is known for its compatibility with a wide range of hardware and applications.

Mac OS

Apple’s operating system for its Mac computers. It is known for its sleek interface, stability, and integration with Apple’s ecosystem. macOS is popular among creative professionals for tasks like video editing, graphic design, and music production.

Linux

An open-source operating system available in many distributions (like Ubuntu, Fedora, and Debian). Linux is highly customizable, secure, and widely used for servers, programming, and embedded systems. It allows users to modify the OS to suit specific needs.

Raspbian

A Linux-based operating system designed for Raspberry Pi computers. It is lightweight, optimized for small hardware, and is ideal for learning programming, electronics projects, and prototyping.

Each OS interacts with hardware differently but provides a platform for software applications to run. Choosing an OS often depends on the tasks you want to accomplish, hardware compatibility, and user preference.


Software


Software is a collection of programs and instructions that enable a computer or device to perform specific tasks. It exists in many forms, from system-level software like operating systems to applications like web browsers, video editors, or games. How software works often depends on the operating system, hardware architecture, and file formats.


.exe files

Executable programs for Windows. They contain machine code and resources that the Windows OS can directly run.

.app or .IPA files

Files are used by macOS and iOS respectively. IPA files are packaged for iOS devices and include signed binaries that run on Apple hardware.

deb and .rpm files

Common in Linux distributions, containing compiled software and metadata for installation through package managers.

gz or .tar.gz

Compressed archives often used to distribute software or source code on Unix-like systems. These are not directly executable; they must be extracted and sometimes compiled before use


Software is not universally compatible because each operating system and hardware architecture interprets machine code differently. A Windows .exe cannot run natively on macOS or Linux, and an iOS IPA cannot run on Android devices. This is due to differences in system calls, APIs, CPU architectures (like x86 vs ARM), and security models.


Cross-Platform Software solves this problem by being designed to run on multiple operating systems. This can be achieved in several ways:


Interpreted Languages

Programs written in languages like Python or JavaScript run on interpreters or virtual machines available on multiple platforms.

Portable Binaries

Tools like Java’s JVM or .NET Core allow a single compiled program to run on different systems without modification.

Containerization and Virtualization

Tools like Java’s JVM or .NET Core allow a single compiled program to run on different systems without modification.

Web Applications

Web-based software runs inside a browser, making it inherently cross-platform as long as the browser is supported.

Understanding software at this level helps explain why some applications require installation, why updates may differ across systems, and why developers choose certain programming languages or packaging methods to reach multiple platforms efficiently.



Conclusion

In conclusion, understanding computers requires looking at both hardware and software and how they interact. Key hardware components like the CPU, RAM, GPU, storage devices, motherboard, and power supply work together to process data, execute instructions, and provide a platform for software. Low-level programming languages like C and Assembly allow developers to communicate directly with hardware, optimizing performance and resource management, while higher-level software relies on these foundations to function effectively. Operating systems such as Windows, macOS, Linux, and Raspberry Pi OS bridge the gap between hardware and applications, managing resources, providing user interfaces, and enabling diverse software ecosystems.


On the software side, understanding file types, system compatibility, and cross-platform capabilities is crucial. Executable files like .exe, .app, or .ipa run on specific platforms, while compressed archives like .gz often require preparation before use. Cross-platform solutions, including interpreted languages, virtual machines, containers, and web applications, allow developers to reach multiple systems efficiently. By grasping these concepts, we can appreciate how modern computers execute billions of instructions per second, support countless applications, and adapt to new technologies, making them both powerful and versatile tools in our everyday lives.

bottom of page