Page 1 of 1

Virtual Memory problems in VMWare player

Posted: Wed Dec 29, 2010 4:06 pm
by chamod
Hi
My os is very much similar to the one in the tute.

But when it is tested in VMWare player, memory related issus occur, such as
* Triple faulting when executing kernel
* Kernel memory corrupting etc.
Same problems occurred when tested in my real physical computer

But it works very well in VPC, Bochs, Virtual Box.

Please tell me if you came across this issue and how it was solved.

Thanks,
Chamod

Re: Virtual Memory problems in VMWare player

Posted: Thu Dec 30, 2010 2:07 pm
by halofreak1990
I have a similar problem as you do. Initializing the Virtual Memory Manager triple faults real and virtual hardware.
I think I'm gonna revert my VMM to before I started to integrate the User Mode stuff, because that's when it started to fail.

Another thing I found odd, was after a couple of changes to the VMM, prior to the triple faulting mess it's in now, I got a few random characters on my screen, where there should be empty space. Some buffer must be overflowing into the video region, I guess.

Anyways, I'll revert my VMM to the one in chapter 22, and see if that helps.

Re: Virtual Memory problems in VMWare player

Posted: Thu Dec 30, 2010 3:38 pm
by chamod
Thanks. I'll try that. And sometimes under some optimization levels, kernel memory corruptions occur. I can't understand why those things happen.
And VM mapping in Mikes tute is not clear

Identity map 1st 4mb
Map 3gb to 1mb

This way, two pages map to same physical addr. Isn't this a problem?

Re: Virtual Memory problems in VMWare player

Posted: Thu Dec 30, 2010 3:58 pm
by halofreak1990
chamod wrote:Thanks. I'll try that. And sometimes under some optimization levels, kernel memory corruptions occur. I can't understand why those things happen.
And VM mapping in Mikes tute is not clear

Identity map 1st 4mb
Map 3gb to 1mb

This way, two pages map to same physical addr. Isn't this a problem?
No, it isn't. Correct me if I'm wrong, but I think this is also how DLLs are shared between applications.
DLLs are loaded into memory if an application needs it, and mapped into another program's memory space if another program happens to need it too.
Then, only when all applications that need the DLL are closed, the DLL will be unloaded.

Re: Virtual Memory problems in VMWare player

Posted: Thu Dec 30, 2010 4:06 pm
by chamod
That's clear now. Now i can remap my memory again. And i tried loading a program and task switching with tss. Its problems can now be solved.