操作系统到底是个什么鬼?(二)

指令的执行
首先说明一点:程序是指令的集合

程序的执行就是按照某种控制流程执行指令的过程。

一个单一指令需要的处理叫做指令周期

一个指令周期需要两个步骤:

取指周期

执行周期

执行指令的硬件是大名鼎鼎的CPU,CPU看似很复杂,其实很简单,它的构成无非就是运算器,存储器再就是控制器,CPU为了方便执行指令,科学家设计了大量的寄存器,就是为了暂时存储指令的;

其中最重要的是这两种:

程序计数器(PC)
就是个特殊的寄存器,保存下一次要取指令的地址

指令寄存器(IR)
存储的是已经取到的指令

具体的干活流程是这样的:

比如,现在执行的是2指令,PC中存放的就是3,;

2执行完了之后,程序计数器PC里面放的是啥就执行啥,放的是3就执行3;

执行完3之后把3放在指令寄存器IR中,与此同时,程序计数器PC加一,也就是变成了4;

然后再执行4,执行完了之后把4再放入指令寄存器IR中,与此同时,程序计数器PC再加一变成5;

…… 就这样,循环往复

指令的动作
指令中包含处理器要采取动作的位

一条指令包括:操作码和地址码

假如要执行1+2这样的操作,其中的+就是操作码,地址码存储的就是1和2的地址。

处理器解释指令并执行要求的动作,这些动作可以分为:

处理器与存储器之间的指令或数据传送的操作

处理器与I/O设备之间的指令或数据传送的操作

算术运算操作或者是逻辑运算操作

控制运算操作,也就是我修改指令的执行顺序的操作

进程管理
刚才提到指令,其实就是为了说明程序的运行,那么程序都来了,进程还会远吗?

程序的运行就是进程!进程可是操作系统的核心!

进程的描述
1.程序的顺序执行

先进入内存的程序先执行,在一个程序执行完毕之前,不能执行其他程序

特点:

封闭性
其实就是独占资源

顺序性
大家排好队一个个执行

可再现性
也就是无论执行多少次结果都一样

问题:

不能使输入机、处理器和打印机同时干活。

2.程序的并发执行

在同一时间间隔内执行多个程序,一个程序结束前可以执行其他的程序

特点:

间断性
程序在CPU上执行时断断续续

失去封闭性
系统的状态不再只对正在执行的程序可见

不可再现性
同一个程序输入相同的情况下多次运行,可能出现不同的结果

程序和进程的对比
1.程序是静态的,进程是动态的,进程是并发执行的程序在某个数据集合上的执行过程

2.程序是指令的集合,程序是由指令组成的,而进程是由进程控制块(PCD)、用户数据段和正文段组成

3.程序是永久的,无论何时,至少不卸载永远都会待在硬盘里,进程是暂时的,程序运行结束进程也就消失了

猜你喜欢

转载自blog.csdn.net/weixin_46107282/article/details/113928427