操作系统对内存的管理

操作系统对内存的管理

 

1.    操作系统的存储器结构

      存储器是操作系统的重要的组成部分,如何对存储器进行有效的管理,不仅直接影响到存储器的利用率,而且还会对操作系统的性能造成很大的影响。在理想的情况下:存储器的速度应该是非常快的,容量非常大而且价格也便宜,但在很多的情况下,是无法同时满足以上条件呢??既然现在出现这种问题了,那么我们应该如何来解决这样的一个问题呢?聪明的前辈们已经想到了解决的方案了,那就是根据不同的需求,设计不一样的存储器,把计算机的存储器结构设计为多级的。对于普通的计算机而言,存储器结构至少为三层:CPU寄存器、主存和辅存。

主存:主存又称为可执行存储器,它的作用主要是存储指令和数据以及和CPU寄存器进行数据交换,进程可以使用load或者store对主存进行访问和操作。

寄存器:速度十分快,可以和CPU协调进行工作,但容量小,价格十分昂贵。它的作用主要用来存储运行中的操作数和指令,有的时候也用作地址寄存器,加快地址的转换速度。

辅存:主要是指机械硬盘和移动磁盘的设备,访问速度相对较慢,辅存和主存之间的数据交换只能通过I/O来进行操作,在进行I/O操作的时候会应为中断和驱动程序的运行上消耗一定的时间,因此访问的速度相对较慢。

操作系统统一的对这三层存储器结构进行管理,主要的需要进行的操作为数据之间的移动和交换,由于各层存储器的结构访问速度不同,无法再一起高效的工作,因此在各层之间引入了缓存机制。

 

 

2. 内存分配

    操作系统应用某种分配算法,从空闲分区表中找到所需要大小的分区。设请求的分区的大小为u.size,表中每个空闲分区的大小可以表示为m.size。若m.size-u.size<size(size为之前事先规定好的不可再分割的剩余分区大)说明剩余分区大小太小,可以不必再进行分割,直接使用,将整个分区分割请求者,否则,从该区中分配一部分给请求者,剩余部分放入到空闲分区表中去,返回分配区的地址给请求者。

3. 回收内存

      当进程运行完毕释放内存时,系统根据回收的首地址,从空闲分区表中找到相应的插入点,进行回收。

转载于:https://my.oschina.net/zhanghongbin01/blog/547732

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值