Live data from Hacker News

Xv6

en.wikipedia.org

1–10 of 53 posts

Re: Xv6

#2
I'm a student at Johns Hopkins, and we're using xv6 in our OS course this semester: http://gaming.jhu.edu/~phf/2015/fall/cs318/

xv6 is pretty awesome for learning, and lecture is generally spent reading through the source code, some of which is...cute.

Most of us have the source code printed out. If you're interested in reading the source, this document is well-formated: https://pdos.csail.mit.edu/6.828/2014/xv6/xv6-rev8.pdf (and can actually be generated by the Makefile!)

Re: Xv6

#3

I'm a student at Johns Hopkins, and we're using xv6 in our OS course this semester: http://gaming.jhu.edu/~phf/2015/fall/cs318/ xv6 is pretty awesome for learning, and lecture is generally spent reading through the source code, some of which is...cute. Most of us have the source code printed out. If you're interested in reading the source, this document is well-formated: https://pdos.csail.mit.edu/6.828/2014/xv6/xv6-…

Northeastern (my school, currently...) uses it as well. A quick search leads me to believe many schools do. Wonderful learning tool. Also fun to try to port to non-x86 :)

Re: Xv6

#4

I'm a student at Johns Hopkins, and we're using xv6 in our OS course this semester: http://gaming.jhu.edu/~phf/2015/fall/cs318/ xv6 is pretty awesome for learning, and lecture is generally spent reading through the source code, some of which is...cute. Most of us have the source code printed out. If you're interested in reading the source, this document is well-formated: https://pdos.csail.mit.edu/6.828/2014/xv6/xv6-…

So the ls and make and all those tools; where do they come from? Are they straight compiles using GNU gcc tools etc?

I only ask because I have no idea how much is the kernel compared to everything else; and if it has its own custom compiler or whatever.

Re: Xv6

#6
post #3

I'm a student at Johns Hopkins, and we're using xv6 in our OS course this semester: http://gaming.jhu.edu/~phf/2015/fall/cs318/ xv6 is pretty awesome for learning, and lecture is generally spent reading through the source code, some of which is...cute. Most of us have the source code printed out. If you're interested in reading the source, this document is well-formated: https://pdos.csail.mit.edu/6.828/2014/xv6/xv6-…

Northeastern (my school, currently...) uses it as well. A quick search leads me to believe many schools do. Wonderful learning tool. Also fun to try to port to non-x86 :)

OP article lists a lot of schools using it as well.

Re: Xv6

#7
There's also OS161, which is Harvard's version of this. It comes with a very simple MIPS emulator, on top of which the actual operating system is built. It's a lot of fun!

Re: Xv6

#8
post #4

I'm a student at Johns Hopkins, and we're using xv6 in our OS course this semester: http://gaming.jhu.edu/~phf/2015/fall/cs318/ xv6 is pretty awesome for learning, and lecture is generally spent reading through the source code, some of which is...cute. Most of us have the source code printed out. If you're interested in reading the source, this document is well-formated: https://pdos.csail.mit.edu/6.828/2014/xv6/xv6-…

So the ls and make and all those tools; where do they come from? Are they straight compiles using GNU gcc tools etc? I only ask because I have no idea how much is the kernel compared to everything else; and if it has its own custom compiler or whatever.

No, they are minimal versions written for the OS. Here is ls[0] and cat[1]. You can compile with GCC.

[0] http://www.ccs.neu.edu/course/cs3650/unix-xv6/HTML/S/64.html [1] http://www.ccs.neu.edu/course/cs3650/unix-xv6/HTML/S/42.html

Re: Xv6

#9

If it's only for education purposes, why C? Wouldn't you want to choose a more "clear" language to get the ideas across?

Perhaps because operating systems are still largely written in C and if a student in the class later goes on to work on OS internals not knowing C would be a major handicap.

Re: Xv6

#10

If it's only for education purposes, why C? Wouldn't you want to choose a more "clear" language to get the ideas across?

Because C is the de-facto standard for writing operating systems.

If you want to write an oh-cool blog piece for general programmer audiences about how OSes work, sure, go ahead and write it in Python (seen that done, and pretty well, in fact).

But if you want to prepare people to be able to work on real operating systems, they need to know how to do it in C.

Post reply on HN