As I said I've my FE license coming up as well as I'm a Linux Systems Administrator. Now, I want to learn operating systems(a cs subject) from the depth of it.<p>I'm following 3 different books (I hate tanenbaum)<p>- William Stallings<p>- Deitel et al<p>- Galvin et al<p>Out of them deitel is best. But my goal is to learn each line written in the book and I'm not satisfied with myself. I want to gain a lot of knowledge. But it's not happening. Please guide me a bit.
I've been reading Operating Systems: Three Easy Pieces [1] which is free online, probably covers more or less the same as Stallings but I've been enjoying particularly this one so it might be useful to check it out.<p>I've been also navigating the code for xv6 [2] trying to understand how the concepts are mapped to the code, some of the code snippets from Three Easy PIeces are from xv6 as well.<p>[1] <a href="https://pages.cs.wisc.edu/~remzi/OSTEP/" rel="nofollow noreferrer">https://pages.cs.wisc.edu/~remzi/OSTEP/</a>
[2] <a href="https://pdos.csail.mit.edu/6.828/2023/xv6.html" rel="nofollow noreferrer">https://pdos.csail.mit.edu/6.828/2023/xv6.html</a>
Start out a bit smaller, hands on approach:<p>Unix man pages. Look at /etc/init scripts.<p>Minux OS source code/documentation[0].<p>Review / understand BSD version changes/differences. v1.0 to 4.4.<p>Linux from Scratch[1]<p>"UNIX Systems Programming: Communication, Concurrency and Threads" by Kay A. Robbins & Steve Robbins<p>"Expert C Programming, Deep C Secrets" by Peter Van Der Linden<p>"Comprehensive C" by David Spuler<p>Awk / shell programming from a CS autonoma perspective. (start search: s-expressions, m-expressions) Note: CS masters level backround knowledge!<p>[0] : <a href="http://www.minix3.org/" rel="nofollow noreferrer">http://www.minix3.org/</a><p>[1] : <a href="https://www.linuxfromscratch.org/" rel="nofollow noreferrer">https://www.linuxfromscratch.org/</a>
If you can learn well from books, good luck.<p>Personally, I'd grab an old, but working PC and get XV6 or Minix working on it.
Minix is especially interesting because Linus used that as his starting point.
How much do you understand about Hardware?<p>If you want to understand Operating Systems from the depht of it, don't read the books you are reading just yet. Too early.<p>Go learn to use different Operating Systems, first, and get the differences.