PATHFINDER

A UNIX Concurrent Communications Process Monitor

Introduction

Course Information

Group Information

Project Description

Development Environment

Developmental Stages

Final Product

References

Future Improvements

Overall Project Difficulties

A Few Words from the Group

User's Guide

Feedback

PATHFINDER


The following web pages describe the final version of PATHFINDER for the Spring Semester 1997.

PATHFINDER comprises the following:

  1. XLibrary. Contains main.c, window.c, graphic.c, display.c, color.c
  2. Appropriate makefiles for the above.
  3. Pathfinder.c. PATHFINDER main program.
  4. Main Program (opsystest). This is in charge of the user interfaces.
  5. Compiler and Lexical Analyzer (main.c and lex.l). Compiles user's program with 'wrappers'.
  6. Wrapper Function Library (wrapper.c). It includes 15 system calls.
  7. Wrapper Function Library Header (wrapper.h). It can be included in user program.
  8. Time Function (time_fun.c). It calculates the start and end time of a system call.
  9. Time Function Header (time_fun.h).
  10. Control Unit. This passes data between the individual modules.
Together, all modules total approximatley 3400 lines of code.

The system calls that are analyzed are:

  1. creat()
  2. open()
  3. close()
  4. read()
  5. write()
  6. fork()
  7. mknod()
  8. msgget()
  9. msgclt()
  10. msgsnd()
  11. msgrcv()
  12. semget()
  13. semctl()
  14. semop()
  15. wait()

Components created by PATHFINDER :
NOTE: All components are stored on in the /usr/temp/pathfinder directory.

  1. New Makefile with proper libraries/headers included.
  2. Event Log (path_eventlog)
  3. Linked List (event_linkedlist)
  4. Variable called 'process' which indicates the XWindows how many lines to draw.
  5. Variable called 'time' which indicates total time of entire program.
These components are used to communicated gathered data between modules.

Documentation Standard
INTERNAL: All internal documentation of code follows this format:

  1. Project Description given at beginning of each module.
  2. Course Information.
  3. Group Information - Names and Roles.
  4. Each Function has an descriptive paragraph explaining its execution.
  5. Line by line comments are supplied to ensure code understanding.

EXTERNAL: All external documentation was achieved via the web site (https://www.imappl.org/OSG)
with exception to the final laboratory report.