深入理解计算机操作系统——第8章:进程

进程:

(1)进程的经典概念就是执行中的一个程序的实例。

(2)系统中的每一个程序都是运行在进程的上下文中。

(3)上下文:由程序正确运行所需的状态组成,这个状态包括:存放在存储器中的代码和数据,它的栈,通用目的寄存器,

程序计数器,环境变量,以及打开的文件描述符等等。

进程给程序提供的关键抽象:

(1)独立的逻辑控制流:好像程序在运行时独占cpu处理器

(2)私有的地址空间:好像程序独占存储器一样。

逻辑控制流:

程序的运行时会有一系列的程序计数器(PC)的值,这些值唯一的对应着可执行程序的指令。这些值的序列就是逻辑控制流。

(1)并发流:

一个逻辑流的执行时间上与领一个流重叠称为并发流。

如上图,A和B时间上有重叠,A和C时间上有重叠

而B与C,因为执行C的第一条指令时B的最后一条指令已经执行完了

(2)多任务:一个进程与其他进程轮流的执行称为多任务。

(3)时间片:一个进程执行它的控制流上的一个片段称为时间片。

8.2.3 私有地址空间

(1)进程为每个程序提供一个假象,好像它独占的使用整个系统的地址空间。

(2)如32位机,地址是2^32个可能的地址集合。

(3)一个进程为运行在它上面的程序提供私有的地址空间,这个地址所关联的存储字节是不能被其他进程所访问的

(4)地址空间的顶部是保留给内核的,底部是保留给用户程序的

8.2.4 内核模式和用户模式

(1)一个运行在内核模式下的进程可以访问指令集中的任何指令,可以访问存储器中的任何存储字节

(2)一个运行在用户模式下的进程不能访问特权指令

(3)处理器中的某只控制寄存器的模式位来控制模式。

8.2.5 上下文切换

(1)内核为每个进程维持一个上下文,上下文就是内核重新启动一个被抢占的进程所需的状态。

上下文切换:(在内核的模式下)

(1)保存当前进程的上下文。

(2)恢复某个先前被抢占的进程的被保存的上下文

(3)将控制传递给这个新恢复的进程

原文地址:https://www.cnblogs.com/yanliang12138/p/4757558.html