Select your language

VM and Emulators

VM AND EMULATORS

The not existing hardware

A subtle but substantial difference exists between Simulators, Emulators and Virtual Machines. This is enough to generate some confusion in those approaching the subject. The aim and the final result, in the eyes of the user who uses them, is practically the same: within a given operating system, another operating system is run, completely different or absolutely identical, it doesn't matter. For example MacOs within MS Windows, or MS Windows within Linux. In any case, there is always a physical machine that hosts the system (also called host), and a virtual hosted machine (also called guest).
I briefly describe the fundamental characteristics of these three categories:

- Simulators
A simulator is software that fully mimics an operating system, or a hardware system with the software system integrated (a calculator, for example). Obviously we are dealing with a product that is not the original one, but which tries to imitate it in every aspect, this gives rise to differences and discrepancies. The simulated system's code is written entirely from scratch, so it doesn't have the exact same deep features as the original system. However, the code is optimized and written for the host machine, and therefore very fast to execute.

- Emulators - Compatibility Layers
An emulator, on the other hand, reproduces the hardware conditions of the guest machine, but does not itself possess the guest machine's software. It is therefore usually necessary to have a copy of the launcher or the specific operating system. In many cases the operating system is stored in a chip used for this function, so it is necessary to have an image file of the chip itself (the ROM files). The emulators therefore, in general, are specific and have the task of emulating a specific hardware system. As an advantage we have that the result is completely identical to the real one, including programming defects and incompatibilities, as we work on the original operating system, which believes it is in its native hardware, as a disadvantage we have that the system is slower be executed, as the host machine has to perform many more calculations, to make the guest work and all the additional calculations it needs (basically they are two machines one inside the other, but both leaning on a single real processor). Among the emulators we find game consoles, palmtops, cell phones.
Very often these virtual machines are provided together with the development and programming tools for new applications. In this way it is possible to create new software and test them without the risk of damaging any device, but also by making many tests quickly, without having to deal with connection and software transfer problems on the device (which never have peripherals such as CD-ROMs, or standard USB ports to transfer software), so they must necessarily be connected with a special cable to a computer. Sometimes it is possible to meet the term "Compatibility Layer", generally used for Wine, a program created for Linux with the aim of making programs compiled and created for MS Windows usable within Linux. A Compatibility Layer is a hardware emulator that includes software similar to an operating system that runs inside the emulator and starts simultaneously with the emulator (in the sense that it cannot be avoided that the operating system does not avii). In this way the package is ready to run programs created for the emulated environment. Generally the result is slightly less performing than a virtual machine with the original operating system installed on board, and compatibility is often not very high.

- Imaginary machines

The name says it, they don't exist in reality, but only in cinematic or narrative fiction. Some of these machines have become a myth and an icon that has spanned years and generations. Sometimes there are interactive simulations.

- Virtual Machines

There are two basic types of SW called Hypervisors, to manage VMs:

TYPE 1 - VM manager is an OS, all real resources are available for VMs.
TYPE 2 - the VM manager is an application within an OS, the available resources are limited.
The virtual machines are generated by a SW that is able to use part of the real HW to build a machine that has characteristics inherited from the real machine and smaller in size. They are unable to emulate processors different from that of the host machine, but they exploit it to operate machines hosted within the host.
Inside a virtual machine it is possible to install operating systems, in a completely analogous way to reality, the operating system believes it is in a real physical computer, of which it uses all its peripherals and to do so it needs drivers. A feature of virtual machines is that you can install the operating system you believe, regardless of the system hosting the virtual machine. In general, the hard disks on which the operating system is installed are simple files managed by the virtual machine, so duplicating an HD, moving it or mounting it on a different virtual machine are operations that are limited to the simple management of a file and are can be done in seconds. Furthermore, it is often very simple to change the HW configuration of the machine itself: do we need more ram? open the settings panel and write how many mega or giga you need (obviously they must physically exist inside the real machine that hosts the VM and will be subtracted from the real machine); Is your video card underpowered? in the same way you increase the video ram. Need a second hard drive? with three mouse clicks a second HD is generated and mounted. Do you have to figure out how to network completely different operating systems? Want to test which is the best open operating system for a server? Do you want to test an OS prototype in beta release? One needs to install and uninstall dozens of applications on the same system whose real reliability is not known (and if we are under MS Windows this means altering and polluting the registry in a heavy and often deleterious way, and filling the system with residual files in large quantities)? With a virtual machine, these are all operations that cost us nothing in terms of money and system stability: if something gets damaged, I delete the machine and recreate a new one. A VM is a folder on the host's disk, with some files inside. Furthermore, in many cases it is possible to freeze the operation of the machine in several points and recover it in the future (what is called a "snapshot"). In a context such as the one just described, it is immediately clear that carrying out tests, tests and stresses of various types is very easy and very simple. With such a structure, creating, testing, accidentally ruining machines and restoring them in a couple of minutes is extremely simple and fast. A further and extremely interesting application of virtual machines consists in creating on a single real machine (obviously very powerful in this case) countless virtual machines used as network servers or web servers. The costs of the HW system drop while in general the performances remain quite high, furthermore the maintenance and management costs of the machines are reduced to almost zero. At this point, a company that provides network servers for rent cuts costs and rents fully performing virtual machines to its customers. In fact, there are virtual machines that allow the movement of a virtual computer from one real host to another, without the VM realizing anything, without being turned off or even losing the connection to the network. Obviously there are virtual machines that can be installed on any platform and system, while others are limited and sectorial, there are commercial and other Open Source VMs. There is only the embarrassment of choice.

 

 
 Simulators -

AGC Apollo Guidance Computer
Chinese -Abacus 
Palm Cobalt Simulator

 Emulators - Palm Emulator
WinUAE
 Compatibility Layers - DosBox
DosEmu
Wine
 Imaginary Machines - Startrek computer 
 Virtual Machines - Basilisk
PearPC
VirtualBox

 ===============================

ABACO Claremont logo
TYPE - Simulator
HOST - MS Windows
GUEST - a Chinese Abacus
MANUFACTURER - Halcyon Computer Company
LINK - Unfortunately no longer valid, the SW is no longer available...
A curious simulator of a real Chinese abacus (recognizable by the fact that the tens in the small section are managed with two balls and not with just one as happens with Japanese abacuses). It is a very simple software. The same company also created the slide rule simulator. This software is in this section as the abacus is one of the oldest systems to assist human being in calculating large numbers. The earliest abacuses date back to 2700 BC, dating back to the Sumerian culture, and have spread throughout the known and civilized world. I rightfully include this tool in artificial systems of calculation.

Screenshots: Simulator running on a MS Windows guest hostend in a VirtualBox VM on Linux guest.

 abaco300  abaco win300
 Abacus the chinese abacus simulator  Abacus on Windows


  ===============================

AGC Apollo Guidance Computer ApolloPatch2
TYPE - Simulator
HOST - Linux, Mac OS, MS Windows
GUEST - AGC
PRODUCER - Ron Burkey
LINKS - http://www.ibiblio.org/apollo/index.html
It is a very faithful simulation of the computerized guidance and control system of the Apollo family of spaceships. Able to simulate a large part of the Apollo versions. From the reference site it is also possible to download the code for which it is possible to compile the program also for other platforms, on the site itself there are the instructions for compiling for FreeBSD, Solaris, iPhone. Trying it out is a lot of fun and you realize how abstract the use of this computer was, all the commands were given via a numeric keyboard, identifying the numeric commands entered via other buttons which defined them as Verbs or Nouns. On the site there is also a small operating manual to prepare the computer for navigation with detailed and well-described instructions.

Screenshots: Simulator running on a MS Windows guest hosted in a VirtualBox VM on Linux guest.

AGC main300 AGC Running300 AGC Joystic300
The start control panel for to choise the type of Apollo The computer running with 2 keyboard and joystic  The joystic control panel

 

===============================

BASILISK basilisk logo
TYPE - Virtual Machine, needs ROM
HOST - Amiga BeOS Linux MacOS MS Windows Solaris
GUEST - MACOS 7 MACOS 8
PRODUCER - Christian Bauer et al.
LINK - http://basilisk.cebix.net/
Project carried out by a single person, not open but freely distributed. Latest developments date back to 2006. Elaborate virtual machine of older MAC platforms equipped with 68k processors. It has a pretty elaborate configuration panel where you can set a huge amount of hardware and system variables. Need original ROM chip image. In the example shown, a Powerbook 1400 from the webmaster's personal collection was used. The fact that Apple has made the installation of the old MACOS 7.5.3 system available for download, now considered obsolete and abandoned, has allowed a fair diffusion of this nice and decidedly interesting program. However, its usefulness is limited to the amateur study of old MAC systems, as the MACOS 7 system is decidedly very old, but Basilisk in this way allows the use of ancient softwares to be used also on PC or Linux. A MACOS 7 system can easily be upgraded to later versions using original MAC software. Using a MAC system with Basilisk is very pleasant, it is also able to load the HD of the host machine in read and write. MACOS 7 in this virtual machine works at a speed that the system in its time has never experienced.

Screenshots: VirtualBox VM host: Linux, Guest: MS Windows XP that is a host pf Basilisk with guest MACOS 7.5.3.

basilisk ctrlpanel200 basilisk Macos7desktop150 basilisk Macos7install300
Control panel MACOS 7.5.3 running Installing MACOS 7
3sistemi300    

3 OS inside one by other,
Ubuntu 9.04 hosting Windows XP
hosting MacOs 7.5

   

 

===============================

DOSBOX - DosBox logo2DosBox applicDosBox logo
TYPE - Compatibility layer
HOST - Linux MAC OS MS Windows BeOS
GUEST - DOS in x86 machine
PRODUCER - Open source project
LINK - http://dosbox.sourceforge.net
Carried out by four people, interesting emulator of an old-style x86 machine running a simulated DOS version 5.0. It also emulates SoundBlaster hardware very well, so that very demanding games run believing they have a real SB at their disposal. Very useful for reusing old games and programs created for MS DOS. It supports the main typical DOS commands even if not many, and also some typical Unix commands, such as "mount". Basically it does not load any device and it is necessary to mount the CDROM and any folders that are mapped as if they were hard disks. This makes it very easy to use programs inside the emulator, as you just need to copy what you want into the mapped folder. The emulator system disk is mapped to Z: and is read-only. By typing the "intro" command at the prompt, a short but useful list of examples and commands for using the emulator appears. Furthermore, it is very simple to increase or decrease the speed of the emulated processor, in order to regulate the execution of the programs. For old games it is really very effective and fun, perhaps a little inconvenient having to map CDROMs and folders at each start, but then the fun is guaranteed. The old working games are over 800, certainly tested. The system does not load any particular keyboard so the English keyboard is loaded by default. The window is not resizable but can be extended to full screen.

Screenshots: Linux version running on real Linux Ubuntu 8.04. MS Windows version running on MS Windows XP guest in guest Linux VirtualBox.

DosBox windows300 DosBox windows300 DosBox Alone300
DosBox running on di Linux DosBox running on MS Windows  Who hasn't played Alone in the Dark?
DosBox Goblin300 DosBox KQ5300 DosBox Monkey300
Goblin crazy French adventure King Quest V, adventures mit Who forgets Monkey Island?

 

===============================

DosEmu - dosemudosEmu logo
TYPE - Compatibility layer
HOST - Linux
GUEST - Dos in machine x86
PRODUCER - Open Source Project
LINK - http://dosemu.org/
Interesting project available only for Linux, it emulates an x86 machine with a very complete FreeDos pre-installed. The window can be resized as desired, the keyboard of the host system is loaded directly into DosEmu, the CDROM reader is loaded automatically when starting the compatibility layer. Disk C: of the system coincides with a folder, with read and write access, in the user's home, loaded when the emulated system starts up. Just copy the data into that folder to find them available at the prompt. The project is stuck in 2007, but is mature enough to be used without problems. Compatibility with MS DOS programs is very high and is capable of running a large amount of software, including even MS Windows 3.0.
It has an excellent editor identical to DOS EDIT.

Screenshots: DosEmu running on real machine Linux Ubuntu 9.04

dosemu prompt300 DosEmu Editor300 WinUAE About300
 DosEmu running with mounted HD The internal editor interno Duke Nukem from my personale original collection
DosEmu Win3300    
Windows 3.0 running inside Linux    

 

===============================

PALM Emulator 3.0a7 - PalmEmu logo
TYPE - Emulator ROM needed
HOST - MS Windows
GUEST - PALMOS
PRODUCER - 3Com Palm Computing
LINK -
Produced by PalmOS but found only on various download sites. The links within the program itself are no longer valid. However, there are many sites that provide manuals and instructions for its use and configuration. It comes with a Palm IIIc ROM, but also supports other Palm versions such as Palm V, various versions, Palm VI. All maintenance commands are given through the menu called up with the right key. Through the right contextual menu it is possible to install the software created for PalmOs, save and recall the configuration, change the skin, create a new machine with a different ROM and much more. Through this system it is possible to create various machines with different ROMs and with different sets of programs installed. The interface can be displayed in normal or double size, as in the following images. Again by right-clicking it is possible to export and import any database file within the system. There are several assistance systems for debugging installed software and for studying program execution. A great way to test Palm applications before installing them on a real Palm. The behavior of the PDA is perfect, it really feels like using one of these machines, it's very pleasant and fun.

Screenshots: VirtualBox in Linux with MS Windows XP guest hosting PalmEmulator.
Wine 1.01 in Linux Ubuntu 9.04 running PalmEmulator for Windows.

PalmEmu Win300 PalmEmu Linux300 PalmEmu menu300
PalmEmulator inside MS Windows  The same emulator in Wine on Linux Right click menu
PalmEmu about300 PalmEmu generic300 PalmEmu editor300
Tipical About Generic skin Text editor

 

===============================

Palm Simulator Cobalt 6.1 - PalmCobalt Logo
TYPE - Simulator
HOST - MS Windows
GUEST - PalmOS 6.1
PRODUCER - Palm Source Inc.
LINK - 
According to the manufacturer's declaration it is a simulator, the software is all contained in a folder with a direct executable, it works without installation. The program then interprets the contents of a ROM, supplied with the program, which contains the original PalmOS system. All management commands and simulator options are located in the right button. Also in this case it is possible to install programs for PalmOs and monitor their behaviour. The program also simulates an SD card whose size can be chosen and which corresponds to a folder on the disk of the host system. All the features of the PalmOS Cobalt 6.1 system are maintained, the possibility of rotating the desktop, the seasons illustrated in the heading of the agenda, the BlueTooth and wireless connections, synchronization with the cradle, the mobile phone keyboard, etc. The speed of the simulator is not immediate, we notice some slowdowns in the functioning, which instead is not felt in PalmEmulator 3.0a7.

Screenshots: Simulator inside MS Windows guest of a Linux VirtualBox host on Linux Ubuntu 9.04

 PalmCobalt main180  PalCobalt Main Rotate300  PalmCobalt About200
Main screen 90° rotation About
PalmCobalt Windows300   PalmCobalt phone200 PalmCobalt memo key200 
The simulator inside Windows The phone keyboard Memo editor with keyboard
PalmCobalt Memo Pen200   PalmCobalt skin200  
Memo editor with pen Generic skin  

 

===============================

PearPC - pearpc3
TYPE - Emulator
HOST - MS Windows
GUEST - MACOS X
PRODUCER - open source project
LINK - http://pearpc.sourceforge.net/
An interesting open source project that emulates the PowerPC architecture, stopped in 2015. It requires the original installation disk provided by Apple, while the hardware is completely emulated without the need for anything else. There are some distributions in torrent format that include the operating system, obviously illegal and as such their use is not recommended. The system is perfect, no difference from a real MAC, apart from the speed, which depends on the power of the host machine. It also works within a MS Windows virtual machine hosted within Linux, but mouse management is really inconvenient (pointer speed is difficult to manage).

Screenshots: VirtualBox VM hosted in Linux Ubuntu 9.04 guest MS Windows XP

pearpc choice 300 pear boot 300 pear start2 300
The choice on booting in BIOS The boot loadin process
 pear mac desk 300    
Il Desktop    

===============================

 

STARTREK LCARS
TYPE - GUI
HOST - MS Windows
GUEST - LCARS
PRODUCER - proprietary
SITO - https://www.lcars-terminal.net/

Funny and funny GUI interface for MS Windows, a very old project that runs on new versions of Windows in Windows XP compatibility. Its name means: Library Computer Access and Retrieval System.
Requires registration, as shareware, but works fine without it, you just have to close the popup reminding you of registration every now and then. It allows to use the SW as a resolution explorer, with the possibility to access some Windows configuration resources. It has a DB related to the Strar Trek world and it is possible to download epsnsions from the original site. It has a system for configuring panels and internal menus. Each action is accompanied by a systematic voice announcing the operation. Using the commands you can perform shutdown, restart and logoff from the Windows system. It integrates a system of notes, calendar, diary, contacts and mail, all in LCARS style

Screenshot: VM VirtualBox on Windows 10 running on Xubuntu

LCARS boot300 LCARS Desktop300  LCARS ToDo300 
Booting the system Host Desktop To Do
LCARS calendar300 LCARS DB300 LCARS Manual300
Calendar Star Trek Database The manual
LCARS Pannelloctrl300 LCARS system300  
LCARS control panel Interaction with MS Windows  

 

===============================

VIRTUALBOX - vbox logo2 gradient

TYPE - Hypervisor
HOST - Linux MacOS MS Windows OS/2
GUEST - Every OS running on X86 machines, Linux, MS Windows etc.)
PRODUCER - Sponsored Opensource
LINK - http://www.virtualbox.org/
Open source project then sponsored by various companies, currently by ORACLE, but in the past others have sponsored, including Sun Microsystems Inc. It is a type one hypervisor, i.e. a SW capable of making available to the virtual machines it creates the HW of the real machine it is installed on.
Equipped with a large control panel for each virtual machine it creates, it is easy to adjust RAM and video memory, albeit with some limitations on the latter. The sound card and the network card can be emulated in various ways. The CDROM can be the physical one of the host machine, or use an ISO file. In the same way we move for the floppy. Hard disks can be easily created with an internal tool in a few seconds in this case they are files that are used as virtual disks, or it is possible to directly mount entire physical disks. Any operating system that can run on a 32-bit or 64-bit x86 machine can be installed on a VirtualBox virtual machine. Also available, in ISO format, are driver and utility packages that allow you to connect the virtual machine to the host machine via network. This makes it very easy to transfer data in and out of the guest system. It is a powerful, practical and very useful solution to carry out all possible experiments and tests, with the possibility of restoring the system in seconds.

Screenshots: Various guest inside Linux Ubuntu 9.04 host

virtualbox panel300  VirtualBox 4OS300 VirtualBox Mepis konq300
VirtualBox running in Ubuntu 9.04 Dos, Reactos, Win98 and WinXP running at the same time on Ubuntu  Linux Mepis guest in Linux Ubuntu, Konqueror open on this side

 

===============================

WINE - Wine logo soft
TYPE - Compatibility layer
HOST - Linux MacOS BSD
GUEST - Variou versions of MS Windows
PRODUCER - Open source project
LINK - http://www.winehq.org

In constant development, the project aims to recreate an environment compatible with applications compiled for MS Windows. On the declaration of the developers themselves, Wine is not an emulator: "Wine Is Not an Emulator". The layer is based on the API libraries made available by Microsoft, the same basis on which the Reactos project is based. The program has a complete control panel that allows a good configuration of the operating modes. The program has the ability to emulate all versions of MS Windows starting from Windows 2 up to an imaginary Windows 2008, following Vista, perhaps meaning Windows 7. Compatibility with the various programs compiled for MS Windows is not very high, often one has to intervene in the configuration and sometimes you have to install various libraries, on the site, well done and well documented, there is an extensive compatibility list and numerous images. It has many points in common with the Reactos project, which is also based on the same free API.

Screenshots: Wine 1.01 in Ubuntu 9.04

 Wine ctrlpanel240 Wine discoc300 Wine chine300
Wine control panel The simulated HD C:\ WineChinese
A SW created for Windows 3.0
Wine ClamInst300    
ClamWin installation in Windows XP    

 

===============================

WinUAE - WinUAE logo
TYPE - Amiga Emulator
HOST - Linux MacOS Windows
GUEST - Amiga
PRODUCER -
LINK - https://www.winuae.net/
Amiga emulator, very accurate and complete, full of controls and tools to configure the machine in a very refined way. It is very fun to recover and use old programs and games created for the Amiga. The control panel at the bottom of the window allows you to check the disks and their performance. AMIGA games have always been famous for their graphics and music, which, to fit everything on a 1.4 floppy, reached an incredible degree of definition. The ability to adjust the sensitivity of the mouse to make it manageable is very useful, often it is so fast as to be unusable.

Screenshots: Emulator in MS Windows guest of a VirtualBox VM guest on Linux Ubuntu 9.04

WinUAE Properties300 WinUAE Rom300 WinUAE Boot300
Properties panel Rom booting Machine boot, waiting fora  floppy
WinUAE AmigaOS300 WinUAE AmigaDOS300 WinUAE AmigaOS Pref300
 WorkBench AMIGA OS GUI
controlling a game: Dejavu
Amiga DOS WorkBench control panel
WinUAE Gurumedit300 WinUAE Creatures300 WinUAE Celtics300
Guru Meditation...  A game: Creatures Othe game: Celtic
WinUAE Celtic2300 WinUAE About300  
Celtic, exagonale strategy ABOUT WinUAE  

Login Form