Книга: Distributed operating systems
7.2.3. Standard Operations
7.2.3. Standard Operations
Although many operations on objects depend on the object type, there are some operations that apply to most objects. These are listed in Fig. 7-5. Some of these require certain rights bits to be set, but others can be done by anyone who can present a server with a valid capability for one of its objects.
Call | Description |
---|---|
Age | Perform a garbage collection cycle |
Copy | Duplicate the object and return a capability for the copy |
Destroy | Destroy the object and reclaim its storage |
Getparams | Get parameters associated with the server |
Info | Get an ASCII string briefly describing the object |
Restrict | Produce a new, restricted capability for the object |
Setparams | Set parameters associated with the server |
Status | Get current status information from the server |
Touch | Pretend the object was just used |
Fig. 7-5. The standard operations valid on most objects.
It is possible to create an object in Amoeba and then lose the capability, so some mechanism is needed to get rid of old objects that are no longer accessible. The way that has been chosen is to have servers run a garbage collector periodically, removing all objects that have not been used in n garbage collection cycles. The AGE call starts a new garbage collection cycle. The TOUCH call tells the server that the object touched is still in use. When objects are entered into the directory server, they are touched periodically, to keep the garbage collector at bay. Rights for some of the standard operations, such as AGE, are normally present only in capabilities owned by the system administrator.
The COPY operation is a shortcut that makes it possible to duplicate an object without actually transferring it. Without this operation, copying a file would require sending it over the network twice: from the server to the client and then back again. COPY can also fetch remote objects or send objects to remote machines.
The DESTROY operation deletes the object. It always needs the appropriate right, for obvious reasons.
The GETPARAMS and SETPARAMS calls normally deal with the server as a whole rather than with a particular object. They allow the system administrator to read and write parameters that control server operation. For example, the algorithm used to choose processors can be selected using this mechanism.
The INFO and STATUS calls return status information. The former returns a short ASCII string describing the object briefly. The information in the string is server dependent, but in general, it indicates the type of object and tells something useful about it (e.g., for files, it tells the size). The latter gets information about the server as a whole, for example, how much free memory it has. This information helps the system administrator monitor the system better.
The RESTRICT call generates a new capability for the object, with a subset of the current rights, as described above.
- 6.3 Typical Semaphore Operations
- 12.3.1 Standard I
- Generalized identity operations
- Heap operations
- Set operations on sorted ranges
- 8.5.2 Typical Condition Variable Operations
- The Standard Oil Company. Компания Стандард Ойл
- 11.7 Soft Timers and Timer Related Operations
- The Standard Library and the Vaults of Parnassus
- 1.4. Standards and Relevant Bodies
- 1.4.1. Linux Standard Base
- 6.1.1. FHS: File System Hierarchy Standard