74
Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Embed Size (px)

Citation preview

Page 1: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Operating Systems

Operating Systems - Winter 2012

Chapter 2 - Processes

Vrije Universiteit Amsterdam

Page 2: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Chap 2 - OverviewOperating Systems 2012

Vrije Universiteit Amsterdam Slide 1

• Introduction to Processes

• Inter Process Communications • IPC Problems

• Scheduling

• Processes in MINIX• Concepts• Implementation

Page 3: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Processes

Vrije Universiteit Amsterdam Slide 2

Operating Systems 2012

Page 4: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Concurrent Processes

Vrije Universiteit Amsterdam Slide 3

Operating Systems 2012

Page 5: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Process Hierarchies

Vrije Universiteit Amsterdam Slide 4

Operating Systems 2012

Page 6: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Process States

Vrije Universiteit Amsterdam Slide 5

Operating Systems 2012

Page 7: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Scheduler vs. ProcessesOperating Systems 2011

Vrije Universiteit Amsterdam Slide 6

Page 8: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Process ImplementationOperating Systems 2011

Vrije Universiteit Amsterdam Slide 7

Page 9: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Interrupt HandlingOperating Systems 2011

Vrije Universiteit Amsterdam Slide 8

Page 10: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Interrupt Handling & SchedulingOperating Systems 2011

Vrije Universiteit Amsterdam Slide 9

Page 11: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

ThreadsOperating Systems 2011

Vrije Universiteit Amsterdam Slide 10

Page 12: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Threads: Minimal SupportOperating Systems 2011

Vrije Universiteit Amsterdam Slide 11

Page 13: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Threads – Some ProblemsOperating Systems 2011

Vrije Universiteit Amsterdam Slide 12

Page 14: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Interprocess CommunicationOperating Systems 2011

Vrije Universiteit Amsterdam Slide 13

Page 15: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Race ConditionsOperating Systems 2011

Vrije Universiteit Amsterdam Slide 14

Page 16: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Mutual ExclusionOperating Systems 2011

Vrije Universiteit Amsterdam Slide 15

Page 17: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Strict AlternationOperating Systems 2011

Vrije Universiteit Amsterdam Slide 16

Page 18: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Peterson’s AlgorithmOperating Systems 2011

Vrije Universiteit Amsterdam Slide 17

Page 19: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

The TSL InstructionOperating Systems 2011

Vrije Universiteit Amsterdam Slide 18

Page 20: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Avoiding Busy WaitingOperating Systems 2011

Vrije Universiteit Amsterdam Slide 19

Page 21: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Producer-ConsumerOperating Systems 2011

Vrije Universiteit Amsterdam Slide 20

Page 22: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

SemaphoresOperating Systems 2011

Vrije Universiteit Amsterdam Slide 21

Page 23: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Semaphores - ExampleOperating Systems 2011

Vrije Universiteit Amsterdam Slide 22

Page 24: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

MonitorsOperating Systems 2011

Vrije Universiteit Amsterdam Slide 23

Page 25: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Monitors - ExampleOperating Systems 2011

Vrije Universiteit Amsterdam Slide 24

Page 26: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Message PassingOperating Systems 2011

Vrije Universiteit Amsterdam Slide 25

Page 27: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Message Passing: ExampleOperating Systems 2011

Vrije Universiteit Amsterdam Slide 26

Page 28: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Dining PhilosophersOperating Systems 2011

Vrije Universiteit Amsterdam Slide 27

Page 29: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Dining Philosophers (1/3)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 28

Page 30: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Dining Philosophers (2/3)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 29

Page 31: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Dining Philosophers (3/3)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 30

Page 32: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Readers/Writers (1/2)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 31

Page 33: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Readers/Writers (2/2)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 32

Page 34: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Process Scheduling (1/3)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 33

Page 35: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Process Scheduling (2/3)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 34

Page 36: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Process Scheduling (3/3)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 35

