COMP 3000 Midterm review 2010

From Soma-notes

Lab 1 Questions

  1. What are the key advantages of installing VM-specific device drivers in a guest OS?
  2. Typically, what does a guest OS's hard disk look like to the host OS?
  3. 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

  1. 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?
  2. Why doesn't ldd report all the libraries that are listed in /proc/<PID>/maps?
  3. When a process becomes undead (a zombie), who can send it to its grave permanently? What must it do?
  4. UNIX files each have permissions for three classes of users. What are those classes? Extra credit: Does Windows have similar classes?


Lab 3 Questions

  1. A solution to the producer/consumer problem must take into account many conditions. What are three of them?
  2. Can the fork system call do everything the clone system call can do? Explain.
  3. What are three events that cause signals to be sent in UNIX?
  4. What system call do you use to send data over an already existing pipe?


Essay 1 Questions

  1. What is the key difference between an exokernel library OS and a guest OS running on a VM?
  2. Why can exokernels provide much better performance than a microkernel for certain workloads?

Essay 2 Questions

  1. Why have bigger disks and larger memories inspired revised system call interfaces?

Essay 3 Questions

  1. Which has better support for backwards compatibility, z/OS or Windows 7? Explain.
  2. How is a cluster like a mainframe? How is it different?

Essay 4 Questions

  1. What was a key advantage of the Lisp machine OS, Genera, over current operating systems? What was a key disadvantage?
  2. How was Smalltalk's object orientation different from that of C++ or Java? How did this impact the design of the Smalltalk environment?
  3. 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

  1. 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.
  2. 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

  1. How did a race condition error contribute to the 2003 blackout? Specifically, how did such a flaw cause the alarm system to fail?
  2. How did a race condition prevent keyboard input from being properly handled in the Therac-25 incident?
  3. In general, why can't race conditions be adequately tested for?

Essay 7 Questions

  1. In general, kernel-based threads have higher overhead than userspace threads. Why?
  2. What is the difference between 1:1, 1:n, m:n thread models?

Essay 8 Questions

  1. 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

Essay 10 Questions

Essay 11 Questions

Essay 12 Questions