Operating System Tutorial

Operating System Tutorial Types of Operating System Evolution of Operating System Functions of Operating System Operating System Properties Operating System Services Components of Operating System Needs of the Operating System

Operating Systems

Linux Operating System Unix Operating System Ubuntu Operating System Chrome Operating Systems Fedora Operating System MAC Operating System MS Windows Operating System Solaris Operating System Cooperative Operating System CorelDRAW Operating System CentOS FreeBSD Operating Systems Batch Operating System MS-DOS Operating System Commercial Mobile Operating Systems


Difference Between Multi-programming and Multitasking Difference between C-LOOK and C-SCAN Difference between Rotational Latency and Disk Assess Time Trap vs Interrupt Difference between C-SCAN and SSTF Difference between SCAN and FCFS Difference between Seek Time and Disk Access Time Difference between SSTF and LOOK Difference between Process and Program in the Operating System Difference between Protection and Security in Operating System

How To

How to implement Monitors using Semaphores How to Install a Different Operating System on a PC


What is Kernel and Types of Kernel What is DOS Operating System What is Thread and Types of Thread What is Process Scheduler and Process Queue What is Context Switching What is CPU Scheduling What is Producer-Consumer Problem What is Semaphore in Operating System Monitors in Operating System What is Deadlock What is Paging and Segmentation What is Demand Paging What is Virtual Memory What is a Long term Scheduler What is Page Replacement in Operating System What is BSR Mode What is Convoy Effect What is Job Sequencing in Operating System Why is it critical for the Scheduler to distinguish between I/O-bound and CPU-bound programs Why is there a Need for an Operating System


Process Management Process State Scheduling Algorithm FCFS (First-come-First-Serve) Scheduling SJF (Shortest Job First) Scheduling Round-Robin CPU Scheduling Priority Based Scheduling HRRN (Highest Response Ratio Next) Scheduling Process Synchronization Lock Variable Mechanism TSL Mechanism Turn Variable Mechanism Interested Variable Mechanism Deadlock Avoidance Strategies for Handling Deadlock Deadlock Prevention Deadlock Detection and Recovery Resource Allocation Graph Banker’s Algorithm in Operating System Fixed Partitioning and Dynamic Partitioning Partitioning Algorithms Disk Scheduling Algorithms FCFS and SSTF Disk Scheduling Algorithm SCAN and C-SCAN Disk Scheduling Algorithm Look and C-Look Disk Scheduling Algorithm File in Operating System File Access Methods in Operating System File Allocation Method Directory Structure in Operating System N-Step-SCAN Disk Scheduling Feedback Queue in Operating System Contiguous Memory Allocation in Operating System Real-time Operating System Starvation in Operating System Thrashing in Operating System 5 Goals of Operating System Advantages of Operating System Advantages of UNIX Operating System Bit Vector in Operating System Booting Process in Operating System Can a Computer Run Without the Operating System Dining Philosophers Problem in Operating System Free Space Management in Operating System Inter Process Communication in Operating System Swapping in Operating System Memory Management in Operating System Multiprogramming Operating System Multitasking Operating Systems Multi-user Operating Systems Non-Contiguous Memory Allocation in Operating System Page Table in Operating System Process Scheduling in Operating System Segmentation in Operating System Simple Structure in Operating System Single-User Operating System Two Phase Locking Protocol Advantages and Disadvantages of Operating System Arithmetic operations in binary number system Assemblers in the operating system Bakery Algorithm in Operating System Benefits of Ubuntu Operating System CPU Scheduling Criteria in Operating System Critical Section in Operating System Device Management in Operating System Linux Scheduler in Operating System Long Term Scheduler in Operating System Mutex in Operating System Operating System Failure Peterson's Solution in Operating System Privileged and Non-Privileged Instructions in Operating System Swapping in Operating System Types of Operating System Zombie and Orphan Process in Operating System 62-bit operating system Advantages and Disadvantages of Batch Operating System Boot Block and Bad Block in Operating System Contiguous and Non - Contiguous Memory Allocation in Operating System Control and Distribution Systems in Operations Management Control Program in Operating System Convergent Technologies in Operating System Convoy Effect in Operating System Copy Operating Systems to SSD Core Components of Operating System Core of UNIX Operating System Correct Value to return to the Operating System Corrupted Operating System Cos is Smart Card Operating System Cosmos Operating Systems Examples Generation of Operating System Hardware Solution in Operating System Process Control Block in Operating System Function of Kernel in Operating System Operating System Layers History of Debian Operating Systems Branches and Architecture of Debian Operating Systems Features and Packages of Debian Operating Systems Installation of Operating System on a New PC Organizational Structure and Development in Debian Operating Systems User Interface in Operating System Types Of Memory in OS Operating System in Nokia Multilevel Paging in OS Memory Mapping Techniques in OS Memory Layout of a Process in Operating System Hardware Protection in Operating System Functions of File Management in Operating System Core of Linux Operating System Cache Replacement Policy in Operating System Cache Line and Cache Size in Operating System What is Memory Mapping? Difference Between Network Operating System And Distributed Operating System What is the difference between a Hard link and a Soft Link? Principles of Preemptive Scheduling Process Scheduling Algorithms What is NOS? What is the Interrupt I/O Process? What is Time Sharing OS What is process termination? What is Time-Sharing Operating System What is Batch File File system manipulation What is Message-passing Technique in OS Logical Clock in Distributed System

