The operating system (OS) is the most important program that runs on a computer. Every general-purpose computer must have an operating system to run other programs and applications. As operating system is heart for computer similarly operating system is also key subject for computer science students.
- Operating systems provide the crucial interface between a computer’s hardware and the applications that run on it.
- It allows us to write programs without bothering much about the hardware.
- It also ensures that the computer’s resources such as its CPU, hard disk, and memory, are appropriately utilized.
The theoretical and practical knowledge of operating system essential to understands the working of computer system.
Theoretical knowledge of Operating System
There are many resources which are free and easily accessible to learn operating system as subject. Here I am suggesting 2 books which I personally feel helpful to learn Operating system.
- Operating System Concepts: Abraham Silberschatz, Greg Gagne, Peter B. Galvin
In this book author has explained operating system in gravity. The text includes content to bridge the gap between concepts and actual implementations. End-of-chapter problems, exercises, review questions, and programming exercises help to further reinforce important concepts.
- Operating Systems – William Stallings
This book covers fundamental technology as well as contemporary design issues, such as threads, microkernels, SMPs, real-time systems, multiprocessor scheduling, embedded OSs, distributed systems, clusters, security, and object-oriented design.
Here you may find various practical approach to understand operating system.
Practical knowledge of Operating System
One can have practical knowledge of operating system when someone do the practical with operating system. So whenever you work with your computer go to task manager and try to explore it.
Anyone who is acutely interested in learning operating system practically may go to learn basics of UNIX/Linux operating system, where he can learn commands to handle processes, files and different resource management.
If some wants to explore algorithmic part of operating system’s management task, should learn design of operating system, try to code these algorithm in any programming language.
Here is the link where you can learn UNIX/Linux Basics
Last but not the least suggestion is always relate subject with real world, you will never find it difficult.
Some more books on Operating systems
- How to Make a Computer Operating System
- Operating Systems – Prof. Subhashis Banerjee, IIT Delhi
- Operating Systems and Middleware (PDF and LaTeX)
- Operating Systems: Three Easy Pieces (PDF)
- Practical File System Design: The Be File System (PDF) – Dominic Giampaolo
- The Art of Unix Programming – Eric S. Raymond
- The Design and Implementation of the Anykernel and Rump Kernels – Antti Kantee
- The Little Book of Semaphores – Allen B. Downey
- The little book about OS development – Erik Helin, Adam Renberg
- Think OS: A Brief Introduction to Operating Systems (PDF) – Allen B. Downey
- UNIX Application and System Programming, lecture notes (PDFs) – Prof. Stewart Weiss
- Xv6, a simple Unix-like teaching operating system (PDF)
Join Our Forum to discuss on various topics.