CPS 445: Systems Programming II/Winter 2007
CPS 445 (3 sem hrs)
Syllabus
Pre-requisites: CPS 444 (Systems Programming I)
Meeting times: M W 5:55pm-7:10pm, MH 203
Instructor:
Dr. S. Perugini,
AN 145, 229-4079,
perugisa at udayton dot edu,
OHs: M W 3:30pm-4:30pm and by appointment.
Required textbook:
Recommended textbooks:
| [CPL] |
The C Programming Language by B.W. Kernighan and D.M. Ritchie.
Prentice Hall, Second edition, 1988. ISBN: 0-13-110362-8. |
| [UPE] |
The UNIX Programming Environment by B.W. Kernighan
and R. Pike.
Prentice Hall, Second edition, 1984. ISBN: 0-13-937681-X. |
Course outline, lecture notes,
and reading assignments (to be completed prior to class):
- Fundamentals ([USP] Preface, Ch1-7):
- introduction,
course outline, programs, processes,
and threads (Preface, Ch1, 2): Jan 3
- processes
in UNIX (fork, wait, and exec;
Ch3): Jan 8 10
- UNIX
I/O (read, write, select,
and poll; Ch4): Jan 17 22
- files and directories
(inodes; hard and symbolic links; Ch5): Jan 24
Exam 1: Jan 29 (closed book, closed notes)
- UNIX special files (pipes & FIFOs;
§§6.1-6.3): Feb 5
- pipes
and the client-server model (§6.4): Feb 7
- terminals (§6.5) and
terminal
control
(§6.6): Feb 12
- the token ring
[Robbins & Robbins'
Process
Ring Simulator User's Guide] (Ch7): Feb 14 19 26 28
Exam 2: Feb 21 (closed book, closed notes)
- Asynchronous events ([USP] Ch8-9, 11):
- signals (Ch8): Mar 5 7 19
- command
shells (Ch11): Mar 21 28 Apr 2 4
Exam 3: Mar 26 (closed book, closed notes)
- times
(§§9.1-9.2): Apr 11
- timers
(§§9.3-9.7): Apr 16 23
- Concurrency ([USP] Ch12-14)
- POSIX threads (Ch12): Apr 23
- thread synchronization (Ch13): Apr 25
- critical sections and semaphores (Ch14): Apr 25
Final Exam:
W May 2, 5:55pm-7:45pm, MH 203
(comprehensive, closed book, closed notes)
Homeworks (50 pts each; from [USP]):
- (coverage: Ch3; assigned: 1/8; due: 1/17):
Process Chains (§3.8: pp. 87-88) or
Process Fans (§3.9: pp. 88-89)
- (coverage: Ch4; assigned: 1/17; due: 1/24):
A cat Utility (§4.10: pp. 141-142)
- (coverage: Ch5; assigned: 1/31; due: 2/7):
The which command (§5.5: pp. 173-174),
Biffing (§5.6: pp. 174-177),
News biff (§5.7: pp. 177-178), or
Traversing Directories (§5.8: pp. 179-181)
- (coverage: Ch6; assigned: 2/7; due: 2/14):
Audio (§6.7: pp. 219-221), Barriers (§6.8: pp. 221-222),
The stty Command (§6.9: p. 223), or
Client-Server Revisited (§6.10: p. 223)
- coverage: Ch1-7; assigned: 2/21; due: 2/28):
Pipelined Preprocessor (§7.9: pp. 243-245)
- coverage: Ch1-7; assigned: 2/21; due: 3/7):
Parallel Ring Algorithms: Matrix multiplication (§7.10:
pp. 246, 249-250)
- (coverage: Ch8; assigned: 3/7; due: 3/21):
Dumping Statistics (§8.9: p. 299) or
Spooling a Slow Device (§8.10: pp. 299-300)
- (coverage: §§11.5-11.7: pp. 386-401;
assigned: 3/28; due: 4/4):
Exercise 11.25 (p. 391) and Exercise 11.35 (p. 401)
- (coverage: Ch1-8, 11; assigned: 4/4; due: 4/16):
A job list object (§11.8.1: pp. 402-403),
The job list in ush (§11.8.2: pp. 403-404), and
Job control in ush (§11.8.3: p. 404)
- (coverage: §9.1: pp. 302-313 and §9.3: pp. 315-320;
assigned: 4/16; due: 4/25):
Exercise 9.13 (p. 319, with `How can you' removed
from the question) or modify timechild.c (p. 313) as
described in class
Grades: WebCT
Accounts:
CPS account access @ home |
UNIX account access |
CPS labs hours |
Keeping your password safe |
A beginner's guide to effective e-mail
If you are unable to log into your CPS (Windows
or UNIX) account or if you forget your
CPS (Windows or UNIX) account password,
contact the CPS systems administrator, Mr. Tramontana, at
tramonjr at notes dot udayton dot edu
or 229-3835,
and be as specific as possible. Mr. Tramontana's
office is located in the back of
AN 131 and his office hours are M T W Th F 8:30am-4:30pm.
Readings and resources: [USP] webpage (contains links to all programs in the text) |
the D programming language
Helpful links:
UD academic calendar |
UD student handbook |
UDit policies
Feedback:
Dr. Perugini welcomes
any feedback you may have on the style of the lectures,
the concepts presented in class, the course webpage,
homeworks, deadlines, course and grading policies,
or your general
experience in the course.
© S. Perugini, Winter 2007, University of Dayton.
Permission to use ideas about
the organization of topics and any notes or material is granted,
provided suitable acknowledgments and citations are made.
|