2. For each of the following, state if the output is a valid output from the program.
Valid? (Y/N)
Output
abcbabcdcdcdeddebcdecddcdcdeddddeddeeeeeeeeeee
abcde
abcdeabcdeabcdeabcdeabcde
abbcccdddddeeedecddeeeeabcdbcdecdddedeecedede
abcdeabcdeabcdeabcdeabcdeabcde
abbcccdddddeeeeabbcccdcddddedeeeededecdeeedee
3. ______ True/False? If I remove the call to 'wait', does the set of valid outputs of the program change?
4. ______ Which of the following is true regarding operating systems scheduling opportunities?
A. An OS can make a scheduling decision only when a process makes a syscall
B. An OS can make a scheduling decision at any time
C. An OS can make a scheduling decision at any time a process enters the OS kernel (eg, via a syscall or interrupt)
D. All of A, B, C are correct
E. None of A, B, C are correct
5. ______ Which of the following is true when considering how to arrange the address space of a process? (For this question, select ALL correct answers. There may be more than one.)
A. Data and code areas can be intermixed using segmentation
B. You should place the stack and heap areas close to each other, to benefit from cache locality
C. Paging should be used to limit fragmentation due to memory "holes"
D. You should place the stack and heap areas far away from each other to prevent address clashes
E. None of the above