程序局部性原理,通过块映射表示。
我发现呢,块的大小都一样。
于是,有个疑问,程序的大小不一定是一样的。
所以,在一个块中,可能出现程序之间的杂糅,或者程序的拆分,那么,计算机的设计者,是如何处理这个问题的呢?
那么就得交换多个块了。
比如说每个块16kb,你要的数据在3号块最后8个字节,4号块开头8个字节
但是尽管你只要16字节的内容,你还是得读取16kb的内容
写也是一样
这个叫做读写放大
为了避免读写放大,需要数据对齐。比如说,一个数据16个字节,3号块只有8字节,宁愿闲置这8字节,把数据整体放在4号块上。
计算机系统通过进程PCB来管理进程,每个进程都有自己的地址空间。操作系统通过调度算法,如时间轮回调度
,那么一段时间内只有一个进程在占用CPU,执行代码。感觉并不会有多个程序之间的杂糅操作。