LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices

Reply
 
Search this Thread
Old 06-21-2010, 02:22 AM   #1
shreshtha
LQ Newbie
 
Registered: Jul 2006
Location: India
Distribution: ubuntu
Posts: 13

Rep: Reputation: 0
Virtual space seen by each new process in User space


In a 32-bit system, max memory addressable is 4GB.
Now Linux kernel does memory mapping division of 1GB for kernel address space and 3GB for user address space. That means 4GB of virtual address space is divided between kernel (1GB) and user (3GB).

Q1. All virtual mapping utilizes the available physical RAM without any division? I mean to say that if RAM is 512MB then a page in kernel space can lie any where RAM (leave aside old PCI dma accesses)? (How this fits to fact that kernel memory is non-pageble)

Q2. If a process is created in user space, it has visibility 4GB address space or 3GB address space?
 
Old 06-22-2010, 05:00 AM   #2
shreshtha
LQ Newbie
 
Registered: Jul 2006
Location: India
Distribution: ubuntu
Posts: 13

Original Poster
Rep: Reputation: 0
If 4GB virtual space is split in to 1GB for kernel space and 3GB user space virtual memory then -
a) each processes created in user space sees only 3GB virtual memory
b) all kernel sees same 1GB virtual memory

1. Actual physical pages corresponding to any (kernel or user) virtual memory may lie anywhere in the RAM. I am not sure but according to my knowledge a small portion of RAM is marked/kept non-pageable for critical mappings e.g. the page-tables. rest are pageable. Actual fact is any non-pageable allocation can be requested (using kmalloc()).

2. Each process created in user space have visibility of 3GB virtual memory space. Note this is contrary to fact that whole of kernel i.e. all modules and tasks in kernel space sees same 1GB virtual memory area.

Please correct me if I am wrong.

--Shreshtha
 
Old 06-22-2010, 05:47 AM   #3
syg00
LQ Veteran
 
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 12,057

Rep: Reputation: 971Reputation: 971Reputation: 971Reputation: 971Reputation: 971Reputation: 971Reputation: 971Reputation: 971
Have a read of this
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Division of Logical Memory Space in to User Space and Kernel Space shreshtha Linux - Newbie 2 01-14-2010 09:59 AM
Do we have any chance of calling user space callback function from kernel space? ravishankar.g Linux - Newbie 1 09-22-2009 07:14 PM
how to call socket prog code written in user space from kernel space???HELP kurt2 Programming 2 07-15-2009 09:56 PM
How to access device from user space process stardust496 Linux - Hardware 3 07-23-2008 01:40 PM


All times are GMT -5. The time now is 12:12 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration