Basic Concepts of Operating Systems

Slides:



Advertisements
Similar presentations
OPERATING SYSTEM INTRODUCTION
Advertisements

Operating System.
Higher Computing Computer Systems S. McCrossan Higher Grade Computing Studies 7. Systems Software 1 System Software This software is used to provide the.
2 © 2004, Cisco Systems, Inc. All rights reserved. IT Essentials I v. 3 Module 4 Operating System Fundamentals.
System Software System software deals with the physical complexities of how the hardware works. System software generally consists of four kinds of programs:
UNIX Unbounded 5 th Edition Amir Afzal Chapter 1 First Things First.
Topics Introduction Hardware and Software How Computers Store Data
Operating System. Architecture of Computer System Hardware Operating System (OS) Programming Language (e.g. PASCAL) Application Programs (e.g. WORD, EXCEL)
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
Operating Systems.
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Operating System Principles And Multitasking
Operating Systems Objective n The historic background n What the OS means? n Characteristics and types of OS n General Concept of Computer System.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
An operating system (OS) is a collection of system programs that together control the operation of a computer system.
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Principles of Operating Systems Abhishek Dubey Daniel Balasubramanian Fall 2014 Slides Based On Power points and book material from William Stallings.
System SOFTWARE.
Introduction To MS-DOS
Lecture-7 Introduction to DOS. Introduction to UNIX/LINUX OS.
Introduction to Operating Systems Concepts
Chapter 1: Introduction to Computers and Programming
Introduction to Computing Systems
OPERATING SYSTEM CONCEPT AND PRACTISE
Applied Operating System Concepts
 2001 Prentice Hall, Inc. All rights reserved.
Operating System Overview
Chapter Objectives In this chapter, you will learn:
Processes and threads.
2. OPERATING SYSTEM 2.1 Operating System Function
Chapter 1: An Overview of Computers and Programming Languages
Credits: 3 CIE: 50 Marks SEE:100 Marks Lab: Embedded and IOT Lab
Topics Introduction Hardware and Software How Computers Store Data
Operating System.
Introduction to Visual Basic 2008 Programming
Evolution of Operating Systems
Chapter 1: Introduction
The Operating System Nick Sims.
Chapter 2: System Structures
Computer Organization & Assembly Language Chapter 3
Operating System Structure
Introduction to Operating System (OS)
Chapter 1: Introduction
Chapter 1: Introduction
Quick Introduction to OS
Chapter 1: Introduction
CSCI/CMPE 3334 Systems Programming
Chapter 1: Introduction to Computers and Programming
An Overview of the Computer System
Chapter 2: System Structures
Chapter 3: Operating-System Structures
Topics Introduction Hardware and Software How Computers Store Data
Operating System Concepts
Unit 1: Introduction to Operating System
Introduction to Operating Systems
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Introduction to Operating Systems
The Operating system Gives life to the hardware
Chapter 2: Operating-System Structures
Outline Chapter 2 (cont) OS Design OS structure
The Main Features of Operating Systems
Chapter 2 Operating System Overview
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Chapter 2: Operating-System Structures
Operating System Overview
Operating System Concepts
An Introduction to Operating Systems
Presentation transcript:

