计算机操作系统 存储器管理

1.连续分配存储管理方式

1.1 单一连续分配

1.2 固定分区分配

  1.2.1 分区大小相等

  1.2.2 分区大小不相等

1.3 动态分区分配

  1.3.1 数据结构

  1.3.2 动态分配分区算法

    1.3.2.1 基于顺序搜索的动态分区分配算法

      1.3.2.1.1 首次适应算法(first fit)

      1.3.2.1.2 循环首次适应算法(next fit)

      1.3.2.1.3 最佳适应算法(best fit)

      1.3.2.1.4 最坏适应算法(worst fit)

    1.3.2.2 基于索引搜索的动态分区分配算法

      1.3.2.2.1 快速适应算法(quick fit)

      1.3.2.2.2 伙伴系统(buddy system)

      1.3.2.2.3 哈希算法

  1.3.3 分区分配操作

    1.3.3.1 分配内存

    1.3.3.2 回收内存

1.4 动态可重定位分区分配

  1.4.1 紧凑(compact)

  1.4.2 动态重定位

  1.4.3 动态重定位分区分配算法

2.分页存储管理方式

2.1 分页存储管理的基本方法

  2.1.1 页面和物理块

  2.1.2 地址结构

  2.1.3 页表

2.2 地址变换结构

  2.2.1 基本的地址变换机构

  2.2.2 具有快表(TLB)的地址变换机构

2.3 两级和多级页表

2.4 反置页表(Inverted page table)

3.分段存储管理方式

3.1 分段管理的优势

  3.1.1 方便编程

  3.1.2 信息共享

  3.1.3 信息保护

  3.1.4 动态增长

  3.1.5 动态链接

3.2 分段系统的基本原理

  3.2.1 分段

  3.2.2 段表

  3.2.3 地址变换机构

  3.2.4 分页和分段的主要区别

    3.2.4.1 页是信息的物理单位,仅仅是为了系统管理的需要;段是信息的逻辑单位,目的在于更好的满足用户的需求

    3.2.4.2 页的大小固定,由系统决定; 段的大小由用户编写的程序决定

    3.2.4.3 分页的用户程序地址一般是一维的; 分段的用户程序地址一般是二维的

3.3 信息共享

  3.3.1 分页系统中的程序和数据共享

  3.3.2 分段系统中的程序和数据共享

4.段页存储管理方式

  4.1 基本原理

  4.2 地址变换过程

原文地址:https://www.cnblogs.com/mr-stn/p/9074714.html

时间: 2024-08-02 02:19:37

计算机操作系统 存储器管理的相关文章

操作系统-存储器管理

存储器管理 存储器的层次结构 程序的装入和链接 用户程序要在系统中运行的话,就必须装入内存,然偶后将其转变为一个可执行的程序. 编译 由编译程序对用户源程序进行编译,形成若干个目标文件 链接 由链接程序将编译后形成的一组目标模块以及它们所需要的库函数接在一起,形成一个完整的装入模块 装入 由装入程序将装入模块装入内存 程序的链接 静态链接方式 在程序运行前,就先将各个目标模块以及它们所需要的库函数链接成一个完成的装配模块,之后都不会拆开,这样需要解决两个问题:修改相对地址,变换外部调用符号 装入

操作系统-存储器管理部分

存储器历来都是计算机系统中重要的组成部分.仍然是一种宝贵而又稀缺的资源. 如何对它加以有效的管理,不仅直接影响到存储器的利用效率,而且会影响系统的性能. 存储器的管理的主要对象是内存.在计算机执行时,几乎每一条指令都会涉及到对存储器的访问. 存储器的三个理想条件(这三个条件从现在技术来讲是不可能同时达到的) 1.对存储器的访问速度要跟得上处理机的运行速度. 2.要求存储器要有很大的容量. 3.而且存储器的造价应该很低. 在现代计算机系统当中无一例外的采用了多层结构的存储器系统. 存储器的多层结构

操作系统存储器管理知识点

1.多级存储器 1)存储层次可以分为三层:寄存器.主存(内存).辅存(磁盘): 2)不同层次之间还有相应的缓存以减小不同层次间读写速度不匹配程度:简单来说,主存也即寄存器和辅存之间的高速缓存: 3)不同层次的存储器读写效率不一样,读写速度越快,成本越高. 4)寄存器.主存.高速缓存等属于操作系统管理的范畴,断电后数据会丢失:而磁盘属于设备管理的范畴,断电后数据不会丢失. 2.程序装入 1)绝对装入方式:程序编译时即已经知道装入内存后的地址,程序的逻辑地址和实际内存地址完全一致,不需要重定位,这种

【操作系统-存储器管理】简单的clock置换算法的实现

分析:clock置换算法是利用循环队列来实现的.操作系统课本上的讲解时这样的 代码实现: #include<iostream> using namespace std; typedef struct numbernode { int *data; bool *ask;//访问号 }Numnode; typedef struct node { Numnode numnode; int maxsize; int rear; int front; }queue; queue* create(); v

操作系统存储器管理选择题精练

1.在段页式存储管理中,其虚拟地址空间是() A.一维                               B.二维                                C.三维                            D.层次 答案:B 2.采用( )不会产生内部碎片(“内零头”)A.分页式存储管理                                                             B.分段式存储管理 C.固定分区式存储管理 

【操作系统】存储器管理(四)

一.前言 在分析了处理器调度后,接着分析存储器管理,如何对存储器进行有效的管理,直接影响着存储器的利用率和系统性能.下面,开始存储器管理的学习. 二.存储器的层次结构 2.1 主存储器 主存储器是计算机系统中的一个主要部件,用于保存进程运行时的程序和数据,CPU的控制部件只能从主存储器中取得指令和数据,数据能够从主存储器中读取并将他们装入到寄存器中,或者从寄存器存入到主存储器,CPU与外围设备交换的信息一般也依托于主存储器地址空间.但是,主存储器的访问速度远低于CPU执行指令的速度,于是引入了寄

操作系统学习-1-操作系统概论及存储器管理

!:什么是操作系统? 操作系统没有一个完整.精确.公认的定义,因为操作系统是一个复杂的系统软件,其外沿或边界不是很清楚.但是可以从功能的角度对其进行定义,从功能的角度来说的话,可以分为对内和对外,对外即对应用程序:对应用程序来说,操作系统是一个控制软件:能够管理应用程序,包括对应用程序的启动.中断.挂起.杀死等,并且能够为应用程序提供各种各样的服务,譬如:网卡服务,声卡服务,io服务等.对内即对硬件资源:对硬件资源来说,操作系统是一个资源管理软件:能够协调的为各种应用程序分配相应的资源,这些资源

计算机操作系统学习笔记_2_进程管理 --进程与线程(上)

h3.western { font-family: "Liberation Sans",sans-serif; }h3.cjk { font-family: "微软雅黑"; }h3.ctl { font-family: "AR PL UMing CN"; }h2.western { font-family: "Liberation Sans",sans-serif; font-size: 16pt; }h2.cjk { fon

计算机操作系统学习笔记_4_进程管理 --处理机调度

h3.western { font-family: "Liberation Sans",sans-serif; }h3.cjk { font-family: "微软雅黑"; }h3.ctl { font-family: "AR PL UMing CN"; }h1 { margin-bottom: 0.21cm; }h1.western { font-family: "Liberation Sans",sans-serif; f