Skip navigation.
Home

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

lecture01.ppt

Reading #1

Homework 1 out

Project 1 out

T

More common unix utilities and features

lecture02.ppt

Practice the commands on a terminal window on flip

 
W

BASH script

lecture03.ppt

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

lecture04.ppt

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

lecture05.ppt

Reading #2

Worksheet 1

Homework 1 due

Week 2

(6/29-7/3)

M

Discussion on Worksheet 1

lecture06.ppt

Worksheet 2  
T

Discussion on Project 1 and Worksheet 2
More utilities: tr, awk

lecture07.ppt

Worksheet 3 Project 1 due
W

Perl script

lecture08.ppt

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.)

lecture09.ppt

   
T

Organization of Unix, Multiprogramming, Timesharing, Process state diagram, Program image in virtual memory

lecture10.ppt

   
W

C Programming Review, Standard File I/O

lecture11.ppt

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

lecture12.ppt

Reading #4

Project 3 out
F

Midterm 1 Review, Worksheet 3

lecture13.ppt

Worksheet 3 Solutions

 

Week 4

(7/13-7/17)

M

Midterm 1

   
T

SVN Demo, Read/Write C Structs

writeStruct.c & readStruct.c

lecture14.ppt

Chapter 2 of SVN book  
W

SVN Demo, Discussion on Project 3

Reading #3

 
R

Discussion on Project 3, Multiple Processes and Critical Section

lecture14.ppt

lockFile.c & noLockFile.c

   
F

Discussion on Project 3

Midterm 1 return

lecture15.ppt

   

Week 5

(7/20-7/24)

M

Midterm 1 return

makefiles

lecture15.ppt

db.tar.gz: makefile example

   
T

File system - inodes, links (hard links - soft links)

inode.pdf

lecture16.ppt

Inode Worksheet

  Project 3 due
W

File system - inodes (cont.)

Process file descriptor table, System file descriptor table, In-memory Inode table

File System Worksheet

Reading #5

Project 4 out
R

Process file descriptor table, System file descriptor table, In-memory Inode table

lecture17.ppt

Reading #6

 
F

Midterm 2 Review

lecture18.ppt

File System Worksheet Solutions

   

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().

lecture19.ppt

demo.c: The code demonstrates

  • the difference between opening a file before and after a fork
  • the use of dup2
  • the use of wait
  • using the return of fork to separate child and parent processes


 
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

lecture20.ppt

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

lecture21.ppt

pipe2BAD.c      The wrong way to do a pipe
Mary.txt
words.txt

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

lecture22.ppt

Reading #8  

Project 4 due

W

Project 5 Explanation

client.c        Starter code for project 5
server.c

  Project 5 out
R

Discussion on Project 5

lecture23.ppt

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.

Interprocess Communication Mechanisms

   
F

Final Review

Teaching Evaluation

lecture24.ppt

   

Week 8

(8/10-8/14)

M

Discussion on Project 5, Final Review

lecture25.ppt

   
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.