How to learn operating systems fundamentals NOT LINUX?

Joined
Apr 16, 2023
Messages
149
Reaction score
16
Credits
1,460
I really want to learn the fundamental concepts of operating systems as it's taught in college level courses the concurrency, disk and memory management is my focus. I know process scheduling already as it's pretty easy.
But other concepts were tricky. Please share me a guide to learn this. Currently learning synchronization and I'm confused af. Any guidance to make it easy?
 


By synchronization - do you mean learning rsync and sync or using something like FreeFileSync
or do you mean Process Synchronization - which is the coordination of execution of multiple processes in a multi-process system to ensure that they access shared resources in a controlled and predictable manner.
 
Actually no. I want to learn to build a Linux rather than to use a Linux. But I don't want to build a linux. I want to build softwares like Operating Systems Like Linux.

What I mean is something like semaphores, mutex, locks, peterson's solution etc.
 
Tanenbaum's awesome MINIX and (as suggested above)( Linux From Scratch are good tools to learn about operating systems.
 
Haiku & RedOX are developing operating systems, maybe look at them, I'm pretty sure they would welcome more programmers.... ;)


 
I'm all for starting new competing OS's.. but keep in mind.
It took hundreds of people over 30 years to get Linux where it is today.

It's pretty much the same with Windows and MacOS, hundreds of people 3 or 4 decades.
I really don't see any serious competition popping up anytime soon.
 

Yup. That'd be the one.

His work is so good that it's pretty much mandatory for those who study operating systems in college and for many Comp Sci students in general.

MINIX is also a pretty interesting operating system, not relying on a monolithic kernel seems logically sound to me. Back when I was geeking out on this stuff, I spent quite a bit of time playing around and learning. This was also around the time that I did the LFS and BLFS exercises.

Sadly, I didn't retain much. A few years of non-use/non-practice was enough for me to forget quite a bit.
 
The Linux Prigramming Interface is also an excellent book. I know you don't just want to build another Linux, but it really delves deeper than most books and looks at how things are implented.
 
Much respect to andrew tanenbaum for being the father of android smartphones we use today but his book assumes a lots of preriquisites.
 
This could be a good start for any experimental operating system:

"Linux Kernel Programming", Packt Publishing (19. März 2021), ISBN-10: 178995343X,
"Linux Kernel Programming Part 2", Packt Publishing (19. März 2021), ISBN-10: ‎ 180107951X,
"Mastering Linux Device Driver Development", Packt Publishing (8. Januar 2021), ISBN-10: 78934204X
 
but his book assumes a lots of preriquisites.

Yup. You'll use it as a guide and learn what you need to learn along the way. There's a zillion resources to help you get to grips with it.
 

Members online


Top