深入理解进程

关于进程的讨论

进程的分类

  • 系统进程/用户进程
  • 前台进程/后台进程
  • CPU密集型进程/  I/O型密集型进程

进程层次结构

  UNIX进程家族树:init为根进程,然后向下衍生;  Windows:所有进程地位相同

 进程地址空间

  操作系统给每个进程都分配了一个地址空间

先看一段程序:

 

同时运行两个Myval程序:Myval  7,Myval  8

输出:

 可以看到变量myval的值不同,但是输出的地址却相同。其实两个程序地址0x60104c只是虚拟地址,物理内存不相同,它们只是处在相对一样的地址上。

 再具体一点,两个程序的内核地址空间不同,但是用户地址相同。

 

上下文(CONTEXT)切换

将CPU硬件状态从另一个进程切换到另一个进程的过程称为  上下文切换。进程运行时,其硬件状态保存在CPU的寄存器中,包括程序计数器、程序状态寄存器、栈指针寄存器、通用寄存器、其他控制寄存器的值。进程不运行时,这些寄存器的值保存在进程控制块(PCB)中;当操作系统要运行一个新的进程时,将PCB中的相关值送到 对应的寄存器中。

 

posted @ 2023-08-06 23:02  C++杀我  阅读(20)  评论(0编辑  收藏  举报