305341 Operating Systems (2-3)

Academic year: 2005              Semester: 2

 

Instructor Contact Information

Instructor: Suradet Jitprapaikulsarn

Office: EE-408

E-mail: suradet at nu.ac.th

 

Course Overview

This course examines the principles underlying the operating system design and implementation.  Starting with the brief historical perspective of the evolution of the operating system, we will turn our focus to the kernel aspects of general purpose multi-tasking operating systems, cover most major components such as: process management, resource allocation, memory management, time management, file management, and security.  A number of different actual operating systems (UNIX, Windows, Mac OS, etc) will be referenced throughout the course to illustrate real implementations.  This course focuses mainly on the pragmatic aspects of modern operating systems.  The assignments can be completed using any programming language although Java is the language of choice for this class.

 

Course Objectives

This is a pragmatic operating system course with emphasis on individual software development process.  After the end this course, students should have a basic practical understanding of the following:

  1. Design and implementation issues of contemporary operating systems.
  2. Detailed analysis of process, multithreading, symmetric multiprocessing, and microkernel.
  3. Memory management techniques, including virtual memory.
  4. Various approaches to process scheduling.
  5. File management.
  6. Security

 

Instructional Approach

Reading the texts prior to class attending will increase the students’ understanding.  Moreover, the students benefit the most from their own experiments than from lecturing.  In other word, self-teaching is the key to be successful in this course.

 

Textbook

Reference

  1. William Stallings, Operating Systems: Internals and Design Principles, 5th Edition, Prentice Hall, 2005, ISBN 0-13-147954-7
  2. Harvey M. Deitel, Paul J. Deitel, and David R. Choffnes, Operating Systems, 3rd Edition, Prentice Hall, 2004, ISBN 0-13-182827-4
  3. Gary J. Nutt, Operating Systems, 3rd Edition, Addison-Wesley, 2004, ISBN 0-201-77344-9
  4. Lubomir F. Bic and Alan C. Shaw, Operating Systems Principles, Prentice Hall, 2003, ISBN 0-13-026611-6
  5. Andrew S. Tanenbaum and Albert S. Woodhull, Operating System: Design and Implementation, 2nd Edition, Prentice Hall, 1997, ISBN 0-13-638677-6

 

Course Outline

Week No.

Topics

1

Introduction to Operating System

2

Operating System Structures

3

Process

4

Thread

5

CPU Scheduling

6

Process Coordination

7

Deadlocks

8

Midterm Examination

9

Memory Management

10

Virtual Memory

11

File System-Interface

12

File System-Implementation

13

I/O Systems

14

Protection

15

Security

16

Conclusion

17

Final Examination

 

Course Evaluation

The course grade will be based on

Item

Weight

Assignments

30%

Operating System Articles Reading

10%

Notes & Journal

10%

Quizzes

10%

Exams

40%

 

Academic Policy

 

Notes

The above description is only tentative; it may be changed at the instructor’s discretion.



Last update 12 November 2005, 00:41
Copyright © 2005 Suradet Jitprapaikulsarn