Introduction to Operating Systems  


Introduction to operating systems. The compile, link edit, and execute processes. Interactive command languages. Cataloged procedures. Load modules and libraries. Linking object modules. Principally, a study of user and hardware interfaces to the operating systems. Perquisites: CSPSC1110 with grade C or better.


  • To introduce the concept of operating systems.
  • To master processes, threads, and scheduling.
  • To master synchronization and deadlocks.
  • To master memory management and file system.   
  • To study different operating systems' environments.


  1. Regular class attendance is the main requirement of this course.
  2. Active class participation, this means you must spend some quality time preparing for your next class.
  3. Programming assignments, homework, and reports of hands-on labs must be turned in on time when they are due. Unfinished programs and non-working programs turned in on time will be graded; however, assignments not turned in on the due date will NOT be accepted. This means that you should start early to work on your programming assignments. Programs must be well-documented to be understood by a novice programmer.
  4. Short quizzes may be given without prior notice and there will be no making up of missed quizzes.
  5. Two examinations and a final examination will be given.  There will be NO make up for missed exams.
  6. You will be issued with one computer account for this class. You have a responsibility and an obligation to prevent abuse and misuse of the university computer resources. Please read the UTC Computer Use Code of Conduct.
  7. Individual extra credit assignments for the purpose of propping up a bad grade will NOT be given.

Notes taking is encouraged. Notes for the class can be found at the You can also check the website of textbook for more resources.   


Required: Silberschatz, A. & Galvin, Peter: Operating System Concepts with Java, 8th Edition, Addison-Wesley, 2010. ISBN: 978-0-470-50949-4.


Attention:  If you are a student with a disability (e.g. physical, learning, psychiatric, vision, hearing, etc.) and think that you might need special assistance or a special accommodation in this class or any other class, call the Office for Students with Disabilities at 425-4006, come by the office - 102 Frist Hall or see

If you find that personal problems, career indecision, study and time management difficulties, etc. are adversely affecting your successful progress at UTC, please contact the Counseling and Career Planning Center at 425-4438 or 

Lecture Notes:


OS Structures

Processes & Thread

CPU scheduling

Process synchronization


Memory Management

Virtual Memory

File System

Mass Storage Structure and I/O

Protection & Security


Lab and Assignments:

Install Basics

C and Java

Linux File Systems

File Processing

Adanced File Processing

Shell Script

Linux Utilities

Perl CGI


Create a Shell Interface Using Java

Matrix Multiplication

The Banker's algorithm

Zombie Invasion

Final Project