7 ms·
MIT 6.S081 – Operating System Engineering
- sydthrowaway 5y agoGood course.. thank god its open access
- CamperBob2 5y agoNo, thank MIT... and consider donating.
- cinntaile 5y agoThe MIT endowment made $9 billion in profit last year, they don't need your $5 to keep releasing their course materials. It's basically marketing anyway. https://news.mit.edu/2021/mit-put-unexpected-gains-work-immediately-1014 https://news.mit.edu/2021/mit-put-unexpected-gains-work-imme...
- CamperBob2 5y agoThe MIT endowment made $9 billion in profit last year, they don't need your $5 (Shrug) Neither does God, so I guess it's up to you and sydthrowaway what you do with your $5.
- PennRobotics 5y agoThe endowment isn't there just to pay for OCW, and the market returns last year are not the returns every year. Also, most donors restrict their funds to specific goals. Every R1's endowment pays for everything a school must do: campus shuttles, sending lab kits to remote students during a lockdown, funding research activities (conferences, equipment, student salaries, journal fees), supporting student clubs, building/maintaining modern facilities, allowing poorer students---those already overcoming disadvantages relative to their peers---to focus on studying instead of working, poaching leading instructors from around the globe, building reactors. According to https://ocw.aprende.org/donate/why-donate/ https://ocw.aprende.org/donate/why-donate/ (a slightly older mirror of OCW's current donate page) MIT gets half of its $3.5 million budget from the institute while the remainder comes from donors. I also don't know that MIT is allowed to dip into the OCW fund for planting trees and endowing professors, so a donation probably actually goes toward maintaining AV gear, paying undergraduates to write captions, ensuring legal compliance, paying external courseware developers and Github fees. (Yes, they occasionally hire external writers. I did this one summer before private repositories were free. OCW hires also get MIT certificates, which unlock a lot more course materials on MIT domains if you search a bit.) At 2 million visits per month, one percent of visitors giving 5 dollars each year falls short of their budget by 500 grand. Do you think even one percent gives? Do you think they had 2 million site visits last month? I don't know if they monetize their Youtube channel either. I can't recall ever seeing ads on their videos. Ultimately, a lot of people are leeching off of large donors and corporate sponsors, who get back---at least short-term---practically nothing for their support. I see the school's perspective, why give more if users (or benefactors) are unwilling to support a reasonably worthy cause? (If you need proof that a leading university will revoke its charitable publishing of course materials, look no further than UC Berkeley, which took the ball home after being ordered to add closed captions to free lecture videos.) In short, I would recommend giving a few coffees worth to OCW before giving to Wikipedia (for the same reason you'd pay for universal grade school whether you have children or not), and I have historically done both.
- lnsp 5y agoI came across this course after going through the 6.824 from RTM last year and enjoying the hands on approach a lot! Teaching using the xv6 OS (https://pdos.csail.mit.edu/6.828/2012/xv6.html https://pdos.csail.mit.edu/6.828/2012/xv6.html) is super valuable. I do not consider myself an expert in operating systems or C, but digging through the xv6 source code is quite fun, the code is easily readable and very newby friendly.
- jzm2k 5y agoYes it's very readable and easy to understand. I had made a huge design mistake in my OS's scheduling which basically prevented any task from going to sleep but it was hard to understand what other way was there to do it. Reading xv6's source code saved me (and my OS) as the code was so clean that it was easy to understand the idea behind their scheduling and port that to another kernel that had otherwise nothing to do with xv6.
- a9h74j 5y agoThis has me reading the updated pdf discussing xv6 (riscv, 2021): https://pdos.csail.mit.edu/6.S081/2021/xv6/book-riscv-rev2.pdf https://pdos.csail.mit.edu/6.S081/2021/xv6/book-riscv-rev2.p... So far, it is saying all the things that need to be said once, once, and very clearly.
- all2 5y agoMy 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 gave up in short order.
- edgyquant 5y agoI 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.
- deleted 5y ago[deleted]
- the_real_me 5y agoI'm not familiar with xv6, but I remember using Pintos for my undergraduate level Operating Systems course around a dozen years ago. I still chuckle at another student's description of the class... "a crash course in enabling and disabling interrupts in order to prevent segfaults and pagefaults.
- addcninblue 5y agoHah did you go to Berkeley? We're still using Pintos here.
- omegaham 5y agoMy alma mater (Portland State) also used xv6 for its OS class, and it was excellent.
- nyanpasu64 5y agoDoes studying toy operating systems teach strictly more, or just different skills, than studying bare-metal embedded frameworks like https://github.com/rsta2/circle https://github.com/rsta2/circle (which powers https://github.com/dwhinham/mt32-pi https://github.com/dwhinham/mt32-pi, unlike Zynthian which is Linux-based (https://zynthian.org/#software 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 software setup (game MIDIs wouldn't play right, and in terms of sound design, all the good MT-32 patch editors are for obsolete platforms and many are gone from the Internet).
- animal_spirits 5y agoI took an operating systems course at Purdue in which we built the Xinu OS from (almost) scratch [1]. Almost all of us had no real experience with a _big_ project like this before, and the most important thing thing that I learned was how to be comfortable with a large system of different moving parts that all need to interop together. I learned a lot about how processes work, C memory management, and shells, but I don't ever use that in my day to day. It is fun to know kind of what is going on way behind the scenes when I'm using my computer, but knowing the low level datastructures really hasn't been practical for me while the big picture of the project impacted me greatly. [1] https://xinu.cs.purdue.edu/ https://xinu.cs.purdue.edu/
- saagarjha 5y agoThough implementations differ, for any nontrivial task the problem of scheduling and resource allocation is a recurring theme and an important part of what an OS class “teaches”. But for many undergraduates an OS is also their first large project, perhaps one written in C. Really, there’s no “one” skill that a toy OS can offer, but anything in the area will give you a greater appreciation for how OSes in general might work and the problems they need to solve.
- a-dub 5y agotoy 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. maybe folks working with nachos or one of these other toy operating systems get more topical depth (implement a scheduler or vm subsystem from scratch or such), but i personally found the experience of making real modifications to linux to be both more interesting and rewarding. (although many in the course struggled)
- indweller 5y agoAre all the assignments self-graded or do we have to be enrolled at MIT to submit somewhere and see if our code is correct?
- heleninboodler 5y agoLooks like the labs include a makefile with a "grade" target so you can run "make grade" and it will tell you if you pass.
- bgschulman31 5y agoOSTEP by Remzi and Andrea Arpaci-Dusseau is a great read for anybody interested in operating systems (https://pages.cs.wisc.edu/~remzi/OSTEP/ 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.
- jackosdev 5y agoDamn I love the tech community, so much amazing free content
- pthread_t 5y agoAwesome textbook. My OS professor in college switched from the dinosaur book to this book to alleviate some financial burden for students.
- jabedude 5y agoHands down my favorite OS text book. In a way I owe my interest and career in operating systems development to it
- uptheroots 5y agoThis was my textbook in college! It’s great
- vietthan 5y agoCan recommend, Professor Daniel Balasubramanian uses this to teach year 2/3 CS students in his OS class for Vanderbilt University.
- ainzzorl 5y agoThe best universities in the world make their courses available online for free - what a time to be alive! I wonder if it's still possible to make money selling online courses in CS.
- exdsq 5y agoLots of scammy-looking FANG Algo/Career sites sell subscriptions and seem fairly lucrative, and then you have Udacity/Coursera/Edx that sell you a certificate if you want one. Personally I quite like Udemy because they’re cheap and very specific - a lot are junk but some are really good (like the Stephan Girder series on JavaScript and docker).
- tatoalo 5y agoCool, when I was enrolled in the OS class at university, we worked with JOS (exokernel) instead and I relied heavily also on the great OSTEP[0] learning resources! [0]: https://pages.cs.wisc.edu/~remzi/OSTEP/ https://pages.cs.wisc.edu/~remzi/OSTEP/
- solmag 5y agoMost body of knowledge built from working with Linux and Windows can be wholly ignored when building the New Operating System. There is barely anything worth of salvaging in either of the 'operating systems' or their lessons learned (besides not doing what they did). I guess some of the GUI stuff is worth something, but you can just make a ray traced OS with Unity so.
- rzzzt 5y agoGuess file sizes based on their reflection!
- agurk 5y agoI did this course after someone mentioned in here a year ago, and have recommended it to a lot of people since. It's a very well structured and also up to date providing a good intro to RISC-V. I came across a compiler bug when doing the course with gcc outputting incorrect ASM which was quite exciting as I've never come across one in the wild before. I really should check if that's been fixed and report it if not.
- camc0m 5y agoHow much time did you invest into this course? Did you do all of the readings, labs, and view all lectures? In how much time?
- fl0tingh0st 5y agoEven I'm planning to take up this course, since I have a full time job, if we get to know time, it would help me plan stuff.
- agurk 5y agoHopefully my reply above gives you enough details to do some planning. The time taken to solve the assignments is probably quite individual though. One thing I would say is that it was a fairly linear amount of learning, so even if you only complete part of the course you can learn a lot.
- agurk 5y agoI completed all of the material between January and May last year, looking at the timestamps on my disk. One of the requests on the course was to include time taken for the assignments as part of the submission. This was part of the (locally run) grading script, so even though I didn't submit I still completed it, luckily. There were 11 assignments, and each took 5-10 hours apart from a few I got stuck on - I've got one assignment listed as being 30 hours (and I still remember the frustration. I nearly got to the point of emailing the course creators to ask for help but figured it out in the end as part of it was my aforementioned compiler bug). On top of this there are two lectures a week (often ran over time with questions) so about 3 hours per assignment and some reading material. I had used C before this course and was very rusty. This caused me to make some mistakes in the beginning, like pulling in standard libraries rather than using the ones as part of XV6, that someone new to C would likely not have made. So in total I'd say 36 hours of lectures, 10 hours reading, 100+ hours doing assignments.
- log101 5y agoI wonder why they are not sharing the lecture videos or at least sound recordings. It really helps digesting the material in the readings!
- Denvercoder9 5y agoFor most lectures, there's a link to a video of the lecture in 2020.
- hexomancer 5y agoOn a tangent note, is there a catalogue of unlisted MIT courses such as this one?
- ghostoftesla 5y agoThe course is really neat. Some of the candidate projects involving 9p virtio integration are suoerb ideas. Did the CoW lab exersice for one of my courses. The xv6 manual is very detailed as well.
- kgoutham93 5y agoI 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.
- unmole 5y agoOperating Systems in Three Easy Pieces: https://pages.cs.wisc.edu/~remzi/OSTEP/ https://pages.cs.wisc.edu/~remzi/OSTEP/
- Dowwie 5y ago"CS111: Operating System Principles" at UCLA is open-coursed. They're using OSTEP as their textbook: https://laforge.cs.ucla.edu/cs111/ https://laforge.cs.ucla.edu/cs111/
- deleted 5y ago[deleted]
- absurdmind 5y agoI've taught this course a long time ago. Envied the students for all the fun they had implementing the homeworks. Highly recommended for anybody interested in computer systems.
- jzer0cool 5y agoFor those wanting to move more into lower level stacks, after completing a class like OS, what might be some good entry jobs? What kind of job description would I be looking for? What next after entry?