COMP 3000 Midterm review 2010
Lab 1 Questions
- What are the key advantages of installing VM-specific device drivers in a guest OS?
- Typically, what does a guest OS's hard disk look like to the host OS?
- If a virtual machine is allocated 512 MB of RAM, how much physical RAM (as seen by the host OS) will be consumed?
Lab 2 Questions
- The execve system call gets three arguments: a full pathname to an executable, arguments, and environment variables. What are each of these for when "ls -a" is run?
- Why doesn't ldd report all the libraries that are listed in /proc/<PID>/maps?
- When a process becomes undead (a zombie), who can send it to its grave permanently? What must it do?
- UNIX files each have permissions for three classes of users. What are those classes? Extra credit: Does Windows have similar classes?
Lab 3 Questions
- A solution to the producer/consumer problem must take into account many conditions. What are three of them?
- Can the fork system call do everything the clone system call can do? Explain.
- What are three events that cause signals to be sent in UNIX?
- What system call do you use to send data over an already existing pipe?
Essay 1 Questions
- What is the key difference between an exokernel library OS and a guest OS running on a VM?
- Why can exokernels provide much better performance than a microkernel for certain workloads?
Essay 2 Questions
- Why have bigger disks and larger memories inspired revised system call interfaces?
Essay 3 Questions
- Which has better support for backwards compatibility, z/OS or Windows 7? Explain.
- How is a cluster like a mainframe? How is it different?
Essay 4 Questions
- What was a key advantage of the Lisp machine OS, Genera, over current operating systems? What was a key disadvantage?
- How was Smalltalk's object orientation different from that of C++ or Java? How did this impact the design of the Smalltalk environment?
- 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?
Essay 5 Questions
- What is the main reason why modern schedluers, like the ULE and recent Linux schedulers, require a scheduling algorithm which operates in sublinear time? Explain.
- Describe two standard criteria that a scheduler can use when determining the amount of CPU time to allocate to a thread or process. What are the advantages and disadvantages of them?
Essay 6 Questions
- How did a race condition error contribute to the 2003 blackout? Specifically, how did such a flaw cause the alarm system to fail?
- How did a race condition prevent keyboard input from being properly handled in the Therac-25 incident?
- In general, why can't race conditions be adequately tested for?
Essay 7 Questions
- In general, kernel-based threads have higher overhead than userspace threads. Why?
- What is the difference between 1:1, 1:n, m:n thread models?
Essay 8 Questions
- Multithreaded programs are particularly good at taking advantage of multiple symmetric CPUs. Do systems supporting the pthreads API always support running threads on multiple CPUs? Explain.
Essay 9 Questions
- How do traditional filesystems address the problem of shrinking or growing filesystems? What about ZFS?
- Why do filesystems have to be specially designed to handle both very large and very small files?