COMP 3000 Midterm exam 2010: Difference between revisions
m q4 formatting (latex gave error) |
m comment stubs |
||
Line 10: | Line 10: | ||
A: | A: | ||
===Comments=== | |||
==Question 3== | ==Question 3== | ||
Line 15: | Line 17: | ||
A: | A: | ||
===Comments=== | |||
==Question 4== | ==Question 4== | ||
Line 20: | Line 24: | ||
A: | A: | ||
===Comments=== | |||
==Question 5== | ==Question 5== | ||
Line 25: | Line 31: | ||
A: | A: | ||
===Comments=== | |||
==Question 6== | ==Question 6== | ||
Line 30: | Line 38: | ||
A: | A: | ||
===Comments=== | |||
==Question 7== | ==Question 7== | ||
Line 35: | Line 45: | ||
A: | A: | ||
===Comments=== | |||
==Question 8== | ==Question 8== | ||
Line 40: | Line 52: | ||
A: | A: | ||
===Comments=== | |||
==Question 9== | ==Question 9== | ||
Line 45: | Line 59: | ||
A: | A: | ||
===Comments=== | |||
==Question 10== | ==Question 10== | ||
Line 50: | Line 66: | ||
A: | A: | ||
===Comments=== | |||
==Question 11== | ==Question 11== | ||
Line 55: | Line 73: | ||
A: | A: | ||
===Comments=== | |||
==Question 12== | ==Question 12== | ||
Line 60: | Line 80: | ||
A: | A: | ||
===Comments=== | |||
==Question 13== | ==Question 13== | ||
Line 65: | Line 87: | ||
A: | A: | ||
===Comments=== | |||
==Question 14== | ==Question 14== | ||
Line 70: | Line 94: | ||
A: | A: | ||
===Comments=== | |||
==Question 15== | ==Question 15== | ||
Line 75: | Line 101: | ||
A: | A: | ||
===Comments=== | |||
==Question 16== | ==Question 16== | ||
Line 80: | Line 108: | ||
A: | A: | ||
===Comments=== | |||
==Question 17== | ==Question 17== | ||
Line 85: | Line 115: | ||
A: | A: | ||
===Comments=== | |||
==Question 18== | ==Question 18== | ||
Line 90: | Line 122: | ||
A: | A: | ||
===Comments=== | |||
==Question 19== | ==Question 19== | ||
Line 95: | Line 129: | ||
A: | A: | ||
===Comments=== | |||
==Question 20== | ==Question 20== | ||
Line 100: | Line 136: | ||
A: | A: | ||
===Comments=== | |||
==Question 21== | ==Question 21== | ||
Line 105: | Line 143: | ||
A: | A: | ||
===Comments=== | |||
==Question 22== | ==Question 22== | ||
Line 110: | Line 150: | ||
A: | A: | ||
===Comments=== | |||
==Question 23== | ==Question 23== | ||
Line 115: | Line 157: | ||
A: | A: | ||
===Comments=== | |||
==Question 24== | ==Question 24== | ||
Line 120: | Line 164: | ||
A: | A: | ||
===Comments=== |
Revision as of 14:08, 27 October 2010
Question 1
Q: On an x86-class processor that supports hardware virtualization, it is possible in principle to virtualize any OS that can run on the native hardware. In practice, only certain operating system types and versions will run well on a given VM platform (e.g., VirtualBox, VMWare Player). What is one reason for this discrepancy?
A:
Comments
Question 2
Q: Typically, what does a guest OS's hard disk look like to the host OS?
A:
Comments
Question 3
Q: The execve system call gets three arguments: a full pathname to an executable, arguments, and environment variables. What are each of these for when "chmod a+r foo.txt" is run?
A:
Comments
Question 4
Q: Why doesn't ldd
report all the libraries that are listed in /proc/$<$PID$>$/maps?
A:
Comments
Question 5
Q: When a process becomes undead (a zombie), who can send it to its grave permanently? What must it do?
A:
Comments
Question 6
Q: UNIX files each have permissions for three classes of users.
A:
Comments
Question 7
Q: A solution to the producer/consumer problem must take into account many conditions. What are three of them?
A:
Comments
Question 8
Q: What are three events that cause signals to be sent in UNIX?
A:
Comments
Question 9
Q: What system call do you use to receive data over an already existing pipe?
A:
Comments
Question 10
Q: How is an exokernel library OS like a guest OS running on a VM? How are they different?
A:
Comments
Question 11
Q: What is one reason the UNIX system call interface has had to change in response to computer architectural changes?
A:
Comments
Question 12
Q: What is one reason why mainframes support near perfect hardware virtualization of CPU, memory, and all I/O devices?
A:
Comments
Question 13
Q: How can a cluster have higher overall reliability than the individual computers that it consists of?
A:
Comments
Question 14
Q: What was a key advantage of the Lisp machine OS, Genera, over current operating systems? What was a key disadvantage?
A:
Comments
Question 15
Q: Why did kernel extensions in SPIN need to be written in a "safe" language? Why don't kernel extensions in Windows and Linux (drivers, modules) need to be written in a safe language?
A:
Comments
Question 16
Q: What is an important reason why modern schedulers, like the ULE and recent Linux schedulers, require a scheduling algorithm which operates in sublinear time? Correspondingly, why was a linear-time scheduler okay for the original UNIX? Explain briefly.
A:
Comments
Question 17
Q: Describe a race condition error and a test that would catch that error in testing. (You may describe a ``well-known race condition or one that you make up.)
A:
Comments
Question 18
Q: Can a threading library like pthreads be implemented on a system that has no native support for threads, such as the original UNIX? What is required for such an implementation?
A:
Comments
Question 19
Q: Despite their performance disadvantage, what is one reason kernel space thread schedulers are generally favored over userspace implementations?
A:
Comments
Question 20
Q: Linux's logical volume manager (LVM) allows for the creation of synthetic block devices that span physical disks, e.g., the blocks in two hard disks can be appended or striped so they appear to be one large hard disk. LVM, however, implements no file system abstraction---the unified block device must be formatted with a regular filesystem. What is one way LVM plus ext4 (a standard Linux filesystem) is similar to ZFS? What is one way in which they are different?
A:
Comments
Question 21
Q: Hard disk-based filesystems must design around the slow seek times of hard disks (relative to their sequential transfer speed). What characteristic(s) of flash (solid state) storage must flash-based filesystems design around to achieve high performance and reliability?
A:
Comments
Question 22
Q: Storage area networks (SANs) allow many computers to share access to the same storage devices via a special trusted network. Standard SAN access protocols work in terms of blocks. By reading from multiple devices concurrently, SANs can provide impressive I/O performance. Given that SANs already are extremely high performance, why are many researchers arguing that they should transition to object-based stores?
A:
Comments
Question 23
Q: What key properties of a database are developers trying to capture with database-filesystem hybrids?
A:
Comments
Question 24
Q: Why aren't standard databases a drop-in replacement for filesystems?
A: