Shared Libs on Linux: why does the dynamic linker run in user context? -


Reading I was strange (for my understanding) that the applications using shared libraries are loaded in two steps. <<>
"post-text" itemprop = "text">

Firstly Kernel loads the image of applications, then it adds the dynamic link-loader binary to the address space and gives control to it. The dynamic linkar loader runs in user space, it is believed that it is within the time frame of the application and pulls it into the rest of the code or links the context of the preloaded shared object. Was this idea (i.e. to restrict runtime consumption), why such a complex plan was chosen?

Why was such a complex plan chosen?

Because it is less complex than the option.

Specifically, it allows the development of GLIBC and Dynamic Loader without rebooting, allowing it to keep more than one version of the GLIBC loader simultaneously on the same system, and it will allow GLIBC to Stay together with other libc implementations (which will have their own dynamic loader)

Why should the kernel load the primary location in the first place? To remove

PT_INTERP , find and read the primary image I guess is to leave it in memory It was less work than to reload and work to translate the interpreter, and obviously it is too fast.


Comments

Popular posts from this blog

java - Can't add JTree to JPanel of a JInternalFrame -

javascript - data.match(var) not working it seems -

javascript - How can I pause a jQuery .each() loop, while waiting for user input? -