Karen Shay West's Home Page

Karen Shay West: Tel: (508) 844-9776

KarenWest15@gmail.com


UNDER CONSTRUCTION WEB SITE

Future C Shell Work: Code developed in a series of stages:

  1. write and test a parser to read the command lines--this works
  2. get the simple commands to work--this works
  3. get I/O redirection to work--this works
  4. get pipes to work--this works for some cases but not with 2nd command sent to an output file instead of stdout
  5. get "&" to work--not implemented yet
  6. Parsing shell strings: in this project, you only need to implement a simple command line parser, in which we use "space" as the delimiter between command "tokens".--this works
  7. You can use support libraries such as the Gnu readline library for command line parsing.
  8. A multi-process version of the traveling salesman problem, called tsp_p--future work.
  9. A multi-threaded version of the traveling problem, called tsp_t, with an added bonus of implementing it without the SYSV context functions. Solutions that bind user level threads with kernel threads are also a bonus, and using pthreads or any other threads library is not the approach to take, and instead, you create your own threads. It was also recommended NOT to rely on the Linux clone() call in the thread creation solution, if at all. The solution can bind user level threads onto user level threads, but you still need to use a different approach for making the portable user--level threads--future work.
  10. A sorter program, called tspsort, that sorts the paths found in the traveling salesman problem, from shortest path to longest path distance--future--work.

Testing Involved In Future Work:

In myshell, run tsp_p < input_graph | tspsort > tsp_p.out”

tsp_p computes all possible paths through a graph (G) of vertices (V) and edges (E).

Traveling Salesman Multi-Process Version--Future Work:

The Big Picture of the Multi-process, Traveling Salesman Problem:

Traveling Salesman, Multi-threaded Version:

Problem: The problem to be addressed is the same as in "tsp_p", except you will use multiple threads to calculate paths through a graph instead of separate child processes. Your multithreaded program should be called "tsp_t".

The Big Picture of the Multi-threaded traveling salesman version: