============================ Problem statement: ============================ (Either paraphrase the assignment goal or copy/paste the assignment problem statement here.) Implement a shell program. ============================ Steps taken to solve problem ============================ (Could also write as a bulleted list, paragraphs. Basically, just talk about your approach. Log section can be used for details. No need to be redundant.) 1. Experimented with existing shell. 2. Took notes on how it handled certain commands. 3. Wrote a few test programs to understand directory searching. 4. Implemented user-input routine. 5. Implemented input-parsing routine. 6. Implemented input redirection. 7. Implemented background process. 8. Experimented with our shell to make sure above were correct. 9. Implemented zombie-termination. 10. Implmented forking new process. 11. Completed. ============================ System calls ============================ read() - Get user input. stdio.h - output, printf, etc. stdlib.h - fork(), execv(), ... ... ============================ Problems ============================ - execv didn't seem to work as expected. - Path searching was tricky. - Weren't sure how much memory to allocate. - Computer crashed once- lost some progress. ============================ Known Bugs ============================ (Just copy the details from the README.) ============================ Division of Labor ============================ - Exam Ple o user-input o input-parsing o process forking - Rea D. Me o path-searching o input redirection o zombie termination ============================ Log ============================ 11/26/05 - project completed 11/25/05 - bug fixed: user-input > 120 characters crashes program - speed up: path-searching improved. 11/24/05 - completed: input redirection . . . 11/4/05 - design: some areas unclear. - started implementation. 11/3/05 - researched existing shells. - started designing. 11/2/05 - project assigned. ============================ Questions ============================ 1. Is it safe to try to open a file that does not exist? It can be unsafe if the program does not pay attention to the return value from the call to open(). If the program assumes that it has a pointer to a file that, and that file does not exist, it is possible that the program will crash before long, most likely with a segmentation fault.