COMP 3000 Test 2 Study Guide 2011: Difference between revisions
(2 intermediate revisions by the same user not shown) | |||
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? | ||
# | # How is argc calculated? Note that argc is not specified by execve! | ||
# | # What parts of the kernel would you need to re-implement in userspace in order to simulate a loopback mount? | ||
# | # Why are sparse files tricky to copy? | ||
# what is the relationship between lost+found and fsck? |
Latest revision as of 19:58, 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.
- Without errors, what does the execve system call return?
- Can a process modify its argument variables? Environment variables?
- Who calls a signal handler?
- 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?
- What does pthread_join() do?
- How is argc calculated? Note that argc is not specified by execve!
- What parts of the kernel would you need to re-implement in userspace in order to simulate a loopback mount?
- Why are sparse files tricky to copy?
- what is the relationship between lost+found and fsck?