os lacture

823 views
680 views

Published on

Published in: Travel, Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
823
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

os lacture

  1. 1. OperatingSystems Lecture 18Syed Mansoor Sarwar
  2. 2. Agenda for Today Review of previous lecture UNIX System V scheduling Algorithm evaluation Process synchronization Recap of lecture19 September 2012 © Copyright Virtual University of Pakistan
  3. 3. Review of Lecture 17 Multi-level queues scheduling Multi-level feedback queues scheduling UNIX System V scheduling algorithm19 September 2012 © Copyright Virtual University of Pakistan
  4. 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 group19 September 2012 © Copyright Virtual University of Pakistan
  5. 5. UNIX System V Example PA PB PC CPU CPU CPU Time Priority Count Priority Count Priority Count 60 0 60 0 0 60 0 1 … 60 75 30 60 0 1 1 60 0 … 30 60 2 67 15 75 30 60 0 1 … 30 15 60 3 63 7 67 75 8 30 … 67 30 4 76 33 63 7 8 67 15 … 67 6819 September 2012 5 16© Copyright Virtual University of 76 33 7 63 Pakistan
  6. 6. Round Robin Scheduling and Process Priorities 60Higher Priority B B A A A 1 2 3 B A B B A runs first A 19 September 2012 © Copyright Virtual University of 4 Pakistan 5 6
  7. 7. 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 Implementation19 September 2012 © Copyright Virtual University of Pakistan
  8. 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 general19 September 2012 © Copyright Virtual University of Pakistan
  9. 9. Deterministic Modeling Process Arrival Time Burst Time P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 Gantt chart P1 P2 P3 P2 P4 P1 0 2 4 5 7 11 1619Average waiting time =University of1 + 0 +2)/4 = 3 September 2012 © Copyright Virtual (9 + Pakistan
  10. 10. 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, …19 September 2012 © Copyright Virtual University of Pakistan
  11. 11. Queuing ModelingLittle’s Formula: n = λ* W where n = average queue length λ = average arrival rate W = average waiting time in a queue19 September 2012 © Copyright Virtual University of Pakistan
  12. 12. Queuing ModelingLet the average job arrival rate be 0.5Algorithm Average Wait Average Queue Time Length(n) W=tw 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)19 September 2012 6.0 © Copyright Virtual University of 3.0 Pakistan
  13. 13. 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 system19 September 2012 © Copyright Virtual University of Pakistan
  14. 14. 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.19 September 2012 © Copyright Virtual University of Pakistan
  15. 15. Simulation Characteristics Expensive: hours of programming and execution time May be erroneous because of the assumptions about distributions19 September 2012 © Copyright Virtual University of Pakistan
  16. 16. Simulation19 September 2012 © Copyright Virtual University of Pakistan
  17. 17. Implementation  Best  Most expensive  Good option due to Open Source kernels such as Linux19 September 2012 © Copyright Virtual University of Pakistan
  18. 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.19 September 2012 © Copyright Virtual University of Pakistan
  19. 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;19 September 2012 © Copyright Virtual University of Pakistan
  20. 20. Bounded-Buffer ProblemProducer processitem nextProduced;…while (1) { while (counter == BUFFER_SIZE) ; buffer[in] = nextProduced; in = (in + 1) % BUFFER_SIZE; counter++;}19 September 2012 © Copyright Virtual University of Pakistan
  21. 21. Bounded-Buffer ProblemConsumer processitem nextConsumed;while (1) { while (counter == 0) ; nextConsumed = buffer[out]; out = (out + 1) % BUFFER_SIZE; counter--;}19 September 2012 © Copyright Virtual University of Pakistan
  22. 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, R219 September 2012 © Copyright Virtual University of Pakistan
  23. 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.19 September 2012 © Copyright Virtual University of Pakistan
  24. 24. Bounded-Buffer Problem Assume counter is initially 5. One interleaving of statements is: producer: MOV R1, counter (R1 = 5) INC R1 (R1 = 6) consumer: MOV R2, counter (R2 = 5) DEC R2 (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 resultofshould be 5. 19 September 2012 © Copyright Virtual University Pakistan
  25. 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.19 September 2012 © Copyright Virtual University of Pakistan
  26. 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 processes19 September 2012 © Copyright Virtual University of Pakistan
  27. 27. Solution of the Critical Problem Software based solutions Hardware based solutions Operating system based solution19 September 2012 © Copyright Virtual University of Pakistan
  28. 28. Structure of Solutiondo { entry section critical section exit section reminder section} while (1);19 September 2012 © Copyright Virtual University of Pakistan
  29. 29. Recap of Lecture UNIX System V scheduling Algorithm evaluation Process synchronization Recap of lecture19 September 2012 © Copyright Virtual University of Pakistan
  30. 30. OperatingSystems Lecture 18Syed Mansoor Sarwar

×