操作系统的核心就是要管理计算机的硬件。操作系统在管理CPU的时候引出了多进制图像。
一、CPU的工作原理
CPU上电以后发生了什么?
- 需要把一个程序存放到内存里。寻址,如pc=50,cpu将50放到地址总线
- 总线上再传回给cpu
- cpu开始解释执行此指令(这里的意思是将地址100的地方赋值给ax)
- 取址执行完毕,得到ax=0
- 一旦给了第一个地址后,后面的 “取指——执行” 都自动进行
二、改进
- 但是是否设置好了初值,然后让cpu自己跑就完了?其实不然。如下所示,一个IO指令执行起来非常慢:一个IO指令相当于执行了100W条计算指令。
2. 这样的话,假设先跑100w条计算、再跑一条IO,到了执行IO就要等,这样相当于CPU的使用率就为50%,这样的话利用率就会太低。
3. 因此,在等IO的时候可以切出去,等IO完事了,或者切出去的执行不下去了,再切回来。
三、解决
-
这样的话,可以多道程序、交替执行:
-
整个CPU就可以忙碌起来:
-
但是这里不能直接切出去,因为程序1、2的ax和bx是不一样的。因此需要记录下切出去前的程序的样子,切回来才能用原有的值继续执行。
-
因此要记录原来切出去前程序的运行的样子,就引出了进程(进行/执行中的程序)的概念