[SOLVED] CS代考计算机代写 /* Verifies that a single busy thread raises the load average to

30 $

File Name: CS代考计算机代写_/*_Verifies_that_a_single_busy_thread_raises_the_load_average_to.zip
File Size: 828.96 KB

SKU: 1893298989 Category: Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Or Upload Your Assignment Here:


/* Verifies that a single busy thread raises the load average to
0.5 in 38 to 45 seconds.The expected time is 42 seconds, as
you can verify:
perl -e ‘$i++,$a=(59*$a+1)/60while$a<=.5;print “$i
“‘ Then, verifies that 10 seconds of inactivity drop the load average back below 0.5 again. */#include
#include “tests/threads/tests.h”
#include “threads/init.h”
#include “threads/malloc.h”
#include “threads/synch.h”
#include “threads/thread.h”
#include “devices/timer.h”

void
test_mlfqs_load_1 (void)
{
int64_t start_time;
int elapsed;
int load_avg;

ASSERT (thread_mlfqs);

msg (“spinning for up to 45 seconds, please wait…”);

start_time = timer_ticks ();
for (;;)
{
load_avg = thread_get_load_avg ();
ASSERT (load_avg >= 0);
elapsed = timer_elapsed (start_time) / TIMER_FREQ;
if (load_avg > 100)
fail (“load average is %d.%02d ”
“but should be between 0 and 1 (after %d seconds)”,
load_avg / 100, load_avg % 100, elapsed);
else if (load_avg > 50)
break;
else if (elapsed > 45)
fail (“load average stayed below 0.5 for more than 45 seconds”);
}

if (elapsed < 38)fail (“load average took only %d seconds to rise above 0.5”, elapsed);msg (“load average rose to 0.5 after %d seconds”, elapsed);msg (“sleeping for another 10 seconds, please wait…”);timer_sleep (TIMER_FREQ * 10);load_avg = thread_get_load_avg ();if (load_avg < 0)fail (“load average fell below 0”);if (load_avg > 50)
fail (“load average stayed above 0.5 for more than 10 seconds”);
msg (“load average fell back below 0.5 (to %d.%02d)”,
load_avg / 100, load_avg % 100);

pass ();
}

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] CS代考计算机代写 /* Verifies that a single busy thread raises the load average to
30 $