Presentation is loading. Please wait.

Presentation is loading. Please wait.

U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture.

Similar presentations


Presentation on theme: "U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture."— Presentation transcript:

1 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture 3: OS Structures Lecture 4: Processes

2 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 2 Last Time: OS & Computer Architecture Modern OS Functionality (brief review) Architecture Basics Hardware Support for OS Features

3 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 3 This Time: OS Structures & Processes Components OS Organizations (kernels) Processes

4 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 4 Components Process Synchronization Memory management File system Secondary storage I/O systems Distributed systems

5 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 5 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 Process Memory mgmt. File system Secondary storage I/O systems Distributed sys.

6 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 6 Processes OS manages & schedules processes Creation, deletion Resource allocation (e.g., CPU, memory) Suspension & resumption OS supports processes Inter-process communication Synchronization Process Memory mgmt. File system Secondary storage I/O systems Distributed sys.

7 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 7 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? Process Memory mgmt. File system Secondary storage I/O systems Distributed sys.

8 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 8 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 Process Memory mgmt. File system Secondary storage I/O systems Distributed sys.

9 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 9 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 logical objects (files) & operations on these objects Long-term storage entity Named collection of persistent information Can be read or written to Process Memory mgmt. File system Secondary storage I/O systems Distributed sys.

10 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 10 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. Process Memory mgmt. File system Secondary storage I/O systems Distributed sys.

11 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 11 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 Process Memory mgmt. File system Secondary storage I/O systems Distributed sys.

12 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 12 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 Process Memory mgmt. File system Secondary storage I/O systems Distributed sys.

13 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 13 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 Process Memory mgmt. File system Secondary storage I/O systems Distributed sys.

14 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 14 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 Process Memory mgmt. File system Secondary storage I/O systems Distributed sys.

15 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 15 OS Structures & Processes Components OS Organizations (kernels) Processes

16 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 16 Monolithic Kernel Classic UNIX approach, Linux Everything in kernel +Fast -Risky

17 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 17 Layered OS Design +Modular, simple, portable, easy to design/debug -Communication overhead, copying, bookkeeping “THE” operating system Dijkstra

18 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 18 The Microkernel Approach Goal: Minimize contents of kernel Why?

19 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 21 OS Structures & Processes Components OS Organizations (kernels) Processes

22 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 22 Processes Process Concept Process States Process Scheduling Process Management Interprocess Communication

23 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 25 Process State Diagram Transitions: Program actions (system calls) OS actions (scheduling) External events (interrupts)

26 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 26 Process Execution Example void main() { printf (“Hello world\n”); } 1. New 2. Ready 3. Running 4. Waiting for I/O 5. Ready 6. Running 7. Terminated

27 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 29 Process Queues Example

30 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 30 CPU Scheduling

31 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 31 Process Scheduling

32 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 35 Example UNIX Program: Fork

36 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 37 Example: Process Termination

38 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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 U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 41 The End


Download ppt "U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture."

Similar presentations


Ads by Google