操作系统
启动
在计算机中,内核是被信任的第三方,只有内核可以执行特权指令,为了方便应用程序
计算机体系结构概述
DISK:存放OS
Bootloader:加载OS
BIOS:基本I/O处理系统
POST(加电自检):寻找显卡和执行BIOS
计算机内存和硬盘布局
中断,异常和系统调用
背景
系统调用(来源于应用程序)
应用程序主动向操作系统发出服务请求
异常(来源于不良的应用程序
非法指令或者其他坏的处理状态
中断(来源外设)
来自不同的硬件设备的计时器和网络的中断
中断,异常和系统调用相比较
源头
中断:外设
异常:应用程序意想不到的行为
系统调用:应用程序请求操作提供服务
处理时间
中断:异步
异常:同步
系统调用:异步或同步
响应
中断:持续,对用户应用程序是透明的
异常:杀死或者重新执行意想不到的应用程序指令
系统调用:等待和持续
中断和异常处理机制
中断
硬件
设置中断标记[CPU初始化]
1.将内部,外部事件设置中断标记
2.中断事件的ID
软件(操作系统)
1.保存当前处理状态
2.中断服务程序处理
3.清除中断标记
4.恢复之前保存的处理状态
异常
1.异常标号
2.保存现场
3.异常处理
1>杀死产生了异常的程序
2>重新执行异常命令
4.恢复现场
系统调用
1.通常情况下,与每个系统调用相关的序号,系统调用接口根据这些序号来维护表的缩引
2.系统调用接口调用内核态中预期的系统调用,并返回系统调用的状态和其他任何返回值
跨越操作系统边界的开销
1.在执行时间上的开销超过程序调用
2.开销:
1>建立中断/异常/系统调用号与对应服务例称映射关系的初始化开销
3.建立内核堆栈
4.验证参数
5.内核为态映射到用户态的地址空间更新页面映射权限
6.内核独立空间TLB