Systems Programming
|
||||||||||||||||||||||||||||||||||
Latest News[ 2007 / 06 / 23 ] Info. about the final exam
(in-class & close-book):
Place: R101, R102,
and R103
Time:
Scope: Chapters
6, 8, 10.1~10.14, 15.1~15.5 [ 2007 / 06 / 12 ] Lecture
8 (Ch10 & partial Ch15) is updated. [ 2007 / 06 / 05 ] Lecture
8 (Ch10 & partial Ch15) is posted. Assignment
4 is announced. [ 2007 / 05 / 22 ] Lecture
7 (Ch8) is updated. Lecture
8 (Ch6) is posted. [ 2007 / 05 / 15 ] Lecture
7 (Ch8) is updated. Assignment
3 is announced. [ 2007 / 05 / 08 ] Midterm exam
(in-class & close-book) [ 2007 / 05 / 01 ] Lecture
7 (Ch8) is posted. [ 2007 / 04 / 23 ] Lecture
6 (Ch7) is posted. [ 2007 / 04 / 10 ] Lecture
5 (Ch4) is posted and Assignment
2 is announced. [ 2007 / 03 / 27 ] Lecture
4 (Ch5) is posted and Lecture
3 is updated. [ 2007 / 03 / 20 ] Assignment
1 is announced. [ 2007 / 03 / 13 ] Lecture
3 (Ch3) is posted and Lecture 2 is updated. [ 2007 / 03 / 08 ] Lecture
2 (Ch1 & Ch2) is posted and Lecture 1 is updated.
Announce the forum. [ 2007 / 02 / 27 ] Lecture
1 (overview) is posted. Course DescriptionThis course is designed for sophomore CS-major students and serves as the introduction system-level course. In this course, students will learn how to write the programs using system services in Unix-like systems. The following are the goals of this course. 1. To be familiar with the UNIX-like systems. It means to know how to make use of many tools/services provided by the system: commands, library calls or system calls. It also means that you understand the model of computation that Unix presents. 2. To become good system programmers. It means that you should know how to write a descent C program in Unix/Linux as the semester is over. However, this course should not limit yourself in writing system programs in Unix/Linux. The learning process that you will have in this course should teach you how to program in any other operating systems which you might use later in your career. At the end of the semester, you may want to go through this list again to see if the goals are met. We will appreciate if you could provide us your comments regarding the class at the end of the semester. (Well, you can send us your comments at any time. However, I guess that it is more reasonable to review the class at the end of the semester.) InstructorPu-Jen Cheng (Room 323) E-mail: pjcheng@csie.ntu.edu.tw; Homepage: http://www.csie.ntu.edu.tw/~pjcheng/ Office hours: 9:00 am~12:00 am, Friday Class Hours:
|
|
2007 / 02 / 27 |
|
|
2007 / 03 / 06 |
Introduction
(Ch1) |
|
2007 / 03 / 13 |
Standardization
and Implementation (Ch2) File
I/O (Ch3, partial Ch14) |
|
2007 / 03 / 20 |
File
I/O (Ch3, partial Ch14), assignment
1 |
|
2007 / 03 / 27 |
Standard
I/O Library (Ch5, partial Ch14) |
|
2007 / 04 / 10 |
|
|
2007 / 04 / 17 |
Files
and Directories (Ch4) |
|
2007 / 04 / 24 |
Environment
of a Unix Process (Ch7) |
|
2007 / 05 / 01 |
Environment
of a Unix Process (Ch7), Process
Control (Ch8) |
|
2007 / 05 / 08 |
Midterm exam (in-class & close-book) |
|
2007 / 05 / 15 |
Process
Control (Ch8), assignment
3 |
|
2007 / 05 / 22 |
Process
Control (Ch8) |
|
2007 / 05 / 29 |
|
|
2007 / 06 / 05 |
Interprocess
Communication
(partial Ch15), Signals (Ch10), |
|
2007 / 06 / 12 |
Signals
(Ch10) |
|
2007 / 06 / 19 |
Dragon Boat Festival |
|
2007 / 06 / 26 |
Final exam (in-class & close-book) |
A 16 page introduction to the use of common Unix programming tools
2. Final Report of the Multics Kernel Design Project by M. D. Schroeder, D. D. Clark, J. H. Saltzer, and D. H. Wells, 1977.
3. Programming in C – UNIX System Calls and Subroutines Using C, by A. D. Marshall
4. The Unix Programming Environment, by Brian Kernighan and Rob Pike
5. The Unix
Programming Environment, by Mark Burgess