Linux(七)---进程和虚拟地址空间

1.进程的概念
进程就是程序的一次动态执行过程,也就是运行中的程序。
进程有三种基本状态:就绪状态、执行状态、阻塞状态
三种状态之间的关系:
Linux(七)---进程和虚拟地址空间_第1张图片除了以上的三种基本状态,从内核来看,进程有五种状态,分别为:
Linux(七)---进程和虚拟地址空间_第2张图片

操作系统是通过管理进程,让进程运行来完成用户指定的任务。进程是在内存上运行的,而程序是存储在磁盘上的二进制可执行文件。
2.进程和程序的区别
(1)程序是永存的,而进程是暂时的
(2)程序是静态的,进程是动态的
(3)进程具有并发性,而程序没有
(4)进程是竞争计算机资源的基本单位,而程序不是
(5)进程和程序不是一一对应的。一个程序可以由多个进程执行,一个进程也可以执行一个或多个程序。
(6)程序:指令+数据 进程:PCB结构+进程实体

3.进程PCB
操作系统是通过PCB(进程控制块)描述进程。
PCB也就是进程控制块,它是记录进程执行过程中的相关信息,包括PID(进程标识符)、程序计数器、进程状态、程序上下文、优先级…
4.Linux系统上的进程管理命令
(1)查看进程 —>ps
ps -f 显示进程更详细的属性信息
ps -e 显示系统上所有的进程
ps -L 显示LWP(线程号)
示例:
在这里插入图片描述PID:进程号
PPID:父进程号
pstree–>以树状图的形式显示进程的创建关系
top–>动态显示进程的执行情况和系统资源,和Windows上的任务管理器相似。如下图所示:
Linux(七)---进程和虚拟地址空间_第3张图片5.虚拟地址空间
操作系统为每一个进程都分配了一个4G大小的空间,实际上这块空间是给进程提供了一个假象,每个进程独占地使用主存。每个进程看到的是一致的存储器,称为虚拟地址空间。在Linux中,地址空间最上面的1G大小的空间为内核空间,是为操作系统中的代码和数据保留的,所有进程都是一样的。地址空间的底部区域存放用户进程定义的代码和数据。下图为虚拟地址空间的布局:
Linux(七)---进程和虚拟地址空间_第4张图片
参考文件
[1]深入理解计算机系统(原书第 2 版)
[2]Linux内核设计与实现(第三版)

你可能感兴趣的:(笔记,内核,操作系统,linux)