8 ms·
Hack the Kernel – Learn about operating systems online
- njade 10y agoI have to say - the course is very well organised. For me atleast, the structure and flow is exactly how I approach my learning. A video overview -> a though provoking discussion -> the problems -> hints -> academic paper -> solution. Neat.
- Philipp__ 10y agoThis is godsend! Today I found some final notes and resources over the internet, wanting to put my C/C++ skill to good use and build and learn something. Always was attracted to OS (having OS class in a year but I couldn't wait), so thanks for sharing this so much! Can't wait to get started tonight!
- itsmemattchung 10y agoThanks for sharing. I'm certainly bookmarking this page and revisit this course after wrapping up CMU's 213[0]. How does this compare to Udacity's "Introduction to Operating Systems?". [0] If you are self studying, like me, CMU offers not only the lectures online, but the labs as well: https://scs.hosted.panopto.com/Panopto/Pages/Sessions/List.aspx#folderID=%22b96d90ae-9871-4fae-91e2-b1627b43e25e%22 https://scs.hosted.panopto.com/Panopto/Pages/Sessions/List.a...
- hellllloworld 10y agoIts way better than Udacity's intro to os course. Just read through all the assignment descriptions, and you'll get an idea of how much you're going to learn.
- krat0sprakhar 10y agoThe CMU class looks interesting but it seems the assignments are behind a login. A list of classes that have more open content - https://github.com/prakhar1989/awesome-courses#systems https://github.com/prakhar1989/awesome-courses#systems
- bitwiseand 10y agoI took 213 at CMU. Can't recommend it highly enough. A lot of other intro systems courses are based off that. It is a prerequisite for most classes moving forward at CMU. The textbook is also available online as a pdf (Google it). First 2 or 3 labs deal with bitwise, assembly (buf overflow attacks - bomb lab), then cache lab (matrix multiply performance), then signals, then implementing malloc, and finally using pthread API / threads to create a proxy server.
- zodiac 10y agoI think you can get self study versions of the assignments off the textbook web page
- hofstee 10y agoActually you can find similar versions here. http://csapp.cs.cmu.edu/3e/labs.html http://csapp.cs.cmu.edu/3e/labs.html
- bogomipz 10y agoI've been going through some of these. These are great. Thanks for sharing.
- 0xFFC 10y agoSorry for asking dumb question, but after looking to their website I couldn't find lectures for Operating system course. Where could I find them? (I am talking about CMU course) Does it need to login to watch lectures ?
- cgag 10y agoWow, I've read about half the intro to computer systems textbook and had no idea there were lectures online. Very exciting. Thank you.
- hellllloworld 10y agoits the best class i've ever taken. definitely worth solving the assignments!
- RawData 10y agoWow this looks pretty cool!
- j_m_b 10y agoDo they have anything like this for learning how to transpile from lisp to other languages? =)
- aban 10y agoNot a course, but here's a nice blog post [0] on writing a lisp->JS transpiler (350 LOC) that was recently shared [1] on /r/haskell. [0]: http://gilmi.xyz/post/2016/10/14/lisp-to-js http://gilmi.xyz/post/2016/10/14/lisp-to-js [1]: https://www.reddit.com/r/haskell/comments/57sg9q/building_a_lispjs_transpiler_from_scratch_in_350/ https://www.reddit.com/r/haskell/comments/57sg9q/building_a_...
- unsignedinteger 10y agoGo bulls! I took Operating Systems with Kosar and worked on Pintos rather than the OS-161 modules. Honestly don't know what I was thinking, Challen's class seems far more interesting...
- kim0 10y agoThat actually looks quite good! Can anyone who took this training vouch for it?
- hellllloworld 10y agoYes. Mark Zuckerberg vouched for it. https://postimg.org/image/4b23cfczh/ https://postimg.org/image/4b23cfczh/
- googler1500 10y agoVery nice. Look forward to using this.
- antoncohen 10y agoThanks for posting this. I was looking for more operating system courses. I'm currently watching Kirk McKusick's FreeBSD Kernel Internals course [1], which isn't available for free (the first hour is [2]), but I thought was worth the money. I find is really amazing that I can watch a course taught by someone who is such an expert in UNIX-like systems. Along with a general in-depth OS course, I would like to find a Linux-specific course. Does anyone know of a good Linux internals course? [1] https://www.mckusick.com/courses/introdescrip.html https://www.mckusick.com/courses/introdescrip.html [2] https://www.youtube.com/watch?v=nwbqBdghh6E https://www.youtube.com/watch?v=nwbqBdghh6E
- camilojd 10y agoNot a course, but I read nice things about this Linux Internals ebook: https://github.com/0xAX/linux-insides https://github.com/0xAX/linux-insides
- Devthrowaway80 10y agoI'm currently working on the Eudyptula Challenge, which has been interesting so far and is Linux-specific. The creatively-named book Linux Kernel Development by Robert Love is also good.
- bogomipz 10y agoThe Linux Foundation has a bunch: https://training.linuxfoundation.org/linux-courses https://training.linuxfoundation.org/linux-courses
- bogomipz 10y agoI find it hard to believe someone would downvote a recommendation for suggesting the Linux Foundation in response to a question asking if there were any good courses on Linux Kernel internals. The quality is excellent the price is inline with just about any 4 or 5 day vendor training class. I know of no other such class outside of a university setting. If you had didn't have a positive experience then please share it.
- 10y ago
- bogomipz 10y agoWow, this really great. Thank you for sharing. I didn't any "about" link. Does anybody know who did this or what the affiliation is? In this Youtube link I see "Buffalo": https://www.ops-class.org/courses/buffalo/CSE421_Spring2015/#_lectures https://www.ops-class.org/courses/buffalo/CSE421_Spring2015/... Is this SUNY/Buffalo State maybe? The lecturer in lecture 1/38 is fantastic. Does anybody know who this person is?
- deeebug 10y agoUniversity at Buffalo, SUNY. The person that teaches the course (who is the lectuerer) is Geoffrey Challen (https://blue.cse.buffalo.edu/people/gwa/ https://blue.cse.buffalo.edu/people/gwa/) Source: I took this class last semester (Spring 2016)
- bogomipz 10y agoThanks. Do you know if he made all this available then or is this something he did in conjunction with SUNY? The reason I ask it because of the domain and it simplicity of navigation.
- justin66 10y ago"Ops?" No, really, I'm asking.
- ignorestartups 10y agoIn this context it probably means Operating Systems (i.e. low level programming)? (But i've been seeing the same term used for like System Administration / "Support Services" / the I.T. Department in general, or something.)
- Animats 10y agoUNIX-like kernels are easy, in that you don't have to have that much running before you can run "Hello World". I'd like to see more on microkernels. You have to have more pieces running before you get to "Hello World". Also, the emphasis on virtual memory and page faults is becoming dated. Paging out to disk is obsolete technology. RAM is too cheap, and mobile devices don't page.
- mrcactu5 10y agoNon CS-major here (in fact I did math). I don't know anything about kernels or micro-kernels. Easy cases, even grossly over-simplified cases would be relevant. I know that every time I run a command into bash Linux is doing all sorts of fancy memory-allocation and queueing and more. All the books I am finding are either way too technical or grossly out of date. Here is a cute course on Compilers: http://web.stanford.edu/class/cs143/ http://web.stanford.edu/class/cs143/
- angry_octet 10y agoActually they are not that out of date... Tanenbaum's Operating Systems and Computer Networks are both good. The BSD book by McKusick is excellent for more advanced students. For example, they don't cover SMP much, but locking and queuing, so you are prepared for studying SMP.
- justin66 10y ago> Also, the emphasis on virtual memory and page faults is becoming dated. Paging out to disk is obsolete technology. RAM is too cheap, and mobile devices don't page. I've got to admit, I thought of John Carmack advocating for pretty much the opposite direction for operating systems earlier this year, for making greater use of memory mapped files, unified virtual memory for CPU and GPU, and so on: https://twitter.com/ID_AA_Carmack/status/742191010013286400 https://twitter.com/ID_AA_Carmack/status/742191010013286400 I wonder what you meant by "mobile devices don't page."
- astrange 10y ago> I wonder what you meant by "mobile devices don't page." Mobile devices have memory-mapped pages, but they don't have VM or overcommit. Your process just gets killed if it's using too much memory. Page faults are still important though… actually even more important.
- melvin0008 10y agoI have taken this course and the assignments are fun and challenging. Learnt a lot.
- black_stallion 10y agoThe professor who made this class is leaving UB next fall. I'd be lucky to be able to attend this one last course under him(the class is gonna be a full house this time) before he moves out of UB, a sad event in itself :(
- redmi07 10y agoWhile the course / content is itself good. The attitude of the professor is very questionable. https://blue.cse.buffalo.edu/posts/2016-10-22-the-best-way-to-not-get-tenure/ https://blue.cse.buffalo.edu/posts/2016-10-22-the-best-way-t... is a rant from him. Quiet a few PhD students have quit from him and does not have a good reputation for being nice.
- angry_octet 10y agoPlease don't slander people without references from throwaway accounts.
- angry_octet 10y agoSome long term HN habitués obviously (given the downvotes, though strong oscillations at the moment) think slandering people anonymously is okay. I'm curious why this would be. Is is because they think people would be penalised unfairly (e.g. by their institution) if they "told the truth" about someone? Wouldn't critism be more effective if you backed it with your identity? Obviously when universities conduct class assessments they are able to do a census of actual participants. Here anonymity is sensible. Your slander would be more acceptable if you had used content from a first hand experience, as it common on e.g. ratemyprofessor. Reading the (anonymous) statements about him online it does seem like he is a polarising figure, especially that the course works is a lot harder (in the sense of pushing peoples' capabilities) but many people rate him as one of their best lecturers... http://www.ratemyprofessors.com/ShowRatings.jsp?tid=1626392 http://www.ratemyprofessors.com/ShowRatings.jsp?tid=1626392 https://www.quora.com/How-good-is-the-MS-in-Computer-Science-and-Engineering-program-of-the-University-at-Buffalo-considering-the-quality-of-education-job-internship-scene-and-part-time-jobs https://www.quora.com/How-good-is-the-MS-in-Computer-Science... Overall I come away with the impression that a whole bunch of students were totally unprepared for his class ("Need to know C", since when isn't C a prerequisite for operating systems???). The projects sound too big for the time available, something I remember well from undergraduate study.
- kev009 10y agoI wasn't expecting much at first as an OS professional, but wow this is great! Flipping through the slides, it's just the right amount of info and context to develop a working knowledge and vocabulary without much time investment or getting overwhelmed or losing interest. Didn't look at the videos or assignments yet. If you work in some type of ops role this will really accelerate your career. If you are a programmer and forgot or did not take an OS internals class, ditto. You will not unlock maximum throughput, minimum latency or a balance without understanding these concepts.
- skmh 10y agoWow! Thank you for sharing. Learnt a lot. This is really worth keeping bookmarked. Highly recommended.
- alistproducer2 10y agohttp://wiki.osdev.org/Main_Page http://wiki.osdev.org/Main_Page has a LOT of great info on OS theory and practice as well. Edit: added "as well." I don't want to give the impression that the OP is an inferior source.
- jza00425 10y agoMark this, will check it later. Thx
- fatzombi 10y agoᕙ(`▿´)ᕗ thanks alot for sharing