zoukankan      html  css  js  c++  java
  • 操作系统知识点_内存管理

    2、内存管理:

    内存管理方式:

      块式管理:主存分为一大块一大块。易于管理,浪费太大;

      页式管理:主存分为一页一页的,每一页比一块要小得多。显然其空间利用率比块式高很多。分页用户不可见。

      段式管理:二维逻辑地址,包括段号和段内位移。段内位移一定连续,但段间地址不一定连续。

      段页式管理:先将进程的地址空间按逻辑结构划分成段,再把每一段划分成长度相等的页。段不连续,页连续。访问内存三次:段号,段内页号,页内偏移。

    分段和分页的比较:

      分段:信息的逻辑单位,含有一组意义相对完成的信息,用户可见,段的长度不固定,取决于用户编写的程序。段起始地址可从任何主存地址开始,可满足用户模块化程序设计的需要。

      分页:信息的物理单位,和源程序的逻辑结构无关,用户不可见。页长由系统(硬件)决定,只能从页大小的整数倍地址开始。可实现离散分配并提高主存利用率。

    虚拟内存:离散存储方法才可实现虚拟存储管理

      不必装入进程的全部信息,仅将当前的使用部分装入主存,其余部分存放磁盘,待使用时由系统自动撞进来。如果处理器访问的程序或数据不在主存,为了继续执行,由系统自动将这部分信息从磁盘装入,即“部分装入”;若此刻没有足够的空闲物理空间,便将主存中暂时不用的信息移动至磁盘,即“部分替换”。

      虚拟内存是计算机内存管理的一种技术,相对于物理内存而言的。实际上,其被分割成多个屋里内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。

    虚拟内存的优点:扩大地址空间(假装,实际靠调换);内存保护(各进程运行在自己的虚拟内存地址空间);公平分配内存;进程通信可通过虚拟内存共享实现;

    虚拟内存的缺点:管理需要建立很多的数据结构,它们也要占用额外的内存;地址转换,增加了时间;页面的换入换出需磁盘I/O的话很耗时;等……

    内存碎片:多次内存分配后造成。

    内碎片:分配给程序的存储空间没有用完

    外碎片:空间太小,无法分配

    虚拟地址:程序产生的由段选择符合段内偏移地址组成的地址。

    逻辑地址:段内偏移地址。又是也作虚拟地址。

    线性地址:虚拟地址到物理地址变换之间的中间层。

    物理地址:CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果。

    Cache替换算法:

    随机算法(RAND)、先进先出(FIFO)、近期最少使用(LRU)、最优替换、近期最多使用(LFU)

  • 相关阅读:
    几个关于集合的有趣证明
    SICP 作业2.5
    有关集合大小的比较
    2020 ICPC 小米邀请赛 部分题解
    Hello World!
    【图论】BellmanFord算法
    【图论】格子图
    【图论】BFS
    【图论】二分图最大匹配 | 二分图最大独立集 | 二分图最小点覆盖
    【图论】最大权不相交区间
  • 原文地址:https://www.cnblogs.com/weiyi-mgh/p/6691114.html
Copyright © 2011-2022 走看看