ELIZABETHTOWN COLLEGE

COMPUTER SCIENCE DEPARTMENT

CS 422

System Programming II
Spring, 2000

Operating Systems

Dr. Thomas R. Leap

Room 243, Nicarry Hall, Telephone (Office): 361-1299

Office Hours: Mon- Fri: 1:30 - 2:30

Other hours by appointment. For appointments, please leave a note on my office door indicating the time requested for the appointment.



Course Objective

The objective of this course is to give the student an understanding of the workings and theory of operating systems, the programs that control a computer system. Assignments will be made to give the student some practical experience with interfacing to an operating system.

Prerequisite

CS 121, CS 122, CS 221 (Data Structures), CS 222 (Assembly Language).

Textbook

Operating Systems, 2nd Edition, by Andrew S. Tanenbaum and Albert S. Woodhull, Printice Hall, 1992.

Attendance

Attendance of the class lectures is absolutely required. Only two unexcused cuts will be accepted without having a direct influence on the student's final grade. Generally, only absences for medical reasons will be excused.



Grading

There will be a mid-term exam and a final exam. There might be several quizzes, both surprise and announced. There will also be programming projects.

Mid-Term Exam: Date to be announced around mid-term

Final Exam:

Grades will be based on a combination of exams, quizzes, projects and class performance. These will be used to determine your understanding and mastery of the material. Approximate weights for calculating your final grade are: midterm: 33%, final exam: 34%, homework and projects: 33%. Final grades will follow the criteria given in the College catalog:

A = excellent, B = good, C = satisfactory, D = poor but acceptable and F = failing.





Programming Assignments:

Programming assignments are given as practice on the material covered and as a chance for you to demonstrate your ability without the time constraints of an exam. Programming assignments will be graded according to the following criteria:

- Neatness

- Understandability & structure

- Efficiency and simplicity

- Documentation

- Programs being correct, complete and proof of meeting these

criteria

You should note that a working program is not sufficient for a good grade.

Programs should be handed in during the class period in which they are due. Include a neat and clean listing of your program and sufficient output from trial runs to completely demonstrate that your program is correct. A program will be marked incorrect if output proving its correctness is not included. Do not include extra output that shows errors in your program that you have corrected. Fold all output to an 8x11 in. size and staple separate sheets together (staples are preferred over paper clips). Late programs may not be accepted. Grades on assignments will be lowered one letter grade for each class period that they are late if accepted at all.

NOTE - This syllabus is subject to change on notice given in class.

CS 422 Course Outline



I. Evolution and History of Operating Systems

A. Types of operating systems

B. Generations



II. Duties of an Operating System

A. Machine extension

B. Resource management



III. Operating System Models

A. Monolithic

B. Virtual

C. Layered

D. Client-Server

IV. Operating System Structure

A. Memory management

B. File systems

C. Input/Output management



V. Deadlock conditions

A. Theory

B. Semaphores

C. Critical sections

VI. Processes and process management

A. Process creation and destruction

1. Fork

2. Kill

B. Inter process communications

1. Signals

2. Pipes

3. Shared memory



VII. Queues and Queue Management



VIII. Distributed and Network Computing

A. Basic networking

B. Clustering and Network File Service (NFS)

C. X-Windows and Client Server computing

D. Remote Procedure Calls (RPC)

E. Sockets and Streams



IX. Administrative Operations

A. Account administration

B. Backups and Disk management

C. Printer management

D. Network printers