Chetan_Tiwary_
Moderator
Moderator
  • 185 Views

Linux virtual memory manager

So here is the question I need help with : 

How do processes share physical page frames, and how is a shared page counted against each process?
 
        1. Processes share physical page frames through library functions or interprocess communication mechanisms, with each shared page counted against the RSS (Resident Set Size) value of each process that uses it.

 

      2. Processes share physical page frames by copying them to each process, with each shared page counted against the RSS (Resident Set Size) value of the original process.

 

      3. Processes share physical page frames by duplicating them in the kernel space, with each shared page counted against the RSS (Resident Set Size) value of the first process to use it.

 

      4. Processes share physical page frames by creating a reference count for each shared page, with the RSS (Resident Set Size) value of each process that uses it incremented by the reference count.

 

I think option 4 is most appropriate here : 

Chetan_Tiwary__0-1713983518268.png

 

The number of mappings a page has is kept in a field in the struct page structure that represents that page. It is incremented each time a new mapping is created, and decremented when a mapping disappears.

But I dont think my assertion matches with the course description in ch08 :

Chetan_Tiwary__0-1713984098728.png

 

What do you think ?

 

0 Kudos
0 Replies
Join the discussion
You must log in to join this conversation.