PATHFINDER
The following web pages describe the final version of
PATHFINDER for the Spring Semester 1997.
PATHFINDER comprises the following:
- XLibrary. Contains main.c, window.c, graphic.c, display.c, color.c
- Appropriate makefiles for the above.
- Pathfinder.c. PATHFINDER main program.
- Main Program (opsystest). This is in charge of the user interfaces.
- Compiler and Lexical Analyzer (main.c and lex.l). Compiles user's program with 'wrappers'.
- Wrapper Function Library (wrapper.c). It includes 15 system calls.
- Wrapper Function Library Header (wrapper.h). It can be included in user program.
- Time Function (time_fun.c). It calculates the start and end time of a system call.
- Time Function Header (time_fun.h).
- 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:
- creat()
- open()
- close()
- read()
- write()
- fork()
- mknod()
- msgget()
- msgclt()
- msgsnd()
- msgrcv()
- semget()
- semctl()
- semop()
- wait()
Components created by PATHFINDER :
NOTE: All components are stored on in the /usr/temp/pathfinder directory.
- New Makefile with proper libraries/headers included.
- Event Log (path_eventlog)
- Linked List (event_linkedlist)
- Variable called 'process' which indicates the XWindows how many lines to draw.
- 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:
- Project Description given at beginning of each module.
- Course Information.
- Group Information - Names and Roles.
- Each Function has an descriptive paragraph explaining its execution.
- 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.