1. 存储管理的基本概念

  • 逻辑地址:用户地址,从零开始编号

    • 一维逻辑地址:(地址)
    • 二维逻辑地址:(段号: 段内地址)
  • 主存储器的复用方式
    • 按分区:主存划分为多个固定/可变分区,一个程序占一个分区
    • 按页架:主存划分为多个固定页架,一个程序占多个页架
  • 存储管理的模式
    • 单连续:一维逻辑地址程序,占一个固定/可变分区
    • 段   式:二维逻辑地址程序,占多个可变分区
    • 页   式:一维逻辑地址程序,占多个页架
    • 段页式:二维逻辑地址程序,占多个页架
  • 地址转换:逻辑地址 --> 物理地址
    • 静态重定位:程序装入内存时转换(早期OS)
    • 动态重定位:CPU执行时转换,效率考虑需要硬件帮助
  • 虚拟存储器
    • 由于程序的局部性顺序性等,可以考虑只将部分程序调入主存,其他的随用随调
    • 达到了面对程序员主存扩容的目的

2. 单连续分区存储管理

  • 单用户连续分区管理:主存区划分为系统区和用户区,采用静态重定位进行地址转换,一般适用于单用户单任务操作系统(DOS)
  • 固定分区管理:一个程序占一个分区,有主存分配表,容易产生内零头
  • 可变分区管理:按进程内存需求动态分配内存空间,容易产生外零头

3. 页式存储管理 **

  • 概念:

    • 主存分页架,程序分
    • 不同程序页可放在不同主存页架中,不需要连续
    • 页和页架关系由页表维护
    • 位示图表示主存分配与去配,用进程页表维护进程逻辑完整性
  • 地址:
    • 逻辑地址:页号 + 单元号
    • 物理地址:页架号 + 单元号
  • 快表
  • 页式虚拟存储
    • 页表:标识位 + 主存块号 + 辅存地址
    • 实现
      • 查页表,若页在内存,则生成绝对地址
      • 若不在内存,发起缺页中断
      • OS响应缺页中断,若内存有空闲页架,则从辅存中调入页。更新页表快表
      • 若无空闲页架,先淘汰页,再调入
  • 页面调度算法

5. 其他

  • 段式存储管理:基本不用,略
  • 段页式存储管理:基本不用,略
  • 内存管理单元MMU:
    • 作用:管理虚拟存储器的硬件控制线路,把虚拟地址映射为物理地址,并提供内存保护,必要时淘汰页面
    • 实现:用一种数据结构 反置页表IPT

PS:许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还有用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成许多称为覆盖块(overlay)的片段。覆盖块0首先运行,结束时他将调用另一个覆盖块。虽然覆盖块的交换是由OS完成的,但是必须先由程序员把程序先进行分割,这是一个费时费力的工作,而且相当枯燥。人们必须找到更好的办法从根本上解决这个问题。不久人们找到了一个办法,这就是虚拟存储器(virtual memory).虚拟存储器的基本思想是程序,数据,堆栈的总的大小可以超过物理存储器的大小,操作系统把当前使用的部分保留在内存中,而把其他未被使用的部分保存在磁盘上。比如对一个16MB的程序和一个内存只有4MB的机器,操作系统通过选择,可以决定各个时刻将哪4M的内容保留在内存中,并在需要时在内存和磁盘间交换程序片段,这样就可以把这个16M的程序运行在一个只具有4M内存机器上了。而这个16M的程序在运行前不必由程序员进行分割。

【重学计算机】操作系统D3章:存储管理的更多相关文章

  1. 【重学计算机】操作系统D1章:计算机操作系统概述

    1. 计算机软硬件系统 冯诺伊曼结构 以运算单元为核心,控制流由指令流产生 程序和数据存储在主存中 主存是按地址访问,线性编址 指令由操作码和地址码组成 数据以二进制编码 其他:参考<重学计算机 ...

  2. 【重学计算机】操作系统D6章:并发程序设计

    1. 并发程序的基本概念 程序顺序性 内部顺序性:CPU严格按照顺序执行指令 外部顺序性:程序员设计程序时往往用顺序设计的思想 顺序程序特性 程序执行的顺序性 计算环境的封闭性: 程序执行时犹如独占资 ...

  3. 【重学计算机】操作系统D4章:设备管理

    1. IO的控制方式 演进过程:轮询 --> 中断 --> DMA --> IO通道 经典布局:南北桥 PS:详见<计算机组成原理> 2. IO的实现 软件实现层次:硬件 ...

  4. 【重学计算机】操作系统D2章:处理器管理

    1. 指令与处理器模式 指令执行周期:取指.译码.执行 指令分类(根据权限) 特权指令:只能被操作系统内核使用(启动IO,置PC值) 非特权指令:所有程序都能使用 处理器模式: 共有四种:0内核模式, ...

  5. 【重学计算机】操作系统D5章:文件系统

    1. 文件系统 文件系统概述 文件的组织: 逻辑结构:流式.记录式 物理结构:顺序.连接.直接.索引 文件的存取:顺序.直接.索引 文件的控制:逻辑控制.物理控制 文件的使用:打开.关闭.读.写.控制 ...

  6. 【重学计算机】计组D3章:运算方法与运算器

    1. 定点数运算及溢出 定点数加减法:减法化加法,用补码直接相加,忽略进位 溢出:运算结果超出了某种数据类型的表示范围 溢出检测方法:统一思想概括为正正得负或负负得正则溢出,正负或负正不可能溢出 方法 ...

  7. 【重学计算机】机组D4章:存储系统

    1. 存储系统层次结构 主存速度缓慢的原因:主存增速与CPU不同步,执行指令期间多次访问主存 主存容量不足的原因: 存在制约主存容量的技术因素:如由CPU.主板等相关技术指标规定了主存容量 应用对主存 ...

  8. 【重学计算机】计组D1章:计算机系统概论

    1.冯诺依曼计算机组成 主机(cpu+内存),外设(输入设备+输出设备+外存),总线(地址总线+数据总线+控制总线) 2.计算机层次结构 应用程序-高级语言-汇编语言-操作系统-指令集架构层-微代码层 ...

  9. 【重学计算机】机组D8章:输入输出系统

    1. 输入输出系统概述 组成:外设.接口.总线.管理软件 基本功能 完成计算机内外的信息传递 保证CPU正确选择输出设备 利用缓冲等,实现主机与外设的速度匹配 特点:异步性.实时性.设备无关性 输入过 ...

随机推荐

  1. 金字塔Lucas-Kanande光流算法实现

    // Lucas-Kanade method Optical Flow in OpenCV // BJTShang, 2016-12-13 #include <cv.h> #include ...

  2. 中文系统下,UTF-8编码文本文件读取导致的错误

    一.UTF-8编码文件读取导致的错误 有个txt文件,里面内容为: aaa bbb ccc 以UTF-8编码方式打开txt文件,顺序读取,将里面的值放到一个hashset中,并判断aaa是否在在has ...

  3. jquery判断浏览器版本插件,jquery-browser.js

    jquery判断浏览器版本插件,jquery-browser.js,jquery 判断是否为ie浏览器插件 >>>>>>>>>>>&g ...

  4. 开源的excel读取库libxls在windows下的编译,且支持中文,全网首发

    转载请注明出处:http://www.cnblogs.com/superbi/p/5482516.html 到目前为止,网络和官网上并没有关于libxls在windows下支持中文的教程,也没有现成的 ...

  5. 字符串匹配(一)----Rabin-Karp算法

    题目:假如要判断字符串A"ABA"是不是字符串B"ABABABA"的子串. 解法一:暴力破解法, 直接枚举所有的长度为3的子串,然后依次与A比较,这样就能得出匹 ...

  6. PCA原理解释(二)

    PCA在做数据处理,一般会有一个数据预处理,其中一个目标就是将取数据特征向相关性. 为什么要去特征的相关性? 因为数据如果有相关性,在学习的时候是冗余的,徒增学习成本:所以对于数据处理(也称之为白化, ...

  7. 纸壳CMS主题增强,支持主题中加入模板

    背景 在之前,纸壳CMS的主题仅仅只是CSS样式,并不支持在主题下使用模板来构建不同的HTML结构.现在我们对主题功能做了增强,可以在主题下添加各自的模板,这样在制作主题时,就会更加自由.不仅如此,新 ...

  8. mysql面试题目

    昨天晚上无意中翻译到baidu的 dba(mysql,redis) 面试题,阅读了一下,发现没有一个自己能完美解释的.这确实是温床导致的思维懒惰. 具体几个问题如下: 1:MySQL InnoDB存储 ...

  9. C语言:strcpy()和memcpy()

    一.strcpy和memcpy都是标准C库函数,它们有下面的特点:      1.strcpy提供了字符串的复制.即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符. ...

  10. Linux安装weblogic

    一.软件安装 1. 安装前的准备工作 1.1 首先请确认您要安装的WebLogic版本所在的平台已通过了BEA的认证,完整的认证平台列表请参考 http://e-docs.bea.com/wls/ce ...