第四章 内存管理4.1

内存:系统区   +    用户区 (内存管理的主要对象)                                                                                          


实存管理+虚存管理

 

    管理包括以下内容:

    a.分配和回收

    b.地址重定位

    c.内存的共享和保护

    d.虚拟存储器

  a.分配和回收

                       静态分配方式:一次性装入内存

                       动态分配方式:相反_程序装入时只分配基本内存

     内存分配机制:       利用 内存分配数据结构

                                         分配时:根据 内存分配算法 分配空间 (修改相应数据结构)

                                         回收时:回收内存(废话!)                  (修改相应数据结构)

   b.地址重定位 ( 逻辑地址---->物理地址 )

     应用程序装入内存是随机的!目标程序.obj ( 自己写的程序 经过 编译器 编译后 的文件 例如 vc写的东西)

    每个首地址都为0    其他 则为 相对地址 || 逻辑地址

       b1:静态重定位(软件实现)

 

 

物理地址 

       =

逻辑地址

      +

起始地址

 

 

 

 

 

      b2:动态重定位(硬件实现:重定位寄存器)

 

 

       c.内存的共享和保护 

      共享:例如  多个用户共享 一个C语言编译器

                  两个或多个进程共享内存中相同的区域

               程序共享: 为了 节省内存空间,提高内存利用率

               数据共享: 为了实现 进程间的通信.

       保护:使 用户程序 运行在 自己的 用户空间 中 不能访问其他区

                 防止地址越界:IF(越界)     产生 地址越界中断

                 防止越权操作:

                 常常需要硬件支持 从而减小系统开销

     d.虚拟存储器

                原理:

                 时间局部性:       for()  函数调用 

                 空间局部性:       顺序语句

            结果:在 用户看来 内存变大了 ( 实际上是 用 CPU的时间 + 外存的空间换取的  )

             虚拟内存的大小  和 内存大小无直接关系  受外存大小+系统寻址能力 的 限制

      IF(  用到程序   )    请求调入:外存---->内存   

      IF(  内存不足  )    页面置换

    交换技术 : 以 进程 为单位 进行

    虚拟存储器: 以 页 段 为单位 进行

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值