Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 18 Syed Mansoor Sarwar

Similar presentations


Presentation on theme: "Lecture 18 Syed Mansoor Sarwar"— Presentation transcript:

1 Lecture 18 Syed Mansoor Sarwar
Operating Systems Lecture 18 Syed Mansoor Sarwar

2 © Copyright Virtual University of Pakistan
Agenda for Today Review of previous lecture UNIX System V scheduling Algorithm evaluation Process synchronization Recap of lecture 27 February 2019 © Copyright Virtual University of Pakistan

3 © Copyright Virtual University of Pakistan
Review of Lecture 17 Multi-level queues scheduling Multi-level feedback queues scheduling UNIX System V scheduling algorithm 27 February 2019 © Copyright Virtual University of Pakistan

4 UNIX System V Scheduling Algorithm
Every second, the priority number of all those processes that are in the main memory and ready to run is updated by using the following formula: Priority# = (Recent CPU Usage)/2 + Thr. Pri.+ nice Threshold priority and nice values are always positive to prevent a user from migrating out of its assigned group 27 February 2019 © Copyright Virtual University of Pakistan

5 © Copyright Virtual University of Pakistan
UNIX System V Example PA PB PC CPU Count 1 60 30 15 7 8 67 33 16 CPU Count 1 60 30 15 7 8 67 33 CPU Count 1 60 30 15 7 Time Priority 60 75 67 63 76 68 Priority 60 75 67 63 76 Priority 60 75 67 63 1 2 3 4 5 27 February 2019 © Copyright Virtual University of Pakistan

6 Round Robin Scheduling and Process Priorities
60 B Higher Priority B A A A 1 2 3 B A B B A runs first A 27 February 2019 © Copyright Virtual University of Pakistan 4 5 6

7 © Copyright Virtual University of Pakistan
Algorithm Evaluation Analytic Evaluation The algorithm and some system workload are used to produce a formula or number which gives the performance of the algorithm for that workload. Deterministic modeling Queuing models Implementation 27 February 2019 © Copyright Virtual University of Pakistan

8 Deterministic Modeling
Predetermined workload and performance of each algorithm for that workload. Use of Gantt charts. Simple and fast Exact numbers for comparison Requires exact input Performance figures may not be true in general 27 February 2019 © Copyright Virtual University of Pakistan

9 Deterministic Modeling
Process Arrival Time Burst Time P P P P Gantt chart Average waiting time = ( )/4 = 3 P3 P2 4 2 11 P4 5 7 P1 16 27 February 2019 © Copyright Virtual University of Pakistan

10 © Copyright Virtual University of Pakistan
Queuing Modeling Computer system viewed as a network of queues and servers: ready queue, I/O queue, event queues, CPUs, I/O device controllers, etc. Input: Arrival and service rates Output: CPU utilization, average queue length, average waiting time, … 27 February 2019 © Copyright Virtual University of Pakistan

11 © Copyright Virtual University of Pakistan
Queuing Modeling Little’s Formula: n = λ* W where n = average queue length λ = average arrival rate W = average waiting time in a queue 27 February 2019 © Copyright Virtual University of Pakistan

12 Queuing Modeling Let the average job arrival rate be 0.5 Algorithm
Average Wait Time W=tw Average Queue Length(n) FCFS 4.6 2.3 SJF 3.6 1.8 SRTF 3.2 1.6 RR (q=1) 7.0 3.5 RR (q=4) 6.0 3.0 27 February 2019 © Copyright Virtual University of Pakistan

13 © Copyright Virtual University of Pakistan
Queuing Modeling Complicated mathematics Distributions (Poisson, uniform, exponential, etc) for the arrival and departure rates can be difficult to work with Assumptions may not be accurate Approximation of the real system 27 February 2019 © Copyright Virtual University of Pakistan

14 © Copyright Virtual University of Pakistan
Simulation Programming model for the computer system Workload generated by assuming some distribution and a random number generator, or by collecting data from the actual system. 27 February 2019 © Copyright Virtual University of Pakistan

15 © Copyright Virtual University of Pakistan
Simulation Characteristics Expensive: hours of programming and execution time May be erroneous because of the assumptions about distributions 27 February 2019 © Copyright Virtual University of Pakistan

16 © Copyright Virtual University of Pakistan
Simulation 27 February 2019 © Copyright Virtual University of Pakistan

17 © Copyright Virtual University of Pakistan
Implementation Best Most expensive Good option due to Open Source kernels such as Linux 27 February 2019 © Copyright Virtual University of Pakistan

18 Process Synchronization
Concurrent access to shared data may result in data inconsistency. Maintaining data consistency requires mechanisms to ensure that cooperating processes access shared data sequentially. 27 February 2019 © Copyright Virtual University of Pakistan

19 Bounded-Buffer Problem
Shared data #define BUFFER_SIZE 10 typedef struct { . . . } item; item buffer[BUFFER_SIZE]; int in = 0, out = 0; int counter = 0; 27 February 2019 © Copyright Virtual University of Pakistan

20 Bounded-Buffer Problem
Producer process item nextProduced; while (1) { while (counter == BUFFER_SIZE) ; buffer[in] = nextProduced; in = (in + 1) % BUFFER_SIZE; counter++; } 27 February 2019 © Copyright Virtual University of Pakistan

21 Bounded-Buffer Problem
Consumer process item nextConsumed; while (1) { while (counter == 0) ; nextConsumed = buffer[out]; out = (out + 1) % BUFFER_SIZE; counter--; } 27 February 2019 © Copyright Virtual University of Pakistan

22 Bounded-Buffer Problem
“counter++” in assembly language MOV R1, counter INC R1 MOV counter, R1 “counter--” in assembly language MOV R2, counter DEC R2 MOV counter, R2 27 February 2019 © Copyright Virtual University of Pakistan

23 Bounded-Buffer Problem
If both the producer and consumer attempt to update the buffer concurrently, the machine language statements may get interleaved. Interleaving depends upon how the producer and consumer processes are scheduled. 27 February 2019 © Copyright Virtual University of Pakistan

24 Bounded-Buffer Problem
Assume counter is initially 5. One interleaving of statements is: producer: MOV R1, counter (R1 = 5) INC R (R1 = 6) consumer: MOV R2, counter (R2 = 5) DEC R (R2 = 4) producer: MOV counter, R1 (counter = 6) consumer: MOV counter, R2 (counter = 4) The value of count may be either 4 or 6, where the correct result should be 5. 27 February 2019 © Copyright Virtual University of Pakistan

25 Process Synchronization
Race Condition: The situation where several processes access and manipulate shared data concurrently, the final value of the data depends on which process finishes last. 27 February 2019 © Copyright Virtual University of Pakistan

26 Process Synchronization
Critical Section: A piece of code in a cooperating process in which the process may updates shared data (variable, file, database, etc.). Critical Section Problem: Serialize executions of critical sections in cooperating processes 27 February 2019 © Copyright Virtual University of Pakistan

27 Solution of the Critical Problem
Software based solutions Hardware based solutions Operating system based solution 27 February 2019 © Copyright Virtual University of Pakistan

28 © Copyright Virtual University of Pakistan
Structure of Solution do { critical section reminder section } while (1); entry section exit section 27 February 2019 © Copyright Virtual University of Pakistan

29 © Copyright Virtual University of Pakistan
Recap of Lecture UNIX System V scheduling Algorithm evaluation Process synchronization Recap of lecture 27 February 2019 © Copyright Virtual University of Pakistan

30 Lecture 18 Syed Mansoor Sarwar
Operating Systems Lecture 18 Syed Mansoor Sarwar


Download ppt "Lecture 18 Syed Mansoor Sarwar"

Similar presentations


Ads by Google