计算机体系结构
1, cpu 主要是软件执行的控制
2, 内存 放置代码与处理数据
3, 设备 配合程序
内存:
1, cpu 之中的寄存器与 cache 最快 位于cpu内部 但是空间最小
2, 物理内存容量较大 速度较慢 归操作系统管理 存放的是运行的代码 与操作系统本身
3, 磁盘 归操作系统管理 最慢 存放代码执行后的数据
操作系统对内存的大致管理:
1, 抽象内存 运行的程序认为内存是连续的空间 不用考虑物理内存
2, 保护内存 运行的程序内存运行不被破坏 起到隔离作用
3, 共享内存 访问相同的内存保证有序 进程之间数据传递
4, 虚拟化 程序需要内存不够用的时候 需要使用磁盘内存
什么是地址:
1, 物理地址空间 内存条的主存 磁盘的存储空间
2, 逻辑地址空间 程序认为的地址空间 认为是一维地址空间
3, 逻辑地址关联物理地址是编译器进行关联的 与操作系统无关
4, 逻辑地址与物理地址之间的关系有一张表 mmu 存放映射关系
5, 物理地址寻找逻辑地址 是由操作系统来完成的
操作系统是如何保存内存的:
1, 操作系统会为 应用程序划分内存 为程序内存设置边界
2, cpu 执行指令(有可能程序指令) 会首先检查 map(逻辑地址与物理地址对应关系) 是否在边界之中,如果在就会执行,不在就会报异常
内存碎片:
1, 无法被应用程序使用的内存称之为碎片
2, 分配单元之间的未使用的内存称之为外碎片
3, 再分配单元中的未使用内存称之为内碎片