Question 1 -- 10 points

  1. Define an access matrix in terms of users, domains and resources. Explain how the concept of an access matrix may be employed by an operating system.
  2. Define an access list, and how it is employed by an operating system.
  3. Define a capability and how it is employed by an operating system. (Don't get into implementation details).

Answer

  1. In a protection system, the operating system manages resources, such as files, printers, CPU's, etc. These are used by users by making requests to the operating system to perform certain accesses to the resources. The operating system can either grant or deny access.

    A user is said to operate in a domain. The domain is a collection of access rights to the system's resources. If the user requests access to a resource, then he/she is granted access if and only if the specific access right is in that user's current domain.

    An access matrix is a matrix with domains in the rows and resources in the column. The element in row i and column j contains the access rights for resource j in domain i. The operating system uses the concept of the access matrix to grant access rights to resources. It simply checks the element in the resource's column, and the user's domain's row.

  2. Access lists are one way for an operating system to represent the access matrix. For each resource it keeps a list of the access rights of each domain. When a user requests a resource, the user's domain is checked on the access list, and if the correct access right is represented, then the user is granted access.

  3. A capability is a wierd way for the operating system to manage the access matrix. In the abstract, a capability is a data structure that the operating system can give to a user. The user can't read it, write it, or copy it, but he/she can present it to the operating system when requesting a resource. The operating system then grants the resource if it can verify that the capability is valid. Thus, the elements of the access matrix are held by the user in the form of capabilities.

    Capabilities are attractive, because if done right, they make the job of granting resources extremely efficient. Their major drawback is that they are hard for the operating system to manage if the access matrix needs to be changed.


Grading

Point allocation was 4/3/3. For the capability part, you had to say that the capability is held outside of the operating system, and that the operating system verifies the capability when access is requested.

Histogram