Live data from Hacker News

MIT 6.S081 – Operating System Engineering

pdos.csail.mit.edu

41–50 of 51 posts

Re: MIT 6.S081 – Operating System Engineering

#41
post #22

Does studying toy operating systems teach strictly more, or just different skills, than studying bare-metal embedded frameworks like https://github.com/rsta2/circle (which powers https://github.com/dwhinham/mt32-pi , unlike Zynthian which is Linux-based ( https://zynthian.org/#software ))? I dropped out of uni before completing my OS course, and I planned to look into mt32-pi, but sadly struggled with hardware and so…

toy operating systems allow for more depth in the assignments, where working with real-world software systems with real world complexity requires ramping up. when i took operating systems, we extended linux with an eye to building reliable systems (we built stuff like fault injectors for syscalls) as that was where the professor's graduate work had been and made various toy modifications to actual linux subsystems. m…

No, I meant is it better to teach or learn an OS, than a single-ring platform (about as minimal as a toy OS compared to Linux) where all code runs in the same address space, and scheduling is written by the user if present at all?

Re: MIT 6.S081 – Operating System Engineering

#43
post #8

Earlier quoted context omitted.

My OS class at the University of Wisconsin used xv6. I love and hate that little operating system. My professor had actually taken the time to logically split all the source files into folders for their given purpose. When I found the original source and the flat structure, I died a little inside. There was no way I would be able to recreate a folder structure that would also successfully build with make. I tried and…

I rebuilt it into a folder structure when I was younger trying to teach myself operating systems. It wasn’t that difficult if you’re familiar with make.

I am definitely not familiar with make. My two big issues with my OS class were: I'm awful at C, and make is a mystery to me.

Re: MIT 6.S081 – Operating System Engineering

#44

I understand that this is a weird question, I've never coded in C, are there any online resources that help me grok OS concepts without a lot of emphasis on hands-on coding assignments.

Operating Systems in Three Easy Pieces: https://pages.cs.wisc.edu/~remzi/OSTEP/

Re: MIT 6.S081 – Operating System Engineering

#47

OSTEP by Remzi and Andrea Arpaci-Dusseau is a great read for anybody interested in operating systems ( https://pages.cs.wisc.edu/~remzi/OSTEP/ ). The projects in their class at the University of Wisconsin-Madison were mainly making edits to the xv6 OS.

Can recommend, Professor Daniel Balasubramanian uses this to teach year 2/3 CS students in his OS class for Vanderbilt University.

Re: MIT 6.S081 – Operating System Engineering

#49
post #22

Earlier quoted context omitted.

toy operating systems allow for more depth in the assignments, where working with real-world software systems with real world complexity requires ramping up. when i took operating systems, we extended linux with an eye to building reliable systems (we built stuff like fault injectors for syscalls) as that was where the professor's graduate work had been and made various toy modifications to actual linux subsystems. m…

No, I meant is it better to teach or learn an OS, than a single-ring platform (about as minimal as a toy OS compared to Linux) where all code runs in the same address space, and scheduling is written by the user if present at all?

[deleted]

Re: MIT 6.S081 – Operating System Engineering

#50
post #22

Earlier quoted context omitted.

toy operating systems allow for more depth in the assignments, where working with real-world software systems with real world complexity requires ramping up. when i took operating systems, we extended linux with an eye to building reliable systems (we built stuff like fault injectors for syscalls) as that was where the professor's graduate work had been and made various toy modifications to actual linux subsystems. m…

No, I meant is it better to teach or learn an OS, than a single-ring platform (about as minimal as a toy OS compared to Linux) where all code runs in the same address space, and scheduling is written by the user if present at all?

personally i'd probably prefer an os unless i was trying to learn device programming specifically. if you're playing with things like scheduler policies, vm strategies or networking, you probably want the all of the tooling that is available on full blown multiprocessing operating systems to generate/simulate workloads and test your strategies under real world conditions.

if you're aiming to be an embedded person someday on things like scada and such, or are interested in reverse engineering old hardware and systems and care a lot about device interfaces, them maybe one of these operating system as library frameworks would be a better choice.

depends what your goals are i guess.

Post reply on HN