IV 1 intro to OS

Embed Size (px)

Citation preview

  • 7/23/2019 IV 1 intro to OS

    1/26

    Silberschatz, Galvin and Gagne20021.1

    Introduction to Operating Systems

    Evolution of OS; various OS.

    OS Concept; OS Structure.

    Processes:

    Process Creation, Termination, Process States.

    Threads, Implementing Threads in User Space.

    Inter Process Communication:Race Condition, Critical Region, Mutual Exclusion

    IPC Problems:

    Dining Philosopher, Readers & Writers, SleepingBarber Problem.

    Resources:

    Introduction to Deadlock, Ostrich algorithm.

    Deadlock Detection and Recovery & otheraspects.

    Operating System Concepts

  • 7/23/2019 IV 1 intro to OS

    2/26

    Silberschatz, Galvin and Gagne20021.2Operating System Concepts

    Chapter 1: Introduction

    What is an Operating System?

    Different Types of Operating System

    Mainframe Systems

    Desktop Systems

    Multiprocessor SystemsDistributed Systems

    Clustered System

    Real -Time Systems

    Handheld Systems

    Computing Environments

  • 7/23/2019 IV 1 intro to OS

    3/26

    Silberschatz, Galvin and Gagne20021.3Operating System Concepts

    What is an Operating System?

    A program that acts as an intermediary betweenauserof a computer andthe computer hardware.

    Operating systemgoals:

    Execute user programs and make solving user

    problems easier.Make the computer system convenient to use.

    Use the computer hardware in an efficient manner.

  • 7/23/2019 IV 1 intro to OS

    4/26

    Silberschatz, Galvin and Gagne20021.4Operating System Concepts

    Computer System Components

    1.Hardware provides basic computing resources (CPU,memory, I/O devices).

    2.Operating system controls and coordinates the useof the hardware among the various applicationprograms for the various users.

    3.Applications programs define the ways in which thesystem resources are used to solve the computingproblems of the users (compilers, database systems,video games, business programs).

    4.Users(people, machines, other computers).

  • 7/23/2019 IV 1 intro to OS

    5/26

    Silberschatz, Galvin and Gagne20021.5Operating System Concepts

    Abstract View of System Components

    Boot Loader

    Program

  • 7/23/2019 IV 1 intro to OS

    6/26

    Silberschatz, Galvin and Gagne20021.6Operating System Concepts

    Operating System Definitions

    Resource allocator Manages and allocatesresources.

    Control program Controls the execution ofuser programs and operations of I/O devices .

    Kernel The one program running at all times(all else being application programs).

  • 7/23/2019 IV 1 intro to OS

    7/26Silberschatz, Galvin and Gagne20021.7Operating System Concepts

    Mainframe Systems

    Reducesetuptime bybatchingsimilar jobsAutomaticjob sequencing automaticallytransfers control from one job to another.First rudimentary operating system.

    Resident monitor initial control in monitor

    control transfers to job

    when job completes control transfers back to

    monitor

  • 7/23/2019 IV 1 intro to OS

    8/26Silberschatz, Galvin and Gagne20021.8Operating System Concepts

    Memory Layout for a Simple Batch System

  • 7/23/2019 IV 1 intro to OS

    9/26Silberschatz, Galvin and Gagne20021.9Operating System Concepts

    Multiprogrammed Batch Systems

    Several jobsare kept in main memory at the sametime, and the CPU is multiplexed among them.

  • 7/23/2019 IV 1 intro to OS

    10/26Silberschatz, Galvin and Gagne20021.10Operating System Concepts

    OS Features Needed for Multiprogramming

    I/O routinesupplied by the system. Memory management the system mustallocate the memory to several jobs.

    CPU scheduling the system must choose

    among several jobs ready to run. Allocation of devices

  • 7/23/2019 IV 1 intro to OS

    11/26Silberschatz, Galvin and Gagne20021.11Operating System Concepts

    Advantage of Multiprogramming

    In Multiprogramming job switched toanother job and so on

    CPU will never sit idle

    OS has to make decision for the users

  • 7/23/2019 IV 1 intro to OS

    12/26Silberschatz, Galvin and Gagne20021.12Operating System Concepts

    Time-Sharing SystemsInteractive Computing

    TheCPU is multiplexed among several jobsthatare kept in memory and on disk (the CPU is allocatedto a job only if the job is in memory).

    A job swappedin and out of memory to the disk.

    On-line communication between the user and thesystem is provided;when the operating systemfinishes the execution of one command, it seeks thenext control statement from the users keyboard.

    On-line system must be available for users to accessdata and code.

  • 7/23/2019 IV 1 intro to OS

    13/26Silberschatz, Galvin and Gagne20021.13Operating System Concepts

    Desktop Systems

    Personal computers computer system

    dedicated to a single user. I/O devices keyboards, mice, display screens,small printers.

    User convenience and responsiveness.

    Can adopt technology developed for largeroperating system often individuals have sole useof computer and do not need advanced CPUutilization of protection features.

    May run several different types of operatingsystems (Windows, Mac OS, UNIX, Linux)

  • 7/23/2019 IV 1 intro to OS

    14/26Silberschatz, Galvin and Gagne20021.14Operating System Concepts

    Parallel Systems

    Multiprocessor systemswith more than one

    CPU in close communication. Tightly coupled system processors sharememory and a clock; communication usuallytakes place through the shared memory.

    Advantages of parallel system: Increasedthroughput

    Economical

    Increased reliability

    graceful degradationfail-soft systems

  • 7/23/2019 IV 1 intro to OS

    15/26

    Silberschatz, Galvin and Gagne20021.15Operating System Concepts

    Parallel Systems (Cont.)

    Symmetric multiprocessing (SMP)

    Each processor runs an identical copy of theoperating system.

    Many processes can run at once withoutperformance deterioration.

    Most modern operating systems support SMP

    Asymmetric multiprocessingEach processor is assigned a specific task; masterprocessor schedules and allocate work to slaveprocessors.

    More common in extremely large systems

  • 7/23/2019 IV 1 intro to OS

    16/26

    Silberschatz, Galvin and Gagne20021.16Operating System Concepts

    Symmetric Multiprocessing Architecture

  • 7/23/2019 IV 1 intro to OS

    17/26

    Silberschatz, Galvin and Gagne20021.17Operating System Concepts

    Real-Time Systems

    Often used as a control device in a dedicatedapplication such as -- controlling scientificexperiments, medical imaging systems,industrial control systems, and some displaysystems.

    Well-defined fixed-time constraints.

    Real-Time systems may be eitherhardorsoftreal-time.

  • 7/23/2019 IV 1 intro to OS

    18/26

    Silberschatz, Galvin and Gagne20021.18Operating System Concepts

    Real-Time Systems (Cont.)

    Hard real-time:

    It guarantee that critical tasks be completed on time Secondarystorage limited or absent, data stored in short term memory,

    or read-only memory (ROM)

    Conflicts with time-sharing systems, not supported by general-purpose

    operating systems.

    Soft real-time

    Critical real time task gets priority and

    retains that priority until tasks completed Limited utility in industrial control of robotics

    Useful in applications (multimedia, virtual reality) requiring advanced

    operating-system features.

  • 7/23/2019 IV 1 intro to OS

    19/26

    Silberschatz, Galvin and Gagne20021.19Operating System Concepts

    Distributed Systems

    Distributethe computation among several physicalprocessors.

    Loosely coupled system each processor has itsown local memory; processors communicate with

    one another through various communications lines,such as high-speed buses or telephone lines.

    Advantages of distributed systems.

    Resources Sharing

    Computation speed up load sharing Reliability

    Communications

  • 7/23/2019 IV 1 intro to OS

    20/26

    Silberschatz, Galvin and Gagne20021.20Operating System Concepts

    Distributed Systems (cont)

    Requires networking infrastructure. Local area networks (LAN) or Wide areanetworks (WAN)

    May be either client-server or peer-to-peer

    systems.

  • 7/23/2019 IV 1 intro to OS

    21/26

    Silberschatz, Galvin and Gagne20021.21Operating System Concepts

    General Structure of Client-Server

  • 7/23/2019 IV 1 intro to OS

    22/26

    Silberschatz, Galvin and Gagne20021.22Operating System Concepts

    Clustered Systems

    Clustering allowstwo or more systemstoshare storage.

    Provideshigh reliability.

    Asymmetric clustering:one server runs theapplication while other servers standby.

    Symmetric clustering:all N hosts are runningthe application.

  • 7/23/2019 IV 1 intro to OS

    23/26

    Silberschatz, Galvin and Gagne20021.23Operating System Concepts

    Handheld Systems

    Personal Digital Assistants (PDAs)

    Cellular telephones

    Issues:

    Limited memory Slow processors

    Small display screens.

  • 7/23/2019 IV 1 intro to OS

    24/26

    Silberschatz, Galvin and Gagne20021.24Operating System Concepts

    OS Evolution

    MULTICS was developed from1965 to 1970 at MIT as

    computingutility.

    Many of idea are used by Bell Lab to develop UNIX.

    UNIX OS developed by circa in 1970 for Microcomputer.

    After that UNIX is basic OS to developed OS such as

    Microsoft windows, IBM,OS/2

  • 7/23/2019 IV 1 intro to OS

    25/26

    Silberschatz, Galvin and Gagne20021.25Operating System Concepts

    Migration of Operating-System Concepts and Features

  • 7/23/2019 IV 1 intro to OS

    26/26

    Silb ht Gli dG 2002126O ti S t C t

    Computing Environments

    Traditional computing

    Web-Based Computing

    Embedded Computing