1 Star 0 Fork 0

huyi / TechCPP

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
分段和分页的区别有那些?.md 1.16 KB
一键复制 编辑 原始数据 按行查看 历史
葛昆仑 提交于 2023-12-13 09:02 . update: 2 articles
  1. 目的不同:分段是为了使程序和数据可以分开处理,并且可以根据需要动态地改变长度。而分页则主要是为了简化内存管理,避免产生外部碎片。
  2. 管理单位不同:分段的基本单位是段,每个段都有一定的逻辑意义,如程序、数据等;分页的基本单位是页,页通常固定大小(如4KB),并无特定的逻辑意义。
  3. 处理方式不同:分段是根据用户的需求进行划分,每个段的长度会随着需求的不同而不同。分页则是将内存划分为一定大小的块,每个进程也被划分为相同大小的页。
  4. 地址结构不同:分段的地址由段号和段内偏移量组成;分页的地址由页号和页内偏移量组成。
  5. 内存利用率:分段可能会出现内部碎片,因为段的大小不一致,可能无法完全使用已分配的内存。分页则能很好地避免内部碎片,但可能会产生较小的外部碎片。
  6. 碎片问题:分段可能导致外部碎片,因为当段被释放后,剩余的空间可能无法满足其他段的需求。分页由于页面大小的统一,能够有效地避免外部碎片的问题。
1
https://gitee.com/hylhm/TechCPP.git
git@gitee.com:hylhm/TechCPP.git
hylhm
TechCPP
TechCPP
master

搜索帮助