Understanding Operating Systems (Part-1)

Cyberic Technology
CodeX
Published in
4 min readNov 2, 2022
image by pixabay.com

Today we are doing it a bit different from our usual Cybersecurity articles to some geeky computer science and bringing you everything you need to know about an Operating System’s concepts & practical uses.

(This article is based on Dr. Mike Murphy’s computer science lectures from youtube and external sources.)

What is an Operating System?

Well, wikipedia says “An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.” With that being said, a dumb way to explain Operating System is a language translator for the user and computer. Who will translate everything the computer says to the user in human languages. But Operating System’s concepts and mechanisms are more complicated than calling a translator. So, let’s dive into the rabbit hole of the operating systems.

image by author

What on earth is a Computer?

“A computer is a digital electronic machine that can be programmed to carry out sequences of arithmetic or logical operations (computation) automatically”

-Wikipedia

A computer is basically just an advanced calculator, with that being said, a computer never stops calculating when it is being turned on and if you open up youtube.com, the computer will just calculate more to show you whatever video you are watching. So, let’s look at the components of a computer, we can divide those into Hardware, Operating System and Software. Hardwares are the most basic drivers for calculation of a computer: CPU, GPU, Storage, Motherboard and Ram are bare metal hardwares. Meanwhile, mice,keyboards,speakers and printers can also be called as hardware but they are into sub-categories of I/O devices known as Input and Output devices.Now comes Operating System between the Hardware and Software, Operating System translates the hardware calculations to the user and translates the user’s command to the hardware to calculate. Softwares are the top layer of a computer like browsers, video players and videogames

Abstraction

Abstraction is a technology or I’d rather say a function for the operating system to understand any hardware that is inside the motherboard so that the softwares you are using can understand the hardwares you are using. In modern times, putting an unknown cpu or ram inside the motherboard is not a problem anymore as long as you can insert it into the motherboard or it is capable of handling the softwares you are using. Back in the 1990s, certain computer games required you to configure your cpu and gpu to run because of the lack of Abstraction in the Operating System thus, resulted in software not knowing what kind of the hardware you are using.

Arbitration

Arbitration and Abstraction are two brothers of manipulating the computer hardwares to bring users a better experience and efficiency. Arbitration functions as a controller to divide hardware resources to respective running processes or apps. Not only Arbitration brings more efficient and adequate multitasking environment in operating system but also enforces system and security policies to isolate apps from interfering with each other. In this case, Arbitration protects a software running into a crash from affecting the other running softwares from conflicting with one another.

Kernel & Userspace

According to Merriam Webster Dictionary, the term kernel evolved from an old English word cyrnel which means “the inner softer part of a seed, fruit stone, or nut”.

Kernel is the core of the operating system hidden deep inside of Operating System at a low level where Operating System interacts with the Hardware. Kernel operates it main four jobs which are:

  1. Memory management: Keep track of how much memory is used to store what, and where
  2. Process management: Determine which processes can use the central processing unit (CPU), when, and for how long
  3. Device drivers: Act as mediator/interpreter between the hardware and processes
  4. System calls and security: Receive requests for service from the processes

(credit:RHEL)

In short, Kernel is the main driver between hardware and software(which is operating system) and resembles the function of Arbitration.

Kernel and Userspace has interesting relationship and those two layers interacts with each other by a process called SCI (system call interface). The Userspace contains two categories which are “Applications” and “Libraries & Utilities”. So, basically Userspace is the visible Layer of a computer system and SCI is also an important mechanism of an operating system because of the ability to interacts Userspace to System Resources.

Thanks a lot for reading it. It is a bit short but I hope you all enjoy today’s article and stay tuned for Part-2.

Follow us on Twitter: https://twitter.com/CybericTech

Facebookတွင်followလုပ်ရန်: https://www.facebook.com/profile.php?id=100087224795789

References

--

--