Hacker News new | past | comments | ask | show | jobs | submit login

For an introduction to the theory, Nand2Tetris[0] starts you out with nothing more than an xor gate from which you construct every other logic gate, implement a CPU, then in part 2 you build an OS on top of that. Although that sounds intimidating, it's actually incredibly accessible. I went in knowing nothing about the topic, and was able to implement the CPU by the end of the course, which was a major confidence boost. Also I found the lessons learned from the course (basically, layer simple systems with clear interfaces together to get complex systems) extended well beyond just CPUs and OSes to software design in general.

That uses a very simple educational architecture designed for ease of learning, though. If you prefer a good introductory resource for real-world operating systems, I just finished Georgia Tech's Intro to OS graduate course[1] and found it very accessible as well, and now feel reasonably comfortable with the theory when reading about OS topics elsewhere.

[0] http://www.nand2tetris.org/

[1] https://www.udacity.com/course/introduction-to-operating-sys...




I haven't done the course, but I'm fairly sure that XOR isn't a universal gate, so you probably don't start out with "nothing more than an xor gate." Based on the name, I would guess you start out with only NAND, which is a universal gate.


Sorry, obviously yes, it starts with NAND. No idea where I got XOR from.


I did nand2tetris something like 7 years ago, it was a pretty fun introduction to digital logic. I remember hitting a point where I couldn't continue after designing the ALU due to either a paywall, something missing, or the Java software being broken. Not sure if it's been fixed, but I'm guessing running in an older JVM would have probably worked.


I did it last year through Coursera (it's what pushed me to apply for my current master's program) and got the certificate, so I was able to complete everything. I don't remember there being any special measures taken on my end to get it to work. Dunno what the issue was, if something was fixed in the intervening time, or what.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: