Part 1 – An Introduction to This Course
Dept. of CSE, BUAA
1. Course description and content
2. Course Objectives and Schedule
3. Prerequisites
4. Course Materials: textbook and supplementary reading
5. Assignments and Grading
6. Course Communication
7. Software
Unix Programming Environment Dept. of CSE, BUAA
Programmers End-users
Operating System
Designers
Applications
Development Toolset
Unix Operating System
Computer Hardware
Course Content:
1.
Unix commands & utilities( editors, etc )
2.
Development Toolset( compilers, linkers, build system )
3.
O.S. Programming Interfaces
4.
Basic concepts and architecture of Unix Kernels
Unix Programming Environment Dept. of CSE, BUAA
Part 1
Week 1
Part 2
Week 1
Part 3
Week2.3.4
Introducation to this course
Unix History, Concetps and fundmentals
Unix Commands &
Utilities
Agenda, Objectives, Exams & Homework, and reference materials
History of Unix
Major Unix Features
System architecture: kernel, file system, system interface, shells
Unix File system
Unix Commands & Utilities: including text editor like vi, etc
Using Unix Shell
Regular expression in Unix
Part 4
Week5
B-Shell Programming
Unix Programming Environment Dept. of CSE, BUAA
Part 5
Part 6
Week 7.8
Unix
Development
Tools
- GNU Toolset
Make, compilers, linker, gdb, lex, yacc
GNU building system: autoconf, automake
Version management: cvs
Unix System
Interface
Programming
Overview of Unix Internal: including modern Unix systems like Solaris, standardization
File system, File and Directory
Process control and signal
* Inter-process communication in Unix: SYSTEM V IPC, POSIX IPC
* Multithread: P-Thread interface
Unix Programming Environment Dept. of CSE, BUAA
Prerequisites
C programming language, Operating System
Course Materials:
Textbook: <Unix Programming Environment> by Brian Kernighan
References:
<Advanced Shell Programming>
<C Programming Language> by K &R
<Advanced Programming in the Unix Environment> by Steven.
The Design of the UNIX operating System, Maurice Bach, Prentice Hall, 1986.
The Design and Implementation of the 4.4 BSD Operating System, Marshall McKusick,
Keith Bostic, Michael Karels and John Quarterman, Addison-Wesley, 1996.
UNIX Internals: The New Frontiers, Uresh Vahalia, Prentice Hall, 1996.
Understanding The Linux Kernel, version 2
Other supplementary readings can be download from the website dedicated to this course.
Unix Programming Environment Dept. of CSE, BUAA
1. Assignments
2. Grading
80%
20%
Homework
Misc.
Unix Programming Environment Dept. of CSE, BUAA
Students should check this course’s website regularly for schedule changes, clarifications and corrections to assignments, and other course-related announcements.
http://202.112.136.188
Urgent changes may be broadcasted using e-mail.
Get lectures, supplementary materials from
http:// 202.112.136.188 /lectures.htm
Unix Programming Environment Dept. of CSE, BUAA
1. CygWin
2. Any Current Linux Distributions
Redhat, Mandrake, etc
3. Any Unix-like Distributions:
OpenBSD, FreeBSD
Solaris
4. VMware
Unix Programming Environment Dept. of CSE, BUAA