第二个问题:当PC机正常工作时,CPU只需要和RAM进行数据交互吗
第二个问题就是,对于个人PC机来说,软件程序存储在硬盘当中,当PC机正常工作时,计算机是首先将整个程序都调到RAM(内存)当中,而整个软件程序运行当中,CPU只需要和RAM进行数据交互,不需要和硬盘直接进行数据交互?
答:关于PC机的运行,是指Windows操作系统是吗。内存是由Windows操作系统控制的,放置在外部设备中的程序和数据(例如硬盘中的数据和程序),以及内存中运行的程序和加载的数据,都是由操作系统管理的,称为进程管理部分。
当我们双击桌面上的某个APP的Logo时,操作系统会找到外部设备(硬盘某位置)上的这个程序(例如EXE文件),然后将它安排到进程的时间片上,该程序一旦进入进程,就会被操作系统从硬盘调入到内存中(暂不讨论高速缓存的击中与否),这部分是操作的内存调度管理,而进程安排时间片后,进入时间片的进程会以称之为线程的形式被程序指针加载,直到当前时间片结束。
但你的问题是,如果当前程序进入内存,并运行(获得时间片),是否就不会访问硬盘了。这不一定。如果当前程序和数据很大,当前程序在内存空间不够,则操作系统会启动虚拟内存,即将这些看似已经全部装入内存的程序代码,将其中一部分(内存装不下的部分),放置到虚拟内存中,这些虚拟内存是由操作系统在硬盘的剩余空间建立的临时区域。
这样,如果你的程序和数据足够大,而且你的内存容量并不大,就很可能用虚拟内存运行,操作系统的内存管理和进程管理,会随时在硬盘和内存之间交换这些数据,当然这就比直接内存运行时要慢许多(虚拟内存运行时间长)。
又是一年毕业季,毕业=失业?????
FPGA工程师就业班火热招生中!!!!!!!
FPGA培训|DSP培训|SOC培训|PCB培训|-至芯科技FPGA创新中心
http://www.zxopen.com/:) 第二个问题:当PC机正常工作时,CPU只需要和RAM进行数据交互吗 辉煌 发表于 2017-6-22 10:16
第二个问题:当PC机正常工作时,CPU只需要和RAM进行数据交互吗
:) :) :) :) :) 第二个问题:当PC机正常工作时,CPU只需要和RAM进行数据交互吗
页:
[1]