Gitlib Gitlib
首页
  • 分类
  • 标签
  • 归档
  • Golang开发实践万字总结
  • MySQL核心知识汇总
  • Redis实践总结
  • MQ实践万字总结
  • Docker数据持久化总结
  • Docker网络模式深度解读
  • 常用游戏反外挂技术总结
  • 读书笔记
  • 心情杂货
  • 行业杂谈
  • 友情链接
关于我
GitHub (opens new window)

Ravior

以梦为马,莫负韶华
首页
  • 分类
  • 标签
  • 归档
  • Golang开发实践万字总结
  • MySQL核心知识汇总
  • Redis实践总结
  • MQ实践万字总结
  • Docker数据持久化总结
  • Docker网络模式深度解读
  • 常用游戏反外挂技术总结
  • 读书笔记
  • 心情杂货
  • 行业杂谈
  • 友情链接
关于我
GitHub (opens new window)
  • 操作系统

    • 学习笔记

      • 鸟哥的Linux私房菜学习笔记01-计算机概论
      • 鸟哥的Linux私房菜学习笔记02-磁盘分区
      • 鸟哥的Linux私房菜学习笔记03-日志文件
      • 寄存器
      • 汇编语言
      • 零拷贝
      • 内存管理单元MMU
      • 内存管理基础知识
      • 文件系统
      • 系统调用
      • 写时复制
      • 虚拟地址
        • 虚拟内存
        • 中断
        • CPU
        • DMA
        • mmap
        • Swap分区
      • Shell

      • Linux命令

      • RAID分类详解
      • Page Cache与Page回写
      • 磁盘IO与swap分区
    • 计算机网络

    • 数据结构和算法

    • MySQL

    • Redis

    • Nginx

    • MongoDB

    • 其他

    • 计算机基础
    • 操作系统
    • 学习笔记
    Ravior
    2019-02-15
    目录

    虚拟地址

    IO

    # 为什么需要虚拟地址空间?

    • 虚拟地址空间和物理地址空间的映射可以解决:
    • 方便编译器和操作系统安排程序的地址分布
    • 程序可以使用一系列相邻的虚拟地址空间来访问物理内存中不相邻的大内存缓冲区。
    • 方便进程间隔离: 不同进程使用的虚拟地址彼此隔离,一个进程中的代码无法更改正在另一个进程中使用的物理内存。
    • 方便OS使用可怜的内存: 程序可以使用一系列虚拟地址来访问大于可用物理内存的内存缓冲区,当物理内存的供应量变小时,内存管理器会将物理内存页(通常为4KB)保存到磁盘中,数据或代码页会根据需要在物理内存与磁盘之间移动。

    # ELF

    在linux中可执行文件a.out的格式是ELF文件,可以通过file命令进行查看。

    file a.out
    a.out: ELF 32-bit LSB executable
    Copy to clipboardErrorCopied
    
    1
    2
    3

    ELF中主要包含三段:

    • .test,代码段存放二进制机器指令
    • .data,已初始化的全局变量
    • .bss,未初始化的全局变量

    另外还包含一些其他的段:

    # 只读数据段

    # 符号段

    静态库存放在代码段,绝对地址位置不变。

    # 堆区

    存放动态申请的内存地址,向上增长,内存大。

    # 共享库

    加载程序运行需要的库,只在程序运行时加载,相对地址位置不固定。

    # 栈区

    存放局部变量,向下增长,内存小。

    #操作系统
    上次更新: 2022/12/01, 11:09:34
    写时复制
    虚拟内存

    ← 写时复制 虚拟内存→

    最近更新
    01
    常用游戏反外挂技术总结
    11-27
    02
    Golang开发实践万字总结
    11-11
    03
    Redis万字总结
    10-30
    更多文章>
    Theme by Vdoing | Copyright © 2011-2022 Ravior | 粤ICP备17060229号-3 | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式