Schedule
Lectures: MTWRF 9:00-9:50 AM (6/22/09-8/14/09) in OWEN 101 (map)
Office Hours: MW 10:00-12:00 or by appointment - Location: KEC 1130 (map)
Midterm I: 9:00-9:50 AM, Monday July 13 in OWEN 101
Midterm II: 9:00-9:50 AM, Monday July 27 in OWEN 101
Final: 9:00-10:30 AM, Wednesday August 12 in OWEN 101
| Week | Day | Subjects | Reading & Review |
Projects & Homework |
|
Week 1 (6/22-6/26) |
M |
Course Intro, Common Unix utilities |
Reading #1 | |
| T |
More common unix utilities and features |
Practice the commands on a terminal window on flip |
||
| W |
BASH script script2 - some examples of Bash syntax. This script does nothing useful! It just demonstrates syntax. calc - short script to help with floating point arithmetic. |
Read Parts 2 & 3 of advanced bash scripting |
||
| R |
BASH script (cont.), REGular EXpressions, Utilities: grep, sed myWC - an example of a bash foreach loop and how to interactively get input from the user. You should know how to do both. |
|||
| F |
Regular Expressions (cont.), Discussion on Project 1 |
|||
|
Week 2 (6/29-7/3) |
M |
Discussion on Worksheet 1 |
Worksheet 2 | |
| T |
Discussion on Project 1 and Worksheet 2 |
Worksheet 3 | Project 1 due | |
| W |
Perl script samplePerl.pl shows you common perl syntax for common tasks. |
Project 2 out | ||
| R | No class | |||
| F | No class (4th of July) | |||
|
Week 3 (7/6-7/10) |
M |
Perl script (cont.) |
||
| T |
Organization of Unix, Multiprogramming, Timesharing, Process state diagram, Program image in virtual memory |
|||
| W |
C Programming Review, Standard File I/O fileIO.c & fileIOwErrorChecking.c : Using system calls to read and write to specific locations in a file. |
Project 2 due | ||
| R |
Standard File I/O, Project 3 explanation, Midterm I review |
Project 3 out | ||
| F |
Midterm 1 Review, Worksheet 3 |
|||
|
Week 4 (7/13-7/17) |
M |
Midterm 1 |
||
| T |
SVN Demo, Read/Write C Structs |
Chapter 2 of SVN book | ||
| W |
SVN Demo, Discussion on Project 3 |
|||
| R |
Discussion on Project 3, Multiple Processes and Critical Section |
|||
| F |
Discussion on Project 3 Midterm 1 return |
|||
|
Week 5 (7/20-7/24) |
M |
Midterm 1 return makefiles db.tar.gz: makefile example |
||
| T |
File system - inodes, links (hard links - soft links) |
Project 3 due | ||
| W |
File system - inodes (cont.) Process file descriptor table, System file descriptor table, In-memory Inode table |
Project 4 out | ||
| R |
Process file descriptor table, System file descriptor table, In-memory Inode table |
|||
| F |
Midterm 2 Review |
|||
|
Week 6 (7/27-7/31) |
M | Midterm 2 | ||
| T |
Project 4 - Writing your own shell More system calls: fork(), wait(), waitpid(), execvp(), dup2(), and pipe(). demo.c: The code demonstrates
|
|||
| W |
More system calls: fork(), wait(), waitpid(), execvp(), dup2(), and pipe(). waitUseStatus.c demonstrates how to use WIFEXITED, WEXITSTATUS, WIFSIGNALED, and WTERMSIG to determine if child terminated normally or was killed by a signal. You will need to use these macros for project 4. execDemo_l.c demonstrates the use of execl, WIFEXITED, WEXITSTATUS, WIFSIGNALED, and WTERMSIG. execDemo_lp.c demonstrates the use of execlp. This member of the exec family uses the PATH variable to "find" the executable. execDemo_vp.c demonstrates the use of execvp. This member of the exec family uses an array of C strings to hold the command and its arguments and it uses the PATH variable to "find" the executable. This program also demonstrates how a shell would do output redirection. Input redirection would be very similar except you would change where file descriptor 0 pointed. You should use this system call in Project 4. |
|||
| R |
Signal handling using sigaction demoAll.c A demo of the three ways to handle queued signals. You must use "real time" (queued) signals in project 4. |
Reading #7 | ||
| F |
Discussion on Project 4 - How to do pipe pipe2BAD.c The wrong way to do a pipe pipe2.c The right way to do a pipe |
|||
|
Week 7 (8/3-8/7) |
M |
Midterm 2 Return sigInherited.c A demo of how a child inherits signal handling from the parent. Discussion on Project 4. |
||
| T |
Discussion on Project 4 Interprocess Communication - Network Sockets |
Reading #8 | ||
| W |
Project 5 Explanation |
Project 5 out | ||
| R |
Discussion on Project 5 theBrowser.c A client app that sends a GET command (like a browser) to a web server to get the response. Read the comments at the top for how to compile and execute. |
|||
| F |
Final Review Teaching Evaluation |
|||
|
Week 8 (8/10-8/14) |
M |
Discussion on Project 5, Final Review |
||
| T | No class | |||
| W | Final | |||
| R | No class | Project 5 due | ||
| F | Have a nice rest of the summer! |
| The materials are used with permission from Professor Chris Wallace. |
