操作系统_第三章 3.1进程

进程

进程是具有独立功能的程序,关于某个数据集合的一次运行过程;

进程的概念:可以是批处理系统中的工作,也是分时操作系统中的任务;进程是指一个程序的执行

进程与程序的区别

1、进程是动态的,程序的是静态的;

2、进程具有生命周期,程序一旦存在就是永久的;

3、进程=程序+数据+PCB(进程控制块)

4、一个程序可以对应多个进程;

5、一个进程可以包含多个程序;

进程包括:寄存器register;栈stack;数据块;代码块;堆heap(存放程序运行时产生的暂存变量);

进程运行时的状态:创建new;就绪ready;运行running;阻塞waiting;终止terminated; 其中ready,running,waiting是三个基本状态;

running:进程获得cpu,且在cpu上执行的状态,单个cpu中,最多只有一个进程处于运行状态。
ready:进程已经具备了运行条件,由于没有获得CPU不能运行所处状态,一旦获得cpu就能运行。
waiting:阻塞状态或者封锁状态,进程因等待某种事件发生而暂时不能运行的状态,(例如两个进程竞争使用同一个资源时,没有占用该资源的进程便处于等待状态,它必须等到该资源释放后才可以去使用它),引起等待的原因一旦消失,进程便转为就绪状态。
在之后适当的时间投入运行。
进程状态转换图
创建完新的进程后,进入ready状态,通过调度程序选中,进入running状态,通常在分时操作系统中,时间片用完但进程未执行完,则running——>ready。在running状态时,有其他事件的发生(如需要等待文件输入),则从running转入waiting状态,等到该事件完成后,又由waiting状态转入ready状态。

**重点:**running—>waiting—>ready状态都不可逆。只有ready—>running 和running—>waiting可逆,后者一般出现在分时系统中。

PCB :进程控制块,是一块有结构的存储结构区,在操作系统的内存区;包含进程的信息如下图:进程名,进程号,优先级,当前状态、程序计数器,cpu寄存器,cpu调度信息;内存管理信息;计数信息;输入输出状态信息
PCB包含信息
进程控制(通过原语来实现,一旦开始就不能间断)
创建进程:创建新的进程,主要任务是创建进程的控制块PCB。申请空闲PCB区域,填入进程的信息,把进程插入到就绪队列中。
撤销进程:进程执行完成后,撤销该进程,释放所占有资源。
阻塞进程:进程执行中,需要等待某种事件,则调用阻塞原语,插入到等待队列中。
激活进程:等待队列中的进程所等待的事件完成后,则又被唤醒,重新进入就绪队列中,等待调度执行。

CPU转换进程的流程图:
进程转换图

进程调度

进程:程序的执行 进程=程序+数据+PCB PCB:进程控制块 进程存在的唯一标志; 存在于OS内存区

长程调度(作业调度)

内存调度频率低,

短程调度

cpu调度,频率高;

中程调度

进程分类:I/O型;cpu型

想要资源利用率高,可以采用两者混合;

系统消耗:进程切换需要的时间,与硬件等相关

进程的创建:

父进程创建子进程:形成一棵进程树(前趋图,有线无环图)描述进程运行的顺序

资源共享分类:父进程与子进程共享所有资源;子进程共享父进程的资源子集;父进程与子进程不共享任何资源

父进程与子进程执行:可以并发执行;等待执行。

例如:unix系统中

通过fork方法创建一个新的进程;通过exec在自身空间中安装一个程序

进程的撤销:回收PCB,回收资源,把进程执行相关信息累加到父进程上;

进程的撤销原因:1父进程的资源不够创建子进程;2父进程不再需要子进程;3如果进程被撤销,则其子进程先被撤销(无法回收);

进程之间的通信interprocess communication:简写IPC

独立进程,一个进程的运行不会影响其他进程的工作

协同进程:多个进程相会协作完成一个任务;

协同进程的优点:信息共享;运行加速;便于调度;便利

进程信息传递的方式:

分类:共享内存memory:高速,交互方便

​ 消息传递(无共享存储空间) message passing:易于实现;数据量小,但速度较慢 用系统语句send recieve

消息传递:一种交互的机制,可以保证他们进程之间同步;提供两种系统操作,send receive; 直接通信与间接通信
在这里插入图片描述

相关的问题
在这里插入图片描述
信息传递可以试阻塞的也可以试非阻塞的:阻塞的可认为是同步的;非阻塞的可看作为异步的

在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值