Due: June 7, 2017
- (30 points) In the Janus system, when the framework disallows a system call, the error code EINTR (interrupted system call) is returned.
- When some programs have read or write system calls terminated with this error, they retry the calls. What problems might this create?
- Why did the developers of Janus not devise a new error code (say, EJAN) to indicate an unauthorized system call?
- (30 points) Consider the rule of transitive confinement. Suppose a process needs to execute a subprocess in such a way that the child can access exactly two files, one only for reading and one only for writing.
- Could capabilities be used to implement this? If so, how?
- Could access control lists be used to implement this? If so, how?
- (40 points) Suppose the composite machine catdog (see Section 8.4.1 of the text) emits the same value from the left and the right. Show that it has received an even number of inputs from the left.