in Operating System
1,058 views
1 vote
1 vote
I have watched two video lectures on OS memory management (PK Biswas and IISc Mathew Jacob). In both lectures they say that the compiler assumes (while compiling and generating the logical addresses to instructions) that for each process, all of the virtual address space is available to the process.

My question is : Does this mean that ALL THE PROCESSES HAVE SAME SIZE PAGE TABLE that is, does the page table of each process consists of same number of entries..? Is it the real reason to use valid/invalid bit ?
in Operating System
1.1k views

12 Comments

A page table contain a page table entry for each process. A process doesnot contain a whole page table , but last level page table may equal to size of 1 page
0
0
I think, you want to say a page table entry for each page... this I already know. What do you mean by saying "a process does not contain a whole page table" ? ( I mean processes do never "contain" any page table... do they? )

Further, I am asking about whether all the processes have their page tables of equal sizes or unequal sizes...
0
0

I mean processes do never "contain" any page table... do they?

I havenot got this line. Can u elaborate ? 

0
0

@Harsh Kumar, understand the basic point

why we use page tables? for loading a processes in the memory non-contiguous, 

if your architecture, load the process in contiguous then no need of page tables

but if your architecture, load the process in non-contiguous then you should need of page tables, even though your process get the contiguous memory by random in this architecture, you should have page table for a process.

 

a process does not contain a whole page table

Actually the statement which mam want to deliver

a process does not contain a whole page table in a single page

 


all the processes have their page tables of equal sizes or unequal sizes

it's depend upon the processes, but note that size of PTE and size of Page are equal for every process in that architecture

what the formula of size of page table? 

Page Table Size = no.of pages in the PROCESS * PTE

                           = $\frac{Process \; Size}{Page \; size}$ * PTE

in this formula, PTE and Page size is constant ===> Page Table size depend upon PROCESS size

 

does the page table of each process consists of same number of entries..?

no.of entries in the page table =  no.of pages in the PROCESS  = $\frac{Process \; Size}{Page \; size}$

∴ No.of entries depend upon the PROCESS size

 

reason to use valid/invalid bit ?

you can easily understand this point, after reading virtual memory concept..... I hope you didn't go up to that right now.

 

the compiler assumes that for each process, all of the virtual address space is available to the process.

i need some more information, to judge this statement.

 

1
1
@Shaik

Actually process have some physical address

And page table only do conversion of that physical to virtual address

page table just contain a page table entry

right?

And what is difference between process and page?
0
0

process have logical address(virtual address)

by using  page tables only do conversion of that virtual address to logical address

 

what is difference between process and page?

process is divided in to pages where physical addresses are divided into frames 

0
0
U mean

conversion from logical to physical address

virtual and logical address same thing

right?
0
0
yes mam
0
0

@shaik https://gateoverflow.in/233204/madeeasy-test-series#c236908

page table size of different process nice example

0
0
mam, i didn't get why you suggest that link for me,
0
0
same thing we were discussing with one problem
0
0
no  ,page size or frame size is same for all process but PTE size and process size is different so page table size is also different for all process
0
0

Please log in or register to answer this question.

Related questions

2 votes
2 votes
1 answer
2