Thursday, November 11, 2021

Structures of Operating Systems

 Structures of Operating Systems

  • 1.2 
By Shivam Mishra 
Touch the icon connect me
 


Operating system can be implemented with the help of various structures. The structure of the OS depends mainly on how the various common components of the operating system are interconnected and melded into the kernel. Depending on this we have following structures of the operating system:

Simple structure:
Such operating systems do not have well defined structure and are small, simple and limited systems. The interfaces and levels of functionality are not well separated. MS-DOS is an example of such operating system. In MS-DOS application programs are able to access the basic I/O routines. These types of operating system cause the entire system to crash if one of the user programs fails.
Diagram of the structure of MS-DOS is shown below.

Layered structure:
An OS can be broken into pieces and retain much more control on system. In this structure the OS is broken into number of layers (levels). The bottom layer (layer 0) is the hardware and the topmost layer (layer N) is the user interface. These layers are so designed that each layer uses the functions of the lower level layers only. This simplifies the debugging process as if lower level layers are debugged and an error occurs during debugging then the error must be on that layer only as the lower level layers have already been debugged.

The main disadvantage of this structure is that at each layer, the data needs to be modified and passed on which adds overhead to the system. Moreover careful planning of the layers is necessary as a layer can use only lower level layers. UNIX is an example of this structure.



Micro-kernel:
This structure designs the operating system by removing all non-essential components from the kernel and implementing them as system and user programs. This result in a smaller kernel called the micro-kernel.
Advantages of this structure are that all new services need to be added to user space and does not require the kernel to be modified. Thus it is more secure and reliable as if a service fails then rest of the operating system remains untouched. Mac OS is an example of this type of OS.

Modular structure or approach:
It is considered as the best approach for an OS. It involves designing of a modular kernel. The kernel has only set of core components and other services are added as dynamically loadable modules to the kernel either during run time or boot time. It resembles layered structure due to the fact that each kernel has defined and protected interfaces but it is more flexible than the layered structure as a module can call any other module.
For example Solaris OS is organized as shown in the figure.

OS is organized as shown in the figure. 

 

 

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.

 

Thursday, May 27, 2021

💻Operating System 1st Tutorial

By Shivam Mishra

What is an Operating System?

An Operating System (OS) is a software that acts as an interface between computer hardware components and the user. Every computer system must have at least one operating system to run other programs. Applications like Browsers, MS Office, Notepad Games, etc., need some environment to run and perform its tasks.

The OS helps you to communicate with the computer without knowing how to speak the computer's language. It is not possible for the user to use any computer or mobile device without having an operating system.

Introduction to Operating System
Introduction to Operating System

In this OS tutorial, you will learn:

  • What is an Operating System?
  • History Of OS
  • Examples of Operating System with Market Share
  • Types of Operating System (OS)
  • Functions of Operating System
  • Features of Operating System (OS)
  • Advantage of using Operating System
  • Disadvantages of using Operating System
  • What is Kernel in Operating System?
  • Difference between Firmware and Operating System
  • Difference between 32-Bit vs. 64 Bit Operating System

History Of OS

  • Operating systems were first developed in the late 1950s to manage tape storage
  • The General Motors Research Lab implemented the first OS in the early 1950s for their IBM 701
  • In the mid-1960s, operating systems started to use disks
  • In the late 1960s, the first version of the Unix OS was developed
  • The first OS built by Microsoft was DOS. It was built in 1981 by purchasing the 86-DOS software from a Seattle company
  • The present-day popular OS Windows first came to existence in 1985 when a GUI was created and paired with MS-DOS.

Examples of Operating System with Market Share

Market Share of Operating Systems
Market Share of Operating Systems

Following are the examples of Operating System with the latest Market Share

OS NameShare
Windows40.34
Android37.95
iOS15.44
Mac OS4.34
Linux0.95
Chrome OS0.14
Windows Phone OS0.06

Types of Operating System (OS)

Following are the popular types of Operating System:

  • Batch Operating System
  • Multitasking/Time Sharing OS
  • Multiprocessing OS
  • Real Time OS
  • Distributed OS
  • Network OS
  • Mobile OS

Batch Operating System

Some computer processes are very lengthy and time-consuming. To speed the same process, a job with a similar type of needs are batched together and run as a group.

The user of a batch operating system never directly interacts with the computer. In this type of OS, every user prepares his or her job on an offline device like a punch card and submit it to the computer operator.

Multi-Tasking/Time-sharing Operating systems

Time-sharing operating system enables people located at a different terminal(shell) to use a single computer system at the same time. The processor time (CPU) which is shared among multiple users is termed as time sharing.

Real time OS

A real time operating system time interval to process and respond to inputs is very small. Examples: Military Software Systems, Space Software Systems are the Real time OS example.

Distributed Operating System

Distributed systems use many processors located in different machines to provide very fast computation to its users.

Network Operating System

Network Operating System runs on a server. It provides the capability to serve to manage data, user, groups, security, application, and other networking functions.

Mobile OS

Mobile operating systems are those OS which is especially that are designed to power smartphones, tablets, and wearables devices.

Some most famous mobile operating systems are Android and iOS, but others include BlackBerry, Web, and watchOS.

