 2010/03/22
|
Last update 2003/10/21
 The Labs - Design & Functionality For The NetInter Operating System Approaches
Many OS'es: FreeBSD, NetBSD, OpenBSD, Linux, Solaris, IRIX, MacOS, BeOS, Win3.1, Win95, Win98, WinNT,
Win2000 - but how to operate between them?
- Virtual Machines
- Virtual Network Computing
- Emulators
- Multiple Machines
- Multi-Boot
- Win98 + Linux + FreeBSD
- Remote Booting Multiple OS
- OS Source
- Misc. Approaches
| InterOS1. Virtual Machines
|
Virtualization is one of the new emerging technologies available on
PC (it was well known on expensive and large main-frames for long)
since the PCs (e.g. x86-based PC) are performance-wise
able to virtualize and partially emulate other systems and still be
usuable:
VMWare

| | On a x86 machine vmware allows to run various OS simultaneously on
the same hardware (a hostOS is required: Linux, FreeBSD, or WinXX):
Note: You need at least PII 300 to use this (performance wise).
The virtual machines boots its own BIOS, and the hostOS can provide
a virtual hard-disk, or can use a physical disk too. You actually
install your guestOS on your hostOS as if you would have a plain physical
machine (check our VMware-section).
OSes which we got to work with VMWare: Linux, FreeBSD
NetBSD, OpenBSD,
QNX, Win95/98.
It is definitly recommended this product, it is worth the money.
|
Plex86

| | Another approach is Plex86, few guest OSes (DOS, Linux, Win95, NetNSD) are booting, host OS Linux & NetBSD, yet very slow (Dec 2000):
The project is very promising as it provides virtual PC in source-code and
therefore a lot of guest- as well host-OSes will become supported as time unfolds.
|
Linux In Linux

| | UML (User Mode Linux) is truly a nice piece of software as it allows to run multiple Linux-kernels and filesystem (guest) within
on a Linux-machine (host), a feature mainframes have:
- Download a root-filesystem e.g. root_fs_debian2.2_small
and make a sym-link
|
ln -s root_fs_debian2.2_small root_fs
|
- Download the UML-kernel e.g. linux-2.4.0-test12
and execute the kernel
The advantage is obvious:
- great test-bed for other Linux variants
- fastest virtualization (faster than vmware or plex86)
- advanced resource accounting: nice the guest-Linux appropriatly on the host
- true virtualized web-hosting
and beside, it prooves the Linux design being consistant in itself. The
file-system is a flat-file and easily be backed-up or moved arround on
other machines.
|
FreeBSD in FreeBSD

| | FreeBSD has a nice feature called jail and
enables to run FreeBSD within itself, check man jail:
The features:
- virtual machines (with their own IP) in FreeBSD
- advanced resource accounting possible for each jailed enviroment
Unlike UML does FreeBSD's jail use the host file-system and is accessible
easily from the host. See Jail Tools,
a toolset we developed for handling jails.
|
Misc Virtualism

| | | a386C programming library which provides a virtual machine. The virtual machine is an abstraction of an Intel 386 running in protected mode. |
Brown SimulatorHigh-level machine simulator intended for operating system prototyping/instruction. |
x86-64 (IA-64) AMD SimNow!AMD's IA-64 software simulator |
| Win4LinWindows under Linux (commercial, $$) |
LINERunning linux-binaries under WinXX (GPL, free) |
WinaXeX11-server for WinXX (commercial, $$) |
|
| InterOS2. Virtual Network Computing
|
VNC is based on synchronizing screen-buffer from the server to
a client. VNC by ATT/UK has developed VNC-servers for
- X11,
- Win95/NT,
- MacOS,
- and other platforms (3rd party contributions)
and many clients for X11, WinXX, MacOS, and even as Java-applet; this means
you can connect with any browser to your machine; VNC seems better
supported than the (rather complex) X11 standard (status Feb 2001)
Emulators is the slow way to run an alternate OS:
MacOS

| | To run MacOS under Unix, BeOS or even WinXX:
compile it, get yourself the disk-image (e.g. MacOS 7.5.5), and the MacOS ROM too (either 512K or 1MB). More info in MacOS-section.
Fun: Download MacVNC, and run Basilisk II under WinXX, on the WinXX start the VNC-server, then start within the Mac/Basilisk-II the MacVNC
(full-screen) and . . . you will happen is a cascading recursive mirror-in-mirror . . . MacVNC views itself through Basilisk!
If you have an PPC and you run Linux, consider this
|
PalmPilot

