4 ms·
Blast from the Past: Run Unix V7 in a VM
- kator 15y agoRan 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.
- kinleyd 15y agoHa! 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. :)
- deleted 15y ago[deleted]
- kinleyd 15y agoThanks for sharing. Adding another piece of history in my VM collection.
- Newky 15y agoI'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?
- kinleyd 15y agoOops, "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.
- RexRollman 15y agoI 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.
- frou_dh 15y agoThere's a torrent out there of a fully patched OpenStep 4.2 ready to run in a VM.
- RexRollman 15y agoThanks for the head's up. I'll look for it.
- kinleyd 15y agoThere 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)?
- kinleyd 15y agoNice. 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. :)
- kator 15y agoFunny 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.
- jlangenauer 15y agoActually, 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.
- kator 15y agoTrue. 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.
- masklinn 15y ago> 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.
- kator 15y agoI'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.
- newman314 15y agoI 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.
- paines 15y agoHow about dosbox for that kind of job ?
- gruuk 15y agodosbox 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.
- newman314 15y agoProbably 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 =)
- st3fan 15y ago"Most of the source code is under a Berkeley-style license." Oh the irony of that :-)
- petegrif 15y agoThe good old days!