Operating System and Software

An operating system is a user-interface platform that allows users to interact and run programs.

How Operating System Program Run

An operating system program is loaded in the computer memory which starts to run when the computer is switched on. The operating system is a medium to use the resources of a computer system such as store data, run a program, input-output system.

  1.  To run this operating system when the computer starts, a bootstrap program is stored in ROM.
  2.  This bootstrap program extracts the program in operating system and runs on the memory which keeps on running until the power is on.

Time-sharing /Multiprogramming system

    a) In an operating system, one and more than one program can run. However, only one program can use the resources of the CPU at a particular time, whereas other programs are in stand-to access the CPU. 

    b) This condition applies to the single user in an operating system. Some systems are developed in such a way that allows more than one user to access the resources of the CPU simultaneously. 

Structures of Operating System

# Module Structure System

In the early period of time, when there were 

It involves using object-oriented programming techniques to create a modular kernel. 

  • One core kernel will be present that will have access to the resources of hardware, and other functionalities are present in the form of modules. 
  • Users can access the functionalities such as file system, device and bus drivers management, virtual memory, process server and device management and many more.
  • These functionalities are loaded in the core kernel at the boot time or the run time of the operating system. This helps in accessing the programs whenever it’s necessary as the programs are loaded in the system.
  • Each of the models of functionality has a defined protected interface to provide access to the only required command. 
  • Each of the models can communicate with other modules using the core kernel. And core-kernel gives access to the hardware for the modules whenever necessary. 

Process Scheduling

  • Objective of process scheduling is to select the program to be processed from several available processes at a particular period of time in a single-processor system. 
  • In a single processor system, only one program will be running at a particular instance. And other programs will be in que to wait for their program to be run until the CPU is free and rescheduled.

This is because of the time-sharing mechanism of the CPU, which switches from one program to another so frequently that users can interact with multiple programs.

  • For just one single program, CPU might not use all the resources available, it only takes certain processing power of CPU, rest of processing is left unused. Therefore, having a multi-programming system helps in running the process all the time to maximize the CPU utilization.

Memory Management

  • Provision of protected memory space for the OS kernel. 
  • Loading the program into memory requires defining the memory addresses for the program itself, for associated procedures and for the data required by the program. 
  • Storage of processes in the main memory can get fragmented in the same way as happened for files stored on a hard disk. 
  • Partition management
  • Static partition: It is a technique to load the whole program in the whole in one partition. It is also known as static memory. This allocates a fix memory to be allocated for any program to be run in the system. 

Its limitation is that when the program needs more memory when data is entered in the program then the program crashes or misbehaves. 

  • Dynamic partitioning: This allows the program to partition its size in the memory slot to expand or occupy memory as required for the processing unit.  

Paging Method: The paging method sets a memory in the disk to process. 

  • At first, a set of pages are added in the disk for the program to be run when the process is in a ready state. 
  • When the process is in running state, the program starts to execute and the pages are retrieved out from the disk into memory. 
  • When retrieving the page, page replacement algorithm is used. This algorithm is simply called the first-in-first out method. It may require a medium-term scheduler to carry the process out of the main memory. 
  • Rather than a first-in first-out method, a modern algorithm is used that applies statistics to record the pages stored recently. 

Virtual Memory

Virtual memory uses a paging method for spacing out the extra memory for the program to run once at a time.

  • Virtual memory: It is a mechanism that allocates extra memory for a program when the memory allocated in the main memory is not enough. The  space that the CPU uses is larger than the physical main memory space. 
  • Virtual Memory helps in approaching the large volume program which can be runned into equally large amounts of memory when unavailable. 

Only certain parts of a program needs to be in virtual memory rather than the whole program. This helps in executing program that is only required for short period of time (only when accessing certain segment that occupies virtual memory)

  • Drawback of virtual memory is that it overheats the running capacity of memory, this can cause ‘disk thrashing’. This is a problem that can cause one part of the process on a page to overdraw another page of the disk. 

In the sequence of time-sharing, the pages require its original copy time and again, therefore a loop of loading and unloading of pages can occur. Algorithms have been developed to guard this action. However, problems can occur rarely. 

In the first diagram (a), we see a logical structure for a single operating system computer. In the second diagram (b), we have logical structure for virtual machine. 

  • One virtual machine (VM) does not have to share its resources (memory, disk drivers, CPU, network, etc.) with another virtual machine. As the resources required for the virtual machine is separated in the hardware. 
  • A particular area of the disk is assigned for the separate virtual machine in a computer system. Hence, resources of one VM are isolated from another VM. This gives protection of resources because it does not have to share the resources with each other.  
  • Installing softwares like VMware, Virtual Box will give user the access to operate on multiple operating system such as Windows, Linux Mint, Ubuntu. 


  • This gives a sense that multiple operating system are running in the same computer system. 

No information, data and resources will be shared from one virtual machine to another virtual machine. Therefore, it gives good protection to the data and information of one virtual machine.

  • This can be used to install a dangerous virus or malicious file that might harm your main operating system. Therefore, a virtual machine will help you to know about the threats related to any softwares or files. 


  • Segmenting resources to different executable platforms will decrease the performance of the operating system. This requires time and effort to use the limited resources allocated for a single virtual machine.