Why is there a Need for an Operating System?

What is Operating System?

As we all are very familiar with the communication system between two people when they are far from one another or simply both in different countries, i.e., through mobile communication. Similarly maintaining a communication link between a computer hardware and software, as well as computer system and a human, operating system is used as a mediator, which means, operating system is an interface between a user, hardware, and a software application. So, we can say, Operating system is a system software that manages all the computer hardware and software applications, and work as an interface between user, hardware, and software applications. It enables software programs to directly communicate with hardware components without need of knowing their working procedures.

History of the Operating System

  • Before the arrival of the OS in the technical world, there were only single-tasking machines were available in the market.
  • The programs and order of the system loaded were all by using punch cards and tapes which were only available till the program crashed. Then in the early 1950s, Alen Turing launched some assisting libraries for the programs, And he also made a linking of this library with the user’s programs and thus helped in assisting in input, output, and compiling procedures. All was laid on the foundation of OS.
  • In the same year, for IBM 701 general-motors research lab implemented the first OS. Later on, in the year 1960, OS implementation got started using some disks.
  • Microsoft built an operating system named DOS in the year 1981. And further, in 1985, they combined it with GUI abbreviation for Graphical User Interface (GUI). Now presently, the used versions are made of these only.

Why need for Operating System existed?

As we got to know that the operating system is used as an interface between the user, system hardware, and software. Hence its requirements lie in providing an interface.

Below are some of the requirements:

  • Allocating Resources: For distributing the various programs in CPU and memory among various processes, this operating system is been used. Since more than one program runs so it became mandatory to introduce the operating system.
  • Multitasking: System software needs to be facilitated with more than one process at a time. This will help in the execution process, and this is only possible with the help of the operating system.
  • Graphical user interface: It provides smooth and understandable interaction between both interfaces. It simplifies the system process and enables the user to understand the process better.
  • Files Management in the software: An operating system is responsible for managing files and directories on computer’s storage device. OS organizes files into directories and provides a simple way for applications to create, read, write, and delete files.
  • User Interface: It links to support for the whole system which enables the communication between the user and the system by providing an user interface, such as GUI (Graphical User Interface, Command Line Interface, etc). Without this, it is impossible to perform an interaction with the system by a user.

Types of Operating Systems:

Many operating systems exist today in the market, depending upon their purpose and usage.

1. Batch Operating System:

We may see or observe frequent utilization of resources in some jobs for performing the same amount of tasks or the same task itself. For this reason, many people go for batch operating systems. It is because to break the vast and lengthy processes into small jobs and then work on them. This process of making and diving Lengthy jobs into sub-jobs increases the speed of execution time. No direct interaction with the system occurred here but all the jobs are punched and then provided to the operator.

2. Multitasking/ Time-Sharing operating system:

You must hear of multiprocessor, right? The same scenario occurs here. But here the single processor is used by many different programs to run simultaneously using same CPU resources at the same time. Thus, the processor is named or called as time shared because one processor is been shared among different Tasks within a single system.

