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

Copy of install instructions here: http://okturing.com/src/2648/body

Also might as well copy them here too:

  1) Install VirtualBox from https://www.virtualbox.org/
  2) Download and ungzip the disk image from https://dl.dropboxusercontent.com/u/46753018/Mezzanine%20Demo%201-disk1.vmdk.gz
  3) Create a new VM in VirtualBox with the following settings:
     Type: Other
     Version: Other/Unknown 64-bit
     Memory size: 512MB
     Use an existing virtual hard drive file, the one you downloaded
  4) Open the settings for the VM and switch to the Network tab.
  5) Open the advanced settings and change the adapter type to virtio-net
  6) Click OK. The VM is ready to start.

Interesting that they need the virtio-net adapter (host hands off raw network packets to the guest instead of simulating a network card). How many other low level drivers are missing?

Of course, for a toy OS it doesn't really matter, but it does unfortunately constrain this to the toy OS category.

Heh. If you think "only runs in a VM" and "toy" are synonyms, you need a history lesson.

Back in the 1960s, one of the hot new things from IBM (you know, the company that wins on Jeopardy) was VM/CMS. VM is a VM, hence the imaginative name, and CMS stood for Conversational Monitor System, originally Cambridge Monitor System, for reasons I'll let you figure out.

Conversational meant "has a command line", as opposed to batch, which you might have heard of. CMS was, all told, somewhere between pond scum and MS-DOS on the complexity scale: it provided some APIs for applications, but didn't handle memory protection, multitasking, multiple users, or security policy. A mainframe running CMS on the bare metal would have been a really expensive version of a PC from twenty or so years later; obviously, you can only justify doing that in a Serious University.

However, it was convenient and user-friendly back before the term was coined, when that meant "not seeing raw machine code unless you asked for it", so the gag was to run multiple instances of CMS as guests under VM, which provided everything CMS didn't. Every user got their own copy of the OS, and the single physical mainframe was turned into dozens or hundreds of virtual mainframes by VM.

My punchline: As the decades wore on, CMS was never modified to take newer hardware into account. Why would it be? It never ran on the bare metal. VM gained emulation functionality, CMS grew to depend on that, and now CMS is effectively an appendage of VM, a friendly face to the thing which does all the hard work. You know, like marketing, or upper management.

> you know, the company that wins on Jeopardy

Hehe. Priceless.

Out of curiosity, have you written a driver for a real network card, or are you guessing as to its difficulty? One of my college OS class's assignments was to write an e1000 driver, and as I recall, it was way easier than, like, getting interrupt handling right.


Drivers are also pluggable, by nature. Why do you think this constrains the OS to the "toy" category? Or do you mean it constrains only the current version, and if so, do you believe there to be an observable difference between "toy" and "prerelease"?

Why do you think virtualized == toy? Is MirageOS a toy too then? They have no chance of ever getting enough device drivers to be able to support all the hardware out there. Running virtualized makes sense, and it's not a big performance hit.

A possible reason why "virtualized == toy" is that the virtualized system simulates certain specific hardware. The OS provides drivers for that hardware. But it hasn't been validated on the real hardware.

We don't know whether that is the case here. If the authors get a real box that has the same peripherals as the VirtualBox, and bring the OS up on that, then this "toy" argument can no longer be made, in any case.

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