Operating Systems Labratory: Syllabus
You can download a PDF version of this syllabus here
Prerequisites
An undergraduate-level understanding of operating systems concepts.
Objectives
This course is primarily designed for undergraduate students. In this course you will be learned how to work and administrating unix-like operating systems, system programming , and writing shell scripts. We do not emphasize on using a specific distro of unix-based operating systems, if you are currently working with one of them and you are familiar with using unix-based operating systems , then you are free to use your favorite distro. And if you are not familiar with them , then we will teach you how to start using them. The topics which will be covered are :
- History of Unix and Linux Operating Systems
- Introducing Linux and Unix Distributions
- Bootstrapping Scenario
- File Systems
-
Systems Directories
-
File/Directories Commands
-
Group and User and Ownership Management
-
Premissions
-
Mounting
- Processes Management
-
Forking System
-
Processes Management Commands
-
Foreground and background Processes
-
Signaling and Signal Handeling
-
Inter-Process Communication (IPC)
- Multi-Threading
- Shell Scripting
-
Key Files
-
Variables
-
Operators
-
Shell Programming
Main References
Our Lectuers are mainly based-on these books.
- Willam Shotts, The Linux Command Line a Complete Introduction, No Starch Press, 2nd ed, 2019.
- Evi Nemeth, Garth Snyder, and etc, Unix and Linux System Administration Handbook, Addison-Wesley, 5th ed, 2018.
- W. Richard Stevens, Stephen A. Rago, Advanced Programming in the Unix Environment, Addison-Wesley, 3rd ed, 2013.
- Stephen Kochan, Patrick Wood, Shell Programming in Unix, Linux and OS X, Addison-Wesley, 4th ed, 2017.