Introduction to Operating System PDF
Document Details
Tags
Summary
This document provides an introduction to operating systems, including their purpose, functions, and history. It covers key concepts like device management, file management, job accounting, and memory management. It also details differences between 32- and 64-bit operating systems and the tasks they carry out.
Full Transcript
Introduction of Operating System – Set 1 Last Updated : 30 Aug, 2024 An operating system acts as an intermediary between the user of a computer and computer hardware. In short its an interface between computer hardware and user. The purpose of an operating system is to provide an enviro...
Introduction of Operating System – Set 1 Last Updated : 30 Aug, 2024 An operating system acts as an intermediary between the user of a computer and computer hardware. In short its an interface between computer hardware and user. The purpose of an operating system is to provide an environment in which a user can execute programs conveniently and efficiently. An operating system is software that manages computer hardware. The hardware must provide appropriate mechanisms to ensure the correct operation of the computer system and to prevent user programs from interfering with the proper operation of the system. A more common definition is that the operating system is the one program running at all times on the computer (usually called the kernel), with all else being application programs. Aptitude Engineering Mathematics Discrete Mathematics Operating System DBMS Computer Networks D Concerned with the assignment of resources among programs e.g. memory, processors, devices and informationoproutines. Similarly, the operating system has programs to carry out these tasks as with a traffic controller, scheduler, memory management module I/O program and file system. History of Operating System The operating system has been evolving through the years. The following table shows the history of OS. Generation Year Electronic Types of OS device used Devices First 1945-55 Vacuum Tubes Plug Boards Second 1955-65 Transistors Batch Systems Integrated Third 1965-80 Multiprogramming Circuits(IC) Generation Year Electronic Types of OS device used Devices Large Scale Fourth Since 1980 PC Integration Characteristics of Operating Systems Let us now discuss some of the important characteristic features of operating systems: Device Management: The operating system keeps track of all the devices. So, it is also called the Input/Output controller that decides which process gets the device, when, and for how much time. File Management: It allocates and de-allocates the resources and also decides who gets the resource. Job Accounting: It keeps track of time and resources used by various jobs or users. Error-detecting Aids: These contain methods that include the production of dumps, traces, error messages, and other debugging and error-detecting methods. Memory Management: It is responsible for managing the primary memory of a computer, including what part of it are in use by whom also check how much amount free or used and allocate process Processor Management: It allocates the processor to a process and then de-allocates the processor when it is no longer required or the job is done. Control on System Performance: It records the delays between the request for a service and the system. Security: It prevents unauthorized access to programs and data using passwords or some kind of protection technique. Convenience: An OS makes a computer more convenient to use. Efficiency: An OS allows the computer system resources to be used efficiently. Ability to Evolve: An OS should be constructed in such a way as to permit the effective development, testing, and introduction of new system functions at the same time without interfering with service. Throughput: An OS should be constructed so that It can give maximum throughput (Number of tasks per unit time). List of common Operating Systems There are multiple types of operating systems each having its own unique features: Windows OS Developer : Microsoft Key Features : User-friendly interface, software compatibility, hardware support, Strong gaming support. Advantages : Easy to use for most users, Broad support from third-party applications ,Frequent updates and support. Typical Use Cases : Personal computing, Business environment, Gaming. macOS Developer : Apple. Key Features : Sleek, intuitive user interface, Strong integration with other Apple products, Robust security features, High performance and stability. Advantages : Optimized for Apple hardware, Seamless experience across Apple ecosystem, Superior graphics and multimedia capabilities. Typical Use Cases : Creative industries (design, video editing, music production), Personal computing, Professional environments. Linux Developer : Community-driven (various distributions). Key Features : Open-source and highly customizable, Robust security and stability, Lightweight and can run on older hardware, Large selection of distributions (e.g., Ubuntu, Fedora, Debian). Advantages : Free to use and distribute, Strong community support, Suitable for servers and development environments. Typical Use Cases : Servers and data centers, Development and programming, Personal computing for tech enthusiasts. Unix Developer: Originally AT&T Bell Labs, various commercial and open-source versions available Key Features: Multiuser and multitasking capabilities, Strong security and stability, Powerful command-line interface, Portability across different hardware platforms Advantages: Reliable and robust performance, Suitable for high- performance computing and servers, Extensive support for networking Typical Use Cases: Servers and workstations, Development environments, Research and academic settings Functionalities of Operating System Resource Management: When parallel accessing happens in the OS means when multiple users are accessing the system the OS works as Resource Manager, Its responsibility is to provide hardware to the user. It decreases the load in the system. Process Management: It includes various tasks like scheduling and termination of the process. It is done with the help of CPU Scheduling algorithms. Storage Management: The file system mechanism used for the management of the storage. NIFS , CIFS , CFS , NFS , etc. are some file systems. All the data is stored in various tracks of Hard disks that are all managed by the storage manager. It included Hard Disk. Memory Management: Refers to the management of primary memory. The operating system has to keep track of how much memory has been used and by whom. It has to decide which process needs memory space and how much. OS also has to allocate and deallocate the memory space. Security/Privacy Management: Privacy is also provided by the Operating system using passwords so that unauthorized applications can’t access programs or data. For example, Windows uses Kerberos authentication to prevent unauthorized access to data. The process operating system as User Interface: 1. User 2. System and application programs 3. Operating system 4. Hardware Every general-purpose computer consists of hardware, an operating system(s), system programs, and application programs. The hardware consists of memory, CPU, ALU, I/O devices, peripheral devices, and storage devices. The system program consists of compilers, loaders, editors, OS, etc. Conceptual View of Computer System Every computer must have an operating system to run other programs. The operating system coordinates the use of the hardware among the various system programs and application programs for various users. It simply provides an environment within which other programs can do useful work. An OS is a package of some programs that runs on a computer machine, allowing it to perform efficiently. It manages the simple tasks of recognizing input from the keyboard, managing files and directories on disk, displaying output on the screen, and controlling peripheral devices. Layered Design of Operating System Fig. Layered OS The extended machine provides operations like context save, dispatching, swapping, and I/O initiation. The operating system layer is located on top of the extended machine layer. This arrangement considerably simplifies the coding and testing of OS modules by separating the algorithm of a function from the implementation of its primitive operations. It is now easier to test, debug, and modify an OS module than in a monolithic OS. We say that the lower layer provides an abstraction that is the extended machine. We call the operating system layer the top layer of the OS. Purposes and Tasks of Operating Systems Several tasks are performed by the Operating Systems and it also helps in serving a lot of purposes which are mentioned below. We will see how Operating System helps us in serving in a better way with the help of the task performed by it. Purposes of an Operating System It controls the allocation and use of the computing System’s resources among the various user and tasks. It provides an interface between the computer hardware and the programmer that simplifies and makes it feasible for coding and debugging of application programs. Tasks of an Operating System 1. Provides the facilities to create and modify programs and data files using an editor. 2. Access to the compiler for translating the user program from high-level language to machine language. 3. Provide a loader program to move the compiled program code to the computer’s memory for execution. 4. Provide routines that handle the details of I/O programming. I/O System Management The module that keeps track of the status of devices is called the I/O traffic controller. Each I/O device has a device handler that resides in a separate process associated with that device. The I/O subsystem consists of A memory Management component that includes buffering caching and spooling. A general device driver interface. Drivers for Specific Hardware Devices Below mentioned are the drivers which are required for a specific Hardware Device. Here we discussed Assemblers, compilers, and interpreters, loaders. Assembler The input to an assembler is an assembly language program. The output is an object program plus information that enables the loader to prepare the object program for execution. At one time, the computer programmer had at his disposal a basic machine that interpreted, through hardware, certain fundamental instructions. He would program this computer by writing a series of ones and Zeros (Machine language) and placing them into the memory of the machine. Examples of assembly languages include Compiler and Interpreter The High-level languages – examples are C, C++, Java, Python, etc (around 300+ famous high-level languages) are processed by compilers and interpreters. A compiler is a program that accepts a source program in a “high- level language “and produces machine code in one go. Some of the compiled languages are FORTRAN, COBOL, C, C++, Rust, and Go. An interpreter is a program that does the same thing but converts high-level code to machine code line-by-line and not all at once. Examples of interpreted languages are Python Perl Ruby Loader A Loader is a routine that loads an object program and prepares it for execution. There are various loading schemes: absolute, relocating, and direct- linking. In general, the loader must load, relocate and link the object program. The loader is a program that places programs into memory and prepares them for execution. In a simple loading scheme, the assembler outputs the machine language translation of a program on a secondary device and a loader places it in the core. The loader places into memory the machine language version of the user’s program and transfers control to it. Since the loader program is much smaller than the assembler, those make more core available to the user’s program. Components of an Operating Systems There are two basic components of an Operating System. Shell Kernel Shell Shell is the outermost layer of the Operating System and it handles the interaction with the user. The main task of the Shell is the management of interaction between the User and OS. Shell provides better communication with the user and the Operating System Shell does it by giving proper input to the user it also interprets input for the OS and handles the output from the OS. It works as a way of communication between the User and the OS. Kernel The kernel is one of the components of the Operating System which works as a core component. The rest of the components depends on Kernel for the supply of the important services that are provided by the Operating System. The kernel is the primary interface between the Operating system and Hardware. Functions of Kernel The following functions are to be performed by the Kernel. It helps in controlling the System Calls. It helps in I/O Management. It helps in the management of applications, memory, etc. Types of Kernel There are four types of Kernel that are mentioned below. Monolithic Kernel Microkernel Hybrid Kernel Exokernel For more, refer to Kernel in Operating System. Difference Between 32-Bit and 64-Bit Operating Systems 32-Bit Operating System 64-Bit Operating System 32-Bit OS is required for running of 32- 64-Bit Processors can run on any of the Bit Processors, as they are not capable Operating Systems, like 32-Bit OS or of running on 64-bit processors. 64-Bit OS. 32-Bit OS gives a low efficient 64-Bit Operating System provides performance. highly efficient Performance. Less amount of data is managed in 32- A large amount of data can be stored in Bit Operating System as compared to 64-Bit Operating System. 64-Bit Os. 32-Bit Operating System 64-Bit Operating System 32-Bit Operating System can address 64-Bit Operating System can address 2^32 bytes of RAM. 2^64 bytes of RAM. The fundamental goals of operating system are Efficient use: Ensure efficient use of a computer’s resources. User convenience: Provide convenient methods of using a computer system. Non interference: Prevent interference in the activities of its users. Efficient use An operating system must ensure efficient use of the fundamental computer system resources of memory, CPU, and I/O devices such as disks and printers. Poor efficiency can result if a program does not use a resource allocated to it. Efficient use of resources can be obtained by monitoring use of resources and performing corrective actions when necessary. However, monitoring use of resources increases the overhead, which lowers efficiency of use. In practice, operating systems that emphasize efficient use limit their overhead by either restricting their focus to efficiency of a few important resources, like the CPU and the memory, or by not monitoring the use of resources at all, and instead handling user programs and resources in a manner that guarantees high efficiency. User convenience In the early days of computing, user convenience was synonymous with bare necessity—the mere ability to execute a program written in a higher level language was considered adequate. Experience with early operating systems led to demands for better service, which in those days meant only fast response to a user request. Other facets of user convenience evolved with the use of computers in new fields. Early operating systems had command-line interfaces, which required a user to type in a command and specify values of its parameters. Users needed substantial training to learn use of the commands, which was acceptable because most users were scientists or computer professionals. However, simpler interfaces were needed to facilitate use of computers by new classes of users. Hence graphical user interfaces (GUIs) were evolved. These interfaces used icons on a screen to represent programs and files and interpreted mouse clicks on the icons and associated menus as commands concerning them. In many ways, this move can be compared to the spread of car driving skills in the first half of the twentieth century. Over a period of time, driving became less of a specialty and more of a skill that could be acquired with limited training and experience. Non interference A computer user can face different kinds of interference in his computational activities. Execution of his program can be disrupted by actions of other persons, or the OS services which he wishes to use can be disrupted in a similar manner. The OS prevents such interference by allocating resources for exclusive use of programs and OS services, and preventing illegal accesses to resources. Another form of interference concerns programs and data stored in user files. Advantages of Operating System It helps in managing the data present in the device i.e. Memory Management. It helps in making the best use of computer hardware. It helps in maintaining the security of the device. It helps different applications in running them efficiently. Disadvantages of Operating System Operating Systems can be difficult for someone to use. Some OS are expensive and they require heavy maintenance. Operating Systems can come under threat if used by hackers. Conclusion OS (operating system) – this is how we call the absolute core of modern computing API which directly interacts between you and machine. Types of Operating System and its FeaturesDifferent types of operating systems have their distinct features, so we can choose the right one for different applications. Windows (widely used), macOS (high security level), Linux (flexible OS) and smaller systems/devices such as Android and iOS, it all depends on the requirements of what you need. In a similar way like technology improves, operating systems will always have a part in managing jobs such as security and enhancing user experience. Operating systems are mostly about the way you use IT – even if not at a high level, as would have been required by developers or professionals. Few focus areas when picking OS are too, getting a good job done at the moment and all set for later tasks as well. Frequently Asked Questions on Operating Systems – FAQs Explain Operating System The operating system can be explained as the intermediate, which works between the user and the system hardware so that the user can get a nice experience while using a system. Without an Operating system, there will be a lot of difficulties can be faced by the user while running a system. What are the types of operating Systems? The types of Operating systems are listed below. Batch Operating System Multi-Programming System Multi-Processing System Multi-Tasking Operating System Time-Sharing Operating System Distributed Operating System Network Operating System Real-Time Operating System What is the importance of an Operating System? The operating system is one of the most important parts of a Computer System. Without an Operating System, the system will not be able to work. As Operating System works as an interpreter between the user and the hardware part, which helps in the smooth functioning of the system. What is an OS Structure? Operating System structure is basically the model in which the system works. The structure of the operating system should be user-friendly, such that if any user having less knowledge about the system comes then he/she will not face any difficulties while running the system. What do you mean by a process in Operating System? A process can be simply defined as the instance of a computer. The process always includes the program code and its operations both. The process also includes the threads running in the computer system. It can be a single thread or a multiple thread. Are you a student in Computer Science or an employed professional looking to take up the GATE 2025 Exam? Of course, you can get a good score in it but to get the best score our GATE CS/IT 2025 - Self-Paced Course is available on GeeksforGeeks to help you with its preparation. Get comprehensive coverage of all topics of GATE, detailed explanations, and practice questions for study. Study at your pace. Flexible and easy-to-follow modules. Do well in GATE to enhance the prospects of your career. Enroll now and let your journey to success begin! A Aluka Madhavi 752 Next Article Functions of Operating System Similar Reads Introduction To Mobile Operating System - PALM OS PALM OS is an operating system for personal digital assistants, designed for touchscreen. It consists of a limited number of features designed for low memor… 2 min read Introduction of Deadlock in Operating System A deadlock is a situation where a set of processes is blocked because each process is holding a resource and waiting for another resource acquired by some… 11 min read System Protection in Operating System Introduction: System protection in an operating system refers to the mechanisms implemented by the operating system to ensure the security and integrity of the… 3 min read User View Vs Hardware View Vs System View of Operating System User View of Operating System: The Operating System is an interface, hides the details which must be performed and present a virtual machine to the user that… 1 min read Xv6 Operating System -adding a new system call Prerequisite - Xv6 Operating System -add a user program In last post we got to know how to add user program in Xv6 Operating System. Now here you will see… 6 min read Traps and System Calls in Operating System (OS) Traps and system calls are two mechanisms used by an operating system (OS) to perform privileged operations and interact with user-level programs. Here is an… 3 min read Fork System Call in Operating System In many operating systems, the fork system call is an essential operation. The fork system call allows the creation of a new process. When a process calls the fork(… 5 min read System Programs in Operating System System Programming can be defined as the act of building Systems Software using System Programming Languages. According to Computer Hierarchy,… 3 min read File System Implementation in Operating System A file is a collection of related information. The file system resides on secondary storage and provides efficient and convenient access to the disk by allowing dat… 11 min read Difference between System Software and Operating System Software is like a set of instructions that tell a computer what to do. There are two main types application software and system software. Application software… 5 min read Article Tags : GATE CS Operating Systems CBSE - Class 11 school-programming Corporate & Communications Address:- A-143, 9th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305) | Registered Address:- K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305 Company Languages About Us Python Legal Java In Media C++ Contact Us PHP Advertise with us GoLang GFG Corporate Solution SQL Placement Training Program R Language GeeksforGeeks Community Android Tutorial Tutorials Archive DSA Data Science & ML Data Structures Data Science With Python Algorithms Data Science For Beginner DSA for Beginners Machine Learning Basic DSA Problems ML Maths DSA Roadmap Data Visualisation Top 100 DSA Interview Problems Pandas DSA Roadmap by Sandeep Jain NumPy All Cheat Sheets NLP Deep Learning Web Technologies Python Tutorial HTML Python Programming Examples CSS Python Projects JavaScript Python Tkinter TypeScript Web Scraping ReactJS OpenCV Tutorial NextJS Python Interview Question Bootstrap Django Web Design Computer Science DevOps Operating Systems Git Computer Network Linux Database Management System AWS Software Engineering Docker Digital Logic Design Kubernetes Engineering Maths Azure Software Development GCP Software Testing DevOps Roadmap System Design Inteview Preparation High Level Design Competitive Programming Low Level Design Top DS or Algo for CP UML Diagrams Company-Wise Recruitment Process Interview Guide Company-Wise Preparation Design Patterns Aptitude Preparation OOAD Puzzles System Design Bootcamp Interview Questions School Subjects GeeksforGeeks Videos Mathematics DSA Physics Python Chemistry Java Biology C++ Social Science Web Development English Grammar Data Science Commerce CS Subjects World GK @GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved