logo

Crowdly

Browser

Add to Chrome

2025W Operating Systems (CS-3520-01)

Looking for 2025W Operating Systems (CS-3520-01) test answers and solutions? Browse our comprehensive collection of verified answers for 2025W Operating Systems (CS-3520-01) at moodle31.upei.ca.

Get instant access to accurate answers and detailed explanations for your course questions. Our community-driven platform helps students succeed!

Which of the following tasks would have improved performance if the OS prefetches the next page along with the requested page from disk on page selections?

0%
0%
0%
0%
View this question
A page fault occurs when:
View this question
Given the choice between evicting a dirty page or a clean page from physical memory, which one should you choose and why?
View this question
When the OS decides to swap a page out of physical memory, what is the optimal choice that will result in the fewest possible page faults?
0%
0%
0%
0%
View this question

In the example code from class where we created two threads to update a shared counter, a race condition arose. Which of the following best describes the race condition?

View this question

Suppose it takes 50ns to access memory and 5000ns to access disk. To guarantee that Average Memory Access Time (AMAT) is at most 100ns, what must be true about the page-hit-rate H (the percent of pages accessed that are present in physical memory)?

View this question
Suppose we have 4 pages (P0, P1, P2, and P3) in physical memory and need to choose one to evict using the clock algorithm to approximate LRU. Suppose further that each page has its use bit equal to 0 and the clock hand initially points to P0 and visits them in order.

Which page will be evicted?

View this question
Which of the following is true of the address space of a multithreaded process?
View this question

Recall the code below from class where we used a condition variable to make sure the child runs before the parent prints. Why did we include the int variable done if signalling and waiting is done automatically with condition variables?

int done = 0;

pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;

pthread_cond_t c = PTHREAD_COND_INITIALIZER;

void thr_exit() {

Pthread_mutex_lock(&m);

done = 1;

Pthread_cond_signal(&c);

Pthread_mutex_unlock(&m);

}

void *child(void *arg) {

printf("child");

thr_exit();

return NULL;

}

void thr_join() {

Pthread_mutex_lock(&m);

while (done == 0)

Pthread_cond_wait(&c, &m);

Pthread_mutex_unlock(&m);

}

int main(int argc, char *argv[]) {

printf("parent: begin");

pthread_t p;

Pthread_create(&p, NULL, child, NULL);

thr_join();

printf("parent: end");

return 0;

}

View this question
In our working producer and consumer solutions with a single buffer slot using condition variables, we made the producer check that count was 0 in a while loop and the consumer similarly check that it was 1 in a while loop. Why is a while loop necessary here instead of an if statement?
View this question

Want instant access to all verified answers on moodle31.upei.ca?

Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!

Browser

Add to Chrome