Readit News logoReadit News
itsmemattchung · 9 years ago
Thanks 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.a...

krat0sprakhar · 9 years ago
The 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
bitwiseand · 9 years ago
I 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.
hofstee · 9 years ago
Actually you can find similar versions here. http://csapp.cs.cmu.edu/3e/labs.html
zodiac · 9 years ago
I think you can get self study versions of the assignments off the textbook web page
0xFFC · 9 years ago
Sorry 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 ?

hellllloworld · 9 years ago
Its 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.
cgag · 9 years ago
Wow, I've read about half the intro to computer systems textbook and had no idea there were lectures online. Very exciting. Thank you.
bogomipz · 9 years ago
I've been going through some of these. These are great. Thanks for sharing.
kev009 · 9 years ago
I 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.

antoncohen · 9 years ago
Thanks 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

[2] https://www.youtube.com/watch?v=nwbqBdghh6E

bogomipz · 9 years ago
bogomipz · 9 years ago
I 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.

camilojd · 9 years ago
Not a course, but I read nice things about this Linux Internals ebook: https://github.com/0xAX/linux-insides
Devthrowaway80 · 9 years ago
I'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.

Animats · 9 years ago
UNIX-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.

hnur · 9 years ago
>UNIX-like kernels are easy, in that you don't have to have >that much running before you can run "Hello World".

Well, it depends on what you mean by "Hello World". Simply printing it out from the kernel? Easy. Getting a workable userspace up and running so a user program prints out "Hello World"? Hard. Also, you can have a microkernel that gives you a UNIX-like personality too (as is it is often the case when implemented), so I am not sure how one precludes the other.

>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.

Uh, of course mobile devices use paging and virtual memory. You might be conflating virtual memory with swapping here.

mrcactu5 · 9 years ago
Non 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/

angry_octet · 9 years ago
Actually 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 · 9 years 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

I wonder what you meant by "mobile devices don't page."

astrange · 9 years 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.

Animats · 9 years ago
He's a game developer, and struggles with the communications problems between the application and GPU. Remember that in Carmack's worldview, the game owns the entire display. It's not one window of many.
Karunamon · 9 years ago
Mobile devices don't page because killing a process on a device which is usually only showing the user one thing at a time, due to want of memory, isn't usually that big of a deal.
angry_octet · 9 years ago
iOS does have VM though, and apps use it to implement home brew memory paging. Obviously not useful for the stack, so it encourages more explicit memory management. The mmaped region is bizarrely counted towards the total, leading to windowed memory schemes from the 1960s, where mmaps are remapped to access different chunks of data. Some poor design choices.

Also, app code is paged in, it just doesn't need to be paged out.

njade · 9 years ago
I 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.
black_stallion · 9 years ago
The 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 · 9 years ago
While 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-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 · 9 years ago
Please don't slander people without references from throwaway accounts.
bogomipz · 9 years ago
How is it questionable, for writing an editorial? His attitude and demeanor in the videos I have watched seems to be one of someone who is enthusiastic and engaged. He congratulates some students in one for a milestone. He looks like he enjoys what he does.
unsignedinteger · 9 years ago
Go 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...
alistproducer2 · 9 years ago
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.