Functions of Operating System

Below are the main functions of Operating System:

Functions of Operating System
Functions of Operating System

In an operating system software performs each of the function:

  1. Process management:- Process management helps OS to create and delete processes. It also provides mechanisms for synchronization and communication among processes.
  1. Memory management:- Memory management module performs the task of allocation and de-allocation of memory space to programs in need of this resources.
  1. File management:- It manages all the file-related activities such as organization storage, retrieval, naming, sharing, and protection of files.
  1. Device Management: Device management keeps tracks of all devices. This module also responsible for this task is known as the I/O controller. It also performs the task of allocation and de-allocation of the devices.
  1. I/O System Management: One of the main objects of any OS is to hide the peculiarities of that hardware devices from the user.
  1. Secondary-Storage Management: Systems have several levels of storage which includes primary storage, secondary storage, and cache storage. Instructions and data must be stored in primary storage or cache so that a running program can reference it.
  1. Security:- Security module protects the data and information of a computer system against malware threat and authorized access.
  1. Command interpretation: This module is interpreting commands given by the and acting system resources to process that commands.
  1. Networking: A distributed system is a group of processors which do not share memory, hardware devices, or a clock. The processors communicate with one another through the network.
  1. Job accounting: Keeping track of time & resource used by various job and users.
  1. Communication management: Coordination and assignment of compilers, interpreters, and another software resource of the various users of the computer systems.

Features of Operating System (OS)

Here is a list important features of OS:

  • Protected and supervisor mode
  • Allows disk access and file systems Device drivers Networking Security
  • Program Execution
  • Memory management Virtual Memory Multitasking
  • Handling I/O operations
  • Manipulation of the file system
  • Error Detection and handling
  • Resource allocation
  • Information and Resource Protection

Advantage of using Operating System

  • Allows you to hide details of hardware by creating an abstraction
  • Easy to use with a GUI
  • Offers an environment in which a user may execute programs/applications
  • The operating system must make sure that the computer system convenient to use
  • Operating System acts as an intermediary among applications and the hardware components
  • It provides the computer system resources with easy to use format
  • Acts as an intermediator between all hardware's and software's of the system

Disadvantages of using Operating System

  • If any issue occurs in OS, you may lose all the contents which have been stored in your system
  • Operating system's software is quite expensive for small size organization which adds burden on them. Example Windows
  • It is never entirely secure as a threat can occur at any time

What is Kernel in Operating System?

The kernel is the central component of a computer operating systems. The only job performed by the kernel is to the manage the communication between the software and the hardware. A Kernel is at the nucleus of a computer. It makes the communication between the hardware and software possible. While the Kernel is the innermost part of an operating system, a shell is the outermost one.

What is Kernel
Introduction to Kernel

Features of Kennel

  • Low-level scheduling of processes
  • Inter-process communication
  • Process synchronization
  • Context switching

Types of Kernels

There are many types of kernels that exists, but among them, the two most popular kernels are:

1.Monolithic

A monolithic kernel is a single code or block of the program. It provides all the required services offered by the operating system. It is a simplistic design which creates a distinct communication layer between the hardware and software.

2. Microkernels

Microkernel manages all system resources. In this type of kernel, services are implemented in different address space. The user services are stored in user address space, and kernel services are stored under kernel address space. So, it helps to reduce the size of both the kernel and operating system.

Difference between Firmware and Operating System

FirmwareOperating System
Firmware is one kind of programming that is embedded on a chip in the device which controls that specific device.OS provides functionality over and above that which is provided by the firmware.
Firmware is programs that been encoded by the manufacture of the IC or something and cannot be changed.OS is a program that can be installed by the user and can be changed.
It is stored on non-volatile memory.OS is stored on the hard drive.

Difference between 32-Bit vs. 64 Bit Operating System

Parameters32. Bit64. Bit
Architecture and SoftwareAllow 32 bit of data processing simultaneouslyAllow 64 bit of data processing simultaneously
Compatibility32-bit applications require 32-bit OS and CPUs.64-bit applications require a 64-bit OS and CPU.
Systems AvailableAll versions of Windows 8, Windows 7, Windows Vista, and Windows XP, Linux, etc.Windows XP Professional, Vista, 7, Mac OS X and Linux.
Memory Limits32-bit systems are limited to 3.2 GB of RAM.64-bit systems allow a maximum 17 Billion GB of RAM.

Summary

  • What is Operating System and its Types: An operating system is a software which acts as an interface between the end user and computer hardware. Different types of Operating System in computer and other devices are: Batch Operating System, Multitasking/Time Sharing OS, Multiprocessing OS, Real Time OS, Distributed OS, Network OS & Mobile OS
  • PC Operating Systems were first developed in the late 1950s to manage tape storage
  • Explain the working of Operating System: OS works as an intermediate between the user and computer. It helps the user to communicate with the computer without knowing how to speak the computer's language.
  • The kernel is the central component of a computer operating systems. The only job performed by the kernel is to the manage the communication between the software and the hardware
  • Two most popular kernels are Monolithic and MicroKernels
  • Process, Device, File, I/O, Secondary-Storage, Memory management are various functions of an Operating System

 Thankyou