Seems like Microsoft is feeling some heat from VMware, because in addition to releasing Virtual Server as a free of charge download, they’ve now followed suit with Virtual PC 2004 and eventually Virtual PC 2007.
Posted by markus on Thursday, July 13, 2006Finally some OpenBSD 3.8 SIMH images. Kernel and userland are current up to and including patch 006.
Posted by markus on Wednesday, April 05, 2006After a long hiatus, I’ve started to update the SIMH images again. For NetBSD 3.0, see here.
Posted by markus on Saturday, April 01, 2006As a much simpler fix to run OpenBSD/Vax on SIMH, add the line below to SIMH’s config file:
deposit rq qtime 100
Thanks to Bob Supnik for tracking this down and to Mark Kettenis for pointing out that the parameter can be set dynamically.
Posted by markus on Thursday, October 07, 2004This article is incomplete, it misses transcripts and screenshots of the installation session.
This page summarizes several previous articles about running NeXTstep 3.3 on various emulators (like VMware and Virtual PC).
NeXTstep can be installed on both VMware and Virtual PC normally following Nicolai Leymann’s description. There are two things I’d add to his write-up. First, it is essential that the CDROM is not attached to the secondary IDE controller, but attached to the primary as the slave device. Second, the disk container files should not exceed a capacity of 2GB. While the maximum size can be specified for VMware, it necessary to recreate the container file for Virtual PC.
The fundamental workaround concerns the lack of a SCSI controller supported by NeXTstep’s installer. As soon as the normal driver disk is loaded, proceed to load the beta driver’s disk, arbitrarily select the Adaptec controller (choice 2), and further select the dual-channel IDE driver. From this point on, the install on either VMware and Virtual PC proceeds normally (since no network driver is installed initially, a timeout while initially starting network services is expected behaviour).
Both Virtual PC and VMware support networking and full-screen display with additional drivers.
Networking:
DECChip21x4xNet (beta) - Virtual PC
AMD PCNET32 (beta) - VMware
Graphics:
S3 Generic (beta) - Virtual PC
Atomic OBjects VMware driver - VMware
I haven’t tested sound with either VMware or Virtual PC.
NeXTstep is as stable as it is slow on Virtual PC. The performance on VMware is significantly higher, but the emulated PS/2 mouse behaves very erratically and for any serious work it is almost a necessity to attach an additional serial mouse.
Posted by markus on Tuesday, May 04, 2004On at least Linux, the vax and pdp11 emulators cannot directly communicate with the host due to limitiations of the pcap interface. taptap is a small tool to work around this problem by bridging between to tuntap interfaces. If you find yourself running multiple instances of networked emulators, you may find this modified version useful.
In essence, taptap calls an external program with the names of the created tuntap interface pair. The interfaces will be removed upon termination of the external program. If no program is specified, the original behavior is mimicked and you have to use killall or equivalent to kill the running taptap bridge processes.
Source code: taptap-modified.c
See below the fold for a sample wrapper script that updates a simh configuration file on the fly and runs simh. You should edit the embedded config file as needed.
The following article is also available on the retrocomputing wiki.
See below the fold for an annotated transcript of the installation procedure for 4.3BSD-Quasijarus0a on simh/Vax. If you have ever read “The Design and Implementation of the 4.3BSD UNIX Operating System”, now you can run the code inside the portable simh emulator.
Click to read MORE...
In the words of the author, Andrew Tanenbaum,
“MINIX is a free UNIX clone that is available with all the source code. Due to its small size, microkernel-based design, and ample documentation, it is well suited to people who want to run a UNIX-like system on their personal computer and learn about how such systems work inside. It is quite feasible for a person unfamiliar with operating system internals to understand nearly the entire system with a few months of use and study.”
To phrase it differently, Minix will fit into a single student’s head. This article is a look back on my Minix experience.
Contemporary Unix systems included 4.3 BSD, System V Revision 4, and SunOS 4. While all of these are relatively lean distributions by modern standards, Minix was intentionally designed as a functional clone of the even more austere Unix Version 7 - by many considered to be the best Unix version ever. Due to licensing encumberment, Unix source code itself wasn’t readily available for classroom study. Even if it had been, the code base wasn’t designed as a teaching tool. For all of these reasons, Minix was designed from scratch as an easily accessible Unix clone for educational use. It is rather ironic that the original source code license was restrictive enough to have a certain Linus Torvalds reject Minix and prompt the development of a completely free Unix clone. The rest is history…
Minix was developed for the PC (XT!) and was soon ported to the Atari ST and Apple MacIntosh. It was thus available for the Intel 8086 and Motorola 68000 architectures. The last released versions of Minix support 32-bit protected mode on the i386 architecture, something that couldn’t be done on the ST (and the earlier Macs) owing to the lack of a memory management unit.
I used to be very active in the development of Minix for the ST. For its time, the ST was a very powerful computer at an extremely competitive price. I remember spending countless hours adding as many SunOS features to Minix as I could. While I only have a vague recollection what I specifically did while mucking in the kernel, I distinctly remember a profound displeasure with process management and signal handling.
At the time, I managed to salvage a number of 68010-based systems from a lab, about four Universe computers built by Charles River Data Systems. These systems sported a segmented MMU, which would have made it possible to implement a rough equivalent of Intel’s protected mode on a Motorola system. Sadly, I never found the time to actually finish this project. I have recently noticed the ARAnyM emulator, which supports emulation of the Motorola 68040 CPU including the internal MMU, which would make it possible to revisit this project on a much more convenient development platform.
However, the best bet to experiment with Minix these days is to run it within bochs, a PC emulator. Minix 2.0.3 appears to run just fine in full 32-bit protected mode; the only grain of salt is that the emulation of the NE2000 network card appears to be non-functional due to timing issues.
Addenum: Since writing this article, it has come to my attention that the much more modern and capable Minix 3 is available as an open-source product.
This article is also available in the retrocomputing wiki.
SIMH is a highly portable, multi-system simulator. While many of the emulated systems are of historical and educational interest only, the Vax emulator will successfully run modern versions of OpenVMS, up to and including OpenVMS Vax 7.3. The current releases of SIMH also emulate network devices for the PDP-11 and Vax architectures, thus allowing certain operating systems running on emulated hardware to be fully networked. This is of particular interest with regards to OpenVMS.
The current SIMH network driver uses the pcap library. While this solution is portable between many flavors of Unix as well as Windows, it has two serious drawbacks. First, pcap incurs a serious performance impact on the host’s network interface, so much so that a dedicated physical network interface is advisable if both host and SIMH require even moderate amounts of network bandwidth. Second, owing to the nature of the pcap interface the SIMH guest cannot communicate with the host it is running on.
A better solution for Linux, Solaris, and FreeBSD at least would be to rewrite the SIMH network emulation to use the tun/tap driver, which provides a virtual network interface akin to the loopback. Until such time, however, a work-around exists for Linux.
The core of the solution is a utility, taptap, as provided by Hans Rosenfeld (rosenfeld AT grumpf DOT hope-2000 DOT org). Taptap creates a pair of tun/tap interfaces and essentially bridges packets between them. Since SIMH doesn’t use the host’s physical network interface, it won’t affect its performance. The host and SIMH still can’t communicate on a single tun/tap interface, but by virtue of bridging between a pair of them this restriction is also lifted. A sample setup is outlined below the fold:
Click to read MORE...