Introduction to Operating System
Helloooo!!! I’m super excited to write my first blog on my favourite computer stuff. I always wonder how the computer recognises whether we use two-finger or three-finger on the mouse pad and react accordingly; How data is stored? How can I access it even after my laptop has been shut down for three months? All these questions cannot be answered in this one blog. Let’s get started with OS.
Operating System is a collection of programs that helps bind with the system’s hardware to give wholesome service to the user.
First of all, what is a program? It is a set of instructions given to the computer by the user. The processor fetches the instruction stored in the memory, then figures out which instruction this is and finally executes it. In this way, the processor moves on to the next instruction until the program completes. The whole process you read is called the Von Neumann model of computing.
There are four primary ways OS does it works: Virtualization, Concurrency, Persistence and Goal Designing.
Here, OS takes a physical resource and transforms it into a more general and easy-to-use virtual form. We call it a “Virtual Machine”. The system creates an illusion with a massive number of virtual CPUs, which helps run multiple programs simultaneously though we got only one processor ~ “Virtualizing the CPU”. The OS maps virtual address space onto the physical memory of the system. This is done so that a memory reference within one running program does not affect the address space of other processes, making the multiple programs run smoothly simultaneously. In reality, physical memory is a shared resource managed by OS. Thus OS “virtualise memory”.
After virtualising the CPU and memory of the system, now OS does multiple computations simultaneously. This is evident in multi-threaded programs. As this blog aims to give you a basic and straightforward idea of OS, we don’t go deep with this.
After running the programs, now OS wants to store the data persistently for the purpose it needs hardware and software. Hard disk and Solid-state drives as hardware help OS store data. As much as storing the information is essential, managing those stored data is more important. There comes software to fulfil this need and enables sharing the stored data with other systems.
OS virtualises, handles issues related to concurrency and stores data persistently. We want to have some goals to help focus our design and implement it accordingly. Finding the right set of trade-offs is a key to building systems. Goals must be like maximising the system’s performance and minimising the OS’s overheads, protection between applications installed and the OS, energy-efficient and mobility. These types of goals help to build a massive successful system.
Virtualization allows many programs to run, many programs to concurrently access their own instructions and data, and many programs to access devices, the OS is sometimes known as a resource manager. Each of the CPU, memory, and disk is a resource of the system; it is thus the operating system’s role to manage those resources, doing so efficiently with many other possible goals in mind.
Let’s see on our next blog until then… It’s Me A T Sathya!