Operting System Book (3)
-
Upload
basit-qamar -
Category
Documents
-
view
219 -
download
0
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