1.先谈硬件
冯诺依曼体系结构
一个计算机能够正常运行,就必须遵守冯诺依曼体系
数据流向
为什么不把Cpu直接怼到输入设备和输出设备中间,非要加个内存呢?
答:因为根据木桶原理,如果这样设计,导致最终效率会由外设的效率为主,而外设非常慢。
并且Cpu 的存储空间非常小,就注定了外设会拖慢cpu
那么按照冯诺依曼体系结构,这种依然串行的结构,输入设备把数据拷到内存,内存在拷到cpu,输出同理,好像也没快多少?
是的,但是可以把数据从输入设备预加载到内存之中,并且在加载过程中cpu同时处理别的事情,接下来cpu就只和内存进行交互,也就是说cpu的加载和计算可以同时进行,我们就由串行变成并行,经过这样的运行调度,所以各个硬件就可以并行跑起来,所以效率提高了。
这个调度是谁做的?操作系统
一个程序要运行,必须先加载到内存中运行?为什么?
因为冯诺依曼体系结构规定!
你的代码和数据要让cpu运行,而cpu只从内存中拿数据,而程序是在外设磁盘上,就注定要把程序先加载到内存
为什么我们当时写的进度条,默认显示的数据,是可能会缓存起来的?
在哪里缓存?
按照正常数据流向,数据换成到内存中的某个区域,只不过没有刷新它