操作系统学习笔记-进程的概念

程序的概念

一个程序由多个程序段组成,其中任何一个程序段都是顺序的,这种程序的执行的方式就是程序的顺序执行。

程序顺序执行的特点

  1. 顺序性 - 处理机按照程序的顺序执行。
  2. 封闭性 - 程序一旦开始运行,他的结果不受到外界的影响。
  3. 可再现性 - 程序的执行结果和执行速度无关,之和初始条件有关。

程序并发执行的特征

间断性: 程序之间要共享系统的资源,形成相互制约的关系。相互制约导致了并发程序具有”执行-暂定-执行”的这种规律

失去封闭性 程序在并发执行时,系统的资源会受到多个程序的影响,程序就失去了封闭性。

不可再现性 程序在并发执行的时候,多次运行初始条件相同的同一程序会得出不同的运行结果。

进程的三种基本状态

  • 就绪状态(Ready) - 这个状态下的进程只要获得cpu控制权,就能立刻运行。
  • 运行状态(Running) - 正在运行的进程
  • 阻塞状态(Blokced) - 由于发生某些事件导致程序暂停,放弃cpu控制权,进入阻塞状态。

三种状态的关系如下图:

image

挂起状态

计算机的资源是有限的,在资源不足的时候,把一些资源调出内存,在后续需要的时候再调回内存。

引起挂的原因有:

  1. 终端用户的请求。当终端用户在自己的程序运行期间发现有可疑问题时,希望暂停使自己的程序静止下来。亦即,使正在执行的进程暂停执行;若此时用户进程正处于就绪状态而未执行,则该进程暂不接受调度,以便用户研究其执行情况或对程序进行修改。我们把这种静止状态称为“挂起状态”。
  2. 父进程的请求。有时父进程希望挂起自己的某个子进程,以便考察和修改子进程,或者协调各子进程间的活动。
  3. 负荷调节的需要。当实时系统中的工作负荷较重,已可能影响到对实时任务的控制时,可由系统把一些不重要的进程挂起,以保证系统能正常运行。
  4. 操作系统的需要。操作系统有时希望挂起某些进程,以便检查运行中的资源使用情况或进行记账。

挂起和阻塞的区别:挂起是主动行为,阻塞是被动行为。

引入挂起后,状态由3种变5总,如下图:

image

进程控制块(PCB)的作用

PCB 是进程存在的唯一标识。

在系统中PCB都被组织成链表或者列表。

进程控制块包含的内容

1.进程表示符

  • 内部标识符
  • 外部标识符

2.处理机状态

处理机在运行的时候,信息是存放于寄存器的,当被中断的时候,需要放入PCB。

3.进程调度信息

  • 进程状态
  • 进程优先级
  • 进程调度所需要的其他信息
  • 事件

4.进程控制信息

  • 程序和数据的地址
  • 进程通讯和同步机制
  • 志愿清单
  • 链接指针

PCB的组织方式

  1. 链接方式
  2. 索引方式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值