操作系统上的进程与线程

操作系统上的进程与线程

Posted by SFHJavaer on 2022-05-19
Estimated Reading Time 2 Minutes
Words 762 In Total
Viewed Times

进程控制块:英文缩写PCB

PCB是一块内存空间,里面记录了操作系统所需要的、描述进程状态的、以及控制进程运行的所有信息。

作用:

PCB中有进程所有信息,他的作用就是能让OS中原本不能独立运行的程序,成为一个可以独立运行的单位,我们也叫做一个进程,OS根据PCB对并发执行的进程进行控制和管理,包括进程同步,通信,访问文件,进程状态(暂停等)。系统创建进程时,随之创建一个PCB,进程结束时回收PCB。

PCB

进程的生命周期

与线程的生命周期类似进程的状态也分几个阶段

创建(新建)状态:创建进程时同时申请一个空白PCB,然后将进程的控制管理信息写入PCB,完成资源分配,如果创建工作完不成,比如资源无法满足空间不够,那么进程就无法被调度运行。

就绪状态:创建好之后,只要分配到cpu就会执行

执行(运行)状态:被调度,进入运行状态

阻塞状态:遇到IO等情况被阻塞,阻塞结束之后进入到就绪状态等待Cpu调度

终止(死亡)状态:进程终止或出现错误

如果进程运行时间片使用完也会进入就绪状态
另外为用户观察需要,进程还有挂起和激活两种操作。挂起后进程处于静止状态进程不再被系统调用,对于操作是激活操作。

周期图

重点关系:

进程和线程都要受到OS的调度,一个核代表一个处理能力,所以同一时刻一核心只能对一个任务进行运算,不管这个任务是进程还是线程,如果是进程,真正执行计算的也是进程中的线程,最终落脚到调度单位上还是线程,所以多核可能并行执行一个进程中的多个线程,线程之间进行切换并发,也有可能是运行多个进程上的不同线程,进程内部线程进行切换,进程当然也可以切换

超线程技术:

把一个物理核心模拟成两个逻辑核心,理论上要像八颗物理核心一样在同一时间执行八个线程,所以设备管理器和任务管理器中会显示出八个核心,但事实上并不是真正的八个核心。

四核8线程是4个物理核心模拟成8个逻辑核心,8核是8个物理核心。

当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。这也是四核八线程和八核的最大区别。


如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !