1 / 41

Operating Systems CMPSCI 377 Lecture 3: OS Structures Lecture 4: Processes

Operating Systems CMPSCI 377 Lecture 3: OS Structures Lecture 4: Processes. Emery Berger University of Massachusetts, Amherst. Last Time: OS & Computer Architecture. Modern OS Functionality (brief review) Architecture Basics Hardware Support for OS Features.

njennifer
Download Presentation

Operating Systems CMPSCI 377 Lecture 3: OS Structures Lecture 4: Processes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Last Time:OS & Computer Architecture • Modern OS Functionality (brief review) • Architecture Basics • Hardware Support for OS Features

  3. This Time:OS Structures & Processes • Components • OS Organizations (kernels) • Processes

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

  5. Process Memory mgmt. File system Secondary storage I/O systems Distributed sys. Key Component: The Process • 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. Process Memory mgmt. File system Secondary storage I/O systems Distributed sys. Processes • OS manages & schedules processes • Creation, deletion • Resource allocation (e.g., CPU, memory) • Suspension & resumption • OS supports processes • Inter-process communication • Synchronization

  7. Process Memory mgmt. File system Secondary storage I/O systems Distributed sys. Process Synchronization Example • 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. Process Memory mgmt. File system Secondary storage I/O systems Distributed sys. Memory Management • 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. Process Memory mgmt. File system Secondary storage I/O systems Distributed sys. File System • 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 logicalobjects (files) & operations on these objects • Long-term storage entity • Named collection of persistent information • Can be read or written to

  10. Process Memory mgmt. File system Secondary storage I/O systems Distributed sys. File System Organization • 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. Process Memory mgmt. File system Secondary storage I/O systems Distributed sys. File System Management • 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. Process Memory mgmt. File system Secondary storage I/O systems Distributed sys. Secondary Storage (Disks, etc.) • 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. Process Memory mgmt. File system Secondary storage I/O systems Distributed sys. I/O Systems • 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. Process Memory mgmt. File system Secondary storage I/O systems Distributed sys. Distributed Systems • 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 • Modular, simple, portable, easy to design/debug • Communication overhead, copying, bookkeeping • “THE” operating system • Dijkstra

  18. The Microkernel Approach • Goal:Minimize 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: (1990’s) • 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 • New • Ready • Running • Waiting for I/O • Ready • Running • 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 parallel;otherwise, 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

More Related