0
点赞
收藏
分享

微信扫一扫

嵌入式硬件八股文3

四、进程与线程

进程是资源分配的最小单位,线程是CPU调度的最小单位

1.进程

我们编写的代码只是一个存储在硬盘的静态文件,通过编译后就会生成二进制可执行文件,当运行这个可执行文件后,它会被装载到内存,接着CPU会执行程序中的每一条指令,那么这个运行中的程序,就被称为进程。

完整的进程状态变迁图:


NULL→创建状态:一个新进程被创建时的第一个状态;

创建状态→就绪状态:当进程被创建完成并初始化后,一切就绪准备运行时,变为就绪状态,这个过程是很快的;

就绪状态→运行状态:处于就绪状态的进程被操作系统的进程调度器选中后,就分配给CPU正式运行该进程;

运行状态→结束状态:当进程已经运行完成或出错时,会被操作系统作结束状态处理;

运行状态→就绪状态:处于运行状态的进程在运行过程中,由于分配给它的运行时间片用完,操作系统会把该进程变为就绪状态,接着从就绪状态选中另外一个进程运行;

运行状态→阻塞状态:当进程请求某个事件且必须等待时,例如请求I/O事件;

阻塞状态→就绪状态:当进程要等待的事件完成时,它从阻塞状态变到就绪状态;

阻塞挂起状态:进程在外存(硬盘)并等待某个事件的出现;

就绪挂起状态:进程在外存(硬盘),但只要进⼊内存,即刻⽴刻运⾏;

2.进程控制块

在操作系统中,进程控制块PCB数据结构是用来描述进程的。

PCB是进程存在的唯一标识

PCB包含的信息:

1.进程描述信息:进程标识符,每个进程都有一个唯一的标识符;用户标识符,进程归属的用户;

2.进程控制和管理信息:进程当前状态,如 new、ready、running、waiting 或 blocked 等; 进程优先级:进程抢占 CPU 时的优先级;

3.资源分配清单:有关内存地址空间或虚拟地址空间的信息,所打开文件的列表和所使用的 I/O 设备信息。

4.CPU相关信息:CPU中各个寄存器的值,当进程被切换时,CPU 的状态信息都会被保存在相应的 PCB 中,以便进程 重新执行时,能从断点处继续执行。

PCB是通过链表的方式进行组织的,把具有相同状态的进程链在一起,组成各种队列。比如就绪队列阻塞队列

举报

相关推荐

0 条评论