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.
 

1. What are the best resources for learning about computer operating systems?

There are many great resources for learning about computer operating systems, including online courses, textbooks, and video tutorials. Some popular options include Coursera's "Operating Systems" course, the textbook "Operating System Concepts" by Abraham Silberschatz, and the YouTube channel "The Operating System." It's also helpful to join online communities or forums where you can ask questions and discuss with others who are also learning about operating systems.

2. Are there any free resources available for learning about computer operating systems?

Yes, there are many free resources available for learning about computer operating systems. Some options include open-source textbooks, free online courses, and YouTube tutorials. It's also helpful to check out the websites of universities or technology companies, as they often offer free resources and materials on operating systems.

3. How long does it take to learn about computer operating systems?

The time it takes to learn about computer operating systems can vary depending on your prior knowledge and the depth of your learning. Generally, it can take anywhere from a few weeks to several months to gain a basic understanding of operating systems. However, to become an expert, it may take several years of study and practice.

4. What are the key topics to focus on when learning about computer operating systems?

Some key topics to focus on when learning about computer operating systems include process management, memory management, file systems, and security. It's also important to understand the different types of operating systems, such as Windows, macOS, and Linux, and their specific features and functions.

5. How can I apply my knowledge of computer operating systems in real-world scenarios?

There are many ways to apply your knowledge of computer operating systems in real-world scenarios. For example, you can use your understanding of process management to optimize the performance of your computer, or your knowledge of security to protect your system from cyber threats. Additionally, many job roles, such as system administrator or software developer, require a strong understanding of operating systems, so your knowledge can be directly applied in these fields.

Similar threads

Replies
5
Views
615
  • STEM Academic Advising
Replies
17
Views
1K
  • STEM Academic Advising
Replies
3
Views
919
  • STEM Academic Advising
Replies
2
Views
1K
  • Programming and Computer Science
Replies
8
Views
1K
  • STEM Academic Advising
Replies
14
Views
2K
Replies
2
Views
2K
  • STEM Academic Advising
Replies
9
Views
1K
  • Science and Math Textbooks
Replies
26
Views
3K
Replies
2
Views
884
Back
Top