[Meant to send this last night. Ho-hum.] > The little bit I have learned in the past few weeks of studying > assembly language has shown me that an OS places at least some of > its various calls and functions at very specific memory > addresses, and that the boot process makes these placements in a > very precise and orderly cascade of steps. I don't think trying > to execute the Linux kernel while running DOS or Windows, or even > an already booted version of Linux would work...
Sort of. It's perfectly possible to start Linux from DOS -- that's exactly what LOADLIN does (load kernel image into memory, jump to the entry point -- the 'kernel' entry point is usually the top of a decompression routine which unpacks the kernel itself and jumps to the true entry point, which starts the OS), and is also how NetWare works. NetWare is kinda unique in that it doesn't overwrite DOS unless told to -- unless one issues the REMOVE DOS command at the System Console, one can DOWN the server and EXIT back to DOS. That's probably because NetWare 2 used to be able to run in either dedicated or non-dedicated (the machine still works as a DOS machine) mode. The main problem with running multiple operating systems at the same time is simply design -- an OS is designed, through necessity, with the assumption that it will be the only OS in use and so has full control of the machine's resources. To get to a point where two OSes can run on the same machine, a virtualisation technique must be employed. IBM mainframes have been doing this for decades, and on the PC we have VMware (an excellent piece of software) and plex86 (LGPLed VMware-type project, has a lot of potential but right now also needs a lot of work). DOSemu fits into that category too. We also have emulators like bochs (LGPLed x86 emulator on lots of platforms -- it runs on x8 Unix, Win32, Solaris on Sun hardware, etc.) and Wine or WABI (Windows applications run under Unix with emulation of the APIs), which are slower than virtualisation techniques but still very useful. And then there are things like User-mode Linux, which will boot a Linux kernel as a Linux application. I'm not sure how that works -- I think it's VM-based. For those of us with powerful enough machine, VMware is an ideal solution to running multiple OSes -- I often have a NetWare server or two plus a couple of Linux machines running while I'm working in Windows on this machine. It does require quite a bit of grunt to make work though -- I've got dual 800MHz processors in this box, and seriously fast RAM. Regards, Ben A L Jemmett. (http://web.ukonline.co.uk/ben.jemmett/, http://www.deltasoft.com/) To unsubscribe from SURVPC send a message to [EMAIL PROTECTED] with unsubscribe SURVPC in the body of the message. Also, trim this footer from any quoted replies. More info can be found at; http://www.softcon.com/archives/SURVPC.html