Basic Concepts of Operating Systems CHAPTER 5 © Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved. Overview Explain the basic role of an operating system in modern-day computers Explain the general functions and components of an operating system Discuss the interfacing between the operating system and application program or the user Trace the history of the development of operating systems Explain the different types of operating systems Get an overview on some operating systems such as unix and msdos © Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved. Key Words Resource: In the context of a computer system, it means memory or any input / output device. Process: It is a program in execution. File: It is a data storage unit that holds information. System programs: These could be operating system, compilers, editors, loaders, utilities, etc. Application programs: These are database systems, business programs, etc. Process management : These are jobs related to the unhindered execution of programs. Memory management : An activity or a set of activities associated with allocating and de-allocating memory space. I/O device: This refers to a proper activation and de-activation of input / output device management with appropriate hardware and software. © Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved. Key Words File management: A set of jobs associated with creating, retrieving, deleting, amending data storage units on storage devices and keeping track of the same. Protection : It is the mechanism for controlling the access of programs, in Operating System processes, or users to the resources in the computer. Command interpreter: It a system program, which is an essential component of the operating system, that accepts, deciphers and executes the job related to the command statement. Kernel : It is the core library of functions that provides the most basic interface between the computer machine and the rest of the operating system. System calls: It provides the interface between a running program and the operating system. © Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved. Key Words Operating system commands : These are commands through which the user interacts with the operating system directly. Batch processing :These are jobs that are executed with minimum user interaction and as and when the computer system is available following a schedule. Multiprogramming: Multi programming refers to the situation in which a single CPU divides its time between more than one job. Multitasking :Multi tasking refers to execution of more than one application program at any given time. Time-sharing :In the context of a computer, time-sharing means sharing of the computer resources among many users by allocating them for a specified time. © Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved. Key Words Multiprocessing :Any simultaneous execution of multiple processes on different processors. Real-time: In the context of an operating system, it is an operating system that provides quick and time critical response. Networked computing :A collection of physically interconnected computers. Distributed computing :This refers to processing of computing jobs by automatically sharing the job- processing load among the constituent computers connected to the same network. © Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved. Introduction Without software, a computer is basically a useless equipment. With software, a computer can store, process, and retrieve information and engage in many other valuable activities. Computer software can be divided roughly into two parts: system programs, which manage the operation of the computer itself, and application programs, which perform the actual work the user wants. The most important system program is the operating system (OS) that controls all the computer resources and provides the base upon which the application program can be written. © Oxford University Press 2013. All rights reserved.

Introduction : Operating System An operating system is a collection of programs that acts as an interface between the user of a computer and the computer hardware. Without software, a modern-day computer is unusable. Software comprising operating system, programming language compilers, etc. are essential to provide an ‘user-friendly’ interface to the user. A n operating system is an important part of almost every computer system that comprises three main components: The hardware (memory, CPU, arithmetic-logic unit, various storage devices, I/O, peripheral devices, etc.) Systems programs (operating system, compilers, editors, loaders, utilities, etc.) Application programs (database systems, business programs, etc.) © Oxford University Press 2013. All rights reserved.

Functions of an Operating System An operating system has the following functions: Process management Memory management Secondary memory management Device (I/O) management File management Protection © Oxford University Press 2013. All rights reserved.

Components of an Operating System In general there are two main components of an operating system: command interpreter & Kernel Command interpreter Command interpreter is one of the most important components of an operating system. It is the primary interface between the user and the rest of the system. Kernel is a core part of the operating system and is loaded on the main memory when it starts up. It is the core library of functions; the operating system ‘knows’. In the kernel, there are the functions and streams to communicate with the system’s hardware resources. © Oxford University Press 2013. All rights reserved.

Interaction with Operating System Broadly speaking, there are two ways to interact with an operating system: By means of operating system calls in a program Directly by means of operating system commands System calls System calls provide the interface between a running program and the operating system. These calls are generally available as assembly language instructions, and are usually listed in the manuals used by assembly language programmers. Some systems may allow system calls to be made directly from a high-level language program, in which case the calls normally resemble predefined function or subroutine calls. System calls can be roughly grouped into five major categories : process control, file manipulation, device manipulation, information maintenance, and communications. © Oxford University Press 2013. All rights reserved.

Interaction with Operating System Operating system commands Apart from system calls, users may interact with the operating system directly by means of commands. For example, if the user wants to list files or sub- directories in MSDOS, the DIR command is invoked. In either case, the operating system acts as an interface between users and the hardware of a computer system. The fundamental goal of a computer system is to solve user problems. The computer hardware is designed towards this goal. The command function of controlling and allocating resources are then brought together into one piece of software, the operating system. © Oxford University Press 2013. All rights reserved.

History of Operating Systems By tracing that evolution, the common elements of operating systems can be identified as well as how and why they developed as they are now. Operating systems and computer architecture have a great deal of influence on each other. Operating systems were developed to facilitate the use of the hardware. First Generation (1945–55) Second Generation (1956–63)—Transistors and Batch System Third Generation (1964–80)—Integrated Chips and Multiprogramming Fourth Generation (1980–present)— Personal Computers © Oxford University Press 2013. All rights reserved.

Types of Operating Systems Modern computer operating systems may be classified into three groups according to the nature of interaction that takes place between the computer user and user’s program during its processing. The three groups are called batch process, time-shared, and real-time operating systems. Batch Process Operating System In a batch process operating system, environment users submit jobs to a central place where these jobs are collected in batch, and subsequently placed in an input queue in the computer where they are run. Two major disadvantages and they are as follows: Non-interactive environment Offline debugging © Oxford University Press 2013. All rights reserved.

Types of Operating Systems Multiprogramming Operating System A multiprogramming operating system allows more than one active user program (or part of user program) to be stored in the main memory simultaneously. Compared to batch operating systems, multiprogramming operating systems are fairly sophisticated. Multitasking operating systems Multi-user operating system Multiprocessing system Time-sharing Operating Systems Another mode for delivering computing services is provided by time-sharing operating systems. In this environment a computer provides computing services to several or many users concurrently online. © Oxford University Press 2013. All rights reserved.

Types of Operating Systems Real-time Operating Systems The fourth class of operating systems, real-time operating systems, are designed to service those applications where response time is of essence in order to prevent error, misrepresentation, or even disaster. Memory management I/O management File management Network Operating System A networked computing system is a collection of physically interconnected computers. The operating system of each of the interconnected computers must contain, in addition to its own stand-alone functionality, provisions for handling communication and transfer of program and data among the other computers with which it is connected. © Oxford University Press 2013. All rights reserved.

Types of Operating Systems Distributed Operating System A distributed computing system consists of a number of computers that are connected and managed so that they automatically share the job-processing load among the constituent computers, or separate the job load, as appropriate, to particularly configured processors. Advantages of distributed operating systems : Major breakthrough in microprocessor technology Incremental growth Reliability File system Protection Program execution © Oxford University Press 2013. All rights reserved.

Overview of UNIX Operating System UNIX is an operating system. It was created in the late 1960s,in an effort to provide a multi- user, multitasking system for use by programmers. The philosophy behind the design of UNIX was to provide simple, yet powerful utilities that could be pieced together in a flexible manner to perform a wide variety of tasks. © Oxford University Press 2013. All rights reserved.

Reasons for Success of UNIX During the past 30 years, UNIX has evolved into a powerful, flexible, and versatile operating system. It is used on (a) single user personal computers, (b) engineering workstations, (c) multi-user microcomputers, (d) minicomputers, (e) mainframes, and (f) Supercomputers © Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved. Features of Unix The reasons for this are the characteristics of UNIX, enumerated as follows: Portability: Because the UNIX operating system is written mostly in C, it is highly portable. It runs on a range of computers from microprocessors to the largest mainframe , provided the system has two components: a C compiler, and a modest amount of machine-dependent coding (machine dependent I/O hardware service routines). Open system : It easily adapts to particular requirements. This openness has led to the introduction of a wide range of new features and versions customized to meet special needs. The code for UNIX is straightforward, modular, and compact. This has fostered the evolution of the UNIX system. Rich and productive programming environment : UNIX provides users with powerful tools and utilities. Some of these tools are simple commands that can be used to carry out specific tasks. Other tools and utilities are really small programmable languages that may be used to build scripts to solve problems. More importantly, the tools are intended to work together, like machine parts or building blocks. © Oxford University Press 2013. All rights reserved.

Features of Unix Communication: Multi-user capability: Multitasking: The UNIX system provides an excellent environment for networking. It offers programs and utilities that provide the services needed to build networked applications, the basis for distributed network computing. Multi-user capability: More than one user can access the same data at the same time. A computer system that can support multiple users is generally less expensive than the equivalent number of single-user machines. Multitasking: A given user can perform more than one task at the same time. One could update the client’s database while printing the monthly sales report. The limit is about 20 simultaneous tasks per user and depending on the computer system, a system-wide limit of 50 or more tasks can be performed, which slows the response. © Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved. Components of UNIX UNIX carries out various functions through three separate, but closely integrated parts: kernel, command interpreter, and file system. Kernel : Known as the base operating system, kernel manages and allocates resources, interacts with I/O devices, and controls access to the processor. It controls the computer’s resources. In short, it provides the following functions: Process scheduling (process representation—structure, scheduling, and dispatching) Memory management Device management File management System call interface Process synchronization and inter-process communication Operator console interface © Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved. Command Interpreter This is a utility program and is called the shell. It interacts with the user and translates the user’s request into actions on the part of the kernel and the other utility . Each user opens one shell on logging on. Different types of shells are available such as Bourne shell, C shell, and Korn shell. Protection of file data The treatment of peripheral devices as files © Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved. The UNIX File System The file system is one of the major subsystems of the operating system. It is responsible for storing information on disk drives and retrieving and updating this information as directed by the user or by a program. The UNIX operating system regards practically every assemblage of information as a file. The formal definition of a file is a string of characters. Often, it is desirable to organize UNIX files as a set of lines. Every line is terminated by a new line character. © Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved. The UNIX File System The UNIX file system is characterized by the following: A hierarchical structure Consistent treatment of file data The ability to create and delete files Dynamic growth of files Types of files: The UNIX system has the following types of files: Ordinary files Directory files Special files © Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved. Example Problem :- Using a UNIX command, return to home directory. Solution: Cd.. Issuing the cd command without any arguments moves the choice to the home directory. This is very useful if the user is lost in the file system. The directories . and .. In UNIX, (.) means the current directory, so typing cd . means staying in the current directory. While (..) means the parent of the current directory, so typing cd .. will take the user one directory up the hierarchy, that is, back to the user’s home directory. Note that there is a space between cd and the dot. Entering cd/ moves the user to the root directory. / is the root directory. © Oxford University Press 2013. All rights reserved.

