Dept. of CSE, BUAA

advertisement

Unix Programming Environment

Part 1 – An Introduction to This Course

Dept. of CSE, BUAA

Agenda

 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

1. Description and Content

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

2. Course Objectives and Schedule( 1 )

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

2. Course Objectives and Schedule( 2 )

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

3. & 4. Prerequisites & Materials

 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

5. Assignments and Grading

 1. Assignments

 2. Grading

80%

20%

Homework

Misc.

Unix Programming Environment Dept. of CSE, BUAA

6. Course Communication

 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

7. Software

 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

Download