- 程序可重入:设计程序时,逻辑上将程序代码区和数据区分开。
- 代码区不包含运行程序时需要改变的数据,被处理的数据都放在独立的数据区。这样,进程执行过程中就不会改变代码部分的任何内容。
- 数据区是单独的一个段、堆栈式动态申请的分区,或通过参数传递。
- 创建新进程时,不需要为该进程的代码部分另外申请内存空间,只需将该进程PCB中的进程代码空间的地址指向已有的代码空间地址。
- 进程的数据区,要么等到操作系统为其分配相应存储空间以后,将数据区地址填写在PCB中;要么由进程运行时向操作系统动态申请。
- 可以将进程的代码视为处理数据的一组规则或公式,这一组规则或公式存储在内存中的某个分区。
- 进程的执行:利用这一组规则或公式来完成数据的运算。
- 多个进程共享代码:多个进程需要使用同一组规则或公式处理不同的数据。
- PCB:告诉进程其所需的规则或公式以及需要处理的数据存储在哪里,进程的进度等。
- 对于高级程序的设计而言,只要相应的编译程序支持可重入的程序设计,那么,设计程序时就不需要考虑程序的可重入问题,不需要将程序代码和数据严格分开。
- 编译程序在编译时,会自动将欲处理的数据与程序代码分开存储,以保证代码部分是纯的、可重入的。
操作系统之共享代码
最新推荐文章于 2023-12-20 09:13:50 发布