上课视频来源B站,http://www.bilibili.com/video/av6538245/
上一篇:操作系统from清华大学向勇,陈渝 笔记(二)操作系统的启动、中断、异常、系统调用
INDEX:
3-1 计算机体系结构&内存分层体系
3-2地址空间和地址生成
3-3连续内存分配:内存碎片与分区的动态分配
3-4 连续内存分配:压缩式/交换式碎片整理
4-1 非连续内存分配:分段
4-2 非连续内存分配:分页
4-3 非连续内存分配:页表—概述,TLB
4-4 非连续内存分配:页表—二级,多级页表
4-5 非连续内存分配:页表—反向页表inverted page table
3-1 计算机体系结构&内存分层体系
计算机体系结构/内存分层体系
基本硬件结构: CPU(程序执行处),内存(放置了代码和处理的数据),设备(I/O)
内存的层次结构: CPU的数据放的位置,寄存器和CACHE都在CPU内部,速度快容量小,主存(物理内存)放操作系统本身和应用,通过交换/分页和磁盘交互,将永久保存的数据放到磁盘中(虚拟内存),慢而容量大,5ms寻道时间。
操作系统对内存分配做了什么:
(1)抽象,逻辑地址空间;(2)保护,独立地址空间;(3)共享,访问相同内存;(4)虚拟化,更多的地址空间,对应用程序透明
操作系统管理内存的不同机制:
程序重定位,分段,分页,虚拟内存,按需分页虚拟内存
OS本身也是软件,实现高度依赖于硬件,要知道内存架构,MMU(内存管理单元,硬件组件中负责处理CPU的内存访问请求)
3-2地址空间和地址生成
地址空间的概念:
物理地址空间是硬件支持的地址空间
E.G:内存条代表的主存,硬盘代表的磁盘
起始地址空间0,到地址max
逻辑地址空间是一个运行的程序所具有的内存范围,一维线性
二者之间的交互,映射关系,落在物理地址空间上。
具体过程:
C程序通过编译,汇编,链接link,载入(程序重定位)生成EXE,将逻辑地址映射到物理空间上。C程序中函数的位置&