Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Blast from the Past: Run Unix V7 in a VM (nordier.com)
34 points by kator on March 22, 2012 | hide | past | favorite | 21 comments


I have DOS 6.22 running in a VM just so that I can play Ultima IV. =)

It took a bit of work but I was pretty amazed that it just kind of worked.


How about dosbox for that kind of job ?


dosbox is awesome; from time to time, I play a game of Master of Orion and still have so much fun. Being able to play it on my ubuntu box and android tablet is cool... ok, it's cool to me.

Back to topic: I wouldn't mind playing around with that old UNIX vm image, though I better wait until I'm home.


Probably easier but I had/have VMware installed and was collecting random images. More a because I can rather than necessarily something that was the easiest to do =)


I'm actually curios if anyone can decode the secretmail in the VM image! I'm slammed right now no time to play but for those who might want to try the command was xget and the secretmail files are in: /usr/spool/secretmail

I quickly tried xget and "password" but got a core dump.


Ran across this by accident. I remember working on PDP-11 many moons ago, is fun to see it booted in a little window on my machine.. Utilizing all of 32Mb of memory and 1 core and tiny amount of disk. Amazing how far we've come in such a short time.


Ha! It was great running the Unix 7 machine. Not sure what practical value it will turn out to be, but it sure gave me a little thrill. :)


"Most of the source code is under a Berkeley-style license."

Oh the irony of that :-)


Thanks for sharing. Adding another piece of history in my VM collection.


Funny but true I ran into it while thinking I wanted to see the classic gmtime() function. It's so funny to see how the gmtime function set's the struct tm's fields:

        /*
         * generate hours:minutes:seconds
         */
        *tp++ = hms%60;
        d1 = hms/60;
        *tp++ = d1%60;
        d1 /= 60;
        *tp++ = d1;

It uses a pointer and does *tp++ = value rather then p->tm_hour = XX

Very efficient but would be frowned upon in modern code reviews. Sometimes I think the "art" of performance has been lost to our modern development values.


Actually, on x86 at least, I'm not sure there'd be much difference even from a naive compiler - the modern version would compile to a LEA instruction followed by a MOV, whereas the old version would be an INC instruction followed by the MOV. From memory, both the INC and LEA instructions execute in one clock tick.


True. I imagine modern compilers optimize this sort of stuff very quickly. Back in the time that code was written it was better to just optimize directly in the code and not wonder if the compiler would do it for you.

I'm not advocating the code, more I wonder about how much the general population of developers has lost connection with the underlying performance of things. The systems we work with today are so powerful that they forgive errors that just could not be ignored on older systems.

I recently re-wrote a streaming MapReduce job from Perl to C code and improved it literally 10x in speed. I resisted doing it because most of my team doesn't understand C well enough to slice and dice a bunch of pointers and buffers etc. I wanted maintainable code that the rest of my team could maintain. But in the end I needed performance so short of writing it in assembly C was the next best thing.


> True. I imagine modern compilers optimize this sort of stuff very quickly.

Just checked with Clang (and otool), in Os and O2 the disassembly is exactly the same whether one uses struct accesses or raw pointer assignments.

There are differences in O0 though.


I'm interested in what else you have in a historic VM collection, I quite like the idea of opening up my VM manager and seeing a list of historic systems?

Can you elaborate a little?


Oops, "historic" isn't quite what my collection is yet - the hyperbole comes from enthusiasm, can't help myself. The majority are different Linux distros I'm trying, plus Windows XP and 7, and OS X. The history section currently includes only the present Unix 7 and a version of the OpenGenera Lisp Machine which I'm still trying to convert to VirtualBox.


I have BeOS running on VirtualPC but I would love to have Nextstep on a VM. In some ways, I like it more than Mac OS X.


There's a torrent out there of a fully patched OpenStep 4.2 ready to run in a VM.


Nice. I've got both OpenStep 4.2 and NeXTstep 3.3 running on VirtualBox VMs. Still to get the vga (color) and mouse drivers working, but it's quite a thrill to get Steve Job's baby on my system. Nice to think that Tim Berners-Lee got the www going on this system too, even if NeXTstep itself wasn't a commercial success. :)


Thanks for the head's up. I'll look for it.


There are torrents for NeXTstep 3.3 as well. I'm downloading it right now, let's see how they work. :)

Any more suggestions for VMs of other classic systems worth pursuing (and available for download)?


The good old days!




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

Search: