Computer Science Engineering (CSE) Exam  >  Computer Science Engineering (CSE) Notes  >  Operating System  >  Need & Functions of Operating Systems

Need & Functions of Operating Systems | Operating System - Computer Science Engineering (CSE) PDF Download

The goal of an Operating System

The fundamental goal of a Computer System is to execute user programs and to make tasks easier. Various application programs along with hardware systems are used to perform this work. Operating System is software that manages and controls the entire set of resources and effectively utilizes every part of a computer.
The figure shows how OS acts as a medium between hardware units and application programs.
Need & Functions of Operating Systems | Operating System - Computer Science Engineering (CSE)

Need of Operating System

  • OS as a platform for Application programs: Operating system provides a platform, on top of which, other programs, called application programs can run. These application programs help the users to perform a specific task easily. It acts as an interface between the computer and the user. It is designed in such a manner that it operates, controls, and executes various applications on the computer.
  • Managing Input-Output unit: Operating System also allows the computer to manage its own resources such as memory, monitor, keyboard, printer, etc. Management of these resources is required for effective utilization. The operating system controls the various system input-output resources and allocates them to the users or programs as per their requirement.
  • Consistent user interface:  Operating System provides the user an easy-to-work user interface, so the user doesn’t have to learn a different UI every time and can focus on the content and be productive as quickly as possible. Operating System provides templates, UI components to make the working of a computer, really easy for the user.
  • Multitasking: Operating System manages memory and allows multiple programs to run in their own space and even communicate with each other through shared memory. Multitasking gives users a good experience as they can perform several tasks on a computer at a time.

Functions of an Operating System

An operating system has a variety of functions to perform. Some of the prominent functions of an operating system can be broadly outlined as: 

  • Processor Management: This deals with the management of the Central Processing Unit (CPU). The operating system takes care of the allotment of CPU time to different processes. When a process finishes its CPU processing after executing for the allotted time period, this is called scheduling. There is various type of scheduling techniques that are used by the operating systems: 
    1. Shortest Job First(SJF): The process which needs the shortest CPU time is scheduled first. 
    2. Round Robin Scheduling: Each process is assigned a fixed CPU execution time in a cyclic way. 
    3. Priority Based scheduling (Non-Preemptive): In this scheduling, processes are scheduled according to their priorities, i.e., the highest priority process is scheduled first. If priorities of two processes match, then schedule according to arrival time.
  • Device Management: The Operating System communicates with the hardware and the attached devices and maintains a balance between them and the CPU. This is all the more important because the CPU processing speed is much higher than that of I/O devices. In order to optimize the CPU time, the operating system employs two techniques – Buffering and Spooling.
  • Buffering: In this technique, input and output data is temporarily stored in Input Buffer and Output Buffer. Once the signal for input or output is sent to or from the CPU respectively, the operating system through the device controller moves the data from the input device to the input buffer and for the output device to the output buffer. In the case of input, if the buffer is full, the operating system sends a signal to the program which processes the data stored in the buffer. When the buffer becomes empty, the program informs the operating system which reloads the buffer and the input operation continues.
  • Spooling (Simultaneous Peripheral Operation on Line): This is a device management technique used for processing different tasks on the same input/output device. When there are various users on a network sharing the same resource then it can be a possibility that more than one user might give it a command at the same point in time. So, the operating system temporarily stores the data of every user on the hard disk of the computer to which the resource is attached. The individual user need not wait for the execution process to be completed. Instead, the operating system sends the data from the hard disk to the resource one by one.
    Example: printer
  • Memory management: In a computer, both the CPU and the I/O devices interact with the memory. When a program needs to be executed it is loaded onto the main memory till the execution is completed. Thereafter that memory space is freed and is available for other programs. The common memory management techniques used by the operating system are Partitioning and Virtual Memory.
  • Partitioning: The total memory is divided into various partitions of the same size or different sizes. This helps to accommodate a number of programs in the memory. The partition can be fixed i.e. remains the same for all the programs in the memory or variable i.e. memory is allocated when a program is loaded onto the memory. The latter approach causes less wastage of memory but in due course of time, it may become fragmented.
  • Virtual Memory: This is a technique used by the operating systems which allows the user can load programs that are larger than the main memory of the computer. In this technique, the program is executed even if the complete program can not be loaded inside the main memory leading to efficient memory utilization.
  • File Management: The operating system manages the files, folders, and directory systems on a computer. Any data on a computer is stored in the form of files and the operating system keeps the information about all of them using File Allocation Table (FAT). The FAT stores general information about files like filename, type (text or binary), size, starting address, and access mode (sequential/indexed sequential/direct/relative). The file manager of the operating system helps to create, edit, copy, allocate memory to the files, and also updates the FAT. The operating system also takes care that files are opened with proper access rights to read or edit them.
The document Need & Functions of Operating Systems | Operating System - Computer Science Engineering (CSE) is a part of the Computer Science Engineering (CSE) Course Operating System.
All you need of Computer Science Engineering (CSE) at this link: Computer Science Engineering (CSE)
10 videos|99 docs|33 tests

Top Courses for Computer Science Engineering (CSE)

FAQs on Need & Functions of Operating Systems - Operating System - Computer Science Engineering (CSE)

1. What is the goal of an Operating System?
Ans. The goal of an Operating System is to provide an environment that allows users to execute programs efficiently, manage computer hardware resources, and provide a convenient interface for users to interact with the computer system.
2. Why do we need Operating Systems?
Ans. Operating Systems are necessary to manage various hardware and software resources of a computer system. They provide an interface for users to interact with the system, schedule tasks, manage memory and storage, handle input and output operations, and ensure the security and stability of the system.
3. What are the functions of an Operating System?
Ans. The functions of an Operating System include managing memory allocation, scheduling tasks, handling input and output operations, providing an interface for users to interact with the system, managing file systems and storage, ensuring system security, and facilitating communication between hardware and software components.
4. How does an Operating System manage memory allocation?
Ans. An Operating System manages memory allocation by allocating and deallocating memory blocks to different programs or processes. It keeps track of the available memory space, assigns memory to processes as they request it, and deallocates memory when it is no longer needed. This memory management allows efficient utilization of system resources and prevents processes from accessing each other's memory.
5. Why is task scheduling important for an Operating System?
Ans. Task scheduling is important for an Operating System as it determines the order in which processes or tasks are executed on a computer system. By efficiently scheduling tasks, the Operating System can ensure fair utilization of system resources, prevent resource conflicts, maximize throughput, minimize response time, and provide a smooth and responsive user experience.
10 videos|99 docs|33 tests
Download as PDF
Explore Courses for Computer Science Engineering (CSE) exam

Top Courses for Computer Science Engineering (CSE)

Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev
Related Searches

Exam

,

Important questions

,

Summary

,

Need & Functions of Operating Systems | Operating System - Computer Science Engineering (CSE)

,

study material

,

Extra Questions

,

Free

,

Viva Questions

,

Need & Functions of Operating Systems | Operating System - Computer Science Engineering (CSE)

,

past year papers

,

Semester Notes

,

shortcuts and tricks

,

Previous Year Questions with Solutions

,

Need & Functions of Operating Systems | Operating System - Computer Science Engineering (CSE)

,

pdf

,

Objective type Questions

,

MCQs

,

ppt

,

mock tests for examination

,

Sample Paper

,

video lectures

,

practice quizzes

;