讲解:C++ Operating Systemsasp、asp

Introduction// scheduler.cc// Routines to choose the next thread to run, and to dispatch to// that thread.//// These routines assume that interrupts are already disabled.// If interrupts are disabled, we can assume mutual exclusion// (since we are on a uniprocessor).//// NOTE: We can’t use Locks to provide mutual exclusion here, since// if we needed to wait for a lock, and the lock was busy, we would// end up calling FindNextToRun(), and that would put us in an// infinite loop.//// Very simple implementation – no priorities, straight FIFO.// Might need to be improved in later assignments.//// Copyright (c) 1992-1993 The Regents of the University of California.// All rights reserved. See copyright.h for copyright notice and limitation// of liability and disclaimer of warranty provisions.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::FindNextTC++代写 Operating Systems帮写asp语言程序、asp实验代写oRunn Scheduler::ShouldISwitchTask 2n Shortest Job Firstn the thread with the shortest burst time 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 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/2019030852505428.html

你可能感兴趣的:(讲解:C++ Operating Systemsasp、asp)