Date post: | 30-May-2018 |
Category: |
Documents |
Upload: | basit-qamar |
View: | 219 times |
Download: | 0 times |
of 44
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