经常在书上看到C程序的虚拟空间,如下面链接中的图片所示
想知道,这个模型是否是语言无关的?
go语言是否也是使用这样的方式组织虚拟地址空间的?
https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Virtual_address_space_and_physical_address_space_relationship.svg/773px-Virtual_address_space_and_physical_address_space_relationship.svg.png
虚拟地址是计算机体系结构中的概念,具体来说的话虚实地址是CPU用于管理不同程序的内存的方式,涉及到页表管理等,虚实地址转换不是一句话能解释的,感兴趣你可以去翻一本体系结构的书。
对于你的问题,确切来说,任何高级语言都无法组织虚拟地址空间,他只能要求分配并得到一段虚拟地址空间,而到屋里地址的映射则是由处理器完成,所以,C和GO的地址本质上来说是一样的
#1
更多评论
非常感谢楼上@geraldeecs的回答
查阅了各种资料提问后我现在基本上有了确定的答案,正如@geraldeecs所说,图示的虚拟地址空间是关于进程的模型,是由具体的操作系统去实现的,是同语言无关的
#2