10 ms·
Xv6, a simple Unix-like teaching operating system
- bgschulman31 2y agoMany of the projects in my OS class in college involved building on top of the xv6 operating system. I remember one of the projects was building a scheduler for xv. It was definitely a great way to learn about different pieces of an operating system!
- renewiltord 2y agoXINU is another simple teaching system.
- anonymousDan 2y agoWhat I would love is something similar that could boot on raspberry pi...
- renewiltord 2y agoXINU works on a Beaglebone Black it seems https://github.com/jarrocha/XinuBBB/tree/main https://github.com/jarrocha/XinuBBB/tree/main
- tbrock 2y agohttps://github.com/patha454/xv6_pi_mp https://github.com/patha454/xv6_pi_mp
- _mlbt 2y agoUltibo is pretty cool… https://ultibo.org/ https://ultibo.org/ It’s a bare metal Free Pascal environment for Raspberry Pi.
- MikeTheGreat 2y agoDisclaimer: I've made LEDs blink with an Arduino and I think microcontrollers are cool, but I'm an embedded systems noob for sure :) I poked around the FAQ a bit and I'm kinda confused about this. Do you write bare-metal Pascal programs in this? I.e., do you write a Pascal program that uses Ultibo libraries to run without a separate operating system? How is the resulting program different from a unikernel? I think I'm mostly confused about why the IDE is bare-metal (why not write your Pascal programs in a normal environment and then run it bare metal on your RPi)D
- _mlbt 2y ago> Do you write bare-metal Pascal programs in this? I.e., do you write a Pascal program that uses Ultibo libraries to run without a separate operating system? Yes, that's exactly how it works. > How is the resulting program different from a unikernel? I think that's essentially what Ultibo is. > I think I'm mostly confused about why the IDE is bare-metal (why not write your Pascal programs in a normal environment and then run it bare metal on your RPi)D You do run the IDE in a normal environment and then run it on your RPi. See below for a better description of how it works... https://ultibo.org/wiki/Getting_Started https://ultibo.org/wiki/Getting_Started
- shrubble 2y agoThere are versions for at least up to RPi 3: https://github.com/xinu-os/xinu/blob/master/docs/arm/rpi/Raspberry-Pi.rst https://github.com/xinu-os/xinu/blob/master/docs/arm/rpi/Ras...
- renewiltord 2y agoAmazing. I have to take a crack at this.
- bionsystem 2y agoI like os161 from ops-class dot org too (Harvard course)
- positive_ev 2y agoTook this class at MIT. 20/10 would recommend, especially for people who don't come from a systems background. The textbook is quite easy to understand and the labs are a very good check of your comprehension. Just maybe skip the network driver on the first go around :P
- imiric 2y agoThanks! Do you know if the course is taught online? I couldn't find any lecture recordings on OpenCourseWare. I did find this YouTube playlist about xv6[1], which looks very good, but it's not from MIT. [1]: https://www.youtube.com/playlist?list=PLbtzT1TYeoMhTPzyTZboW_j7TPAnjv9XB https://www.youtube.com/playlist?list=PLbtzT1TYeoMhTPzyTZboW...
- apengwin 2y agoThe lectures are here https://pdos.csail.mit.edu/6.S081/2020/schedule.html https://pdos.csail.mit.edu/6.S081/2020/schedule.html
- bombdailer 2y agoTook a class at UCI which copied much of the MIT class and dumbed it way down for us. Would recommend
- danappelxx 2y agoTook the same class at UCI (with Prof Anton Burtsev). Best class I ever took.
- RACEWAR 2y agoWhat's a good way for autodidacts to fiddle through this?
- kragen 2y ago[flagged]
- tolerance 2y agofair enough. (not trolling).
- samatman 2y agoWhile I also find the handle quite objectionable, I wouldn't say that "racewar" and "genocide" are words which can be freely exchanged without lack of meaning. A review of the contributors, well, contributions, suggests a 9front connection. They have a reputation for humor in very poor taste, but insofar as there's any sincerity to be found there, it isn't that of sincere genocide enjoyers.
- kragen 2y agoagreed; 'genocide' has a derogatory connotation absent from 'race war', and people actually promoting genocide tend to use other rhetoric entirely
- nialv7 2y agoWhy Unix v6? Why teach with a 50 years old design? I feel to teach the fundamentals of an operating system, i.e. scheduling, IPC, address space management, a microkernel design would be better.
- chrsw 2y agoI'm guessing many professors don't choose Xv6 for their operating systems class because it's a great design. Some probably pick it because it's good enough, simple and easier to teach in a single semester where students are also taking other classes. Are you saying the microkernel design is not only better but also easier to teach?
- anta40 2y agoPerhaps build simplicity is also an attractive point? Basically a rather simple Makefile, gcc, qemu, xorriso... I see lots of open source hobbyist OS projects require you to build your own GCC, which is not fun. Xv6 works with the standard gcc (provided by distro package manager). On macOS: just install homebrew-i386-elf-toolchain, and tweak some lines on the Makefile. Done. You are ready to build Xv6, which should take about a minute or less.
- mindwok 2y agoYou gotta walk before you can run. Xv6 is basic, but it’s a great intro to operating system fundamentals that can fit in a semester for people who’ve never seen these concepts before.
- halayli 2y agoVonn Neumann architecture is 80 yrs old. Why is it relevant how long a design is if it's still the most relevant and widely used one? The basic abstractions of unix v6 still holds to this day. The main difference between Microkernels and Monolithic is how address space get to be shared between userland and kernel. I don't see how microkernel design would be "better". Why teach a design that isn't widely used?
- 2y ago
- Narhem 2y ago[flagged]
- opless 2y agoPlan 9 is also a pretty simple codebase to understand.
- bhdb33 2y agoOne has to respect some of the design decisions behind Plan 9. Per-process namespaces, binds, and treating everything as a file provides a certain level of elegance that just isn't seen in many other Unix-like OSes.
- tripdout 2y agoI used PintOS in my operating systems class last semester - wish there was a part 2 to that class where we go even more in depth!
- hnthrowaway0328 2y agoI have ways wanted to understand the Windows NT kernel -- maybe the earlier versions as they are simpler. I heard the first version is close to VMS. Is it true? Is there any material on VMS? OpenVMS is open sourced but the version is too high.
- pjmlp 2y agoWindows Internals book series, old MSTech Journal and DDJ issues, VMS manuals on digital archives.
- hnthrowaway0328 2y agoThanks, I have a book about win32 programming, published 25 years ago but seems to be still relevant. I'll read the internals after I get some ideas about user space programming first.
- kelsey98765431 2y agoFor a good look at the development of the NT kernel, read the book show stopper from 1996. It is correct that Dave Cutler did lead a number of projects inside DEC including projects related to VMS, the only inheritance the Microsoft New Technology kernel received from VMS was spiritual at the design and architecture levels. Dave was already in the process of a major overhaul or successor to VMS when his team was shown the door at DEC and many of these visions made their way into windows at the cost of the robustness of the minicomputing established design patterns. Cutler saw the MSDOS team as rookie programmers writing themselves into spaghetti solutions for the wrong problems but papa gates had it locked up tight with the OEM contracting agreements so Bill paid him in blank checks to deal with the kids in the room and ship a real kernel to compete with what steve was cooking at NeXT. So no, NT is nothing at all like VMS from a featureset or likeness perspective, nothing at all from an implementation perspective (VMS had beautiful clean C standard library and compiler suite), but very much was the race to the bottom by the mini crowd to play games in the micro world. check dave plumbers interview with cutler on youtube for more color.
- 2y ago
- rustypotato 2y agoI also took the class that uses this OS at MIT. Absolutely fantastic. I was just browsing the class website today actually, and you can totally kinda take the class yourself. The site has all the lecture notes, the labs, and even a version of xv6 in a repo with branches for all the labs, along with instructions for getting it all working yourself. It's kinda amazing how open it is. The first lab: https://pdos.csail.mit.edu/6.1810/2023/labs/util.html https://pdos.csail.mit.edu/6.1810/2023/labs/util.html I do plan to work through the whole thing myself again at some point soon.
- user20180120 2y agoPlan9 was/is used at a university is Spain for teaching
- asystole 2y agoBracing myself for the next generation of self-important monochrome tech ‘zines coming out of Spain
- anthk 2y agoI wish, but most IT manuals everywhere are in English. But this is IT/CS, so using English at least to being able to read technical articles it's mandatory. Nothing too difficult, as my non-tech SO (native Spanish speaker) had read novels written in British English and to me that prosody and style it's hell compared to either an Stephen King or a Preston&Child one.
- user20180120 2y agohttps://doc.cat-v.org/plan_9/9.intro.pdf https://doc.cat-v.org/plan_9/9.intro.pdf
- user20180120 2y agoFrancisco J. Ballesteros Laboratorio de Sistemas, Rey Juan Carlos University of Madrid Madrid, Spain 2006
- mhw 2y agoHa, on first read of the title I thought this might be a new release of the venerable xv image viewer - http://www.trilon.com/xv/ http://www.trilon.com/xv/