michaelnoguera/537-proj1
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
CS 537 Programming Assignment 1 (Fall 2020)
Michael Noguera (noguera@cs.wisc.edu) and Julien de Castelnau (de-castelnau@cs.wisc.edu)
due 9/23/2020 at 5pm
== BUILDING ==
To build 537ps , simply run "make" at the root of this directory. If you specify the DEBUG
environment variable as "true" or use "make DEBUG=true", debug symbols will be included in the
executable as well.
Use "make clean" to get rid of object files and executables.
== USAGE ==
When run with no flags (i.e "./537ps"), 537ps outputs the list of all processes owned by the
calling user. The following flags are recognized by 537ps:
[-p <pid>] [-s] [-U] [-S] [-v] [-c] [-m <addr> <len>]
Multiple "-p <pid>" instances can be specified to list multiple processes.
Note that for "-m", exactly one PID must be specified. If none or multiple PIDs are specified,
an error will be thrown.
== PROJECT STRUCTURE ==
The functionality of our 537ps is divided into three logical modules, which serve the following
tasks:
1. main: Parses command-line options and handles printing of output for the corresponding flags.
2. proc: Provides an interface over the /proc filesystem and exposes functions for getting
process information.
3. linkedlist: Defines a linkedlist data structure and the related functions that operate on it,
to store PIDs.