Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm...

105
Midterm Review

Transcript of Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm...

Page 1: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Midterm Review

Page 2: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Logistics• Exam on:

• Friday, Nov 20th (in class)• Tuesday, Nov 17th (in my office 15:00)

• Covers: Chapters 1 — 5 • The exam is closed book. No calculators, no laptops, no computing devices! • You may bring one (letter-size) pages of notes • The exam may include:

• multiple choice • fill-in-the answer questions• short programming problems (you should use pseudocode)

• Show all your work: • state assumptions• details your steps

2

Page 3: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

WhatisanOperatingSystem?

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 4: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

WhatisanOperatingSystem?

• Topdownview– Provideabstractionstoapplicationprograms

• Bottomupview– Managepiecesofcomplexsystem

• Alternativeview– Provideorderly,controlledallocationofresources

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 5: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

HardwareAbstraction

Figure1-6.Someofthecomponentsofasimplepersonalcomputer.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 6: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Processors

Figure1-7.(a)Athree-stagepipeline.(b)AsuperscalarCPU.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 7: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Memory• There is a trade-off between access time and capacity • How can we take advantage of the memory hierarchy to achieve high

performance? • caching and locality principle

7

Cost

Page 8: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Chapter 2: Processes & Threads

Page 9: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

The Process Model

9

Figure2-1.(b)Conceptualmodeloffourindependent,sequentialprocesses.

Page 10: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Process CreationFour principal events that cause processes to be created:

1. System initialization 2. Execution of a process creation system call by a running process 3. A user request to create a new process 4. Initiation of a batch job

10Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 11: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Process TerminationTypical conditions which terminate a process: 1.Normal exit (voluntary). 2.Error exit (voluntary). 3.Fatal error (involuntary). 4.Killed by another process (involuntary).

11

Page 12: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Process States (1)• Three states a process may be in:

1.Running (actually using the CPU at that instant).2.Ready (runnable; temporarily stopped to let another process run).3.Blocked (unable to run until some external event happens).

12

Page 13: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Process States

13

Page 14: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Types of processes• CPU-bound processes

• spend of their time performing computations

• IO-bound processes • spend most of the time being blocked for IO

• Note: the speed of CPUs is increasing faster than that of IO devices • over time, processes become IO bound

14

Page 15: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

ProcessStates(3)

Figure2-3.Thelowestlayerofaprocess-structuredoperatingsystemhandlesinterruptsandscheduling.Abovethatlayerare

sequentialprocesses.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 16: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

ImplementationofProcesses(1)

Figure2-4.Someofthefieldsofatypicalprocesstableentry.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 17: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Implementation Notes• Process creation is typically expensive • Processes are interrupted numerous times during their execution

• for each interrupt, the process must save its state to be resumed later • >> context switches are expensive!

17

Page 18: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

ImplementationofProcesses(2)

Figure2-5.Skeletonofwhatthelowestleveloftheoperatingsystemdoeswhenaninterruptoccurs.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 19: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

ModelingMultiprogramming

Figure2-6.CPUutilizationasafunctionofthenumberofprocessesinmemory.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 20: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

ThreadUsage(2)

Figure2-8.AmultithreadedWebserver.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 21: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

ThreadUsage(3)

Figure2-9.AroughoutlineofthecodeforFig.2-8.(a)Dispatcherthread.(b)Workerthread.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 22: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

TheClassicalThreadModel(1)

Figure2-11.(a)Threeprocesseseachwithonethread.(b)Oneprocesswiththreethreads.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 23: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

TheClassicalThreadModel(2)

Figure2-12.Thefirstcolumnlistssomeitemssharedbyallthreadsinaprocess.Thesecondonelistssomeitemsprivateto

eachthread.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 24: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

TheClassicalThreadModel(3)

Figure2-13.Eachthreadhasitsownstack.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 25: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

User space vs. kernel threads• User space threads

• pros:• inexpensive thread switch times• applications can better manage their own threads than the OS

• complications:• how to handle blocking system calls?• how to handle page faults?• how to handle “run-away” threads?

