【多 进 程】

文章详细阐述了CPU的取址执行过程以及如何通过多道程序提高CPU利用率。在多进程环境中,介绍了进程的概念、状态转换、组织方式及如何通过操作系统进行进程的交替执行和资源管理。同时,强调了进程间的同步与合作,特别是解决竞态条件的问题,以及地址空间的分离和映射在内存管理中的重要性。
摘要由CSDN通过智能技术生成

目录

CPU的工作原理

取址执行

如何提高CPU利用率

 运行的程序--进程

多进程图像

启动了的程序就是进程,所以是多个进程推进

多进程图像从启动到关机结束

 多进程如何组织

进程状态图

  多进程如何交替

 多进程如何影响

多进程合作

如何形成多进程图像


CPU的工作原理

取址执行

获得一个地址,从内存中取出来实行。设好PC初值即可

如何提高CPU利用率

多道程序、交替执行

一个CPU面对多个程序

 一个CPU上交替的执行多个程序:并发

 设置初始为50,需要切换到另一个程序时,OS修改PC=200.(需要记录切出去的时候程序执行到的样子)(运行的程序和静态程序不一样了,静态程序不用记录)(类似读书,读过和没读的,下次再读,读的时候大脑所处的状态不同,一个读取以前读到的位置开始读,一个不需要读取)

 运行的程序--进程

进程是正在进行(执行)的程序

进程有开始、有结束、程序没有

进程会走走停停,走停对程序无意义

进程需要记录ax,bx,......,程序不用

多进程图像

启动了的程序就是进程,所以是多个进程推进

操作系统只需要把这些进程记录好、要按照合理的次序推进(分配资源、进行调度)

这就是多进程图像。

多进程图像从启动到关机结束

main中的fork()创建了第一个进程

init执行了shell(Windows桌面)

shell再启动其他进程(一个命令启动一个进程,返回shell再启动其他进程)

 多进程如何组织

操作系统感知进程靠PCB,多个进程的PCB放在不同地方

有一个进程正在执行

有一些进程等待执行 

  

有一些进程在等待某事件 

 多进程的组织:PCB+状态+队列

进程状态图

  多进程如何交替

交替分为三个部分:队列操作+调度+切换

先写入阻塞态,调用schedule函数,切换进运行态

 pCur,pNew实际是PCB

getNext是调度

 多进程如何影响

多进程的地址空间分离:内存管理的主要内容(通过映射表)

 

多进程合作

例:

 

两个合作都要修改counter 

 

 

 这种假若counter初始是5,结果将会是4,为了解决这种问题

写counter时阻断其他进程访问

 检查没成功将无法切换

 

如何形成多进程图像

读写PCB(OS中最重要的结构,贯穿始终)

要操作寄存器完成切换

要写调度程序

要有进程同步与合作

要有地址映射

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨焰翎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值