Course Title: Operating Systems I
Course Code CS 213
Credit Value: 3 Credits
Contact Hours
Lectures: 2 hours/week
Practical/Laboratories: 2 hours/week
Duration: 15 Weeks (One Semester)
Prerequisites: Introduction to Programming, Computer Organization
Primary Platform: Linux
1. COURSE DESCRIPTION
This course introduces the fundamental principles of operating systems and their role in managing computer hardware and providing services to application programs. Students study process management, CPU scheduling, synchronization, memory management, file systems, storage systems, and introductory security concepts.
Emphasis is placed on understanding operating system abstractions and gaining practical experience using Linux command-line tools and system utilities. Students develop a conceptual foundation for advanced studies in systems programming, computer networks, cybersecurity, and distributed systems.
2. COURSE OBJECTIVES
By the end of this course, students should be able to:
Explain the purpose and functions of an operating system.
Describe how processes and threads are created and managed.
Understand CPU scheduling principles and algorithms.
Explain synchronization problems and solutions.
Describe memory management techniques and virtual memory.
Understand file systems and storage organization.
Use Linux tools and commands to interact with the operating system.
Apply operating system concepts when developing and debugging programs.
3. LEARNING OUTCOMES
Upon successful completion, students will be able to:
Describe the architecture and components of operating systems.
Use Linux command-line tools to manage files and processes.
Explain process and thread management.
Compare common scheduling algorithms.
Describe synchronization and deadlock concepts.
Explain memory management and virtual memory mechanisms.
Demonstrate understanding of file systems and storage management.
Apply basic operating system concepts to software development and troubleshooting.