• Kernel threads • cons:

• thread switches are expensive (why?)• the above issues are not a challenge (why?)

• complications:• what happens when a process forks?

25

Page 26: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

CategoriesofSchedulingAlgorithms

1. Batch.2. Interactive.3. Realtime.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 27: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

SchedulingAlgorithmGoals

Figure2-40.Somegoalsoftheschedulingalgorithmunderdifferentcircumstances.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 28: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

SchedulinginBatchSystems

• First-ComeFirst-Served• ShortestJobFirst• ShortestRemainingTimeNext

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 29: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

ShortestJobFirst

Figure2-41.Anexampleofshortestjobfirstscheduling.(a)Runningfourjobsintheoriginalorder.(b)Runningtheminshortestjobfirstorder.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 30: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

SchedulinginInteractiveSystems

• Round-RobinScheduling• PriorityScheduling• MultipleQueues• ShortestProcessNext• GuaranteedScheduling• LotteryScheduling• Fair-ShareScheduling

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 31: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Round-RobinScheduling

Figure2-42.Round-robinscheduling.(a)Thelistofrunnableprocesses.(b)ThelistofrunnableprocessesafterBusesupitsquantum.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 32: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

B CA

time 100 101 103

FCFS

BA

time 2 5 103

Round Robin

C A C

Scenario #1

A

A100ms

B1ms

C 2ms

Ready Queue

Avg:101.3

Avg:36.7

Page 33: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Scenario #2

B CA

time 10 20 30

FCFS

BA

time 28 29 30

Round Robin

C A CB ... BA C A CB

A10ms

B10ms

C 10ms

Avg:20

Avg:29

Ready Queue

Page 34: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Scenario #1

Avg:101.3

A100ms

B1ms

C 2ms

Avg:36.7

1 3 103

STCFAvg:35.7

B CA

time 100 101 103

FCFS

BA

time 2 5 103

Round Robin

C A C A

AB C

Ready Queue

Page 35: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Scenario #2

B CA

time 10 20 30

FCFS

BA

time 28 29 30

Round Robin

C A C

Avg:20

B ... BA C A CB

A10ms

B10ms

C 10ms

Avg:29

B CA

time 10 20 30

STCFAvg:20

Ready Queue

Page 36: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

HybridImplementations

Figure2-17.Multiplexinguser-levelthreadsontokernel-levelthreads.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 37: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Independent and Cooperating Threads• Independent thread: one that can't affect or be affected by the rest of the

universe • Its state isn't shared in any way by any other thread• Deterministic: input state alone determines results• Reproducible• Can stop and continue with no bad effects (only time varies)

• Cooperating threads: those that share state • Behavior is nondeterministic: depends on relative execution sequence and

cannot be predicted in advance• Behavior may be irreproducible

37

Page 38: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Cooperating threads• Basic assumption for cooperating threads is that the order of some operations

is irrelevant; certain operations are independent of certain other operations. • Examples:

• Thread 1: A = 1;Thread 2: B = 2;

• Thread 1: A = B+1;Thread 2: B = 2*B;

38

Page 39: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Atomic Operations• Before we can say ANYTHING about cooperating threads, we must know that

some operation is atomic: it either happens in its entirety without interruption, or not at all. Cannot be interrupted in the middle. • References and assignments are atomic in almost all systems. A=B will always

read a clean value for B and set a clean value for A (but not necessarily true for arrays or records).

• In uniprocessor systems, anything between interrupts is atomic.• If you don't have an atomic operation, you can't make one. Fortunately, hardware

designers give us atomic ops.• If you have any atomic operation, you can use it to generate higher-level

constructs and make parallel programs work correctly. This is the approach we'll take in this class.

39

Page 40: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Critical Section Problem• Definition: n processes repeatedly execute a critical and then non-critical

section of code

• Goals: • mutual exclusion - no two processes execute at the critical section at the same time• livelock - if two processes are trying to enter the critical section at least one succeeds• no unnecessary delay - if a process is trying to enter its critical section and the others

are in their non-critical section, the first process should not be prevented from entering its critical section

• eventual entry - a process attempting to enter the critical section will eventually succeed

40

process CS[i = 1 to N] {while (true) {

entry protocolcritical sectionexit protocolno critical section

}}

Page 41: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Critical Section Problem

• Two types of properties: • safety: mutual exclusion, livelock, no unnecessary delay• liveness: eventual entry

41

process CS[i = 1 to N] {while (true) {

entry protocolcritical sectionexit protocolno critical section

}}

Page 42: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

CS 140 Lecture Notes: Concurrency 42

Too Much Milk

Roommate A 3:00 Arrive home: no milk 3:05 Leave for store 3:10 Arrive at store 3:15 Leave store 3:20 Arrive home, put milk away

Page 43: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

CS 140 Lecture Notes: Concurrency 43

Too Much Milk

Roommate A Roommate B 3:00 Arrive home: no milk 3:05 Leave for store 3:10 Arrive at store Arrive home: no milk 3:15 Leave store Leave for store 3:20 Arrive home, put milk away Arrive at store 3:25 Leave store 3:30 Arrive home: too much milk!

Page 44: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

CS 140 Lecture Notes: Concurrency 44

Computerized Milk Purchase

1 if (milk == 0) { 2 if (note == 0) { 3 note = 1; 4 buy_milk(); 5 note = 0; 6 } 7 }

Page 45: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

CS 140 Lecture Notes: Concurrency 45

Still Too Much Milk Thread A: Thread B: 1 if (milk == 0) { 2 if (note == 0) { 3 if (milk == 0) { 4 if (note == 0) { 5 note = 1; 6 buy_milk(); 7 note = 0; 8 } 9 } 10 note = 1; 11 buy_milk(); 12 note = 0; 13 } 14 }

Page 46: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

CS 140 Lecture Notes: Concurrency 46

Second Attempt

Thread A:

1 if (note == 0) { 2 if (milk == 0) { 3 buy_milk(); 4 } 5 note = 1; 6 }

Thread B:

1 if (note == 1) { 2 if (milk == 0) { 3 buy_milk(); 4 } 5 note = 0; 6 }

Page 47: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

CS 140 Lecture Notes: Concurrency 47

Third Attempt

Thread A:

1 noteA = 1; 2 if (noteB == 0) { 3 if (milk == 0) { 4 buy_milk(); 5 } 6 } 7 noteA = 0;

Thread B:

1 noteB = 1; 2 if (noteA == 0) { 3 if (milk == 0) { 4 buy_milk(); 5 } 6 } 7 noteB = 0;

Page 48: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

CS 140 Lecture Notes: Concurrency 48

Fourth Attempt

Thread A:

1 noteA = 1; 2 if (noteB == 0) { 3 if (milk == 0) { 4 buy_milk(); 5 } 6 } 7 noteA = 0;

Thread B:

