Presentation/Test Shell: Command Language Specification
Mandatory Commands
The following commands will be used in the test files for this project:
-
init
Restore the system to its initial state.
-
quit
Terminate the execution of the system.
-
cr <name> <priority>
Invoke function Create(), which creates a new process <name> at
the priority level <priority>; <name> is a single character; <priority>
can be 1 or 2 (0 is reserved for Init process).
-
de <name>
Invoke the function Destroy(), which destroy the process <name>
and all of its descendants.
-
req <name>
Invoke the function Request(), which requests the resource <name>;
<name> can be R1, R2, R3, or R4.
When implementing the additional task 5.1 (page 490), the command is
extended to:
req <name> <# of units>
where <# of units> gives the number of units of resource <name>
to be requested. The numbers of units constituting each resource are as
follows: 1 for R1, 2 for R2, 3 for R3, and 4 for R4.
-
rel <name>
Invoke the function Release(), which release the resource <name>.
When implementing the additional task 5.1 (page 490), the command is
extended to:
rel <name> <# of units>
where <# of units> gives the number of units of resource <name>
to be released.
-
to
Invoke the function Timeout().
-
rio
Invoke the function Request_IO().
-
ioc
Invoke the function IO_completion().
Optional Commands
For the purposes of testing and demonstration, it is useful to implement
additional commands to obtain information about the current status of the
system, such as:
-
list all processes and their status
-
list all resources and their status
-
provide information about a given process
-
provide information about a given resource