SICvm - A SIC Virtual Machine
With the advent of faster processors and larger memory sizes for cheaper prices even at the reach of an average home user, the concept of virtualization has taken a new turn.
Virtualization is the process by which multiple computers are emulated within a single computer. This includes full scale emulation of a computer including the processor, memory, storage and the various peripherals that are present in an actual computer. Such emulation gives the user the ability to run multiple operating systems simultaneously in real time.
With virtualization one can add / remove hardware, run multiple operating systems like windows and linux side by side etc on the individual virtual machines without the need of switching off or restarting the actual computer hence reducing maintenance cost, development cost, hardware cost etc.
A Virtual Machine consists of the Virtual Machine Monitor and the Virtual Machine itself. The Virtual Machine Manages the guest Operating System and the Virtual Machine Monitor manages the Virtual Machines.
In our project we wish to model a Virtual Machine based on a Simplified Instructional Computer (SIC). The Machine will emulate all the hardware of a SIC and will be able to run any program that is written for the SIC. As for the Virtual Machine Monitor we currently intend to use the host operating system.
We wish to extend this idea to a SIC/XE machine architecture if possible so that it can run a minimal Operating System. We also intend to use this machine as a VM modeling tool for the development of actual existing machines.
Project Requirements:
Operating System: Linux / Windows
Programming Language: C
Tools Required: gcc, make, gdb, grep etc...
Editors: emacs, vi
Team Members:
Anoop U.Thomas
Hari Sankar S
Hariharan V
Santhosh N.Raju