
Xv6 - edwintorok
http://blog.regehr.org/archives/1114?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+EmbeddedInAcademia+%28Embedded+in+Academia%29
======
frik
Instead of exposing students to Windows kernel code[1], it would be better to
consider to read the ReactOS source code - an open source clean room re-
implementation:

[http://www.reactos.org](http://www.reactos.org)

[1] signing such an NDA will prevent them from contributing to various open
source projects, that would be a shame.

~~~
iso8859-1
Is the ReactOS kernel clean?

~~~
frik
Read the comment above by coldpie about WineHQ project. The same is true for
the ReactOS project.

In 2006, an overenthusiastic contributor caused troubles. The aftermath slash
back the project for several months and stressed the relationship with Wine
for some time. Since then, every possible effort is made to keep the code
clean and disallow tainted developers. (that's why I wrote the comment above,
to warn others) You can read a short summary on Wikipedia:
[http://en.wikipedia.org/wiki/ReactOS#Internal_audit](http://en.wikipedia.org/wiki/ReactOS#Internal_audit)

------
eddiezane
We are using Xv6 in my OS class this semester and have had some pretty fun and
interesting assignments. We started off with learning how system calls and
traps work by adding our own system calls to the existing system. The next
assignment was to implement a signal system with support for user signal
handlers. Our current assignment is to implement a user level thread library
followed by kernel level threads in a few weeks. Working with Xv6 has been a
real pleasure.

~~~
ilozinski
I'm in your class!

------
imurray
The discussion from a hundred days ago has some useful information:
[https://news.ycombinator.com/item?id=6971127](https://news.ycombinator.com/item?id=6971127)

------
dsymonds
Straight to the meat:
[http://pdos.csail.mit.edu/6.828/2012/xv6.html](http://pdos.csail.mit.edu/6.828/2012/xv6.html)

------
aktau
I really like this, when I'm done with trying to create a JIT compiler I think
I'll move on to building a mini-OS in my spare time. I'm sure this combined
with this [1] will be a great course unto itself.

[1] [http://samypesse.github.io/How-to-Make-a-Computer-
Operating-...](http://samypesse.github.io/How-to-Make-a-Computer-Operating-
System/)

~~~
CSDude
I would post this too, it is nice concepts, but it seems stopped, at the most
important place, process managment. It would be very nice to complete it.

------
userbinator
As crazy as its author may be, I think ParrotOS/SparrowOS/whatever it's named
now would also make for some interesting studying for those more interested in
embedded systems.

~~~
duskwuff
All comment on the author aside, that operating system makes a number of
highly unusual design decisions that make it a poor candidate for this type of
study. In particular, it makes almost no use of the MMU - all memory is
identity mapped (physical address = virtual address), and all code runs in
ring 0. This makes it impossible to implement a number of really basic OS
features, such as virtual memory.

~~~
userbinator
A lot of embedded systems don't need an MMU nor VM. That's why other OSs like
uClinux exist.

------
acomjean
The linux kernel is very complex and its become harder to explore and figure
out what is going on. This seems to be the right size.

Is minix still kicking around? I thought that was the teaching Kernel.

For looking at linux, they put all the redhat source online via LXR. Its
online, but you should install your own on your own lini install.

[http://src3.org/#RHEL6-2.6.32+220.el6/kernel/](http://src3.org/#RHEL6-2.6.32+220.el6/kernel/)

~~~
pjmlp
> Is minix still kicking around? I thought that was the teaching Kernel

Surely yes, since version 3.0 it got some commercial and EU funding and
migrated to NetBSD userland.

Minix is enjoying the fact that it isn't 1992 any longer and there are quite a
few micro-kernel OS systems to choose from.

------
CSDude
I am a MsC student & teaching assitant of Operating Systems course and we are
considering using Xv6 for more realistic assignments. Right now we give
assignments like make a simulator of proces scheduler, it would be much better
if they make a real process scheduler under this.

------
aaronetz
In my OS course (both as an undergrad and later as a teaching assistant) we
used Xinu [1] which seemed to work well.

[1] [http://en.wikipedia.org/wiki/Xinu](http://en.wikipedia.org/wiki/Xinu)

------
chubot
Does xv6 run any programs like a C compiler or text editor? Shell? Curious if
can compile itself. I looked around and couldn't find any info that.

------
transfire
I wonder, when computers eventually become 1,000, or better, a 1,000,000 times
faster than they are today. Will all these complex algorithms to squeeze out
every last drop of performance still be desirable?

~~~
lttlrck
It's probably safe to say people have been wondering that for decades.

------
ape4
I am sure its good and all but it doesn't end in "nix"

