当前位置: 首页 > 后端技术 > PHP

计算机操作系统基础(九)---存储管理之SegmentPageStorageManagement

时间:2023-03-29 20:05:34 PHP

简介本文为第九篇,存储管理之SegmentPageStorageManagement。从物理角度理解存储管理,本文从进程角度理解进程存储管理。即操作系统如何管理进程的空间。分页存储管理。在此之前,让我们了解一下页面的概念。在计算机组成原理中,有字和块的概念。块是相对于物理设备(如记忆棒)定义的。页是相对逻辑空间的定义(即相对进程空间的定义)。块和页都指的是一块大小相同的内存。分页存储管理将进程逻辑空间划分为若干大小的页面。相应的,它也将物理内存空间划分为与页面大小相同的物理块。以页为单位。进程空间被加载到物理内存中分散的物理块中。这也是存储管理。在理解分页存储管理时,通常会和内存碎片一起理解。以下是免费列表。假设有一个比节点1大的页面,其中节点2和节点3小,那么在分配页面的时候,需要将页面分配给节点2和节点3,这样就会有一部分内存用不到,会造成内存碎片.所以如果使用pagestoragemanagement,要求:pagesize适中,太大分配不了,太小内存碎片太多pagesize通常是512B~8K通过pagestoragemanagement,进程的逻辑空间的每一页都可以放在内存Go的物理块中,但是我们怎么知道进程的某个page分配到哪个block呢?因此,有必要了解页表页表记录进程逻辑空间和物理空间的映射关系。左边是进程的逻辑空间。进程的逻辑空间分为5页。这5个page分散在主存分散的物理块中,所以需要pagetable来记录映射关系:如果直接使用page存储管理,也会遇到一些问题:如果有一个连续的逻辑分布在多个page中,执行效率会大大降低。Duan的存储管理将进程逻辑空间划分为若干段(非等分)的长度由连续逻辑的长度决定。主函数main,子程序段X,子函数Y等(此时会根据每个函数的逻辑长度分配逻辑空间)Duan的存储管理还需要一张表来存储逻辑空间到物理空间的映射.这意味着段表的每个段的长度是不固定的,所以段表比页表长一个段。两种存储管理方式的比较:共同点:段存储和分页存储都是离散管理进程的逻辑空间。不同之处在于页是物理单位,而段是逻辑单位。长度可以动态改变。页表信息是一维的,而段表信息是二维的。段页存储管理利用了前两种存储管理方式的优点,形成了一种存储管理方式。分页可以有效提高内存利用率。细分更能满足用户的需求。段页存储管理首先将逻辑空间按照段管理划分为若干个段,然后将段内的空间按照页管理划分为若干页。从左到右分别是segmentpage、page、segment。在瞬息万变的技术中找到相同的内存分配,是一个技术人的核心竞争力。知行合一,理论与实践相结合