- 编译系统
- 计算机系统硬件组成
- 操作系统管理硬件
- 源程序是如何编译成可执行文件? (源文件-预编译-编译-汇编-链接-可执行文件)
- 可执行文件是如何运行起来的(即二进制文件到执行过程)?(shell加载二进制文件到内存,CPU逐条指令执行,结果写到输出)
- 计算机系统的抽象?(进程,虚拟地址空间,文件--操作系统软件+硬件(CPU、主存储器、IO设备)= 计算机系统)
- 存储器系统是具有不同容量、成本和访问时间的存储设备的层次架构 (CPU寄存器、高速缓存、主存储器、磁盘)
- 存储器层次结构的本质--每一层存储设备都是较低一层的缓存
- 程序的时间和空间局部性
- 链接是将代码和数据部分收集起来组合成一个单一文件的过程,这个文件可以被加载到存储器并执行
- 分离编译,模块化
- 中断、陷阱、终止、故障
- OS层,内核通过ECF实现进程的抽象
- 逻辑控制流--独占使用处理器假象
- 私有虚拟地址空间--独占使用主存储器假象
- 进程控制
- 信号
- OS对主存的抽象概念--虚拟存储器(VM)
- VM的三个主要能力
- 主存是磁盘上地址空间的高速缓存
- 为每个进程提供一致的地址空间
- 保护每个进程的地址空间不被其他进程破坏
question:
- VM是如何工作?
- 应用程序如何使用和管理VM?