Operating Systems - PowerPoint PPT Presentation

About This Presentation
Title:

Operating Systems

Description:

Title: CS 3013 Operating Systems Author: Mark Claypool Last modified by: Mark Claypool Created Date: 6/10/1995 5:31:50 PM Document presentation format – PowerPoint PPT presentation

Number of Views:90
Avg rating:3.0/5.0
Slides: 16
Provided by: MarkCl9
Learn more at: http://web.cs.wpi.edu
Category:

less

Transcript and Presenter's Notes

Title: Operating Systems


1
Operating Systems
  • Parallel Systems
  • (Soon to be basic OS knowledge)

2
Parallelism
  • Multiple processes concurrently

CPU1
CPU1
CPU1
Process 1
Pseudo- Parallelism
CPU1
CPU1
CPU1
Process 2
CPU1
Process 1
True Parallelism
CPU2
Process 2
3
Parallel Hardware
Registers
Registers
CPU1
CPU2
Disk Controller
Memory
Disk
  • Symmetric Multi-Processors
  • Increasingly common.
  • How to modify OS to handle new hardware?

4
Two Operating Systems
  • Divide memory in two
  • Run an independent OS in each
  • Each has its own processes
  • Drawbacks
  • Twice as much memory used for OS
  • IPC tough
  • Who controls memory and disk? (convenient)
  • Inefficient scheduling (efficient)

5
Sharing the Operating System
Main Memory
OS Code
Race Conditions!
Shared? (see sample code) stack process
table current process device queues
6
Example Multiprocessor OSes
  • Almost all new OSes!
  • Designed from start
  • Windows NT
  • Mach
  • Unix
  • ATT System V
  • Sun Solaris
  • HP Unix
  • Digital Unix
  • IBM AIX
  • SGI Irix

7
Threads
  • Software Multi-Processors

8
Threads (Lightweight Processes)
  • Basic unit of CPU utilization
  • (What?! you say)
  • Own
  • program counter
  • register set
  • stack space
  • Shares
  • code section
  • data section
  • OS resources

Process
Program Counter (Threads)
A
B
C
text segment
A
B
C
data segment
Multithreaded Program
9
Stack
  • A(int tmp)
  • B()
  • printf(tmp)
  • B()
  • C()
  • C()
  • A(2)

10
Example A Threaded Spreadsheet
Display Thread
Spreadsheet Data
Other Data
Command Thread
11
What Kinds of Programs to Thread?
  • Independent tasks
  • ex debugger needs gui, program, perf monitor
  • especially when blocking for I/O!
  • Single program, concurrent operation
  • Servers
  • ex file server, web server
  • OS kernels
  • concurrent requests by multiple users -- no
    protection needed in kernel

12
Thread Benefits
  • What about just using processes with shared
    memory?
  • fine
  • debugging tougher (more thread tools)
  • processes slower
  • 30 times slower to create on Solaris
  • slower to destroy
  • slower to context switch among
  • processes eat up memory
  • few thousand processes not ok
  • few thousand threads ok

13
Threads Standards
  • POSIX (Pthreads)
  • Common API
  • Almost all Unixs have thread library
  • Win32 and OS/2
  • very different from POSIX, tough to port
  • commercial POSIX libraries for Win32
  • OS/2 has POSIX option
  • Solaris
  • started before POSIX standard
  • likely to be like POSIX

14
Do they Work?
  • Operating systems
  • Mach, Windows NT, Windows 95, Solaris, IRIX, AIX,
    OS/2, OSF/1
  • Millions of (unforgiving) users
  • NFS, SPECfp, SPECint

1 4 8 12 16 20 24 CPUs
15
Levels of Threads
User Level Thread
Process A
Process B
Thread
Kernel Thread
Write a Comment
User Comments (0)
About PowerShow.com