概述
进程
进程的经典定义就是一个执行中程序的实例。上下文是由程序正确运行所需要的状态组成的。这个状态包括存放在内存中程序的代码和数据,它的栈、通用的目的寄存器的内容、程序计数器、环境变量以及打开文件描述符的集合。
逻辑控制流
如果想用调试器单步执行程序,我们会看到一系列的程序计数器的值,这些值唯一地对应包含在程序的可执行目标文件中的指令,或是包含在运行时动态链接到程序的共享对象中的指令。这个 PC 值的序列叫做逻辑控制流,或者简称逻辑流。
并发流
一个逻辑流的执行在时间上与另一个流重叠,称为并发流。比如说 A逻辑流在开始执行后结束执行前,B逻辑流开始执行,就称这两个流为并发流。一个进程和其他进程轮流运行的概念称为多任务。如果两个流并发地运行在不同的处理器核或者计算机上,那么我们就称它们为并行流。
私有地址空间
内核虚拟内存(代码、数据、堆、栈) |
用户栈 |
共享库的内存映射区域 |
|
运行时堆(malloc 创建的) |
读/写段 .data .bss |
只读代码 .init .text .rodata |
上下文切换
操作系统内核使用一种称为上下文切换的较高层形式的异常控制流来实现多任务。
内核为每个进程维持一个上下文。上下文就是内核重新启动一个被抢占的进程所需的状态。它由一些对象的值组成,这些对象包括通用的目的寄存器、浮点寄存器、程序计数器、用户栈、状态寄存器、内核栈和各种内核数据结构,比如描述地址空间的页表、包含有关当前进程信息的进程表,以及包含进程已打开文件的信息的文件表。
最后
以上就是典雅母鸡为你收集整理的(一 ) . 进程概念的介绍的全部内容,希望文章能够帮你解决(一 ) . 进程概念的介绍所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复