DOC PREVIEW
Berkeley COMPSCI 162 - Thread Scheduling Protection

This preview shows page 1-2-3-19-20-39-40-41 out of 41 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 41 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 41 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 41 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 41 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 41 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 41 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 41 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 41 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 41 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS162 Operating Systems and Systems Programming Lecture 11 Thread Scheduling (con’t) Protection: Address SpacesReview: Last TimeGoals for TodayExample to illustrate benefits of SRTFSRTF Example continued:Review: SRTF Further discussionPredicting the Length of the Next CPU BurstMulti-Level Feedback SchedulingScheduling DetailsAdministriviaScheduling FairnessLottery SchedulingLottery Scheduling ExampleHow to Evaluate a Scheduling algorithm?A Final Word On SchedulingVirtualizing ResourcesRecall: Single and Multithreaded ProcessesImportant Aspects of Memory MultiplexingBinding of Instructions and Data to MemoryMulti-step Processing of a Program for ExecutionRecall: UniprogrammingMultiprogramming (First Version)Multiprogramming (Version with Protection)Segmentation with Base and Limit registersIssues with simple segmentation methodMultiprogramming (Translation and Protection version 2)Example of General Address TranslationTwo Views of MemoryExample of Translation Table FormatDual-Mode OperationFor Protection, Lock User-Programs in AsylumHow to get from KernelUserUserKernel (System Call)System Call ContinuedUserKernel (Exceptions: Traps and Interrupts)Additions to MIPS ISA to support Exceptions?Intel x86 Special RegistersCommunicationClosing thought: Protection without HardwareSummarySummary (2)CS162Operating Systems andSystems ProgrammingLecture 11Thread Scheduling (con’t)Protection: Address SpacesFebruary 23, 2010Ion Stoicahttp://inst.eecs.berkeley.edu/~cs162Lec 11.22/23/10 CS162 ©UCB Spring 2010Review: Last Time•Scheduling: selecting a waiting process from the ready queue and allocating the CPU to it•FCFS Scheduling:–Run threads to completion in order of submission–Pros: Simple (+)–Cons: Short jobs get stuck behind long ones (-)•Round-Robin Scheduling: –Give each thread a small amount of CPU time when it executes; cycle between all ready threads–Pros: Better for short jobs (+)–Cons: Poor when jobs are same length (-)Lec 11.32/23/10 CS162 ©UCB Spring 2010Goals for Today•Finish discussion of Scheduling•Kernel vs User Mode•What is an Address Space?•How is it Implemented?Note: Some slides and/or pictures in the following areadapted from slides ©2005 Silberschatz, Galvin, and GagneLec 11.42/23/10 CS162 ©UCB Spring 2010Example to illustrate benefits of SRTF•Three jobs:–A,B: both CPU bound, run for weekC: I/O bound, loop 1ms CPU, 9ms disk I/O–If only one at a time, C uses 90% of the disk, A or B could use 100% of the CPU•With FIFO:–Once A or B get in, keep CPU for two weeks•What about RR or SRTF?–Easier to see with a timelineCC’s I/OC’s I/OC’s I/OA or BLec 11.52/23/10 CS162 ©UCB Spring 2010SRTF Example continued:C’s I/OCABAB… CC’s I/ORR 1ms time sliceC’s I/OC’s I/OCA BCRR 100ms time sliceC’s I/OACC’s I/OAASRTFDisk Utilization:~90% but lots of wakeups!Disk Utilization:90%Disk Utilization:9/201 ~ 4.5%Lec 11.62/23/10 CS162 ©UCB Spring 2010Review: SRTF Further discussion•Starvation–SRTF can lead to starvation if many small jobs!–Large jobs never get to run•Somehow need to predict future–How can we do this? –Some systems ask the user»When you submit a job, have to say how long it will take»To stop cheating, system kills job if takes too long–But: Even non-malicious users have trouble predicting runtime of their jobs•Bottom line, can’t really know how long job will take–However, can use SRTF as a yardstick for measuring other policies–Optimal, so can’t do any better•SRTF Pros & Cons–Optimal (average response time) (+)–Hard to predict future (-)–Unfair (-)Lec 11.72/23/10 CS162 ©UCB Spring 2010Predicting the Length of the Next CPU Burst•Adaptive: Changing policy based on past behavior–CPU scheduling, in virtual memory, in file systems, etc–Works because programs have predictable behavior»If program was I/O bound in past, likely in future»If computer behavior were random, wouldn’t help•Example: SRTF with estimated burst length–Use an estimator function on previous bursts: Let tn-1, tn-2, tn-3, etc. be previous CPU burst lengths. Estimate next burst n = f(tn-1, tn-2, tn-3, …)–Function f could be one of many different time series estimation schemes (Kalman filters, etc)–For instance, exponential averagingn = tn-1+(1-)n-1with (0<1)Lec 11.82/23/10 CS162 ©UCB Spring 2010Multi-Level Feedback Scheduling•Another method for exploiting past behavior–First used in CTSS–Multiple queues, each with different priority»Higher priority queues often considered “foreground” tasks–Each queue has its own scheduling algorithm»e.g. foreground – RR, background – FCFS»Sometimes multiple RR priorities with quantum increasing exponentially (highest:1ms, next:2ms, next: 4ms, etc)•Adjust each job’s priority as follows (details vary)–Job starts in highest priority queue–If timeout expires, drop one level–If timeout doesn’t expire, push up one level (or to top)Long-Running ComputeTasks Demoted to Low PriorityLec 11.92/23/10 CS162 ©UCB Spring 2010Scheduling Details•Result approximates SRTF:–CPU bound jobs drop like a rock–Short-running I/O bound jobs stay near top•Scheduling must be done between the queues–Fixed priority scheduling: »serve all from highest priority, then next priority, etc.–Time slice:»each queue gets a certain amount of CPU time »e.g., 70% to highest, 20% next, 10% lowest•Countermeasure: user action that can foil intent of the OS designer–For multilevel feedback, put in a bunch of meaningless I/O to keep job’s priority high–Of course, if everyone did this, wouldn’t work!•Example of Othello program:–Playing against competitor, so key was to do computing at higher priority the competitors. »Put in printf’s, ran much faster!Lec 11.102/23/10 CS162 ©UCB Spring 2010Administrivia•Midterm I coming up in two weeks!:–Tuesday 3/9, 3:30-6:30 (this room)–Should be 2 hour exam with extra time–Closed book, one page of hand-written notes (both sides)•No class on day of Midterm–I will post extra office hours for people who have questions about the material (or life, whatever)•Midterm Topics–Everything up to (and including) Thursday (3/4)–History, Concurrency, Multithreading, Synchronization, Protection/Address Spaces/TLBsLec 11.112/23/10 CS162 ©UCB Spring 2010Scheduling Fairness•What about fairness?–Strict fixed-priority scheduling between queues is unfair (run highest, then next,


View Full Document

Berkeley COMPSCI 162 - Thread Scheduling Protection

Documents in this Course
Lecture 1

Lecture 1

12 pages

Nachos

Nachos

41 pages

Security

Security

39 pages

Load more
Download Thread Scheduling Protection
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Thread Scheduling Protection and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Thread Scheduling Protection 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?