操作系统基本概念二

进程

1.什么是进程:

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

2.进程与程序的区别:

①程序是指令的集合,存在是永久的(例:.java .cpp .py 等文件)
进程有生命周期,是一个动态的概念
②进程=程序+数据集合+PCB
③一个程序可以创建对应多个进程(例:开多个QQ)
④一个进程可以包含多个程序
⑤没有创建进程的程序不会被执行

3.PCB process control block(重要重要)

PCB包含什么信息呢?
同时还有进程标志信息,处理机状态信息,进程控制信息

PCB是一个有结构的主存区,用于保存进程的所有信息。系统通过感知PCB感知进程的存在,所以说:PCB是进程存在的唯一标识
这里写图片描述

4.进程的创建与撤销

进程的创建:
1.申请PCB
2.分配资源
3.填写PCB信息
4.new
5.进入下图流程
进程的撤销:
1.回收资源
2.统计相关信息
3.回收PCB

5.进程调度:

这里写图片描述
但是我们使用的windows系统其实是直接放入到内存中的,没有后备那一块,也就是磁盘没有缓冲区。
高级调度涉及优化:合理选择I/O类型的进程以及CPU类型的进程 使得CPU利用率高一些,不至于一直都在等或者一直都在IO(I/O类型进程与CPU类型进程交替运行使得效率提高)

6.进程的上下文切换

将CPU切换到另一个进程需要保存当前进程的状态,并回复另一进程的状态,称为上下文切换。(类似中断)
这里扯一下原语:
之前第一篇有中断的图,那么怎么样才是原语呢?就是最高级别的,这样就可以保证原语一定会执行


7.父子进程之间的各种:

创建进程的进程称为父进程,新进程称为子进程

这里写图片描述
什么时候爸爸不要儿子呢(父进程终止子进程)?
1.子进程要求太多资源,爸爸给不起干脆不要儿子了
2.子进程要做的任务不需要了,本来生儿子养老的,发现有养老院,那儿子我也不养了
3.父进程终止,子进程终止。爸爸没了,儿子嗷嗷待哺没人养也没了。

8.进程之间通信:

方式两种:
1.消息传递
2.共享主存


1.消息传递方式:
使用中断来来进行实现,方法在图中已经给出
有缺点,需要很多内核介入的时间消耗
这里写图片描述
这里写图片描述
2.共享主存的方式:
仅仅在建立共享主存区的时候需要系统调用,就不会太慢

9.生产者消费者模型

缓冲区的读出端(以下简称R)和写入端(以下简称W)想象成是两个人在体育场跑道上追逐(R追W)。当R追上W的时候,就是缓冲区为空;当W追上R的时候(W比R多跑一圈),就是缓冲区满。转换

10.进程协同问题

DAG有向无环图 结合生产者消费者问题,知道限制的情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值