Difference between revisions of "COMP 3000 Test 2 Study Guide 2011"

From Soma-notes
Jump to navigation Jump to search
Line 25: Line 25:
==Sample Questions==
==Sample Questions==


Note: these questions are more open-ended than the ones that will be on the final test.
Note: these questions are more open-ended than the ones that will be on the final test.  There will also be a question session just before the test - the test will only be around 30 minutes long.


# Without errors, what does the execve system call return?
# Without errors, what does the execve system call return?
Line 32: Line 32:
# If a parent and child process start printing  "Parent\n" and "Child\n" to standard out, what will be the order of the output?
# If a parent and child process start printing  "Parent\n" and "Child\n" to standard out, what will be the order of the output?
# In race-demo, why does the consumer sometimes finish before the producer has done hardly anything?
# In race-demo, why does the consumer sometimes finish before the producer has done hardly anything?
# What does pthread_join() do?
#  
#  
#
#
#
#
#

Revision as of 15:44, 7 November 2011

Key Concepts

For this test, you should understand the following terms and how they interrelate:

  • execve semantics
  • how command line variables are processed by execve
  • how environment variables are processed by execve
  • signal handlers
  • concurrent operation with fork
  • scheduler and relationship to system calls
  • priority scheduling
  • round-robin scheduling
  • mutual exclusion
  • semaphores
  • basic pthreads
  • System V init scripts versus launchd
  • mounting filesystems
  • loopback mounting
  • sparse files
  • basic filesystem implementation
  • VFS abstraction

In addition to reading the notes, be sure to review the assigned readings! You will also need to know the material covered in Test 1.

Sample Questions

Note: these questions are more open-ended than the ones that will be on the final test. There will also be a question session just before the test - the test will only be around 30 minutes long.

  1. Without errors, what does the execve system call return?
  2. Can a process modify its argument variables? Environment variables?
  3. Who calls a signal handler?
  4. If a parent and child process start printing "Parent\n" and "Child\n" to standard out, what will be the order of the output?
  5. In race-demo, why does the consumer sometimes finish before the producer has done hardly anything?
  6. What does pthread_join() do?