Basic Principles of an Operating System
eBook - ePub

Basic Principles of an Operating System

Learn the Internals and Design Principles

  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Basic Principles of an Operating System

Learn the Internals and Design Principles

About this book

A basic guide to learn Design and Programming of operating system in depth Key Features

  • Easy to read and understand
  • Covers the topic in-depth
  • Good explanation of concepts with relevant diagrams and examples
  • Contains a lot of review questions to understand the concepts
  • Clarification of concepts using case studies
  • The book will help to achieve a high confidence level and thus ensure high performance of the reader

  • Description
    An operating system is an essential component of computers, laptops, smartphones and any other devices that manages the computer hardware. This book is a complete textbook that includes theory, implementation, case studies, a lot of review questions, questions from GATE and some smart tips. Many examples and diagrams are given in the book to explain the concepts. It will help increase the readability and understand the concepts.The book is divided into 11 chapters. It describe the basics of an operating system, how it manages the computer hardware, Application Programming interface, compiling, linking, and loading. It talks about how communication takes place between two processes, the different methods of communication, the synchronization between two processes, and modern tools of synchronization. It covers deadlock and various methods to handle deadlock.It also describes the memory and virtual memory organization and management, file system organization and implementation, secondary storage structure, protection and security. What You Will Learn
    The proposed book will be very simple to read, understand and provide sound knowledge of basic concepts. It is going to be a complete book that includes theory, implementation, case studies, a lot of review questions, questions from GATE and some smart tips. Who this book is for
    BCA, BSc (IT/CS), MTech (IT/CSE), BTech (CSE/IT), MBA (IT), MCA, BBA (CAM), DOEACC, MSc (IT/CS/SE), MPhil, PGDIT, PGDBM. Table of Contents
    1. Introduction and Structure of an Operating System
    2. Operating System Services
    3. Process Management
    4. Inter Process Communication and Process Synchronization
    5. Deadlock
    6. Memory Organization and Management
    7. Virtual Memory Organization
    8. File System Organization and Implementation
    9. Secondary Storage Structure
    10. Protection and Security
    11. Case Study About the Author
    Dr Priyanka currently works as an Assistant Professor in the Departmentof Computer Science & Engineering, National Institute of TechnologyHamirpur (H.P). In the past she has worked in University of Delhi. Shereceived her PhD degree in 2018, M.Tech. degree (Computer Engineering)in 2011, and B.Tech. degree (Honors) in Computer Science andEngineering in 2008. She has published many research papers and bookchapters in reputed national and international journals and conferences, including papers in IEEE Xplore, and SCI paper in wireless personalcommunication. She received two best paper and presentation awards ininternational conferences. Currently, she is serving as a Chairperson atIEEE Young Professional Delhi Section. LinkedIn profile: www.linkedin.com/in/priyanka-rathee-31066667

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Basic Principles of an Operating System by Dr. Priyanka Rathee,Priyanka Rathee in PDF and/or ePUB format, as well as other popular books in Computer Science & Operating Systems. We have over one million books available in our catalogue for you to explore.

CHAPTER 1

Introduction and Structure of Operating System

1.1 What is Operating System?

Operating System is software that controls the hardware. Different applications may interfere with each other, if not programmed carefully. Therefore, as a result, a layer of software called operating system was introduced that allows each application to execute without any interference. The kernel is the software which consists of core of the operating system. The operating system behaves like a manager that manages software and hardware to get the required result. The primary goal of an operating system is to manage resources and hardware like Memory, Processors, Input/Output devices, and Communication devices.

1.2 History of Evolution of Operating System

