【操作系统笔记】第四章—抽象:进程

【操作系统笔记】第四章—抽象:进程

知识点

进程非正式定义

进程就是运行中的程序

时分共享cpu技术

通过让一个进程只运行一个时间片,然后切换到其他进程,操作系统提供了存在多个虚拟 CPU 的假象

上下文切换

它让操作系统能够停止运行一个程序,并开始在给定的 CPU 上运行另一个程序。

抽象-进程

操作系统为正在运行的程序提供的抽象,就是所谓的进程。进程是操作系统进行资源分配和调度的一个独立单位

进程的机器状态:

  1. 内存,进程可以访问的内存(称为地址空间,address space)是该进程的一部分。
  2. 寄存器:许多指令明确地读取或更新寄存器。
  3. 还有一些特殊的寄存器,如PC,栈指针,帧指针。

一个进程包括五个部分

  1. (OS管理运行程序的)数据结构P
  2. (运行程序的)内存代码C
  3. (运行程序的)内存数据D
  4. (运行程序的)通用寄存器信息R
  5. (OS控制程序执行的)程序状态字信息PSW

进程API

创建(create)
销毁(destroy)
等待(wait)
其他控制(miscellaneous control)
状态(status)

进程创建

1、将代码和所有静态数据(例如初始化变量)加载(load)到内存中,加载到进程的地址空间中。

2、为程序的运行时栈(run-time stack 或 stack)分配一些内存

3、也可能为程序的堆(heap)分配一些内存

4、一些其他初始化任务,特别是与输入/输出(I/O)相关的任务

5、启动程序,在入口处运行,即 main()。通过跳转到 main()例程(第 5 章讨论的专门机制),OS 将 CPU的控制权转移到新创建的进程中,从而程序开始执行。

进程的状态

三种基本状态:

1、运行(running):在运行状态下,进程正在处理器上运行。这意味着它正在执行指令。
2、就绪(ready):在就绪状态下,进程已准备好运行,但由于某种原因,操作系统选择不在此时运行。
3、阻塞(blocked):在阻塞状态下,一个进程执行了某种操作,直到发生其他事件时才会准备运行。一个常见的例子是,当进程向磁盘发起 I/O 请求时,它会被阻塞,因此其他进程可以使用处理器。

image-20211111130118589

其他可能存在的状态:

挂起状态(是该进程暂时不接受调度)。

创建状态:此时,进程已经拥有了字节的PCB,但该进程所必需的资源或其它信息(如主存资源)尚未分配,进程自身还未进入主存,即创建工作尚未完成,进程还不能够被调度运行。

(创建进程的两个步骤: 为一个新进程创建PCB,并填写必要管理信息;把该进程转入就绪状态并插入就绪队列。)

终止状态:进程的终止首先要等待操作系统进行善后处理,然后将其PCB清零,并将PCB空间返还系统。

进程控制块(Process Control Block)

PCB是OS用于记录和刻画进程状态及环境信息的数据结构

借助PCB,OS可以全面管理进程物理实体,刻画进程的执行现状,控制进程的执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值