Re:Ask HN: Self-taught webdev with lots of free time. What s...
by thatcodingdude on Wednesday August 12, 2020 @12:12PM
(#24133507)
Do you recommend any books / courses that could help give me some sort of curriculum around this knowledge ?
I unfortunately don't know what I don't know, so I'd need a bit of guidance to learn efficiently. Something like http://pages.cs.wisc.edu/~remzi/OSTEP/ maybe ?
Re:Ask HN: Self-taught webdev with lots of free time. What s...
by fossuser on Wednesday August 12, 2020 @04:07PM
(#24136255)
I really loved this book: https://www.amazon.com/Code-Language-Computer-Hardware-Softw...
Which goes from bits on up without shying away from circuit diagrams. It's also really well written and you can read it from start to finish.
It puts it in a historical context too which makes it fun to read.
Once you read that, they'll be fewer unknown unknowns.
Re:Ask HN: Self-taught webdev with lots of free time. What s...
by alexdowad on Wednesday August 12, 2020 @04:50PM
(#24136802)
This is a far better idea than "Operating Systems: Three Easy Pieces" as suggested by the OP.
Along the way, you will want to try: - Using a debugger to step through simple programs at the machine level and see what happens to the registers, stack, etc - Using tracing tools like strace (for Linux) to see what syscalls various programs issue (this is after you learn what syscalls are and how your OS handles them) - Playing some old-school hacking wargames like vortex, utumno, etc. These are fun and really make you learn the low-level details of how your OS loads binaries, memory layout of processes, etc.
Most developers don't know this level of the stack, and when you are the one guy on the team who does, it's a bit like having superpowers.