Looking for learning resources for Computer Operating Systems

In summary, the best book about operating system is "Linux with Operating system concepts" and the other book is by Galvin.
  • #1
shivajikobardan
674
54
TL;DR Summary: operating systems books and courses recommendations.

I've to get FE exam to get licensed as an engineer in Nepal. I want to learn everything properly because I feel I didn't learn to the extent that I could in college. My first hitlist is operating system and Database Management System as these two are also little bit used in my job.

What's the best book about operating system? In college I read tanenbaum and hated every pages of it because it didn't go to much handholding that I wanted. I want handholding in book that assumes I've no preriquisites while teaching. I don't need to make an operating system. Just clear my fundamentals and become an operating system knowledgeable person. Likewise I read computer networks by stallings and I was quite meh about it. The book was good in pieces and definitely better writing than tanenbaum but I'm not exactly impressed.

I've tried the book "Linux with Operating system concepts" and didn't find it good. I'm a hands on person nowadays so would love a book that has good exercises.

The other book is by Galvin. But silber something also wrote this and I didn't like his DBMS book.

There was 1 good book when I was in college I don't remember. if it was 3 easy pieces or something. It had dinosaurs in it. Probably galvin book.

Anyway, recommend me? I will also purchase a competitive exam practice questions book for GATE which is the highest tough exam for engineering computer science.About courses, I found NPTEL courses from top IITs too tough to understand. Are there any new online courses in the market at the moment. I studied operating system in college in around 2020.Please recommend and help me in my journey. I also have purchased a course from Prateek jain academy which is well over 50+ hrs but I am failing to see any value in it.
 
Physics news on Phys.org
  • #2
Are you looking for OS features, what coding methods are used in OS's, just a history of OS's?
What you need as prerequisites depends on what you want to learn about OS's.
For example, if you are going to get into how multitasking or device drivers are implemented, then you will need to know a lot about the hardware support, the processor interrupt processing, I/O, "atomic" operations, etc.
 
  • #3
.Scott said:
prerequisites
One person's prereqs are another person's hand holding, I guess.

I would expect an OS text to assume that the reader is quite familiar with programming in general, with scoping and memory management, with file systems, and with (as you say) atomic operations, reenterenvy, interrupts/masking and locks. Trying to teach them all concurrently is unlikely to be a successful strategy.

It probably doesn't hurt to understand the memory management of at least one CPU as well.

If the issue is a lack of prereqs, I would address them directly.
 
  • #4
I want to learn typical college course in OS. I've realized subjects like OS, DBMS, DSA and CN (operating system, database management system, data structures and algorithm and computer network) are very important in career stuffs as well, so I'm learning them from both exam and learning skilsl point of view.
 
  • #5
After some consideration, I would add C (more so than C++) to the list. A lot of parts to a lot of OS's are written in C. I know you said it was too hard, but I don't think JavaScript is going to cut it. It;s not just writing - you probably want to read some existing code to understand how it works. And there is more to an OS than just the kernel - if I wanted to know how cron, for example, works, I'd look at the cron source.

While it is possible, I suppose, to write an OS primarily in something like Pascal or Ada, as a practical matter, most of the code you will find is in C, followed by assembler. Further, while you didn't say what made it "too hard", but it sounded like it was indirection, pointers and scoping. You absolutely need to know this to understand OS code.
 

FAQ: Looking for learning resources for Computer Operating Systems

What are the best textbooks for learning about computer operating systems?

Some of the most recommended textbooks for learning about computer operating systems include "Operating System Concepts" by Abraham Silberschatz, Peter B. Galvin, and Greg Gagne, "Modern Operating Systems" by Andrew S. Tanenbaum, and "Operating Systems: Three Easy Pieces" by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau. These books cover fundamental concepts and provide in-depth explanations.

Are there any free online courses for learning about operating systems?

Yes, there are several free online courses available for learning about operating systems. Websites like Coursera, edX, and Udacity offer courses from reputable institutions such as MIT, Stanford, and the University of California. For example, MIT's "Introduction to Computer Science and Programming" includes a section on operating systems, and the University of California offers "Operating Systems and System Programming" on edX.

What online resources are available for hands-on practice with operating systems?

For hands-on practice, you can use virtual machines and cloud services to set up and experiment with different operating systems. Websites like VirtualBox, VMware, and AWS Educate provide tools and environments for practical learning. Additionally, platforms like GitHub host numerous open-source projects and repositories that can help you gain practical experience.

What are some good video tutorials for learning about operating systems?

YouTube has many educational channels that offer video tutorials on operating systems. Some popular channels include "Computerphile," "CrashCourse," and "freeCodeCamp.org." Additionally, websites like Khan Academy and Coursera offer video lectures that cover operating system concepts in detail.

Are there any interactive platforms for learning about operating systems?

Yes, there are interactive platforms like Codecademy, Udacity, and Coursera that offer courses with interactive elements such as quizzes, coding exercises, and projects. These platforms often provide a more engaging learning experience compared to traditional textbooks and lectures.

Back
Top