Only 12 workers. The programmer is Randy Linden only.
Virtual Game Station (VGS)
Connectix Inc. http://www.connectix.com
PlayStation Emulator on PC
Emulator for normal users
To keep the legacy machines.
Ex: Atrai Emulator, Old Macintosh Emulator
To use other OS’s application because CPU becomes much powerful.
Many people want to use Windows applications even if they hate the OS.
Virtual Machine software
VMware ( http://www.vmware.com )
Plex86(FreeMware) ( http://www.plex86.org )
Fusion-PC ( http://www.microcode-solutions.com )
Virtual PC ( http://www.conectix.com )
Bochs ( http://www.bochs.com )
Commercial software offered by VMware ( http://www.vmware.com )
Professor Mendel Rosenblum established the company.
Emulate DOS/V machine
Some devices are included; Phoenix BIOS, VGA, AMD PCnet, Sound Blaster16, etc. We can install Windows OS and Linux, etc.
Most instructions are executed as native code.
The speed efficiency is more than 80 % of the native CPU.
Monitor image of VMware
Free DOS/V machine emulator offered by Bochs (http://www.bochs.com ) Kevin Lawton
It is under development. No network devices. The virtual machine runs as a stand alone.
Kevin Lawton moved to the development of Plex86
Platform free Emulate
DOS/V,Sparc/Solaris,Mac,SGI,IBM RS6000, etc.
Full emulation of x86 instruction. The efficiency is not good.
Emulator for developer
To get the share of popular CPU
Crusoe (Transmeta Inc.)
CMS(Code Morphing Software) emulate X86
DAISY (Dynamically Architected Instruction Set from Yorktown) http://oss.software.ibm.com/developerworks/opensource/daisy
To get common computing environment on each machine
What is next?
We could get such technical trends; emulator, high speed network, and mobile devices . How do we use them?
We would like to use the same computer environment at anytime, at anywhere, for everybody.
NTC ： Network Transferable Computer
What is NTC?
NTC can transfer the running OS image via network or removable media.
Hibernated Virtual Machine Virtual Machine with Image Virtual Machine Image Transfer At Office At Home
Basic idea of NTC is the same
of following physical handling.
CPU Memory CPU Memory ① Hibernate Save the memory contents To the disk ② Transfer Transfer the disk (All OS image: Memory image and file system) to other machine disk ③ Resume Restore the memory contents from the disk Common Architecture Common Architecture
Required facilities and functions are
same architecture machine.
It is solved by Virtual Machine software.
the OS can hibernate and resume without the help of hardware(BIOS).
the hibernated OS image, which includes memory image and file system , can be transferable by network or removable media.
We can’t transfer the disk image from the hibernated computer.
Basic Idea CPU (ex:Xeon 500MHz) Virtual Machine (ex:vmware) Guest OS ( ｅｘ :Linux) Host OS ( ｅｘ :WinNT) CPU (ex:Celeron 433MHz) Virtual Machine (ex:vmware) Host OS ( ｅｘ :Linux) Desktop PC Note PC Common Architecture Transfer the image
It’s a function to suspend and resume the running OS.
Hibernation is develop to keep the battery. It is very important function for note PC.
Basically it depends on BIOS to control devices.
To stop the hard disk.
To stop the CPU.
To stop the memory.
Specification of BIOS
To support the hibernation, there are some BIOS specifications.
APM (Advanced Power Management)
Low power mode interface made by Microsoft and Intel (Old specification)
ACPI (Advanced Configuration & Power Interface)
Low power mode interface made by Intel ， Microsoft, and Toshiba.
ACPI2 (2000.8.30) http://www.teleport.com/~acpi/
It can mange multi processors,64bit CPU, Hot Plug-in, Buttery control (Speed Step), etc.
Mode of hibernation
The memory keeps OS image and CPU and hard disk stop. The machine should keep power of memory.
OS image is moved from memory to hard disk(in-volatile memory) and the power is stopped entirely.
Even if this mode, we can not transfer the OS image, because the BIOS has to know the state.
Hibernation which is independent of BIOS
Normal hibernation is not suitable for NTC.
Because it depends on BIOS and keeps the state on the machine.
We must use the hibernation which is not independent of BIOS.
It is a special type of shut down and reboot. When the machine shuts down, the software keeps the running OS image to the SWAP area. When it boots, it uses the SWAP area image and restart the OS.
Virtual Machine software
vmware (version 2.0)
It can run under Linux & Windows NT/2000.
Linux (RedHat 6.2)
With hibernation soft SWSUSP.
Current Implementation CPU (ex:Xeon 500MHz) Virtual Machine (ex:vmware) Guest OS ( ｅｘ :Linux) Host OS ( ｅｘ :WinNT) CPU (ex:Celeron 433MHz) Virtual Machine (ex:vmware) Host OS ( ｅｘ :Linux) Desktop PC Note PC Common Architecture Transfer the image
Action of NTC The running OS image on the desktop computer is hibernated. The hibernated OS image is transferred by removable media. The hibernated OS is resumed on laptop computer Hibernate Transfer Resume
Resume Time 15.3 (R) 8 (W) 0.8 128 Compact Flash 10.2 5 340 Micro Drive 20.5 1 1000 Hard disk Resume Time (s) Transfer Rate (Mbps) Volume (M) PCMCIA Media
Usage for normal user
“ Install once, Use any machine”
User is not required to install more than once and use same environment on any machines.
User can bring back office machine environment to home.
User can get the copy which is set up by an expert. Expert has good knowledge and experience. Normal users can share them.
When we buy a new machine, we do not need to re-install all software again. The setup OS can survive.
Usage for developer
Up to now debugging requires many steps. Many developers are told the debugging point by e-mail, get the source code, compile it and execute it to reach the debugging point.
NTC offers platform for collaboration
Developers can share the same OS environment and debugging point from the copy of live OS image. They are not required to compile and execute.
They also can replay the debugging point by the use of old OS image.
The image of NTC world Developer can share the debugging. OS image is distributed on the net. Mobile user can also share the OS. User can use the OS image without install Expert offers us an excellent OS image.
Transfer a process to another machine
“ Program once, run anywhere” programming environment.
JavaVM(Byte Code Interpreter)
Remote virtual display software
It transfer the display image to another machine.
It doesn’t open remote X Window.
Migration vs. NTC
Virtual Machine software must run.
The whole OS image is transferred. The environment is still same. Server & client processing is available within the OS.
Heavy transfer （ 50MB ～） It depend on the size of OS.
OS must support migration function.
Transferred process has to depend on the new environment (Ex:libc). It is difficult to support server & client processing.
Java vs. NTC
Java can not support OS
Because there is no supervisor mode.
According to the reason JavaOS could not build.
Java is too high abstraction.
Garbage collection is slow.
Java could not support hibernation.
Poor Interruption handling.
NTC is depends on virtual machine.
Virtual machine offers us the same environment of DOS/V machine. And the CPU power is not so poor. (Ex: VMware offers us 80% of native CPU speed.)
Remote virtual display vs. NTC ・ First transfer is very heavy but no latency after resume. ・ It can make a copy of OS image . It is distributable. It is also able to use play back . ・ It always includes latency. ・ It only transfer the display image. NTC Remote virtual display
Next Step (1)
To control CPU speed
When we transfer the OS image to another CPU machine, the animation play faster or slower.
We need to control the CPU speed. I’m planning to use the DSRT2 (Dynamic Soft Real Time CPU Scheduler 2.0) to solve the problem.