Syllabus
CSC345: Operating System - Spring 2014

TR: 8:00 – 9:50pm
Dr. Box Chokchai Leangsuksun
phone: (318) 257-3291
Nethken Hall 153
email: box-at-latech.edu, naibox-at-gmail.com

(Tentative) Office Hours
M-W 1:30 - 3:30, T-Th 2-4pm
(or by appointment)


Textbook: Silberschatz, Abraham, and Peter Galvin, Operating System Concepts, 7th or 8th or 9th Ed., John Wiley & Sons, ISBN 0-   471-69466-5, 921 pp
In addition, I will recommend good online sources to use.

Purpose

The purpose of this course is to provide the students with the theory, design and implementation of operating systems. A typical operating system is the software layer between user programs and the computer hardware.  It provides abstractions (processes, file system, etc.) of the underlying hardware that are easier to program, and it manages the hardware resources.
We will cover the following basic operating system topics, including processes, CPU scheduling, synchronization, deadlock detection/avoidance, memory management, and file and I/O systems. Basic security and one of case studies may be covered as time permits. Students will also be introduced to Linux in both user and system/kernel modes. 

Course Outcomes/Goals

Upon successful completion of this course, a student should be able:

Major Topics Covered in the Course:

Lectures: all files are in http://www.latech.edu/~box/os

 

Textbooks

Textbook Silberschatz, Abraham, and Peter Galvin, Operating System Concepts, 7th or 8th or 9th Ed., John Wiley & Sons, ISBN 0-   471-69466-5, 921 pp.

 

To supplement the textbook and online resources, I will do my best to provide lecture notes the best I can. I will assign you online reading materials and provide you some publications to read.

There are numerous resources available in print and online. I will try to have some listed on our class website.

Evaluation

Letter grades are assigned as normal. For example, an A is a 90 or higher. Grades will be based on a combination of programming assignments, lab exercises/quizzes, and exams.

Course Outline

The following is a rough outline of the topics we shall cover in this course. The material is subject to change (as usual):

Important Dates:

Class Materials

Date

Topics

 

Class syllabus,  Chapter 1 Introduction and intro of Linux

 

Chapter 1 Introduction ( ppt )& Chapter 2 Operating System Structure & emacs quick ref card

Homework 1

 

 

 

Chapter 3 new (chap 4 of 6th edition) Process (process concept, scheduling queue, context switching)

 

Programming assignment1

 

Chapter 5  CPU Scheduling   & Programming assignment 1 walk thru

 

sample codes

 

Chapter 4  Thread , pthread 

 

Chapter 6 Process/thread synchronization

 

Chapter 7 Deadlocks   Programming assignment2

 

Chapter 8 Memory Management

 

Chapter 11 File System Implementation Homework 2

 

Lecture on Linux Device Driver  & very simple example

 

Third Edition of Linux Device Drivers, PDF version, by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman & the code

 

Class Spring 2014 Term Paper Repository

 

Other Policies:

·      Class attendance is required.

·      Students needing testing or classroom accommodations based on a disability are encouraged to discuss those needs with me as soon as possible.

·      In accordance with the Academic Honor Code, students pledge the following: Being a student of higher standards, I pledge to embody the principles of academic integrity. Being a student of higher standards, I pledge to embody the principles of academic integrity. Group work is allowed and encouraged on all homework and lab assignments. However, you must turn in your own written (typed) version of the assignments, and you must list every person with whom you collaborated. Turning in an assignment without listing collaborators is cheating, plagiarism. Copying someone else's assignment is also plagiarism. When turning in programming assignments, the safest strategy is to work together on the algorithms and techniques but to code everything separately - and to help each other debug code but not write code. I have a zero-tolerance policy for plagiarism.

·      Emergency Notification System: All Louisiana Tech students are strongly encouraged to enroll and update their contact information in the Emergency Notification System. It takes just a few seconds to ensure you’re able to receive important text and voice alerts in the event of a campus emergency. For more information on the Emergency Notification System, please visit http://ert.latech.edu.