PATHFINDERA UNIX Concurrent Communications Process Monitor |
|
Introduction Final Product
|
User RequirementsCurrently, there are two (2) user requirements:
At this stage of the project, PATHFINDER is a user-friendly tool which looks like this:
The user will have the following capabilies:
When/if a child process transforms into a parent process, that process will be illustrated with thicker line. The arrows in the Graphical window represent messages sent. This arrow will have its message id (msgid) displayed next to it. In addition, the time of execution for each event will be represented. It will be calculated by obtaining the start and end time of each execution and finding the difference. The unit of time will depend on the unit in which IRIX 6.2 uses to represent time (ie. nanoseconds). However, the unit of time can be changed to our liking. Behind The Scenes... The key elements to PATHFINDER will be its EVENT LOG and its associated WRAPPER FUNCTIONS. All the information displayed in the TEXT and GRAPHICS windows will be obtained from the EVENT LOG, which will be a linked list of all the pertinent data in the order of execution (FIFO). WRAPPER FUNCIONS enhance system calls and add funcionality determined by the developer and renames the system call. Thus, the WRAPPER FUNCTION for the system call fork() can be named _fork() and for the purposes of PATHFINDER, can enhance it by also storing the information needed for the EVENT LOG (ie process id, msgid, queue info., and start and end of execution. The algorithm of PATHFINDER is as follows:
The execution of PATHFINDER will follow the following steps:
TOP |