We can consider Linux, Windows, or MacOS as an example.

3. Realtime operating system:

The name itself suggests to us or gives an idea about the type of operating system. This operating system executes in absolutely zero time and gives real-time outputs as it is as they produced.

We can consider military systems as one kind of this type of system.

4. Distributed operating system:

The distributed operating system means the system will use many of the processors which are located on many different systems. This system does this thing to fasten the execution speed and the advantage of this is that no loss of information occurs here.

 In a distributed operating system, each computer in the network runs its own instance of the operating system, but they all work together to provide a seamless user experience.

Some examples of distributed operating systems include AIX operating system, Solaris operating system, etc.

5. Network Operating System:

Network operating systems manage the data or the information. It provides security for the operations, processes, applications, and other networking systems and functions. It can even manage user groups. These are run by servers.

We can consider numerous examples like Microsoft Windows server, MAS operating system, and many more.

6. Mobile Operating System:

Mobiles are the most used devices nowadays; these mobile operating systems are mainly designed to run mobiles only for fast execution and speed. Not alone in mobiles but also tablets and many used wearable gadgets. These are prior for use in only phones and can’t run on computer systems.

We may give numerous examples of this operating system. One of the most known operating systems is the Android system.

7. Single-user Operating System:

This allows the execution of one process at a time. It is in contrast to multi-user operating systems or multitasking operating systems. It avoids parallel execution of functions.

We can take the example of MS-DOS.

We got to know the need for an operating system and its numerous types. But how to find the best operating system?

Operating system - Features

 Every one of us while purchasing a system, first check the details of an operating system. The features afford by that particular system and all. So, we consider it the most important to verify its features and all.

The probable features that are present mostly in an operating system are:

  1. Security: The security provided to the system and the data that is software.
  2. Allocation of resources: The correct locations of files, and data.
  3. Execution: It makes the easy and speedy execution, which decreases the execution time.
  4. Threats protection: Protects from the threats like information protection, resources protection, etc.
  5. System manipulation: Manipulates the file system.
  6. Handling: Ability to handle the input and output operations in the system for better performance.
  7. Multitasking: Capable of carrying multiple tasks simultaneously using same resources.
  8. Identifying errors and their handling: Error detection is done by the operating system.
  9. Virtualisation
  10. Need for permission and accessing of file system: Accessing files requires permission.
  11. Memory management: Managing the memory in the system.
  12. Protected mode: Capable to protect and supervise the system software and hardware.
  13. Execution of the program: The program execution operates by the operating system.
  14. Performance: Able to provide high performance of the system.
  15. Partitioning: Parts or divides the jobs for fast execution.
  16. Buffering
  17. Creation of virtual memory.

Functions of an Operating System

After the selection of a feature, one will go through the functions of an operating system. Below are the operating system functions mentioned.

  1. Detection of errors: This is a mechanism that produces traces, error messages, and any other trash data. Every operating system exhibits this mechanism. It contains debugging tools and error-detecting devices or aids.
  2. Allocating jobs: The resources used by the jobs are tracked by the operating system, it includes the time to execute steps and the order of execution.
  3. Interaction and link or coordination between the software: Multitasking is one of the features of the operating system. Therefore, it takes that responsibility to maintain that interaction and coordination between the two running applications. And the coordination between applications that are running at that time in the system. Simply it means the distribution of assemblers and interpreters.
  4. Performance of the system: The performance of a system is defined by the time taken between a request and its response. The operating system keeps track of all these processes and time.
  5. Security of the system: Usually we see that due to a lack of security leads to the injection of viruses into the system and malware and threats are the result of it. When we went through the features of the operating system we came across the word security. The operating system’s ability is it protects the system from all the above mentioned. External access to passwords, files, and data is strongly protected by the operating system.
  6. Managing files: Sorting files is done by the operating system using the stack principle. Navigation to a particular directory or a file is difficult if an operating system is absent. And directories consist of user files and other documents.

Below are the activities performed by the operating system for file management:

  • File systems include information, location are tracked by the operating system.
  • It will decide the resource for the job in order.
  • Allocation of resources done by the operating system for a better file management system.
  • Not only it allocates but also de-allocates the resources.