- 运行程序过程:
- 从键盘读取hello命令:用户输入“./hello”-->USB控制器-->I/O总线-->I/O桥-->系统总线-->总线接口-->寄存器文件-->总线接口-->I/O桥-->内存总线-->主存储器(“hello”)
- 从磁盘加载可执行文件到主存(直接存储器存取技术 DMA):磁盘-->磁盘控制器-->I/O总线-->I/O桥-->内存总线-->主存储器(“hello,world\n",hello代码)
- 将输出字符串从存储器写到显示器上:主存储器-->内存总线-->I/O桥-->系统总线-->总线接口-->寄存器文件-->总线接口-->I/O桥-->I/O总线-->图形适配器-->显示器“hello,world\n”
- 高速缓存:
- 主存可存放信息远多于寄存器文件;而处理器从寄存器文件中读数据远快于从主存读取
- 因此出现了高速缓存存储器(cache/高速缓存),位于CPU芯片上,用来存放处理器近期可能会需要的信息
- L1、L2高速缓存是用静态随机访问存储器(SRAM)的硬件技术实现,新系统有三级高速缓存L1、L2和L3
- 系统可以获得存储信息多、访问速度快的存储器是利用了高速缓存的局部性原理,即程序具有访问局部区域里的数据和代码的趋势
- 存储器层次结构:
- L0:寄存器 CPU寄存器保存来自高速缓存存储器的字
- L1:L1高速缓存(SRAM) L1保存取自L2的高速缓存行
- L2:L2高速缓存(SRAM) L2保存取自L3的高速缓存行
- L3:L3高速缓存(SRAM) L3保存取自主存的高速缓存行
- L4:主存(DRAM) 主存保存取自本地磁盘的磁盘块
- L5:本地二级存储(本地磁盘) 本地磁盘保存取自远程网络服务器上磁盘的文件
- L6:远程二级存储(分布式文件系统,Web服务器)
越往上的存储设备越小、越快、越贵(每字节),上一层是下一层的高速缓存,形成金字塔
- 操作系统管理硬件:
- 计算机系统的分层:
- 应用程序(软件)
- 操作系统(软件)
- 处理器|主存|I/O设备(硬件)
- 操作系统的两个基本功能:防止硬件被失控的应用程序滥用;向应用程序提供简单一致的机制来控制低级硬件设备。
- 操作系统通过进程、虚拟内存和文件来实现这两个功能:文件是对I/O设备的抽象表示;虚拟内存是对主存+I/O设备的抽象表示;进程是对处理器+主存+I/O设备的抽象表示。
- 进程:
- 进程是操作系统对一个正在运行的程序的一种抽象,一个进程由多个线程组成
- 并发运行是指一个进程的指令和另一个进程的指令是交错执行的
- 多核处理器同时能够执行多个程序
- 操作系统保持跟踪进程运行所需的所有状态信息,这种状态(即上下文)包括PC和寄存器文件的当前值、主存的内容等许多信息
- 上下文切换指保存当前进程的上下文,恢复新进程的上下文,将控制权传递到新进程,使其从上次停止的地方开始
- 不断的上下文切换使CPU看起来像是并发执行多个进程
- 从一个进程到另一个进程的转化是由操作系统内核管理的
- 内核是系统管理全部进程所用代码和数据结构的集合,是操作系统代码常驻主存的部分
- 当应用程序需要操作系统的某些操作时便会执行一条系统调用指令,将控制权传递给内核,然后内核执行被请求的操作并返回应用程序
- 虚拟内存:
- 进程的虚拟地址空间:
- 代码段
- 堆
- 动态链接库映射区域
- 栈
- 内核虚拟内存
- 虚拟内存运作的基本思想是把一个进程虚拟内存的内容存储在磁盘上,然后用主存作为磁盘的高速缓存
- 进程的虚拟地址空间:
- 文件:
- 文件就是字节序列
- 每个I/O设备都可以看成是文件,这使得同一个程序可以在使用不同磁盘技术的不同操作系统上运行
- 进程:
- 计算机系统的分层:

Comments NOTHING