1.进程和程序
程序:编译好的二进制文件,在磁盘中,不占用系统资源(CPU,内存,打开的文件,设备,锁.....)
进程:是一个抽象概念。进程是活跃的程序,占用系统资源,在内存中执行,程序运行起来,产生一个进程。
同一个程序也可以加载为不同的进程(相互不影响)。
2.CPU简易架构
右侧是存储介质的分类:寄存器速度是最快的。
程序执行过程:
- 程序存在硬盘中,运行起来成为进程。
- 然后存到内存中,再缓存到cache中。 进入CPU中的是一条指令。是二进制的(经过预处理 编译 汇编 链接)
- 预取器取指令。
- 译码器译码,知道指令是干嘛的,然后需要哪些寄存器。
- ALU进行运算。只会加法和左移。
3.MMU(内存管理单元)
虚拟内存是不存在的,每产生一个进程就会产生一个相对应的虚拟内存(4G)。
虚拟地址:可用的地址空间有4G。
0-3G是用户空间,3G-4G是内核空间。0是最高级别,3是最低级别。
MMU给进程分配最小空间是4k,按page最小单位。
两个相同程序的进程的.data在物理内存中是两个部分,但是内核是用同一个的。
两个PCB进行控制块不一样,但是位于同一个物理内存中。
MMU在预取器时候就工作了,还有写回到内存中也工作。