进程调度的基本过程

目录

1.操作系统的构成

2.进程

3.进程调度

4.进程的虚拟空间地址

5.总结


前言:计算机构成:

冯诺依曼体系:

CPU(包含门电路,寄存器)执行程序的过程:取指令,读取指令,解析指令

存储器:内存(空间小,速度快),外存(空间大,速度慢)

输入设备

输出设备

1.操作系统的构成

上面是操作系统分层视图:

操作系统内核对上负责给软件提供稳定运行的环境,对下负责管理各种硬件设备

操作系统是个负责管理的软件,负责内存管理,文件管理,还有就是我们的应用进程管理

2.进程

进程:相当于一个程序去完成一项任务,

可执行文件(.exe)和进程的区别:可执行文件相当于我们平时下载一个安装包一样

他是静态的,只占用我们硬盘的内存,当我们双击点开,操作系统就会把里面的信息加载到我们的内存里,并且开始运行里面的代码,就形成了一个进程:

比如我们打开任务管理器,

这些都是我们在内存中运行的程序,像当于一个个进程

那要管理那么多内存,操作系统应该怎么进行区分和管理呢:

1.描述,使用一个类或者结构体,把这个进程的信息表示出来,我们简称PCB(progress control block)进程控制块,不是PCB板,这就是一个结构体,里面包含了进程的核心信息;

2.组织:利用数据结构把多个PCB给整理到一起,比如双向链表

 PCB里的信息有什么:

身份标识pid(相当于我们的学号)

内存指针:操作系统有时要把一些必要的数据加载到内存中,运行的指令(代码),运行时依赖的全局变量,内存指针就描述了该进程的内存中哪部分是指令,哪部分是数据.

文件描述符:表示进程中都打开了哪些文件,有一个文件描述符表(顺序表),每个元素代表一个打开的文件,,表中对应的下标就是文件描述符

3.进程调度

轮流占用CPU核心进行执行进程(渣男例子)

进程里有一组属性用来实现进程的调度

进程的优先级:安排运行进程的时间

进程状态:根据进程当前的特定情况安排时间表,分为:就绪状态和阻塞状态

进程的记账信息:操作系统在安排进程时,会记录每个进程以往在CPU上执行的时间

如果发现某个进程被安排的太少,就会适当的调整策略,不一定以执行时间为准,也有可能以执行的指令数为准

进程的上下文:

对于进程来说,上下文,具体指的就是CPU里的一堆寄存器里面的值.
上下文就会在进程被切出CPU的时候把寄存器的状态保存到PCB里(内存)
下次进程回到CPU上就把 PCB里的上下文读取出来,恢复到CPU寄存器中~

就好像我们平时玩游戏的存档一样

4.进程的虚拟空间地址

每一个进程里都有很多自己的资源,比如内存资源,每一个都保留这我们上述所说的一些属性,所以我们的进程如果想要正常运行的话,必须要每个进程不互相冲突,下面是一个简单的进程虚拟空间

虚拟空间地址就好像我们每个不同的班每个同学的座位号,1班的1号和2班的1号不是同一个人

MMU是当用引用获取进程地址时会在里面进行映射,如果引用错误的地址会报错

虚拟空间对于进程的作用在于"隔离性",进程之间不会相互影响,一个进程崩溃了也不会有影响其他的进程,每个进程都有这样的一份虚拟空间.

即使操作系统有这么多的进程,但:同一时刻执行的进程不会很多.即使同一时刻执行了也不会用到进程虚拟空间所有的内存,只会显示真实使用的部分.

因为进程之间"隔离",所以想要多个进程配合工作,操作系统提供了"进程间通信",给进程之间提供一份公共资源,借助公共资源来通信.

5.总结

操作系统:负责管理的软件,如文件管理,内存管理.

核心功能:对上负责保证应用软件有稳定的运行环境,对下负责管理各种硬件.

进程:一个程序去执行一项任务的过程

进程如何管理:利用数据结构(双向链表)去把PCB(进程控制块)都串起来

PCB里面有啥:身份标识pid,内存指针:存储运行指令和运行时的全局变量,文件描述符:表中每个元素表示打开了哪个文件.

进程如何调度:根据进程的属性来计划CPU在每个进程执行.

进程的虚拟空间:因为进程之间有"隔离性",所以需要有自己的私人空间

进程间通信:为了多个进程之间能配个运行,提供公共资源(例:外卖员,外卖柜,顾客)

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值