<< Chapter < Page Chapter >> Page >

1. [20 points, 1 each] true or false, circle t or f.

a. A binary semaphore takes on numerical values 0 and 1 only.

b. An atomic operation is a machine instruction or a sequence of instructions

that must be executed to completion without interruption.

c. Deadlock is a situation in which two or more processes (or threads) are waiting for an event that will occur in the future

d. Starvation is a situation in which a process is denied access to a resource

because of the competitive activity of other, possibly unrelated, processes.

e. While a process is blocked on a semaphore's queue, it is engaged in busy waiting.

f. Circular waiting is a necessary condition for deadlock, but not a sufficient

condition a condition for the deadlock to occur.

g. Mutual exclusion can be enforced with a general semaphore whose initial value is greater than 1

h. External fragmentation can occur in a paged virtual memory system.

i. External fragmentation can be prevented (almost completely) by frequent use of compaction, but the cost would be too high for most systems.

j. A page frame is a portion of main memory.

k. Once a virtual memory page is locked into main memory, it cannot be written to the disk.

l. Pages that are shared between two or more processes can never be swapped out to the disk.

m. The allocated portions of memory using a buddy system are all the same size.

n. Demand paging requires the programmer to take specific action to force the

operating system to load a particular virtual memory page.

o. Prepaging is one possibility for the fetch policy in a virtual memory system.

p. The resident set of a process can be changed in response to actions by other processes.

q. The working set of a process can be changed in response to actions by other processes.

r. The translation lookaside buffer is a software data structure that supports he virtual memory address translation operation.

s. In a symmetric multiprocessor, threads can always be run on any processor.

t. Thrashing will never be a problem if the system has 1 GB of real memory.

2. [20 points, 5 each] short answers and simple diagrams.

(a) Define the resident set of a process.

(b) Define the working set of a process.

(c) What problems could occur if virtual memory pages are always allocated in groups of four?

(d) What information is used by the Least Recently Used page replacement policy, and how does this compare to the information used by the various Clock algorithms?

3. [20 points, 5 each] short answers and simple diagrams.

(a) In terms of memory allocation, what is a reference counter? Why is it needed?

(b) Explain why, or why not, internal fragmentation can be a problem when using the best fit algorithm for memory allocation.

(c) One of the options in a mainframe OS is to limit the number of jobs (processes) currently in the system. What are some of the benefits of this capability?

(d) In what circumstances of virtual memory is the placement policy an important issue?

4. [20 points, 5 each] short answers.

(a) What are four general characteristics of processor scheduling policies?

(b) Define Turnaround Time and Normalized Turnaround Time. Why are these useful for measuring the performance of a scheduling algorithm?

(c) What would be the effect of a large number of page faults by a process on that process's page allocation on a nonpreemptive operating system?

(d) What are four actions or decisions that a preemptive virtual memory operating system would make at the end of a time quantum (in response to a timer interrupt)?

5. [20 points]

This function is proposed for use in an operating system, with the definitions of

Process, Process_Set and other functions given elsewhere.

Process next_process(Process_Set available_processes) {

Process_Set A = highest_valuation(available_processes); /* priority ranking */

Process_Set B = earliest(A); /* actual arrival time */

Process c = random_selection(B); /* tie-breaker */

return c; /* run this process next */

}

(a) [5] Explain why this function could lead to processor starvation among the available processes.

(b) [5] Suppose one of the criteria used by the highest_valuation function is the process's fraction of virtual memory pages currently in main memory. Explain why this is not a good idea.

(c) [10] Define a version of the highest_valuation function (in the same style, but with some more descriptive comments) for the Shortest Process Next scheduling policy. Describe the data requirements and how this data is obtained.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Operating systems. OpenStax CNX. Aug 13, 2009 Download for free at http://cnx.org/content/col10785/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Operating systems' conversation and receive update notifications?

Ask