Windows 2000 and Solaris: Threads and SMP Management - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Windows 2000 and Solaris: Threads and SMP Management

Description:

Process is an abstraction that contains the environment for a user program ... Inside Microsoft Windows 2000: Third Edition. David A. Solomon and Mark E.Russinovich ... – PowerPoint PPT presentation

Number of Views:154
Avg rating:3.0/5.0
Slides: 22
Provided by: lab76
Learn more at: http://www.cs.iit.edu
Category:

less

Transcript and Presenter's Notes

Title: Windows 2000 and Solaris: Threads and SMP Management


1
Windows 2000 and Solaris Threads and SMP
Management Submitted by Rahul Bhuman
2

Solaris Processes
  • Process is an abstraction that contains the
    environment for a user program
  • Each process has a context and various items of
    state information that define the execution
    environment of the process
  • A processs context is further divided into a
    hardware and software context.
  • Process contain one or more threads
  • Kernel maintains a system wide process table,
    where by each process is uniquely identified by a
    positive integer called the process
    identification number.

3
Hardware context (registers, stack)
Scheduling class and priority
Kernel process table
CPU(s)
Process lineage (parents, children)
Signals, handlers, disposition
Memory
Process
Address space
I/O
Process state
Open files
Session information (control terminal, job
control state)
Process ID (PID) Process group ID Parent process
ID
Credentials (UID, GID)
The basic process environment, minus the thread
abstractions below.
4
Windows 2000 Process
  • At the highest level of abstraction, windows 2000
    process comprises the following
  • A private virtual address space
  • An executable program
  • A list of open handles to various system
    resources that are accessible to all threads in
    the process.
  • A security context called an access token.
  • A unique identifier called a process ID
  • At least one thread of execution.

5
Structure of Executive Block
6
Kennel Process Block
7
Process Environment Block
8
Solaris Threads
  • User-Level Threads (ULTs)
  • Implemented through a threads library in the
    address space of a process
  • Invisible to the OS
  • Lightweight processes (LWPs)
  • A mapping between ULTs and kernel threads
  • Each LWP supports one or more ULTs and maps to
    one kernel thread
  • Scheduled by the kernel independently
  • May execute in parallel on multiprocessors
  • Kernel threads
  • Fundamental entities that can be scheduled and
    dispatched to run on one of the system processors

9
Unbound user threads are scheduled within the
threads library, where the selected user thread
is linked to an available LWP.
Software context open file, credential,
address space, process group, session control,
Software context open file, credential,
address space, process group, session control,
User thread
User thread
User thread
User thread
User thread
User thread
Process
Process
LWP Machine state
LWP Machine state
LWP Machine state
LWP Machine state
CPU
Kthread
Kthread
Kthread
Kthread
Solaris Multithreaded process model
10
Windows 2000 Threads
  • A thread is the entity within a process that
    Windows 2000 schedules for execution.
  • Thread Includes
  • The contents of a set of CPU registers
    representing the state of the processor
  • Two stacks
  • A private storage area called thread-local
    storage (TLS)
  • A unique identifier called a thread ID
  • Threads sometimes have their own security context

11
Structure of ETHREAD block
12

Kernel Thread Block Thread Environment Block
(TEB)
13
Solaris Thread States
14
Windows 2000 Thread States
15
Solaris Thread Scheduling
10
59
interrupt
ints
169
User Range priority
Real Time
1
0
60
User Range priority
interactive
System
-60
60
User Range priority
Time Share
0
-60
16
Windows 2000 Thread Scheduling
17
Windows 2000 Symmetric Multiprocessing
18
Windows 2000 Symmetric Multiprocessing
  • Windows 2000 is a symmetric multiprocessing (SMP)
    operating system. There is no master processor.
  • Windows 2000 incorporates several features that
    are crucial to its success as a multiprocessor
    operating system
  • The ability to run operating system code on any
    available processor and on multiple processors at
    the same time
  • Multiple threads of execution within a single
    process, each of which can execute simultaneously
    on different processors
  • Fine-grained synchronization within the kernel as
    well as within device drivers and server
    processes, which allows more components to run
    concurrently on multiple processors
  •  

19
Solaris Symmetric Multiprocessing
A Single Multiprocessor system. Shared memory,
symmetric system with uniform memory and I/O
access. Single kernel image shared by all
processes single address space view.
                                     
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
A system interconnect, either bus or cross bar
design. Cache coherent protocol for data
transfers to/from memory, processors, and I/O.
Very high, sustainable bandwidth with uniform
access times (latency)
1 is CPU (s) 2 is Memory 3 is I/O
20
Solaris Symmetric Multiprocessing
  • Solaris supports shared memory architecture,
    which implements a single kernel shared by all
    the processors and single uniform memory address
    space.
  • Symmetric Multiprocessor describes a system in
    which a peer-to-peer relationship exists among
    all the processors (CPUs) on the system
  • All processors are equal

21
References
  • Solaris Internals Core Kernel Architecture
  • Jim Mauro and Richard McDougall
  • Inside Microsoft Windows 2000 Third Edition
  • David A. Solomon and Mark E.Russinovich
  • Operating Systems Internals and Design
    Principles
  • William Stallings
Write a Comment
User Comments (0)
About PowerShow.com