1 noteB = 1; 2 while (noteA == 1) { 3 // do nothing 4 } 5 if (milk == 0) { 6 buy_milk(); 7 } 8 noteB = 0;

Page 49: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

CS 140 Lecture Notes: Concurrency 49

Too Much Milk With Locks

Both threads:

struct lock l;

...

lock_acquire(&l); if (milk == 0) { buy_milk(); } lock_release(&l);

Page 50: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

CS 140 Lecture Notes: Locks 50

Producer/Consumer, v1char buffer[SIZE]; int count = 0; int putIndex = 0, getIndex = 0; struct lock l; lock_init(&l); void put(char c) { lock_acquire(&l); count++; buffer[putIndex] = c; putIndex++; if (putIndex == SIZE) { putIndex = 0; } lock_release(&l); }

char get() { char c; lock_acquire(&l); count--; c = buffer[getIndex]; getIndex++; if (getIndex == SIZE) { getIndex = 0; } lock_release(&l); return c; }

Page 51: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

CS 140 Lecture Notes: Locks 51

Producer/Consumer v2char buffer[SIZE]; int count = 0; int putIndex = 0, getIndex = 0; struct lock l; lock_init(&l); void put(char c) { lock_acquire(&l); while (count == SIZE) { lock_release(&l); lock_acquire(&l); } count++; buffer[putIndex] = c; putIndex++; if (putIndex == SIZE) { putIndex = 0; } lock_release(&l); }

char get() { char c; lock_acquire(&l); while (count == 0) { lock_release(&l); lock_acquire(&l); } count--; c = buffer[getIndex]; getIndex++; if (getIndex == SIZE) { getIndex = 0; } lock_release(&l); return c; }

Page 52: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

CS 140 Lecture Notes: Locks 52

Producer/Consumer v3char buffer[SIZE]; int count = 0; int putIndex = 0, getIndex = 0; struct lock l; struct condition dataAvailable; struct condition spaceAvailable;

lock_init(&l); cond_init(&dataAvailable); cond_init(&spaceAvailable); void put(char c) { lock_acquire(&l); while (count == SIZE) { cond_wait(&spaceAvailable, &l); } count++; buffer[putIndex] = c; putIndex++; if (putIndex == SIZE) { putIndex = 0; } cond_signal(&dataAvailable, &l); lock_release(&l); }

char get() { char c; lock_acquire(&l); while (count == 0) { cond_wait(&dataAvailable, &l); } count--; c = buffer[getIndex]; getIndex++; if (getIndex == SIZE) { getIndex = 0; } cond_signal(&spaceAvailable, &l); lock_release(&l); return c; }

T1 T2 T3

Page 53: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

MemoryManagement

Chapter3

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 54: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Memory

• ParaphraseofParkinson’sLaw,‘‘Programsexpandtofillthememoryavailabletoholdthem.’’

• Averagehomecomputernowadayshas10,000timesmorememorythantheIBM7094,thelargestcomputerintheworldintheearly1960s

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 55: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

NoMemoryAbstraction

Figure3-1.Threesimplewaysoforganizingmemorywithanoperatingsystemandoneuserprocess.Otherpossibilitiesalsoexist

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 56: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

RunningMultipleProgramsWithoutaMemoryAbstraction

Figure3-2.Illustrationoftherelocationproblem.(a)A16-KBprogram.(b)Another16-KBprogram.(c)Thetwoprogramsloadedconsecutivelyintomemory.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 57: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

BaseandLimitRegisters

Figure3-3.Baseandlimitregisterscanbeusedtogiveeachprocessaseparate

addressspace.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 58: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Swapping(1)

Figure3-4.Memoryallocationchangesasprocessescomeintomemoryandleaveit.Theshadedregionsareunusedmemory

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 59: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Swapping(2)

Figure3-5.(a)Allocatingspaceforagrowingdatasegment.(b)Allocatingspaceforagrowingstackandagrowingdatasegment.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 60: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

MemoryManagementwithBitmaps

Figure3-6.(a)Apartofmemorywithfiveprocessesandthreeholes.Thetickmarksshowthememoryallocationunits.The

shadedregions(0inthebitmap)arefree.(b)Thecorrespondingbitmap.(c)Thesameinformationasalist.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 61: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

MemoryManagementwithLinkedLists

Figure3-7.Fourneighborcombinationsforthe terminatingprocess,X.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 62: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

MemoryManagementAlgorithms

• Firstfit• Nextfit• Bestfit• Worstfit• Quickfit

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 63: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

VirtualMemory

• Thereisaneedtorunprogramsthataretoolargetofitinmemory

• Solutionadoptedinthe1960s,splitprogramsintolittlepieces,calledoverlays– Keptonthedisk,swappedinandoutofmemory

• Virtualmemory:eachprogramhasitsownaddressspace,brokenupintochunkscalledpages

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 64: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Paging(1)

Figure3-8.ThepositionandfunctionoftheMMU.HeretheMMUisshownasbeingapartoftheCPUchipbecause

itcommonlyisnowadays.However,logicallyit couldbeaseparatechipandwasyearsago.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 65: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Paging(2)

Figure3-9.Therelationbetweenvirtualaddressesandphysicalmemoryaddressesisgivenbythepagetable.Everypagebeginsonamultipleof4096andends4095addresseshigher,so4K–8Kreallymeans4096–8191

and8Kto12Kmeans8192–12287

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 66: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Paging(3)

Figure3-10.Theinternal operationoftheMMUwith164-KBpages.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 67: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

StructureofaPageTableEntry

Figure3-11.Atypicalpagetableentry.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 68: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

SpeedingUpPaging

Majorissuesfaced:1.Themappingfromvirtualaddresstophysicaladdressmustbefast.2.Ifthevirtualaddressspaceislarge,thepagetablewillbelarge.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 69: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

TranslationLookasideBuffers

Figure3-12.ATLBtospeeduppaging.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 70: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

MultilevelPageTables

Figure3-13.(a)A32-bitaddresswithtwopagetablefields.(b)Two-level

pagetables.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 71: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

PageReplacementAlgorithms• Optimalalgorithm• Notrecentlyusedalgorithm• First-in,first-out(FIFO)algorithm• Second-chancealgorithm• Clockalgorithm• Leastrecentlyused(LRU)algorithm• Workingsetalgorithm• WSClockalgorithm

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 72: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

ClockPageReplacementAlgorithm

Figure3-16.Theclockpagereplacementalgorithm.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 73: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

SimulatingLRUinSoftware

Figure3-17.TheagingalgorithmsimulatesLRUinsoftware.Shownaresixpagesforfiveclockticks.Thefiveclockticksarerepresentedby(a)to(e).

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 74: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

WorkingSetAlgorithm(1)

Figure3-18.Theworkingsetisthesetofpagesusedbythekmostrecentmemoryreferences.Thefunctionw(k,t)isthesizeoftheworkingsetattimet.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 75: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

WSClockAlgorithm(1)

Figure3-20.OperationoftheWSClockalgorithm.(a)and(b)giveanexampleofwhathappenswhenR=1.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 76: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

WSClockAlgorithm(2)

Figure3-20.OperationoftheWSClockalgorithm.(c)and(d)giveanexampleofR=0.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 77: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

WorkingSetAlgorithm(2)

Figure3-19.Theworkingsetalgorithm.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 78: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

SummaryofPageReplacementAlgorithms

Figure3-21.Pagereplacementalgorithmsdiscussedinthetext.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 79: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

PageFaultHandling(1)

1. Thehardwaretrapstokernel,savingprogramcounteronstack.

2. Assemblycoderoutinestartedtosavegeneralregistersandothervolatileinfo

3. systemdiscoverspagefaulthasoccurred,triestodiscoverwhichvirtualpageneeded

4. Oncevirtualaddresscausedfaultisknown,systemcheckstoseeifaddressvalidandtheprotectionconsistentwithaccess

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 80: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

PageFaultHandling(2)

5. Ifframeselecteddirty,pageisscheduledfortransfertodisk,contextswitchtakesplace,suspendingfaultingprocess

6. Assoonasframeclean,operatingsystemlooksupdiskaddresswhereneededpageis,schedulesdiskoperationtobringitin.

7. Whendiskinterruptindicatespagehasarrived,tablesupdatedtoreflectposition,andframemarkedasbeinginnormalstate.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 81: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

PageFaultHandling(3)

8. Faultinginstructionbackeduptostateithadwhenitbeganandprogramcounterisreset

9. Faultingprocessisscheduled,operatingsystemreturnstoroutinethatcalledit.

10.Routinereloadsregistersandotherstateinformation,returnstouserspacetocontinueexecution

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 82: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Segmentation(1)Examplesoftablesgeneratedbycompiler:1.Thesourcetextbeingsavedfortheprintedlisting2.Thesymboltable,namesandattributesofvariables.3.Thetablecontainingintegerandfloating-pointconstantsused.4.Theparsetree,syntacticanalysisoftheprogram.5.Thestackusedforprocedurecallswithincompiler.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 83: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Segmentation(2)

Figure3-30.Inaone-dimensionaladdressspacewithgrowingtables,onetablemaybumpintoanother.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 84: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Segmentation(3)

Figure3-31.Asegmentedmemoryallowseachtabletogroworshrinkindependentlyoftheothertables.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 85: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

Segmentation(4)

Figure3-32.Comparisonofpagingandsegmentation

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 86: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

SegmentationwithPaging:MULTICS(1)

Figure3-34.TheMULTICSvirtualmemory.(a)Thedescriptorsegmentpointedtothepagetables.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 87: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

SegmentationwithPaging:MULTICS(2)

Figure3-34.TheMULTICSvirtualmemory.(b)Asegmentdescriptor.Thenumbersarethefieldlengths.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 88: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

SegmentationwithPaging:MULTICS(3)

Figure3-35.A34-bitMULTICSvirtualaddress.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 89: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

SegmentationwithPaging:MULTICS(4)

Figure3-36.Conversionofatwo-partMULTICSaddressintoamainmemoryaddress.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 90: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

SegmentationwithPaging:MULTICS(5)

Figure3-37.AsimplifiedversionoftheMULTICSTLB.TheexistenceoftwopagesizesmadetheactualTLBmorecomplicated.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 91: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

FileSystems

Chapter4

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 92: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

FileOperations

1. Create2. Delete3. Open4. Close5. Read6. Write

7. Append8. Seek9. Getattributes10. Setattributes11. Rename

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 93: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

HierarchicalDirectorySystems

Figure4-7.Ahierarchicaldirectorysystem.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 94: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

DirectoryOperations

1. Create2. Delete3. Opendir4. Closedir

5. Readdir6. Rename7. Link8. Unlink

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 95: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

FileSystemLayout

Figure4-9.Apossiblefilesystemlayout.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 96: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

ImplementingFilesContiguousLayout

Figure4-10.(a)Contiguousallocationofdisk spaceforsevenfiles.(b)Thestateofthe

diskafterfilesDandFhavebeenremoved.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 97: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

ImplementingFilesLinkedListAllocation

Figure4-11.Storingafileasalinkedlistofdiskblocks.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 98: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

ImplementingFilesLinkedList–TableinMemory

Figure4-12.Linkedlistallocationusingafileallocationtableinmainmemory.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 99: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

ImplementingFilesI-nodes

Figure4-13.Anexamplei-node.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 100: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

ImplementingDirectories(1)

Figure4-14.(a)Asimpledirectorycontainingfixed-sizeentrieswiththediskaddressesandattributesinthedirectoryentry.(b)A

directoryinwhicheachentryjustreferstoani-node.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 101: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

ImplementingDirectories(2)

Figure4-15.Twowaysofhandlinglongfilenamesinadirectory.(a)In-line.(b)Inaheap.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 102: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

JournalingFileSystems

StepstoremoveafileinUNIX:1.Removefilefromitsdirectory.2.Releasei-nodetothepooloffreei-nodes.3.Returnalldiskblockstopooloffreediskblocks.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 103: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

DiskSpaceManagement(1)

Figure4-20.Percentageoffilessmallerthanagivensize(inbytes).

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 104: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

FileSystemConsistency

Figure4-27.Filesystemstates.(a)Consistent.(b)Missingblock.(c)Duplicateblockinfreelist.(d)Duplicatedatablock.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.

Page 105: Midterm Review - University of Iowahomepage.divms.uiowa.edu/.../midterm-review.pdf · Midterm Review. Logistics • Exam on: • Friday, Nov 20th (in class) • Tuesday, Nov 17th

DiskSpaceManagement(2)

Figure4-21.Thedashedcurve(left-handscale)givesthedatarateofadisk.Thesolidcurve(right-handscale)givesthediskspaceefficiency.Allfilesare4KB.

Tanenbaum&Bo,ModernOperatingSystems:4thed.,(c)2013Prentice-Hall,Inc.Allrightsreserved.