假设我们依次运行两个进程,例如:-
我在《Linux编程入门》第11章中读到,进程的代码段将被共享,因为它是只读的。真的吗?我认为如果grep只被编译成共享库,那么代码段才会被共享。
还有一个问题,在使用共享库时,操作系统如何知道该库是否已被加载?假设有2个进程同时调用共享库函数,那么两个进程的虚拟地址如何转换为指向RAM中相同位置的物理地址?
$ grep abc abc.txt ==> pid 100
$ grep def def.txt ==> pid 101
我在《Linux编程入门》第11章中读到,进程的代码段将被共享,因为它是只读的。真的吗?我认为如果grep只被编译成共享库,那么代码段才会被共享。
还有一个问题,在使用共享库时,操作系统如何知道该库是否已被加载?假设有2个进程同时调用共享库函数,那么两个进程的虚拟地址如何转换为指向RAM中相同位置的物理地址?