Page 37: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Batch Systems (1/2)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 36

Page 38: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Batch Systems (2/2)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 37

Page 39: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Interactive SystemsOperating Systems 2011

Vrije Universiteit Amsterdam Slide 38

Page 40: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Context SwitchingOperating Systems 2011

Vrije Universiteit Amsterdam Slide 39

Page 41: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Round Robin SchedulingOperating Systems 2011

Vrije Universiteit Amsterdam Slide 40

Page 42: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Priority SchedulingOperating Systems 2011

Vrije Universiteit Amsterdam Slide 41

Page 43: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Process Management in MINIXOperating Systems 2011

Vrije Universiteit Amsterdam Slide 42

Page 44: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

IPC in MINIXOperating Systems 2011

Vrije Universiteit Amsterdam Slide 43

Page 45: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Memory LayoutOperating Systems 2011

Vrije Universiteit Amsterdam Slide 44

Page 46: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

C Include File SemanticsOperating Systems 2011

Vrije Universiteit Amsterdam Slide 45

Page 47: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

C Scope SemanticsOperating Systems 2011

Vrije Universiteit Amsterdam Slide 46

Page 48: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Messages (1/2)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 47

Page 49: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Messages - DereferencingOperating Systems 2011

Vrije Universiteit Amsterdam Slide 48

671

Page 50: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

System Calls (1/2)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 49

679679

776

Page 51: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

System Calls (2/2)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 50

698

724

725

Page 52: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Process TableOperating Systems 2011

Vrije Universiteit Amsterdam Slide 51

699

698

Page 53: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Minix 3 Processes (1/2)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 52

701

Page 54: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Minix 3 Processes (2/2)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 53

Page 55: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Bootstrapping MINIX (1/2)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 54

Page 56: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Bootstrapping MINIX (2/2)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 55

Page 57: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Interrupt Handling (1/2)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 56

Page 58: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Interrupt Handling (2/2)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 57

710

Page 59: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Saving RegistersOperating Systems 2011

Vrije Universiteit Amsterdam Slide 58

712

Page 60: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Restoring RegistersOperating Systems 2011

Vrije Universiteit Amsterdam Slide 59

713

Page 61: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

System CallsOperating Systems 2011

Vrije Universiteit Amsterdam Slide 60

713

714

Page 62: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Interprocess CommunicationsOperating Systems 2011

Vrije Universiteit Amsterdam Slide 61

Page 63: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Example: Doing a System CallOperating Systems 2011

Vrije Universiteit Amsterdam Slide 62

724

725

Page 64: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Sending a MessageOperating Systems 2011

Vrije Universiteit Amsterdam Slide 63

725

726

Page 65: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Receiving a MessageOperating Systems 2011

Vrije Universiteit Amsterdam Slide 64

726

727

Page 66: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

SchedulingOperating Systems 2011

Vrije Universiteit Amsterdam Slide 65

Page 67: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

System Task (1/2)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 66

Page 68: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

System Task (2/2)Operating Systems 2011

Vrije Universiteit Amsterdam Slide 67

Page 69: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Clock – HardwareOperating Systems 2011

Vrije Universiteit Amsterdam Slide 68

Page 70: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Clock – SoftwareOperating Systems 2011

Vrije Universiteit Amsterdam Slide 69

Page 71: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

The Clock TaskOperating Systems 2011

Vrije Universiteit Amsterdam Slide 70

766

Page 72: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Processing a Clock TickOperating Systems 2011

Vrije Universiteit Amsterdam Slide 71

766

767

Page 73: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Clock Interrupt Handler

Vrije Universiteit Amsterdam Slide 72

767

768

Operating Systems 2012

Page 74: Operating Systems Operating Systems - Winter 2012 Chapter 2 - Processes Vrije Universiteit Amsterdam

Questions?

Vrije Universiteit Amsterdam Slide 73

Operating Systems 2012