1
$\begingroup$

I just learned about the Inverted Page Table and immediately thought about the chaining model used. If two processes use the same virtual address, resolving the address will have to include following the chaining information in the table.

If all memory addresses were used uniformly, that should not be a problem, since address collisions would happen seldomly.

But if many processes use the first page (because they usually start using small addresses) will that not deteriorate performance on a real system a lot?

$\endgroup$
2
$\begingroup$

According to my knowledge, inverted page table has an entry for each physical frame, not for each logical page.

It is usually designed as a Hash table, where the Hash function takes both the task id and the page number as parameters. Thus (task A, address X) and (task B, address X) will not be likely to produce the same Hash value.

Does that answer your question?

$\endgroup$
  • $\begingroup$ I was not aware of the fact that the PID is also used as hash input, because the book I got my information from had a diagram where only the page number and not the PID was used. If you include the PID in the hashing, the collisions will happen uniformly and chaining will therefore not be a problem. Thank you for your clarification! $\endgroup$ – ApolloLV Jul 23 '15 at 15:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.