Introduction示范代码:boolScheduler::ShouldISwitch ( Thread oldThread, Thread newThread ){bool doSwitch;switch(policy){case SCHED_FCFS:{doSwitch = false;break;}case SCHED_SJF:{//YOUR PROJECT2 CODE HEREdoSwitch = false;break;}case SCHED_PRIO_NP:{//YOUR PROJECT2 CODE HEREdoSwitch = false;break;}default:doSwitch = false;break;}return doSwitch;}RequirementCOMP 3511Operating SystemsProject #2Objectives and Tasksn Run Nachos with Pre-implemented SchedulingSystem Skeletonn Implement SJF and Non-preemptive PriorityScheduling Algorithmsn Explain the ResultsYou are strongly recommended to use the servers inthis lab for this project.ssh username@csl2wk01(~csl2wk40).cse.ust.hkTask 1n Task 1: Run Nachos with Pre-implementedScheduling System Skeletonn Step 1: Download Nachos source code of this projectn Step 2: Extract the source coden Step 3: Compile the coden Step 4: Run nachosn Step 5: Read the codeTask 1n Three scheduling algorithmsn First Come First Serve (FCFS)n Shortest Job First (SJF)n Non-Preemptive Priority (NP_Priority)Executable File Source FileCorrespondingAlgorithmAlreadyImplemented?test0 test.0.cc FCFS Yestest1 test.1.cc SJF Notest2 test.2.cc NP_Priority NoTask 1n Read the codes (threads/scheduler.cc)n ReadyToRun()n placing a thread into ready queuen FindNextToRun()n decides the policy of picking one thread to run from theready queuen ShouldISwitch()n whether the running thread should preemptively give upto a newly forked threadTask 2n Implement SJF and NP_Priorityn Only modify scheduler.ccn Scheduler::ReadyToRunn Scheduler::FindNextToRunn Scheduler::ShouldISwitchTask 2n Shortest Job Firstn the thread with the shortest burst time in the ReadyListshould be scheduled for running after the currentC++代写 COMP 3511 Operating Systems代做asp程序、asp编程代写thread is done with burst.n Return first thread when scheduler needs to pick onethread to runn Hint: insert the thread to ReadyList according to itsburst time when a thread gets ready.n Make use of the function SortedInsert() in List.ccn Example:list->SortedInsert(thread,thread->getBurstTime());this line of code insert the thread into the list basedon its burst time.Task 2n Non-Preemptive Priority Schedulingn the thread with the highest priority in the ReadyListshould be scheduled for running after the currentthread is done with burst.n Return first thread when scheduler needs to pick onethread to runn Hint: insert the thread to ReadyList according to itspriority when a thread gets ready.n Make use of the function SortedInsert() in List.ccn Take care of the order!Task 2n Compile and Runn Save your outputs to project2_test1.txt andproject2_test2.txt, respectively,n Keep your source code scheduler.ccTask 3n Explain the Results1. Understand the output of test0 (FCFS scheduling) , test1 (SJFscheduling) and test2 (NPPriority). Then calculate the followingperformance metrics of each scheduling algorithms:a) Average waiting time;b) Average response time;c) Average turn-around time.2. Compare the performance among the first two scheduling algorithms(FCFS and SJF) in the aspects mentioned in question 1, then discussthe pros and cons of each scheduling algorithms. (Note: you arestrongly encouraged to change the input threads in test.0.cc andtest.1.cc in order to make your discussion more convincing. However,when submitting the outputs of test1, please do submit the outputs withthe original input threads.)Outputsn Please generate a single file using ZIP and submit it throughCASSn Name of the ZIP: “proj2**.zip” (* as student ID)n Inside the ZIP file:File Name Descriptionscheduler.ccSource code you have accomplished bythe end of Task2project2_test1.txt Output of test1project2_test2.txt Output of test2project2_report.txt The answer to the questions in Task 3转自:http://ass.3daixie.com/2019042536767002.html
讲解:C++ COMP 3511 Operating Systemsasp、asp
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Introduction示范代码:boolScheduler::ShouldISwitch ( Thread ...
- Introduction// scheduler.cc// Routines to choose the n...