linux - 进程之间是如何共享代码段的?
高洛峰
高洛峰 2017-04-17 14:42:13
0
1
821

如果一个程序运行了两个实例,那么有两个进程,这两个进程应该共享代码吧。
但是网上虚拟地址空间的布局中,每个进程都有代码段。那么进程是怎么共享代码的?难道是后来产生的进程的代码段指向前面产生进程的代码段?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(1)
巴扎黑

如果一个程序运行了两个实例,很遗憾,这两个程序的代码并不会共享,因为程序代码在程序运行时就被装载到内存,第二个程序再启动时,系统没法判断也不会判断这个程序是否还是原来的程序(如果程序被更新或更改),所以仍然会把程序代码重新加载到内存的另一块区域。

代码的共享体现应该是链接库中,特别是动态链接库中。因为库被设计成动态链接的,所以程序可以在运行后再确定代码所在的内存地址,这也就能实现多个程序调用同一块代码了。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!