Role of Disk Drive for Loading DOS A disk drive is a device that either stores data or reads data from the disk, which may be a floppy or a hard disk. A PC has floppy drives, hard disk drives, and CD-ROM drives. The first floppy drive is conventionally called drive A whereas the second floppy drive is designated as drive B and the first hard disk drive is designated as drive C. Booting is synonymous with starting a computer. When the computer is switched on, the BIOS program, fused in the ROM, checks the memory and peripherals. The following prompt appears and awaits orders from the user: A:>_ or C:>_ © Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved. Starting DOS When the computer starts working, it does not have an ordinary program loaded into it. The computer does, however, have two special built-in programs it can rely on, and it does know how to do the following: How to do self-testing to see that things are in working order How to start up dos? This start-up program is usually called a bootstrap loader, since it pulls dos up by the bootstraps. This bootstrap operation works in two stages. First, the tiny program built into the computer goes to work. It just knows how to read the beginning of a diskette or the hard disk, in case the diskette is not used, and runs whatever it finds there as any other operating system. © Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved. Starting DOS Second, the start-up program checks the memory. Then, it loads the dos system files into the memory. There are three main system files in dos. These are as follows: IO.SYS DOS.SYS COMMAND.COM The primary memory of the personal computer is subdivided into three parts. Conventional memory Extended memory Expanded memory Extended memory requires HIMEM.SYS to manage it. © Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved. The Command Prompt When the personal computer is turned on, some cryptic information flashes by. MSDOS displays this information to let the user know how it is configuring the computer. This can be ignored now. When the display stops scrolling past the information, the following is seen on the screen: C:\> This is called the command prompt or dos prompt. If the command prompt does not look like that shown above, type the following at the command prompt, and then press <Enter>: cd \ © Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved. Navigating Disks A disk’s storage comprises several parts of which two are covered here: directories & files. Directories are dos’ way of organizing the many files that can be placed on disk. Every disk has at least one directory. This is referred to as the ‘root’ directory. From the root directory of every disk the user is able to directly or indirectly access every file on the disk. The root directory can hold directories or files. Subsequent directories can also hold directories or files, and so on. © Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved. Naming a File While newer versions of dos support longer filenames, the standard dos filename format remains as follows: one to eight letters for a name, one dot for a period, and three letters for the extension. For example, PROGRAM.EXE DATA.DAT LETTER.DOC The extension to a file’s name allows files of similar type to be grouped together. That is, all word processor files might have the extension .DOC, while all picture files might have the extension .PIC © Oxford University Press 2013. All rights reserved.

© Oxford University Press 2013. All rights reserved. Pipelines When the user needs the output of one dos command as the input of another command, dos provides a handy way to make this simple. Suppose there are two commands, ONE and TWO. ONE creates data that is needed by the command TWO. The user can apply the redirection operator to do this. ONE > WORK TWO < WORK The first command writes its data into the WORK file and the second program reads back from it. This is the basic function that dos accomplishes with pipelines. A pipeline is just an automatic way of doing what the user did with WORK, ONE, and TWO. To create a pipeline command, just write the program names on the same command line, separated by a vertical bar (|) that is the symbol for a pipeline. © Oxford University Press 2013. All rights reserved.