CS360 Midterm Exam: October 8, 2003. Question 2

Part A

Suppose our operating system exports two system calls:
begin_atomic_action();
end_atomic_action();
Explain the following three things:
  1. What you think the semantics of these system calls are?
  2. Why would these be useful to a programmer? Give a specific example.
  3. Why is it extremely unlikely that any operating system would actually export such system calls?

Part B

Explain what an inode is, what information it contains, and how it relates to files, links, directories and the stat system call.

Part C

"Buffering trades memory for system call overhead"

Is this statement true or false? Justify your answer, and give an example or counterexample.