Quote:
From the definition of what I've read of Page Fault, a Page Fault or Invalid Page Fault error occurs when the OS cannot find the data in virtual memory . This usually happens when the virtual memory area or the table that maps virtual memory addresses to physical memory addresses becomes corrupt.
I can understand the explanation of Page Fault, when the Table that maps the Virtual memory addresses to Physical memory addresses gets corrupt.
Page Fault is not a Page Table corruption error; instead is the way that hardware supports Virtual Memory.
Quote:
My question is,
Is data stored in Virtual Memory?
The reason I ask this question is, take for example a Process is running in the Shared 2GB of Virtual Address Space. My understanding of Virtual Memory is, a Process is given a Pool of Virtual Addresses that maps to Physical Addresses, which is where the data is actually stored. If it is, how can data be stored at a virtual address? Or have I completely misunderstood the concept of Virtual Memory?
Everything needed to run a instruction is on Real storage - data (operands) and the binany code itself. But since the program is running in "Virtual storage mode", it only "sees" virtual addresses. So all data and code are contained in virtual storage. Also, some pieces of program+data can be moved to disk (page file, swap, etc) when its not being used.