linux – 共享内存性能并保护其他进程
发布时间:2020-12-13 23:54:11 所属栏目:Linux 来源:网络整理
导读:我正在尝试实现一个JIT编译器(我有非常讨厌的爱好). 我希望有一个主进程保留一些持久变量,第二个进程(已经及时编译)进行一些计算并可以访问和写入持久变量. 第二个进程可以更改并重新编译,但持久变量必须在第二个进程的两次执行之间保持相同. 我的第一个问题
我正在尝试实现一个JIT编译器(我有非常讨厌的爱好).
我希望有一个主进程保留一些持久变量,第二个进程(已经及时编译)进行一些计算并可以访问和写入持久变量. 第二个进程可以更改并重新编译,但持久变量必须在第二个进程的两次执行之间保持相同. 我的第一个问题是:共享内存是否适合它? (另外在性能方面,因为我希望执行尽可能快.) 我的第二个问题是:如果我使用shm_overview.7中描述的共享内存,在我看来,任何其他具有相同uid的进程都可以访问它.我该怎样预防呢?我希望只有上述两个进程才能访问此共享内存. 解决方法
您可能考虑的另一种架构是动态加载.而不是2个过程,你只有第一个过程;它使用dlopen()来加载新编译的代码.它调用此“库”的入口点,并且代码可以访问包括持久变量在内的所有空间.返回时,您卸载库,准备下一次“运行”.
创建这样一个可加载的库并调用它非常简单,并且比执行整个新进程更快.权限没有问题,因为您的唯一进程决定加载和运行的内容. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |