This is what I found in pmap of bash process, suppose if another bash process is started will these areas will be shared, how they are shared while new bash is created. (is there any info that kernel keeps to know that these files are loaded at these parts)
It's done with memory mapping.
Any dynamically-linked code is loaded in this fashion, though it'd be mapped read-only, not read-write.
I suppose the kernel would just need to track the inode number and partition id of memory mapped from files. If someone tries to map the same inode on the same partition, and the area being mapped intersects, some or all of it may be shared.
The memory savings is deeper than just not reloading the same library 23 times. The kernel uses hardware features of the CPU itself to be notified when a process tries to access mapped pages of memory -- like a segmentation fault, except instead of killing the process, the kernel freezes it. Once the memory's loaded, the kernel lets it continue. This allows the kernel to only load memory pages which you're actually using, rather than blindly loading the entire file.
Memory may eventually be paged back out if it falls into disuse, as well. In this manner, mapped segments can operate on things larger than the entire available memory on your system. Many large things like databases use memory mapping to operate on their files.
Last edited by Corona688; 09-22-2011 at 02:37 PM..
Ok, I'm kind of in between newbie and experienced somewhere. I'm an advanced computer user but only have a little experience with linux and a lot of problems with it. Currently I'm using Linux-Mandrake 8.0 (I know, I know, but let's not go into the many reasons why it's not even close to the best... (2 Replies)
Well Guys, will anybody solve my problem?
I have installed Win XP and RH Linux 9 (Dual Boot) on an Intel x86 Machine. Everything is going fine except that I cannot share files among the two operating systems. For example, if I download a PDF file from internet and save it in my Win XP partition... (1 Reply)
I have RedHat 9.0 installed on three of my servers (PIII - 233MHz) and want that they share a common IP address so that any request made reaches each of the servers.
Can anyone suggest how should I setup my LAN. I'm new to networking in Linux so please elaborate and would be thankful for a timely... (2 Replies)
Sometimes you get the tiger...but sometimes he get you and this latest home network “project” of mine has gnawed on me pretty badly. Perhaps you can offer some technical help. It will be heartily appreciated.
I have a small home network initially comprising two computers running Windows... (1 Reply)
I keep getting a access denied error when I install from the XP wizard my Linux shared printer.
CUPS CONFIGURATION FILE
<Location /admin>
#
# You definitely will want to limit access to the administration functions.
# The default configuration requires a local connection from a user who
#... (2 Replies)
Hi,
Anyone can tell me how do i create Linux manual page.
I copied ls manual page from /usr/share/man/man1/ls.1.gz
and unziped ls.1.gz
got one file ls.1
If i apply man ls.1 it is displaying man page of ls.
Similarly i want to create myExe.1 file ,
man myExe.1 should display... (2 Replies)
HI
i have setuped a nfs between a AIX system and a linux os ,keeping AIX as sever
i need to share the CDrom in AIX server with the linux operating system. ie. linux os
machine does't have a cdrom . will i be able be share ..i tried a lot but it gives a message which resembles NFS access... (3 Replies)
Versions : RHEL 6.xx /OL 6.xx
I am trying to understand what a page is in Linux? The concept should be same in Unix as well, I guess
The below doc says "A page is a block of virtual memory. A typical block size on Linux operating system is 4KB "
... (4 Replies)
I'd like to share some experiences and what I found for NIS migration from Solaris 8 NIS to Linux platform.
I'm not an expert for both platforms, it's just when I tested both systems and found something really tricky. That might takes a lot of time for you to find the root cause. So, I think I can... (11 Replies)