Emery Berger - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

Emery Berger

Description:

Lecture 3: OS Structures. Lecture 4: Processes ... Modern OS Functionality (brief review) Architecture Basics. Hardware Support ... First -kernel: Hydra (CMU) ... – PowerPoint PPT presentation

Number of Views:22
Avg rating:3.0/5.0
Slides: 42
Provided by: csUm4
Category:
Tags: berger | emery | hydra

less

Transcript and Presenter's Notes

Title: Emery Berger


1
Operating SystemsCMPSCI 377Lecture 3 OS
StructuresLecture 4 Processes
  • Emery Berger
  • University of Massachusetts, Amherst

2
Last TimeOS Computer Architecture
  • Modern OS Functionality (brief review)
  • Architecture Basics
  • Hardware Support for OS Features

3
This TimeOS Structures Processes
  • Components
  • OS Organizations (kernels)
  • Processes

4
Components
  • Process
  • Synchronization
  • Memory management
  • File system
  • Secondary storage
  • I/O systems
  • Distributed systems

5
Key Component The Process
Process Memory mgmt. File system Secondary
storage I/O systems Distributed sys.
  • OS manages variety of activities
  • User programs, batch jobs, command scripts
  • Daemons spoolers, name servers, file servers,
    etc.
  • Each activity encapsulated in process
  • Context (PC, registers, address space, etc.)
    required for activity to run
  • Process ! program
  • One program may comprise many processes
  • Many processes may run same program

6
Processes
Process Memory mgmt. File system Secondary
storage I/O systems Distributed sys.
  • OS manages schedules processes
  • Creation, deletion
  • Resource allocation (e.g., CPU, memory)
  • Suspension resumption
  • OS supports processes
  • Inter-process communication
  • Synchronization

7
Process Synchronization Example
Process Memory mgmt. File system Secondary
storage I/O systems Distributed sys.
  • Banking transactions
  • Cooperating processes operate on single account
  • ATM transactions
  • Balance computation
  • Monthly interest calculation addition
  • All may access same account simultaneously
  • What could happen?

8
Memory Management
Process Memory mgmt. File system Secondary
storage I/O systems Distributed sys.
  • Main memory
  • Direct access storage for CPU
  • Processes must be in main memory to execute
  • OS must
  • Maintain page tables (virtual/physical memory)
  • Allocate deallocate memory
  • Decide how much memory each process gets
  • Decide when to remove memory from process

9
File System
Process Memory mgmt. File system Secondary
storage I/O systems Distributed sys.
  • Secondary storage devices (e.g., disks)
  • Block-level read, write to point on disk
  • Too crude to use directly for long-term storage
  • File system provides logical objects (files)
    operations on these objects
  • Long-term storage entity
  • Named collection of persistent information
  • Can be read or written to

10
File System Organization
Process Memory mgmt. File system Secondary
storage I/O systems Distributed sys.
  • Supports hierarchical organization of files
  • Files grouped in directories
  • Maintains metadata about files
  • Date created
  • Last modified date
  • Controls access to files
  • Who owns can alter files
  • Read-only, executable, etc.

11
File System Management
Process Memory mgmt. File system Secondary
storage I/O systems Distributed sys.
  • Standard interface to
  • Create delete files, directories
  • Manipulate files directories
  • Read, write, extend, rename, copy, protect
  • Map files into memory
  • May provide other general services
  • Backups
  • Quotas

12
Secondary Storage (Disks, etc.)
Process Memory mgmt. File system Secondary
storage I/O systems Distributed sys.
  • Persistent memory
  • Endures system failures
  • Low-level OS routines handle disk functions
  • Scheduling disk operations
  • Head movement
  • Error handling
  • May keep track of free space
  • Sometimes these routines are in filesystem

13
I/O Systems
Process Memory mgmt. File system Secondary
storage I/O systems Distributed sys.
  • Support communication with external devices
  • Terminal, keyboard, printer, mouse
  • Support buffering spooling of I/O
  • Provide general device driver interface
  • Hides differences between devices
  • Often mimics file system interface
  • Provide implementations of device drivers for
    specific devices

14
Distributed Systems
Process Memory mgmt. File system Secondary
storage I/O systems Distributed sys.
  • Distributed system collection of processors
    that do not share memory or clock
  • Processes must communicate over network
  • OS must deal with failures deadlock
  • Problems specific to distributed systems
  • OS can support distributed file system
  • Manages multiple independent storage devices
  • All users, servers, storage devices may be
    dispersed

15
OS Structures Processes
  • Components
  • OS Organizations (kernels)
  • Processes

16
Monolithic Kernel
  • Classic UNIX approach, Linux
  • Everything in kernel
  • Fast
  • Risky

17
Layered OS Design
  • THE operating system
  • Dijkstra
  • Modular, simple, portable, easy to design/debug
  • Communication overhead, copying, bookkeeping

18
The Microkernel Approach
  • GoalMinimize contents of kernel
  • Why?

19
Microkernel Motivation
  • Minimize contents of kernel
  • Reduces risk of crashing OS
  • Put functionality in user-level processes
  • Simplifies extension customization
  • First µ-kernel Hydra (CMU)
  • Current systems Mach (also CMU), by Rick Rashid
    et al. (now head of Microsoft Research)

20
µ-kernels vs. Monolithic Kernels
  • Past conventional wisdom (1990s)
  • Mach beautiful research idea but failed in
    practice
  • Too slow!
  • Linux ugly, monolithic, but fast
  • Today much faster computers
  • Mach fast enough (Mac OS X)
  • Reliability, simplicity, robustness now more
    important than performance

21
OS Structures Processes
  • Components
  • OS Organizations (kernels)
  • Processes

22
Processes
  • Process Concept
  • Process States
  • Process Scheduling
  • Process Management
  • Interprocess Communication

23
Process Concept
  • OS executes variety of programs
  • Batch system jobs
  • Time-shared systems user programs or tasks
  • Process program in execution
  • process execution sequential (kind of)
  • Process includes
  • program counter
  • stack
  • data section

24
Process States
  • New
  • Process being created
  • Running
  • Instructions being executed
  • Waiting
  • Process waiting for some event to occur
  • Ready
  • Process waiting to be assigned to a processor
  • Terminated
  • (duh)

25
Process State Diagram
  • Transitions
  • Program actions (system calls)
  • OS actions (scheduling)
  • External events (interrupts)

26
Process Execution Example
  1. New
  2. Ready
  3. Running
  4. Waiting for I/O
  5. Ready
  6. Running
  7. Terminated
  • void main() printf (Hello world\n)

27
Process Data Structures
  • Process Control Block
  • Tracks state
  • OS allocates, places on queue
  • OS deallocates on termination
  • Lots of info
  • Process state
  • Program counter
  • CPU registers
  • CPU scheduling information
  • Memory-management information
  • Accounting information
  • I/O status information

28
Process Scheduling Queues
  • Job queue
  • Set of all processes in system
  • Ready queue
  • Set of processes residing in main memory ready
    waiting to execute
  • Device queues
  • Set of processes waiting for I/O device
  • One per device
  • Process migration between the various queues.

29
Process Queues Example
30
CPU Scheduling
31
Process Scheduling
32
PCBs and Hardware State
  • Switching processes context switch
  • Relatively expensive
  • Time between switches (quantum) must be long
    enough to amortize this cost
  • Start
  • OS picks ready process
  • Loads register values from PCB
  • Stop
  • OS saves registers into PCB

33
Process Creation
  • One process can create other processes
  • Creator parent, new processes children
  • Parent can wait for child to complete,or
    continue in parallel
  • UNIX fork() used to create child processes
  • Copies variables registers from parent to child
  • Memory lazily copied (copy-on-write)
  • Only difference between parent child return
    value
  • Parent returns process id of child
  • Child returns 0

34
Process Creation Example
  • Logging into UNIX creates shell process
  • Every command typed into shell
  • Child of shell process (spawned by fork)
  • Executes command via exec
  • Example
  • Type emacs
  • OS forks new process
  • exec executes emacs
  • If followed by , runs in parallelotherwise,
    waits until done

35
Example UNIX Program Fork
36
Process Termination
  • On termination, OS reclaims all resources
    assigned to process
  • UNIX processes
  • Can terminate self via exit system call
  • Can terminate child via kill system call

37
Example Process Termination
38
Cooperating Processes
  • Cooperating processes work together to accomplish
    a task
  • Advantages
  • Can improve performance by overlapping activities
    or performing work in parallel
  • Can enable simpler program design
  • Simplifies distribution
  • Processes can live on different machines

39
Interprocess Communication
  • Processes communicate in one of two ways
  • Message passing
  • Send and receive information
  • Numerous means sockets, pipes, etc.
  • Shared memory
  • Establish mapping to named memory object
  • Use mmap
  • Fork processes that share this structure

40
Process Summary
  • Process unit of execution
  • Represented by Process Control Blocks
  • Contain process state, scheduling info, etc.
  • Process state
  • New, Ready, Waiting, Running, or Terminated
  • One running process at a time (on a uniprocessor)
  • Context switch when changing process executing on
    CPU
  • Communicate by message passing or shared memory

41
The End
Write a Comment
User Comments (0)
About PowerShow.com