操作系统之共享代码

  1.  程序可重入:设计程序时,逻辑上将程序代码区和数据区分开。
  2. 代码区不包含运行程序时需要改变的数据,被处理的数据都放在独立的数据区。这样,进程执行过程中就不会改变代码部分的任何内容。
  3. 数据区是单独的一个段、堆栈式动态申请的分区,或通过参数传递。
  4. 创建新进程时,不需要为该进程的代码部分另外申请内存空间,只需将该进程PCB中的进程代码空间的地址指向已有的代码空间地址。
  5. 进程的数据区,要么等到操作系统为其分配相应存储空间以后,将数据区地址填写在PCB中;要么由进程运行时向操作系统动态申请。
  6. 可以将进程的代码视为处理数据的一组规则或公式,这一组规则或公式存储在内存中的某个分区。
  7. 进程的执行:利用这一组规则或公式来完成数据的运算。
  8. 多个进程共享代码:多个进程需要使用同一组规则或公式处理不同的数据。
  9. PCB:告诉进程其所需的规则或公式以及需要处理的数据存储在哪里,进程的进度等。
  10. 对于高级程序的设计而言,只要相应的编译程序支持可重入的程序设计,那么,设计程序时就不需要考虑程序的可重入问题,不需要将程序代码和数据严格分开。
  11. 编译程序在编译时,会自动将欲处理的数据与程序代码分开存储,以保证代码部分是纯的、可重入的。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值