操作系统④-①:进程的状态(并发并行的区别,挂起状态)、进程的控制结构(PCB)、进程的控制(四种)、进程上下文切换(过程及场景))

1 进程的状态

什么是进程
在这里插入图片描述
并发和并行的区别
多个程序、交替执⾏的思想,就是 CPU 管理多个进程的初步想法。

单核的 CPU 在某⼀个瞬间,只能运⾏⼀个进程。但在 1 秒钟期间,它可能会运⾏多个进程,这样就
产⽣并⾏的错觉,实际上这是并发。
在这里插入图片描述

进程有「运行 - 暂停 -运行」的活动规律
CPU 可以从⼀个进程(做菜)切换到另外⼀个进程(买可乐),在切换前必须要记录当前进程
中运行的状态信息
,以备下次切换回来的时候可以恢复执⾏。

进程的状态变迁
在这里插入图片描述
虚拟内存管理的操作系统中,通常会把阻塞状态的进程的物理内存空间换出到硬盘,等需要再次
运⾏的时候,再从硬盘换⼊到物理内存。

挂起状态
需要⼀个新的状态,来描述进程没有占⽤实际的物理内存空间的情况,这个状态就是挂起状态。
阻塞挂起状态:进程在外存(硬盘)并等待某个事件的出现;
就绪挂起状态:进程在外存(硬盘),但只要进⼊内存,即刻⽴刻运⾏;
在这里插入图片描述
在这里插入图片描述
2 进程控制结构

PCB
操作系统中,通过进程控制块(process control block, PCB)数据结构来描述进程。
PCB 是进程存在的唯⼀标识,这意味着⼀个进程的存在,必然会有⼀个 PCB,如果进程消失了,那么
PCB 也会随之消失。

PCB要存储很多信息,通常是通过链表的⽅式进⾏组织,把具有**相同状态的进程链在⼀起,**组成各种队列。 就绪队列、阻塞队列。

使用链表是因为可能⾯临进程创建,销毁等调度导致进程状态发⽣变化,所以链表能够更加灵活的
插⼊和删除。
在这里插入图片描述
3 进程的控制

创建、终⽌、阻塞、唤醒。
进程的阻塞和唤醒是⼀对功能相反的语句。

4 进程的上下文切换

⼀个进程切换到另⼀个进程运⾏,称为进程的上下⽂切换。

CPU上下文

程序计数器则是⽤来存储 CPU 正在执⾏的指令位置、或者即将执⾏的下⼀条指令位置
CPU 寄存器和程序计数是 CPU 在运⾏任何任务前,所必须依赖的环境,这些环境就叫做 CPU上下⽂。

CPU上下文切换
在这里插入图片描述
CPU上下文切换分为:进程上下⽂切换、线程上下⽂切换和中断上下⽂切换。

进程上下文切换
进程是由内核管理和调度的,所以进程的切换只能发⽣在内核态。
进程的上下⽂切换不仅包含了虚拟内存、栈、全局变量等⽤户空间的资源,还包括了内核堆栈、寄
存器等内核空间的资源。
在这里插入图片描述
依赖PCB切换。
希望进程切换的开销较小。
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值