什么是操作系统内存的分段页管理?

这个跟虚拟内存有关:
分段分页管理是操作系统为了管理好计算机内存资源而出现的。如果没有这个技术的话,那么我们每一次程序运行,都要从内存中分配出足够多的连续内存,然后把整个内存装载进去。如果内存没有那么大的连续内存的话,程序就无法运行。除此之外,还可能存在地址空间不隔离,程序运行时候的地址不确定。
分段页管理就是用来解决上述问题的,分开来说的话,分段技术他把虚拟地址空间映射到了物理地址空间,并且我们写的程序操作的是虚拟地址。也就是说 分段能够解决程序之间的地址空间不隔离以及程序运行的时候地址不确定的问题。因为程序运行的时候 无需关注物理地址是多少,只要虚拟地址没有改变的话,操作地址就不会改变。
还有一个问题是我们想要提高内存的使用率,因为我们在同时运行多个程序的时候,如果我们都装载进入内存的话 可能存在内存溢出,但是如果我们每次只运行一个不使内存溢出的程序的时候,就会造成部分内存的浪费。
所以我们需要用分页。这个技术跟分段类似,他们都是一种映射机制,不同之处在于映射的粒度更小了。因为我们之前的映射机制的单位是整个程序,但是分页的话就是把一段虚拟地址空间组成的某一页映射到一段物理地址空间组成的某一页。就相当于,不把整个程序一次性全部装到内存里,而是就是把程序分割成一块一块的装入内存,这样不同程序之间换进换出就会很方便,也极大的提高了内存的使用率。

posted @ 2020-11-02 02:06  EvanMeetTheWorld  阅读(43)  评论(0)    收藏  举报