• 计算机操作系统 (王道考研)笔记(二)


    请添加图片描述

    • 🙋‍♂️ 作者:海码007
    • 📜 专栏:计算机四大基础专栏
    • 💥 标题:【一文读懂】计算机操作系统(王道考研)笔记:深入解析内存管理的关键!
    • ❣️ 寄语:人生的意义或许可以发挥自己全部的潜力,所以加油吧!
    • 🎈 最后:文章作者技术和水平有限,如果文中出现错误,希望大家能指正

    1 内存

    1.1 内存的基础知识

    1.1.1 内存定义、作用

    内存可存放数据。程序执行需要先放到内存中才能被CPU处理----缓和CPU硬盘之间速度矛盾
    在这里插入图片描述

    1.1.2 指令的工作原理

    在这里插入图片描述

    在这里插入图片描述

    1.1.3 三种装入策略

    装入策略是为了解决将指令中的逻辑地址(相对地址)转换为物理地址(绝对地址)。
    有三种装入策略:1. 绝对装入;2.可重定位装入(静态重定位);3.动态运行时装入(动态重定位)

    1. 绝对装入

    在这里插入图片描述

    1. 可重定位装入

    在这里插入图片描述

    1. 动态运行时装入

    在这里插入图片描述

    1.1.4 从写程序到程序运行

    在Windows系统重装入模块就是.exe文件
    在这里插入图片描述

    1.1.5 链接的三种方式

    链接指的是将编译后的二进制文件与引用的三方库二进制文件,链接成一个.exe文件(也就是装入模块)。
    在这里插入图片描述

    在这里插入图片描述

    1.1.6 总结

    在这里插入图片描述

    1.2 内存管理

    1.2.1 内存空间的分配与回收

    *** 操作系统负责内存空间的分配与回收
    在这里插入图片描述

    内存空间的分配与回收主要有两种:连续分配管理、非连续分配管理。

    a) 连续分配管理

    连续分配:指为用户进程分配的必须是一个连续的内存空间。
    在这里插入图片描述

    动态分区分配算法
    在这里插入图片描述

    b) 非连续分配管理

    有三种方法:基本分页存储管理、基本分段存储管理、段页式存储管理;

    1) 基本分页存储管理

    在这里插入图片描述

    2) 基本分段存储管理

    在这里插入图片描述

    3) 段页式存储管理

    是两种方法的结合
    在这里插入图片描述

    1.2.2 内存空间的扩充

    *** 操作系统需要提供某种技术从逻辑上对内存空间进行扩充
    因为电脑内存有限16g,有程序超过80g大小,所以就需要内存空间扩充技术。

    内存扩充的技术有三种:覆盖技术、交换技术、虚拟存储技术;

    a) 覆盖技术

    缺点:必须由程序员声明覆盖结构,操作系统完成自动覆盖。对用户不透明,增加了用户编程负担。覆盖技术只用于早期的操作系统,现在已经被淘汰。
    在这里插入图片描述在这里插入图片描述

    b) 交换技术

    在这里插入图片描述
    在这里插入图片描述

    c) 虚拟存储技术

    虚拟内存技术

    1. 定义与特征

    在这里插入图片描述

    1. 实现虚拟内存技术

    虚拟内存技术的实现是建立在离散分配的内存管理方式基础上
    离散分配的内存管理方式有三种:基本分页存储管理、基本分段存储管理、基本段页式存储管理;
    由此衍生出三种虚拟内存实现方法:请求分页存储管理、请求分段存储管理、请求段页式存储管理;
    在这里插入图片描述

    1. 三种虚拟内存实现方法
      请求分页管理方式:

    在这里插入图片描述

    1.2.3 地址转换

    操作系统需要提供地址转换功能,负责程序的逻辑地址与物理地址的转换
    原因:为了使编程更方便,程序员写程序应该只需关心指令、数据的逻辑地址。而逻辑地址到物理地址的转换(这个过程称为地址重定位)应该由操作系统负责,这样就保证了程序员写程序时不需要关注物理内存的实际情况。(和封装的思想很像,就是把负责的实现过程封闭起来,别人只需要调用,不需要考虑内部实现逻辑)

    拓展:有三种装入方式可以实现地址重定位

    1.2.4 内存保护

    操作系统需要提供内存保护功能。保证各进程在各自存储空间内运行,互不干扰

    内存保护的两种方法:

    1. 设置一对上限、下限寄存器。
      在这里插入图片描述
    2. 采用重定位寄存器和界地址寄存器
      在这里插入图片描述
  • 相关阅读:
    分布式事务
    精研科技融入汽车内饰 Laedana打造车内空间新生态
    WaitTimeManagerDemo
    Vue 全局事件总线
    C++ Web 编程
    PAT A1032
    Docker 网络虚拟化基础之网络 namespace
    PyTorch笔记 - Convolution卷积的原理 (1)
    C#宏定义
    学习日记01——JS基础01
  • 原文地址:https://blog.csdn.net/hhw_hhw/article/details/132905535