Hi there
I was wandering how a virtual Os exactly works and if it is classed as easier or harder then building a kernel for a normal OS?

I have read briefly about having virtual hardware and having to create additional files etc. I have also read about creating one that acts as an emulator over the top of another OS.

Does a virtual Os have the same access to the hardware as a installed OS? Or does the virtual OS have to communicate with the installed OS to gain access to memory etc?

If I wanted to create a very basic OS for instance one that could open txt files in a console and then maybe use a text file to input data Would this be feasible and would I need to code accessing the RAM,harddrive etc Or would that be handled by the pre-installed OS?

Sorry just curiosity as I have not seen or heard much on the issue and was just wandering how resources are shared and what would be required to code one?

Also do the two operating systems know of each others existence (that is to say if you went into windows task manager would it see the other operating system running?) Or is there a clever way of ensuring protected memory etc so that the two systems never confuse each other