Presentation is loading. Please wait.

Presentation is loading. Please wait.

Washington WASHINGTON UNIVERSITY IN ST LOUIS Resource and Resource Access Control Fred Kuhns Applied Research Laboratory Computer Science and Engineering.

Similar presentations


Presentation on theme: "Washington WASHINGTON UNIVERSITY IN ST LOUIS Resource and Resource Access Control Fred Kuhns Applied Research Laboratory Computer Science and Engineering."— Presentation transcript:

1 Washington WASHINGTON UNIVERSITY IN ST LOUIS Resource and Resource Access Control Fred Kuhns Applied Research Laboratory Computer Science and Engineering Washington University in St. Louis

2 2 Fred Kuhns (6/5/2014)CS523 – Operating Systems Blocking Time Higher priority job is blocked by a lower priority job during a nonpreemptive interval: priority inversion. Nonpreemptivity: –b i (nb) = max(q k ), i+1 k n, q k e i Self-Suspension –b i (ss) = max SS of T i + sum[min(e k, max SS of T k ),k=1 to k=(i-1)] Context Switch –b i (cs) = 2CS

3 3 Fred Kuhns (6/5/2014)CS523 – Operating Systems Time Demand Analysis Updated TDA equation to include blocking time. But what about resource contention? w i (t) = e i + b i (ss) + (K i + 1)b i (np) + 2(K i + 1)CS + k = 1 i - 1 t pkpk ekek

4 4 Fred Kuhns (6/5/2014)CS523 – Operating Systems Effects of Resource Contention Add new term for blocking –b i (rb) Priority Inversion –Uncontrolled priority inversion Timing Anomalies –Resulting from priority inversion Deadlock –Circular wait

5 5 Fred Kuhns (6/5/2014)CS523 – Operating Systems Resource Access Protocols Resource Access protocol –Granting resource access requests –Scheduling of jobs which request resources Goals: –Bound delay due to Priority Inversion and Timing Anomalies –Prevent Deadlock Three Examples: –Nonpreemptive Critical Sections No deadlock, No uncontrolled Priority Inversion –Priority Inheritance Protocol Deadlock, No uncontrolled Priority Inversion –Priority Ceiling Protocol No deadlock, No uncontrolled Priority Inversion

6 6 Fred Kuhns (6/5/2014)CS523 – Operating Systems Some Notation J i is the i th job in Task T. Shorthand for J ji i = Assigned priority of Job J i ; i (t) = current priority of J i If the decision to change the priority of Job J i is made at t = t 1 then –t - = t - and t + = t + ; – i (t 1 - ) = priority at and immediately before t 1, – i (t 1 + ) = priority immediately after the priority change = nonexistent priority, lower than the lowest priority At time t 1 Job J i requests resource R k. –R k J l : Resource R k is held by Job J l –J i R k : J i blocked on R k (J i R k J l ) General scheduling and allocation assumptions: –Scheduling Rules: Ready Jobs scheduled on processors preemptively in a priority driven manner according to their current priorities, i (t). At Job release time the priority is equal to its assigned priority: if J i released at t, then i (t) = i –Resource allocation: If a resource is free then it is allocated when requested if not free then the request is denied and the requesting job is blocked

7 7 Fred Kuhns (6/5/2014)CS523 – Operating Systems Nonpreemptive Critical Sections Protocol Blocking time is bounded: b i (rc)=max(c k ) for k = i+1,...,n and c k is the max critical section time of any job in task T k. NCSP Rule: –If J i holds a resource it effectively has the highest priority in the system: i.e. it will not be preempted while holding a resource. So no deadlock. Assessment: –Advantage: simple and does not require prior knowledge of resource usage. Bounds delays and prevents deadlock. –Disadvantage, every job can be blocked by a lower priority job regardless of whether it contends for the same resources.

8 8 Fred Kuhns (6/5/2014)CS523 – Operating Systems Priority Inheritance Rules (PI) Scheduling Rule: consistent with assumptions Allocation Rule: consistent with assumptions Priority-Inheritance Rule: if J i R k J l and l (t 1 - ) < i (t 1 ) then l (t 1 + ) = i (t 1 ) until J l releases R k when l (t 2 + ) = l (t 1 - ) Assessment: –simple and works with any priority driven scheduler. Does not require foreknowledge. When no deadlock, no unbounded delay. –Two types of blocking: Direct and Priority Inheritance blocking –PI has the transitive property. –Does not result in minimal blocking time –Does not prevent deadlock

9 9 Fred Kuhns (6/5/2014)CS523 – Operating Systems Basic Priority Ceiling Rules Extends PI to prevent deadlock and reduce blocking time Assumptions: –general scheduling rule; fixed assigned priorities; resource requirements of tasks known – (R k )=priority ceiling for R k =max( i ) for all J i requiring R k –System priority ceiling = (t)=max[ (R k )] for all R k in use at time t. If no resource in use then (R k ) = Allocation Rule (J i requests R k at time t=t 1 ): –if J i R k J l at t = t 1 then block J i (no change) –else (R k free at t 1 ) if i (t 1 ) > (t), then R k J i else if for some R x J i and (R x ) = (t 1 ), then R k J i else deny and block ( J i R k ) Priority-Inheritance Rule: –if J i blocks on resource R k held by J l ( J i R k ) (note: R k J l and l (t 1 - )=priority of J l at t = t 1 - ) then l (t 1 + ) = i (t 1 ) (inherited priority) until J l releases all R x with (R x ) (t 1 ) at t = t 2, l (t 2 + ) = l (t 1 - )

10 10 Fred Kuhns (6/5/2014)CS523 – Operating Systems Comparisons Priority Ceiling –No deadlocks: Priority ceilings impose order on resources –bounded blocking time by at most the duration of one critical section. –Priority inheritance is greedy while priority ceiling is not –If π (t) of a Job J is > (t) then neither J nor any other job with priorities π (t) need any resource currently in use. JiJi RJkJk JhJh RJlJl JiJi RJkJk X Avoidance Blocking (Priority Ceiling Blocking) (X) π i (t) Directly Blocked Priority Inheritance blocking high priority job block by lower priority job that inherited a higher priority. π h >π l, π k >π l and π h >π k. But the current priority of J l, π h (t)=π h so J k is blocked from running. JkJk

11 11 Fred Kuhns (6/5/2014)CS523 – Operating Systems Stack-Based Priority Ceiling Protocol Update Current Ceiling in the usual manner –When no resources are held the (t) = –otherwise, (t) = max[ (R k )] for all R k in use at time t. Scheduling Rule: –when J i released it is blocked until its assigned priority = i (t) > (t) –When not blocked jobs are scheduled in a priority- driven, preemptive manner according to their assigned priorities. Allocation Rule: –Allocate when requested

12 12 Fred Kuhns (6/5/2014)CS523 – Operating Systems Stack-based Priority Ceiling Assume jobs never self suspend After a job is released, when it begins to execute all the resources it needs are free no job is ever blocked once its execution begins when a job is preempted, all the resources needed by the preempting job are available deadlock will not occur Has the same worst-case performance as the basic priority ceiling protocol

13 13 Fred Kuhns (6/5/2014)CS523 – Operating Systems Ceiling-Priority Protocol Update Current Ceiling in the usual manner If jobs never self suspend then the stack-based priority- ceiling and ceiling-priority protocols produce the same schedules. maximum blocking time is same as stack-based and basic priority ceiling protocols. Scheduling Rule: –No resources held then schedule according to assigned priorities (J i has priority i (t) = i ). Jobs with same priority are scheduled in FIFO order. –When a job, J i, holds one or more resources then its priority i (t) = max( (R x )) for all resource R x held by J i Allocation Rule: –Allocate when requested

14 14 Fred Kuhns (6/5/2014)CS523 – Operating Systems Comparison worst case performance of stack-based and basic ceiling protocols are the same stack-based version –supported by the Real-Time systems Annex of Ada95 –Jobs must not self-suspend when jobs do not self-suspend, stack-based and ceiling-priority protocols yield the same schedules. stack-based and ceiling-priority have the same worst- case blocking time.


Download ppt "Washington WASHINGTON UNIVERSITY IN ST LOUIS Resource and Resource Access Control Fred Kuhns Applied Research Laboratory Computer Science and Engineering."

Similar presentations


Ads by Google