1940s and 1950s
In the 1940s, the digital computers did not have an operating system. The programmers used machine language and used to enter the machine language program 1 byte at a time by using punch cards. The programming process geared up by using assembly language. It used symbols in machine language.
The first operating system was implemented by General Motors Research Laboratories in the early 1950s for its IBM 701 computer. The 1950s system executed only one job at a time, which involves a set of program instructions related to a particular computational task such as payroll or inventory. These systems were called Single-Stream batch processing systems. The 1950s operating system reduced inter-job transition time by using job stream, in this reader automatically read the next job after finishing up of the current job. But the programmer had to control system resources like Memory and Input/Output devices directly. This was a quite difficult and slow process. Also, in early systems, the entire program needs to be loaded in memory for the program to run.
1960s
The computers of 1960s used the concept of batch processing but executed several jobs at a time. These systems introduced peripheral devices like card readers, card punches, printers, tape drives, and disk drives. Systems improved resource utilization, thus allowing one job using the processor (CPU bound jobs) and another for peripheral devices (Input/Output jobs).
The concept of multiprogramming was also introduced in the 1960s i.e., managing several jobs at a time. The primary goal of these systems is Resource Sharing. In the 1960s, the program submission for execution was done by using punch cards or computer tapes manually. The programmer had to sit for hours or even for days before it could be processed. Even a minor mistake like comma could create a blunder because after correction again the programmer had to sit for hours until the processing completes.
In 1964, IBM introduced its system/360 family of computers where “360” indicates all points on the compass to show universal applicability. Then over the years, IBM announced the family of system 370 series, 390 series, and then z series. Then, more advanced systems provided the service for multiple interactive users at once. In the 1960s, the users interacted with the operating system through “dumb terminals” (devices that provided user interface without processor power) that were online (directly connected to the computer through the active line).
Time-Sharing Systems and Real-Time Systems were also introduced in the 1960s. Real-time systems were bound to a specific time period. The operating system needed to distinguish between the type of users and the level of services provided to the particular user. Batch processing jobs could tolerate delay up to a certain limit. Interactive jobs needed some higher level of performance. Real-time systems could not tolerate the delays as they are time-critical systems.
1970s
Primarily, the systems of the 1970s were multimode multiprogramming systems supporting batch processing, time-sharing, and real-time applications. The development in microprocessor technology was in progress. TCP/IP communication standard was used to improve communication in the Department of Defense (DOD). The concept of Local Area Network (LAN) was introduced in the 1970s by Ethernet standard developed at Xerox’s Palo Alto Research Center (PARC). With the increase of information transmission, the security problems also came in the picture.
1980s
Microprocessor technology evolved in 1981, when IBM released a personal computer. In 1984, Apple Macintosh released personal computers. The GUI and Mouse were introduced by Xerox’s Palo Alto Research Center (PARC). The GUI was embedded in Machintosh’s operating system. Distributed computer became popular via client-server model. The client is a user computer that send the request to the server machine and server fulfills the request.
1990s
In 1990s, the development in hardware technology was on the boom. By the end of the decade, the storage capacity of hard disk increased up to gigabyte and the personal computer was able to execute hundred Million instructions per second (MIPS). The distributed computing also got popular during 1990s. The operating system support for networking became standard with the increased demand for the Internet connections. During the 1990s, Microsoft made its hold in the software industry. Microsoft released the first Disk operating system (DOS) in 1981 for IBM personal computer.
Microsoft developed windows operating system in the mid-1980s and it was graphical user interface built on top of DOS. In1990, Microsoft released another version of windows operating system with rich functionalities named as Windows 3.1, then Windows 95 followed by Windows 98. In 1993, Microsoft released Windows NT. During the 1990s, object-oriented technology became popular with the increased popularity of C++ and Java.
During 1990s, the development in computing introduced open source software. The usage of free and open source software became common. Examples are the Linux operating system and Apache web server. Linux was created by Linus Torvalds. In 1980s, Richard Stallman made improvements in UNIX operating system to make the code available for free of cost. Then, Stallman created GNU (GNU’s Not Unix) project for the same purpose of not selling the code. To protect open source software and promote the advantages of open source programming, open source initiative was founded in the late 1990s. In the 1990s, the operating system became user-friendly by introducing the concept of Graphical user interface (GUI) and “plug and play” capability that allows the user to add and remove the hardware components without manually reconfiguring the operating system.
2000 and Beyond
In 2000, middleware was introduced. It is software to link two separate applications. Middleware behaves like a courier to pass messages between database and web server. It simplifies communication between different architectures. Parallel computing got the fame in the current decade. Linux became more popular and introduced Portable Operating System Interface (POSIX) to improve the compatibility with other UNIX based operating systems. Apple introduced MacBook air (personal computer) in 2008. In October 2011, Acer, HP, Lenovo, LG, Asus, Toshiba, and Samsung release their ultra-books.

1.3 Operating System Environments

There are various operating system environments related to general purpose computers. Embedded systems provide a different operating system design challenge. In embedded environments, resource management is the major consideration to build a successful operating system. Because of limited storage capacity, an operating system must provide services by using a minimum amount of code.
Real-time systems are time-critical systems. The task needs to be finished within a given time frame. An example is an autopilot feature of aircraft. There may be soft real-time systems and hard real-time systems. In soft real-time systems task is finish within a given time limit, delay up to some limit is affordable. However, in hard real-time systems the task must be finished on time, no delay is affordable in this.
Business critical systems are databases and servers. The business does not necessarily fail if a business-critical system does not meet its objectives.

1.4 Operating System Components and Goals

Initially, there was no operating system in computer systems. Then as machines progressed to multiprogramming, time-sharing systems, personal computers, up to distributed computer systems. With the increased demand for features, the operating system evolved to fill new roles.

1.4.1 Core Operating System Components

The kernel is software that contains core operating system components. The core components of operating systems are:
  1. Process scheduler:...

Table of contents

  1. Cover Page
  2. Title Page
  3. Copyright Page
  4. Dedication
  5. Preface
  6. Acknowledgement
  7. About the Author
  8. Table of Contents
  9. 1. Introduction and Structure of Operating System
  10. 2. Operating System Services
  11. 3. Process Management
  12. 4. Inter Process Communication and Process Synchronization
  13. 5. Deadlock
  14. 6. Memory Organization and Management
  15. 7. Virtual Memory Organization
  16. 8. File System Organization and Implementation
  17. 9. Secondary Storage Structure
  18. 10. Protection and Security
  19. 11. Case Study