外设、地址总线
32位的cpu,地址总线即为32位,它的寻址能力就为2的32次方,即4GB。
cpu可以在0—4G的地址空间对内存、外设进行读写操作
系统总线:
1.地址总线:
cpu用来寻址的
2.控制总线:
传输cpu的控制信息
3.数据总线:
同cpu进行数据传输的
虚拟地址(逻辑地址):
程序在启动后,内核会给每个进程分配4G的虚拟地址空间,使得每个进程都以为自己拥有一块很大且连续的空间(即4G),然后通过MMU,将虚拟地址(逻辑地址)转化为物理地址。虽然当两个进程的虚拟地址相同,通过MMU,会保证最终访问的物理地址是不同的。所以当一个程序有对网卡和显卡操作时,通过MMU和地址总线,会找到不同的物理地址,会将数据读出和写入网卡和显卡。
使用虚拟内存的优点:
保护每个进程的地址空间不被破坏。每个进程有4G的空间,即将各个进程隔离开。试想一下,如果没有虚拟地址,就是对物理内存进行直接的操作,这种直接访问内存如果某一个程序出现错误修改了其他进程的数,那么其他程序出现异常(没有虚拟内存,就没有MMU帮忙管理某块物理内存是否有被其他进程使用)
参考:
https://blog.csdn.net/u012351051/article/details/116863809
https://zhuanlan.zhihu.com/p/573212374?utm_id=0