4 ms·
Central Michigan University
by vital101 11y ago
Central Michigan University
- analognoise 11y agoAre the course notes online? I'm an EE by degree but I've been getting more interested in the programming side of the house and I'm looking for a "teaching os". The other option is the perennial favorite, Minix, but I've realized about computing is that there are a lot of thoughts on how to do things correctly and seeing only one way may make you blind. As an aside, it looks like we've hugged the site to death.
- gh02t 11y agoIf you want to learn the kernel side, Xv6 is made specifically for a course series at MIT and has a ton of material on how it is designed. It's meant to be super simple for tinkering. http://pdos.csail.mit.edu/6.828/2014/xv6.html http://pdos.csail.mit.edu/6.828/2014/xv6.html If you're really looking for a more complete OS for perusing the source, I'd probably say OpenBSD. They emphasize clean implementation and documentation, which makes it a good learning tool as well. Inferno and the other Plan9 family members maybe aren't the best choices IMO. I haven't done a super deep dive, but my impression is that the communities around them are starved for labor and you might not find things as approachable. There's a lot there to learn of course, but you might have more issues.
- vezzy-fnord 11y agoThe communities are niche, but on the other hand Plan 9's internal code style, organization and the liberal use of a few small grand abstractions actually make it easier to study for hobbyists and researchers alike compared to a full modern Unix with all of its intrinsic architectural complexity and real-world cruft (not that OpenBSD isn't one of the best ones in avoiding this).
- analognoise 11y agoExcellent suggestion; thank you! It appears that site is down right now; I'll check for it later.
- mveety 11y agoWe (the 9front guys) are generally pretty approachable and cooperative as long as you genuinely want to learn and aren't a complete ass. Starved for labour isn't a bad thing though, less bullshit gets added into the operating system.