COMP 3000 Midterm review 2010: Difference between revisions

From Soma-notes
 
(7 intermediate revisions by the same user not shown)
Line 43: Line 43:


# 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.
# 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 ways that a scheduler can attempt to provide "fair" allocation of processor time to all threads in the system. Provide a description of the pros and cons of the methods you provide.
# 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==
==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==
==Essay 7 Questions==
# What is a major obstacle to thread scalability? Explain.
# 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==
==Essay 8 Questions==


# What new style of processing caused the development of the POSIX standards?
# 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 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?


==Essay 10 Questions==
==Essay 10 Questions==
#Even though flash drives are exponentially faster than traditional HDDs, why are HDDs still the main method of data storage?
#Writing and erasing data are costly operations for a flash based storage drive. Why does modifying data (even a single bit) take the most amount of time?
#Why is the Flash Translational Layer so important to a flash drive's functionality? Why can you not use the traditional interface to deal with the block layer?
#What particularities/deficiencies of flash memory does any file-system which implements it have to take into account? What are some ways of dealing with them?


==Essay 11 Questions==
==Essay 11 Questions==
# How do objects help secure data access in SAN-based storage systems while maximizing performance?
# How has Moore's law made object-based storage feasible today (when it wasn't 10 or 20 years ago)?


==Essay 12 Questions==
==Essay 12 Questions==
#What key properties of a database are developers trying to capture with database-filesystem hybrids?
#What potential advantages does a database-filesystem hybrid have over a pure filesystem with a database implemented on top?
#Why aren't standard databases a drop-in replacement for filesystems?

Latest revision as of 02:13, 18 October 2010

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

  1. How do traditional filesystems address the problem of shrinking or growing filesystems? What about ZFS?
  2. Why do filesystems have to be specially designed to handle both very large and very small files?

Essay 10 Questions

  1. Even though flash drives are exponentially faster than traditional HDDs, why are HDDs still the main method of data storage?
  2. Writing and erasing data are costly operations for a flash based storage drive. Why does modifying data (even a single bit) take the most amount of time?
  3. Why is the Flash Translational Layer so important to a flash drive's functionality? Why can you not use the traditional interface to deal with the block layer?
  4. What particularities/deficiencies of flash memory does any file-system which implements it have to take into account? What are some ways of dealing with them?

Essay 11 Questions

  1. How do objects help secure data access in SAN-based storage systems while maximizing performance?
  2. How has Moore's law made object-based storage feasible today (when it wasn't 10 or 20 years ago)?

Essay 12 Questions

  1. What key properties of a database are developers trying to capture with database-filesystem hybrids?
  2. What potential advantages does a database-filesystem hybrid have over a pure filesystem with a database implemented on top?
  3. Why aren't standard databases a drop-in replacement for filesystems?