操作系统——内存管理

  • 内存地址编址
    • 内存和寄存器是CPU唯一能直接访问的存储器
    • 内存地址范围由基地址寄存器,界限地址寄存器定义
    • 保护内存:系统区域不被用户区域访问,用户区域不被其他程序访问
    • 地址绑定:逻辑地址(可直接寻址)到物理地址(不可直接寻址)的映射

      • 符号地址-》(编译器)》可重定位地址-》(连接程序和加载程序)》绝对地址
      • 动态加载:运行时加载,把程序调入内存
      • 静态链接:始终驻留内存
      • 动态链接:链接延迟到加载,通常适用于系统库,有存根
      • 交换:滚入 和滚出 考虑是 合适绑定的地址,编译和加载时不可改地址,运行时绑定的可改
  • 内存分配方式:连续分配、分页分配、分段分配
    • 连续分配:多分区分配、可变区分配
      • 碎片:外部碎片(区外产生),内部碎片(区内产生)。紧缩解决,适用于动态重定位,开销大,静态定位不适用
    • 分页分配:帧(物理内存划分为固定大小块)页(逻辑内存),地址不必连续
      • 地址映射:页号、页偏移
      • 页表存储:页表基寄存器,页表长寄存器
      • 页表存入内存:一个字节两次访问内存降低访问速度
      • 分页实现内存保护方式:与每个帧关联一个保护位,是有效位时合法,无效位时不合法 (访问保护、地址保护)
      • 优点:可共享代码逻辑地址相同,不可共享的逻辑地址不同
      • 页表结构:层次(优势原因)、哈希、反向
        • 哈希页表:逻辑地址:虚拟页码,偏移量
          • 每一条目对应链表元素:虚拟页码,所映射帧号,下一个元素指针
        • 反向页表:整个系统只有一个页表,查找费事
          • 编址:进程标识符,页码,页偏移
    • 分段:以用户视角拆分逻辑段 逻辑地址:分段号,偏移

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值