Operting System Book (3)

download Operting System Book (3)

of 44

Transcript of Operting System Book (3)

  • 8/14/2019 Operting System Book (3)

    1/44

    Threads, SMP, and Microkernels

    Chapter 4

  • 8/14/2019 Operting System Book (3)

    2/44

    Process

    Resource ownership - process isallocated a virtual address space to holdthe process image

    Scheduling/execution- follows anexecution path that may be interleavedwith other processes

    These two characteristics are treatedindependently by the operating system

  • 8/14/2019 Operting System Book (3)

    3/44

    Process

    Dispatching is referred to as a thread Resource of ownership is referred to as a

    process or task

  • 8/14/2019 Operting System Book (3)

    4/44

    Multithreading

    Operating system supports multiplethreads of execution within a single

    process MS-DOS supports a single thread UNIX supports multiple user processes

    but only supports one thread per process Windows 2000, Solaris, Linux, Mach,

    and OS/2 support multiple threads

  • 8/14/2019 Operting System Book (3)

    5/44

  • 8/14/2019 Operting System Book (3)

    6/44

    Process

    Have a virtual address space whichholds the process image

    Protected access to processors, other processes, files, and I/O resources

  • 8/14/2019 Operting System Book (3)

    7/44

    Thread

    An execution state (running, ready, etc.) Saved thread context when not running

    Has an execution stack Some per-thread static storage for localvariables

    Access to the memory and resources of its process all threads of a process share this

  • 8/14/2019 Operting System Book (3)

    8/44

  • 8/14/2019 Operting System Book (3)

    9/44

    Benefits of Threads

    Takes less time to create a new thread than a process

    Less time to terminate a thread than a process

    Less time to switch between two threadswithin the same process

    Since threads within the same process sharememory and files, they can communicate witheach other without invoking the kernel

  • 8/14/2019 Operting System Book (3)

    10/44

  • 8/14/2019 Operting System Book (3)

    11/44

    Threads

    Suspending a process involvessuspending all threads of the processsince all threads share the same addressspace

    Termination of a process, terminates allthreads within the process

  • 8/14/2019 Operting System Book (3)

    12/44

    Thread States

    States associated with a change in threadstate Spawn

    Spawn another thread

    Block Unblock

    Finish Deallocate register context and stacks

  • 8/14/2019 Operting System Book (3)

    13/44

    Remote Procedure Call UsingThreads

  • 8/14/2019 Operting System Book (3)

    14/44

    Remote Procedure Call UsingThreads

  • 8/14/2019 Operting System Book (3)

    15/44

    User-Level Threads

    All thread management is done by theapplication

    The kernel is not aware of the existenceof threads

  • 8/14/2019 Operting System Book (3)

    16/44

    Kernel-Level Threads

    W2K, Linux, and OS/2 are examples of this approach

    Kernel maintains context information for the process and the threads

    Scheduling is done on a thread basis

  • 8/14/2019 Operting System Book (3)

    17/44

    Combined Approaches

    Example is Solaris Thread creation done in the user space

    Bulk of scheduling and synchronizationof threads done in the user space

  • 8/14/2019 Operting System Book (3)

    18/44

  • 8/14/2019 Operting System Book (3)

    19/44

    Relationship Between Threadsand Processes

    Threads:Process Description Example Systems

    1:1 Each thread of execution is aunique process with its own

    address space and resources.

    Traditional UNIX implementations

    M:1 A process defines an addressspace and dynamic resourceownership. Multiple threadsmay be created and executedwithin that process.

    Windows NT, Solaris, OS/2,OS/390, MACH

  • 8/14/2019 Operting System Book (3)

    20/44

    Relationship Between Threadsand Processes

    Threads:Process Description Example Systems

    1:M A thread may migrate from oneprocess environment to

    another. This allows a threadto be easily moved amongdistinct systems.

    Ra (Clouds), Emerald

    M:M Combines attributes of M:1and 1:M cases

    TRIX

  • 8/14/2019 Operting System Book (3)

    21/44

    Categories of Computer Systems

    Single Instruction Single Data (SISD) single processor executes a single

    instruction stream to operate on data stored

    in a single memory Single Instruction Multiple Data (SIMD)

    each instruction is executed on a different

    set of data by the different processors

  • 8/14/2019 Operting System Book (3)

    22/44

    Categories of Computer Systems

    Multiple Instruction Single Data (MISD) a sequence of data is transmitted to a set of

    processors, each of which executes a

    different instruction sequence. Never implemented Multiple Instruction Multiple Data

    (MIMD) a set of processors simultaneously execute

    different instruction sequences on differentdata sets

  • 8/14/2019 Operting System Book (3)

    23/44

  • 8/14/2019 Operting System Book (3)

    24/44

    Symmetric Multiprocessing

    Kernel can execute on any processor Typically each processor does self-

    scheduling form the pool of available process or threads

  • 8/14/2019 Operting System Book (3)

    25/44

  • 8/14/2019 Operting System Book (3)

    26/44

    Multiprocessor OperatingSystem Design Considerations Simultaneous concurrent processes or

    threads Scheduling Synchronization Memory Management

    Reliability and Fault Tolerance

  • 8/14/2019 Operting System Book (3)

    27/44

  • 8/14/2019 Operting System Book (3)

    28/44

    Benefits of a MicrokernelOrganization

    Uniform interface on request made by a process All services are provided by means of

    message passing Extensibility Allows the addition of new services

    Flexibility New features added Existing features can be subtracted

  • 8/14/2019 Operting System Book (3)

    29/44

    Benefits of a MicrokernelOrganization

    Portability Changes needed to port the system to a new

    processor is changed in the microkernel -

    not in the other services Reliability

    Modular design

    Small microkernel can be rigorously tested

  • 8/14/2019 Operting System Book (3)

    30/44

    Benefits of MicrokernelOrganization

    Distributed system support Message are sent without knowing what the

    target machine is

    Object-oriented operating system Components are objects with clearly

    defined interfaces that can be

    interconnected to form software

  • 8/14/2019 Operting System Book (3)

    31/44

    Microkernel Design

    Low-level memory management mapping each virtual page to a physical

    page frame

    Inter-process communication I/O and interrupt management

  • 8/14/2019 Operting System Book (3)

    32/44

  • 8/14/2019 Operting System Book (3)

    33/44

    Windows 2000Process Object

  • 8/14/2019 Operting System Book (3)

    34/44

    Windows 2000Thread Object

  • 8/14/2019 Operting System Book (3)

    35/44

    Windows 2000Thread States

    Ready Standby Running Waiting Transition

    Terminated

  • 8/14/2019 Operting System Book (3)

    36/44

  • 8/14/2019 Operting System Book (3)

    37/44

    Solaris

    Process includes the users addressspace, stack, and process control block

    User-level threads Lightweight processes Kernel threads

  • 8/14/2019 Operting System Book (3)

    38/44

  • 8/14/2019 Operting System Book (3)

    39/44

  • 8/14/2019 Operting System Book (3)

    40/44

    Solaris Thread Execution

    Synchronization Suspension Preemption Yielding

  • 8/14/2019 Operting System Book (3)

    41/44

  • 8/14/2019 Operting System Book (3)

    42/44

    Linux Process

    State Scheduling information Identifiers

    Interprocess communication Links Times and timers File system Virtual memory Processor-specific context

  • 8/14/2019 Operting System Book (3)

    43/44

    Linux States of a Process

    Running Interruptable Uninterruptable Stopped Zombie

  • 8/14/2019 Operting System Book (3)

    44/44