1,什么是进程,它与程序有什么区别?
答
:进程是系统中正在运行的一个程序,例如系统安装了office(程序),存放在硬盘中,打开一个word文档,相当于运行了一个进程,也可以运行多个进程。
区别
:
进程
是系统资源分配的独立实体,每个进程都具有独立的地址空间,它是动态的。
程序
是静态的操作系统指令文件,同一程序可以产生多个进程(一对多的关系),也可以无进程(程序未执行)。
2,单核CPU,多个程序是怎么运行的?
答
:单核CPU同一时刻只能运行一个进程;cpu也称为监控调度工具,它的作用就是实现多个进程轮询交替运行,因为一个程序有多个进程,不断切换进程,从而实现多个程序运行。
3,一个256M的内存,是怎么运行一个1G的程序的?
答
:通过存储器管理单元(MMU),将虚拟地址映射到物理地址,一个32位操作系统能够产生0x00000000~0xFFFFFFFF(4G)的虚拟地址空间,这里的虚拟内存占用一部分硬盘内存。可以将1G的程序进行大小划分,存放在虚拟内存当中,当需要运行虚拟内存某一地址的数据时,这时MMU将这一部分虚拟地址映射到对应的物理地址中,当物理地址使用完后,下一次MMU映射时,将物理地址中已经运行完的数据将其释放,从而空出物理地址空间,待下一次MMU映射。
4,CPU、寄存器、cache、内存、硬盘这些存储器之间的关系?
答
:具体概述:
CPU(中央处理器)
:一台计算机的运算和控制核心;
寄存器
:主要是在CPU对内存中的数据进行处理时,往往先把数据取到寄存器中,而后再作处理,加快直接同内存读取指令和读写数据的速度。与cpu速度相当,空间比较小在kb级别;
Cache
:称为缓存存在于内存与CPU之间的存储器,容量比较小但速度比内存高得多,分为一级缓存和二级缓存,高速缓存比寄存器要慢1倍左右,但是空间可以达到MB级别;
内存
:内存比缓存要慢10倍左右,但是空间可以达到GB级别;
硬盘这个速度更慢,比内存要慢上万被,但是价格也比较便宜,空间也很大。
以上是按照运行速度从大到小
进行排列,
关系
:cpu是操作系统的核心,cpu读出数据时,先是从内部的寄存器中读取,若寄存器没有要读取的数据时,这时再从一级缓存中调取,若没有再从二级缓存调取,上面提到的寄存器和高速缓存只是加速存储速度的中间部件,原始的运行文件都是先加入到内存当中;这时CPU在访问内存时未找到数据,操作系统就会产生缺页中断,操作系统就会要求DMA将数据从硬盘调入到内存中,CPU再进行访问。