Complete Question:
Consider Multics procedures p and q. Procedure p is executing and needs to invoke procedure q. Procedure q's access bracket is (5, 6) and its call bracket is (6, 9). Assume that q's access control list gives p full (read, write, append, and execute) rights to q. In which ring(s) must p execute for the following to happen?
A) p can invoke q, but a ring-crossing fault occurs.
B) p can invoke q provided that a valid gate is used as an entry point.
C) p cannot invoke q.
D) p can invoke q without any ring-crossing fault occurring, but not necessarily through a valid gate
Answer:
If we suppose the access bracket as (a, b) and call bracket as (b, c), for q we have (a, b) = (5, 6) and (b, c) = (6, 9). Let the ring be denoted by r.
A) p can invoke q, but a ring-crossing fault occurs.
p must execute in rings where r < a., in r < 5, p must execute.
B) p can invoke q provided that a valid gate is used as an entry point.
p must execute in the rings between 6 and 9. r must be between a and b.
C) p cannot invoke q.
When r > c, then p cannot invoke q. That means, for this condition to happen p must execute in rings > 9
D) p can invoke q without any ring-crossing fault occurring, but not necessarily through a valid gate
When r is between a and b then the condition can be satisfied. That means p must execute in rings between 5 and 6.
Explanation: