Mosa.Emulator

The Mosa.Emulator is an application that hosts the Mosa.DeviceSystem, Mosa.DeviceDrivers and Mosa.FileSystem assemblies natively on the host Operating System (Windows). This allows developers to test and debug these components without having to build and install the OS and kernel or use the MOSA compiler tools.

This emulation is possible since all access to IO Ports and memory is abstracted by the kernel via a Hardware Abstraction Layer (HAL). Real hardware devices can be emulated with an emulated device driver which simulates the effects of accessing IO ports and memory. This is very similar to how hardware virtualization software, like Qemu, Virtual PC and VMware, work today. Unfortunately, writing an emulated device driver can be just as complicated as writing the device driver itself!

A less complicate option is to use synthetic device drivers in the emulated environment. A synthetic device driver does not emulate IO ports or memory at all. Instead, it simply implements the desired interface. For example, a synthetic device driver can directly implement the IDiskDevice interface rather than try to emulate an IDE or SCSI disk controller.

The following is a list of emulated and synthetic devices:

Emulated Devices Synthetic Devices
CMOS Keyboard
IDE Controller Disk Device
PCI Controller Ram Disk
VGA Text Pixel Graphic Device

Last edited Dec 29, 2008 at 10:36 PM by tgiphil, version 2

Comments

No comments yet.