logo Hurry, Grab up to 30% discount on the entire course
Order Now logo

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Pierre BernierData mining
(5/5)

985 Answers

Hire Me
expert
Crane CummingsTechnical writing
(5/5)

963 Answers

Hire Me
expert
Namita JainFinance
(5/5)

896 Answers

Hire Me
expert
StatAnalytica ExpertData mining
(5/5)

542 Answers

Hire Me
Operating System

Build a Rate Monotonic Scheduler with four threads Threads T1 through T4 Thread T1 has a period of 1 unit Thread T2 has a period of 2 units Thread T3 has a period of 4 units Thread T4 has a period of 16 units

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

Project Requirements

•   Build a Rate Monotonic Scheduler with four threads

  • Scheduler details:

    • Threads T1 through T4

    • Thread T1 has a period of 1 unit

    • Thread T2 has a period of 2 units

    • Thread T3 has a period of 4 units

    • Thread T4 has a period of 16 units

    • A unit shall be anywhere from 10-100 ms (depending on operating system options)

    • Each thread will execute the same doWork method but run it a different number of times:

      • Thread T1 executes doWork 100 times

      • Thread T2 executes doWork 200 times

      • Thread T3 executes doWork 400 times

      • Thread T4 executes doWork 1600 times

Project Requirements

•   Scheduler shall have a major frame period of 16 units of time

  • Program shall start scheduler and four threads that are to be scheduled

    • Scheduler needs to be woken up by a periodic source (signal/timer/etc) and it shall schedule the threads

    • The program shall run for 10 periods and then terminate, but not before printing out how many times each thread ran

•   Each thread shall increment a dedicated counter each time it runs

  • The scheduler shall be able to identify if a thread has missed its deadline and keep track of how many times it happens

 

 

Project Requirements

  • The following test cases shall be demonstrated

    • Nominal case with no overruns

    • Failed case where the doWork function is called as many times as required to lead to an overrun condition in T2 – what happens to other threads?

    • All results are printed out at the completion of the run to not effect the timing

    • When an overrun condition occurs, the scheduler shall not schedule the thread and skip a period

Project Requirements

  • doWork function will do the following:

    • Will multiply the content of each cell of a 10x10 matrix starting with column 0 followed by 5, then 1 followed by 6, etc

1       3     5      7     9     2     4      6     8     10

Column order of execution

Hints

•   Remember that you have a scheduler that is orchestrating everything else – separate thread

  • Priorities are essential – remember rules of RMS

  • Semaphores needed for synchronization

  • May need mutex to protect shared data between scheduler and threads – remember priority inversion

  • You need to use processor affinity on all your threads (including the scheduler)

  • For the overrun conditions, you should not schedule the thread that has missed its deadline

    • You will be skipping it for that execution period

•   You can initially use a sleep( ) or similar function to set the timing on your scheduler until you work out the synchronization with the other threads and then replace with a timer

project Artifacts

  • Demonstrate by outputting the counters for each thread that shows how many times each one ran and how many times an overrun occurred per thread

    • Can be printed to the screen or sent to a file

  • Students must turn in the following:

    • Source code

    • Output of the program

    • A brief design description that explains the design, how were the threads synchronized and dispatched

Related Questions

. The fundamental operations of create, read, update, and delete (CRUD) in either Python or Java

CS 340 Milestone One Guidelines and Rubric  Overview: For this assignment, you will implement the fundamental operations of create, read, update,

. Develop a program to emulate a purchase transaction at a retail store. This  program will have two classes, a LineItem class and a Transaction class

Retail Transaction Programming Project  Project Requirements:  Develop a program to emulate a purchase transaction at a retail store. This

. The following program contains five errors. Identify the errors and fix them

7COM1028   Secure Systems Programming   Referral Coursework: Secure

. Accepts the following from a user: Item Name Item Quantity Item Price Allows the user to create a file to store the sales receipt contents

Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip

. The final project will encompass developing a web service using a software stack and implementing an industry-standard interface. Regardless of whether you choose to pursue application development goals as a pure developer or as a software engineer

CS 340 Final Project Guidelines and Rubric  Overview The final project will encompass developing a web service using a software stack and impleme