OS Maintained Tables
Function Table
Purpose
The Function Table is used in the Message Server.
Structure of the Function Table
This is the fields used in the Function Table. One set of values for each registered function. These are the fields:
Structure of the Function Table
Field Name |
Field Size |
Description |
Function ID | 32 bits | The function id is used to distinguish between functions. |
Process ID | 32 bits | Process ID of the process which contain the code. |
Entry Point | 32 bits | Entry point into that process' codesegment. |
Req. Privilege Level | 16 bits | Privilege Level - Restrict use of the function. |
Num. of Parameters | 8 bits | Number of additional parameters - ex. shutdown_system(timeout) |
unused | 8 bits | Reserved |
Name | 64 bytes | Name of the function - ex.: shutdown_system() |
Function ID
A unique id of the individual function in the system. Processes use these ids when sending messages across the system.
Process ID
A unique id in the system. The system uses this id to locate the process which contain the actual code.
Entry Point
A 32 bit entry point into the above process' code. The entry point should point to were the actual code is.
Required Privilege Level
This is the amount of privilege a process must have to use this function.
Number of Parameters
This is the number of parameters which are required to be transferred with the message.
Name
And finally a 64 bytes long field which contain the name of the function. When ever an application is started it searches through this list to locate the ids of the functions it needs. Each name should be null-terminated.