You are on page 1of 3

CS 4348 Operating Systems

Objectives
This course is designed to train students in both theory and practice in the operating systems
area. Lectures will introduce the important issues and teniques in operating systems design.
Projects are designed to enhance students' ability in concurrent programming.

Topics
l Introduction to Operating Systems
l Processes, Threads, and Processor Scheduling
l Concurrency Control, Synchronization, and Deadlocks
l Memory Management and Virtual Memory Concept
l Disk Device/Storage Management and File Systems
l Introduction to Distributed Systems

Readings
1. Operating Systems by William Stallings, Fifth Edition, Prentice Hall
2. Class notes.

Recommended Books for Projects


1. Advanced Programming in the UNIX Environment by W. Richard Stevens R. Richard
Stevens, Addison Wesley, ISBN 0201563177
2. Multithreaded Programming with Pthreads, by Bil Lewis and Daniel J. Berg, Prentice Hall,
ISBN 0-13-680729-1.

Notes
1. Overview of Operating Systems
2. Processes and Threads
3. Processor Scheduling Algorithms
4. Concurrency Overview
5. Concurrency Control: Shared Memory
6. Concurrency Control: Message Passing
7. Deadlock
8. Memory Management
9. Virtual Memory Management
10. I/O Device Management
11. File Systems
12. -------------------------------------------------
13. Example questions for tests

Additional Examples
l Example of process states

Homework Assignments
l Homework # 1: ps version pdf version Answer Key
l Homework # 2: ps version pdf version (tentative)
l Homework # 3: ps version pdf version (tentative)

Projects
l Project Descriptions

¡ Project #1
¡ Sample sequence.dat File
¡ Project # 2. Language: Java or C++.

l Examples Related to Projects

¡ Here is a very simple sample of Makefile.


¡ Here is a sample program on using fork and pipe.
¡ Here is a sample program on creating threads

l Tutorial sites for thread programming

¡ A good tutorial for Pthread


¡ A reasonable tutorial for Pthread
¡ An OK tutorial for Java Thread
¡ A so so tutorial for Java Thread
¡ A good tutorial for Solaris Thread

l Socket Programming Related

¡ Reference Book: Unix Network programming: Networking APIs: Sockets and XTI
(2nd edition), by W. Richard Stevens, Prentice Hall; ISBN: 013490012
¡ A good online tutorial for socket programming.
¡ Tutorial for socket programming. Potential dates: 2/26 or 2/27

Grade Distribution
l Exam 1: 20%
l Exam 2: 20%
l Exam 3: 20%
l Projects 1: 8%
l Projects 2: 24%
l Homework Assignments: 8%

Important Dates (may change as the semester goes)


l Project 1 due: Feb 8 (Tuesday), 2005
l Project 2 due: April 16 (Sat), 2005
l Homework 1 due: Feb 1 (Tue), 2005 (Penalty for late project within one week:
1+2+3+3+3+3+3. No project assignment is acceptable one week after the deadline.)
l Exam 1: Feb 22 (Tue), 2005
l Exam 2: April 5 (Tue), 2005
l Exam 3: April 28 (Thu), 2005

Instructor and TA information


l Instructor: Dr. I-Ling Yen, ilyen@utdallas.edu, (972)883-6446
l Instructor Office Hours: 11:00am-12:00pm, Tuesdays and Thursdays, ES 4.402
l TA: Dongfeng Wang, dongfeng.wang@student.utdallas.edu
l TA Office Hours: 6:00pm-8:00pm, Tuesdays and Thursdays, ES 3.213

Policies
l Homework will be collected at the beginning of the class period on the day it is due. No
late homework will be accepted.
l Lab assignments are due at the midnight of the due date. Late lab assignments incur a
15% per day penalty.
l No discussions among students are allowed for homework and lab assignments.
Questions regarding assignments can be discussed with the TA or instructor.
l All exams will be close book, close notes in the regularly scheduled class room.

You might also like