博客
关于我
【操作系统】段式存储中 逻辑地址转物理地址详细分析
阅读量:783 次
发布时间:2019-03-25

本文共 1092 字,大约阅读时间需要 3 分钟。

段式存储是一种计算机操作系统中的内存管理方式,它通过将物理内存划分为多个段来存储不同类型的数据或程序。每个段都有唯一的标识符(段号)和一系列属性,如段长、访问权限等。段式存储的核心优势在于其灵活性和保护机制,但也存在一些缺点,如内存碎片化和管理复杂性。

段式存储的关键概念

段是存储管理的基本单位,每个段可以存储程序或数据,具有独特的标识符和长度。段描述符记录了段的详细信息,如起始地址、长度、访问权限等。段选择子由段号和偏移量组成,用于标识要访问的段。

段式存储的优缺点

优点:

  • 更灵活的内存管理:支持不同大小和类型的段,适合多种应用需求。
  • 存储保护:通过段访问权限控制,增强系统安全性。
  • 共享与分离:不同程序或模块可以拥有独立的段,便于共享或分离。
  • 缺点:

  • 内存碎片化:不同大小的段可能导致内存浪费。
  • 管理复杂性:段描述符和段表增加了操作系统内核的复杂性。
  • 段式存储的地址转换流程

    段式存储中的逻辑地址转换涉及以下步骤:

  • 程序通过段选择子(段号+偏移量)访问内存。
  • 操作系统查找段表,获取相应段的段描述符。
  • 通过段描述符获取段起始地址和长度。
  • 计算物理地址:逻辑地址偏移量与段起始地址之和。
  • 注意事项:

  • 访问权限检查:确保操作在合法范围内。
  • 段不存在异常:处理无效段选择子。
  • 页故障处理:在分段分页式系统中,可能需要进一步转换为物理地址。
  • 分页式存储的地址转换流程

    分页式存储的逻辑地址转换步骤:

  • 通过页号查找页表,获取物理页框号。
  • 将逻辑页内偏移量与物理页框号组合,得到物理地址。
  • 注意事项:

  • 页表管理:维护逻辑页号到物理页框的映射。
  • 页故障处理:加载不在内存中的页面。
  • 页大小选择:权衡内存利用率与页表项数量。
  • 分段式与分页式的对比

    两种内存管理方案在地址转换上有明显差异。分段式适合需要灵活段划分的场景,而分页式则更适合统一内存管理。两者的结合(分段分页式)在提升性能和安全性方面具有优势。

    示例分析

    根据段表:

    • 段号0:基地址1100,长度800
    • 段号1:基地址3310,长度50
    • 段号2:基地址5000,长度200
    • 段号3:基地址4100,长度580
    • 段号4:基地址2000,长度100

    以下逻辑地址无法转换为物理地址:

    • (0, 790):790 < 800,有效
    • (2, 88):88 < 200,有效
    • (1, 30):30 < 50,有效
    • (3, 290):290 < 580,有效
    • (2, 88):88 < 200,有效
    • (4, 98):98 < 100,有效
    • (0, 810):810 > 800,越界,无法转换

    因此,答案:D. (0,810)和(4,120)

    转载地址:http://sybuk.baihongyu.com/

    你可能感兴趣的文章
    Nginx gateway集群和动态网关
    查看>>
    Nginx keepalived一主一从高可用,手把手带你一步一步配置!
    查看>>
    Nginx Location配置总结
    查看>>
    Nginx log文件写入失败?log文件权限设置问题
    查看>>
    Nginx Lua install
    查看>>
    nginx net::ERR_ABORTED 403 (Forbidden)
    查看>>
    Nginx SSL 性能调优
    查看>>
    Nginx SSL私有证书自签,且反代80端口
    查看>>
    Nginx upstream性能优化
    查看>>
    Nginx 中解决跨域问题
    查看>>
    nginx 代理解决跨域
    查看>>
    Nginx 做负载均衡的几种轮询策略分析
    查看>>
    Nginx 入门,一篇搞定!
    查看>>
    Nginx 利用代理转发请求示例
    查看>>
    Nginx 动静分离与负载均衡的实现
    查看>>
    Nginx 反向代理 MinIO 及 ruoyi-vue-pro 配置 MinIO 详解
    查看>>
    nginx 反向代理 转发请求时,有时好有时没反应,产生原因及解决
    查看>>
    Nginx 反向代理+负载均衡
    查看>>
    Nginx 反向代理解决跨域问题
    查看>>
    Nginx 反向代理配置去除前缀
    查看>>