| |
|
Others

| |
|
| InterOS4. Multiple Machines
|
The easiest approach is when you dedicate several machines to
different OS'es. My recommendation is to get so called "all-in-one" boards
which have video, sound and sometimes LAN (ethernet) on-board, e.g.
Shuttle-599 "all-in-one" motherboard (video+sound on-board) (May 2000) with K6-2/500,
with 64MB or 128MB DIMM, and 10/15/20GB IDE for less than $400 all for each machine.
Also (Jan 2001) ASUS-CUSI-FX "all-in-one" (video+sound+ethernet on-board) with Celeron 700 and
20GB IDE for ~$360 each (no case, no kb/mouse or monitor).
Together with
an 4x or 8x KVM Switch (check iogear.com for 4x or 8x switches incl. cables):
one screen, keyboard and mouse to multiple machines:
- Server: NFS (Network File System), Samba (NFS for WinXX), DNS (Domain Name Service), NAT (Network Address Translation)
- Workstation: Programming and graphic-design
- Lab-machine: multi-OS boot for testing releases, distributions and experimental kernels
| InterOS5. Multi-Boot: Win98 + Linux + FreeBSD
|
Here a procedure for a three-OS machine:
- boot Linux-Debian CD, make four partitions: 1) vfat (type=0c), 2) bsd/386 (type=a5), 3) linux (type=83), 4) linux-swap (type=82)
- install Linux-Debian on 3rd partition (it will recognize it automatically), install LILO on root-filesystem (not on the MBR!)
- install Win98 from CD, it will use the first partition and format it, go through all til done (Win98 may host QNX, MacOS Emulator, BeOS 5)
- install FreeBSD from CD:
- fdisk will show freebsd-partition, don't alter anything
- disklabel will show DOS parition, leave it untouched; add swap-space (twice your physical memory) plus root-filesystem (to keep it simple), it
will put it within the 2nd partition (Note: FreeBSD partition(s) live within a slice; a slice is a partition in Linux/Windows terminology).
- install boot-loader on MBR, it will recognize the DOS & Linux automatically:
|
F1 Windows
|
|
F2 FreeBSD
|
|
F3 Linux
|
|
|
|
Default: F1
|
It will take you aprx. 3hrs to install all three OSes, assuming you
are experienced with all three OS installs. More experiences and
details you find in InterOS Example.
| InterOS6. Remote Booting Multiple OS
|
An even more flexible solution is to boot machines diskless from a server
which provides the OS. Yet, not all OSes provide diskless operation (such as WinXX, BeOS), most UNIX'es do allow diskless operation.
A disk-dump/boot where the OS-image (the content of an OS including applications is stored as one large file aka as disk-image) approach is
How It Works

| | To sum up the functionality: the server has the disk-image (e.g. 200MB) of an OS with
the minimal configuration of a working OS; once the client boots the server provides this image and
it will be unpacked on the local disk of the client and then booted. The user data are either
provided by SAMBA (for WinXX systems) or ordinary NFS for UNIX-based OSes.
|
OS-image

| | The OS-image is created with tools (e.g. mrzip) available at the above mentioned URL, this
image you can store on the server. Use one test machine to install your OS you like to
boot remotely, and generate from each OS a disk-image.
Be conscious of is about the hardware configuration,
as some OS (e.g. WinXX or even Linux) are very picky about different
client-hardware configurations, therefore the OS-image should be made
with the idea of supporting as many different hardware configurations
as possible to be flexible by the time.
|
Advantage

| | The advantage is that the OS is in a defined state and can only altered temporarly by the client
as it runs a copy of the OS-image from the server, and the client cannot alter the original on the server, only the user
data are on the server read/writeable. Additionally almost every PC-based OS can be booted this
way: WinXX, QNX, BeOS, *BSD, Linux.
|
Disadvantage

| | The disadvantage is that the very first booting of an OS can take up at least 90secs til 100MB compressed image
is transfered to the client on a 100Mbit ethernet network, for the entire booting may use up to 5 mins (fast-format, dumping OS-image).
|
For the people who have a fast link to the net . . .
| InterOS8. Misc. Approaches
|
Other approaches worth to be mentioned:

Hipocrisy of the finest: "I agree that no single company can create all the hardware and software. Openness is central because it's the foundation of choice." -- Steve Balmer (Microsoft) blaming Apple regarding iPhone, February 18, 2009Last update 2003/10/21 
All Rights Reserved - (C) 1997 - 2009 by The Labs.Com |