On Monday 31 March 2003 04:59 pm, Peter Jay Salzman wrote: > hey mike and joel, > > so is there anything flat out wrong with the paragraphs? the intended > audience are readers of the linux gamers' howto who want to know what > things like vmware are. not people taking a course on java. :) > > i prolly should've mentioned that from the start. > > pete
Looks good in that context. :-) Mike > > > begin Joel Baumert <[EMAIL PROTECTED]> > > > A virtual machine is essentially an idealized picture of > > how a digital computer and to some extent operating system > > works. You can think about it as an extension of the BIOS > > int 10h or 21h services that provide the same interface to > > hardware. The underlying hardware may be different, but > > programs using the BIOS services don't have to be changed > > to operate. The analogy can be extended to the operating > > system you are running or the libraries that you link into > > your programs. > > > > The "advantage" that something like the JVM provides is > > platform independence because it translates the instructions > > of the program into code that runs on the machine. With > > the JVM you can run the code on another architecture without > > having to recompile the software, something that may be > > impossible outside of the open source world :-). > > > > The "disadvantage" is that code has to be translated and > > requires some level of processing to decode and also places > > the programmer further away from the machine. This distance > > may translate into programs that are written poorly for the > > target architecture. That and it may be impossible to > > get certain things done because you really need access to > > the hardware, which is can be a big issue with embedded > > devices. > > > > > > Joel > > > > On Mon, Mar 31, 2003 at 04:30:49PM -0800, Peter Jay Salzman wrote: > > > begin Michael Wenk <[EMAIL PROTECTED]> > > > > > > > On Monday 31 March 2003 12:39 pm, Peter Jay Salzman wrote: > > > > > can someone tell me if this is a formally correct explanation of > > > > > what a virtual machine is? > > > > > > > > > > pete > > > > > > > > > > > > > > > A "real computer" provides an operating system many things, > > > > > including a CPU, I/O channels, memory, a BIOS to provide low level > > > > > access to motherboard and I/O resources, etc. When an operating > > > > > system wants to write to a hard drive, it communicates through a > > > > > device driver that interfaces directly with the hardware device > > > > > memory. > > > > > > > > > > However, it's possible to give a program all the hardware resources > > > > > it needs. When it wants to access a hard drive, give it some > > > > > memory to write to. When it wants to set an IRQ, give it some > > > > > bogus instructions that lets it think it set an IRQ. If you do > > > > > this correctly, then in principle, there's no way for the > > > > > application to know whether it's really accessing hardware or > > > > > tricked by being given resources which simulate hardware. A > > > > > virtual machine is the environment which tricks applications into > > > > > believing they're running on a real computer. It provides all the > > > > > services that a real computer would provide. > > > > > > > > > > VM's were used initially in the 1960's to emulate time shared > > > > > operating systems, but these days we use them to run software which > > > > > was written for foreign operating systems, or more commonly, an > > > > > entire operating system. Because of the nature of the VM, the > > > > > foreign OS can't tell the difference between operating in a VM or > > > > > in a "real" machine. > > > > > > > > Well, I can't find my old CS book, but I prefer the Java definition > > > > for a VM: > > > > > > > > "An abstract specification for a computing device that can be > > > > implemented in different ways, in software or hardware. ..." > > > > > > > > It goes on to more java and jvm specific information. I think the > > > > important keyword is abstract. You're definition is more specific, > > > > but a VM can describe just about any computing device, and arguably > > > > every computing device may not have the components you listed. > > > > > > > > Mike > > > > > > unfortunately, that definition doesn't really talk to me. :( > > > > > > pete -- [EMAIL PROTECTED] Mike Wenk _______________________________________________ vox-tech mailing list [EMAIL PROTECTED] http://lists.lugod.org/mailman/listinfo/vox-tech