操作系统启动
cup控制权:BIOS->Bootloader->OS
BIOS(基本I/O处理系统):检查硬件设备能否正常运行,把bootloader从硬盘加载到内存。
Bootloader:把OS从硬盘加载到内存中。
系统调用、异常、中断
定义
- 系统调用(来源于应用程序)
- 应用程序主动向操作系统发出服务请求
- 异常(来源于不良的应用程序)
- 非法指令或者其他坏的处理状态(如:内存出错)
- 中断(来源于外设)
- 来源于不同硬件设备的计时器和网络中断
响应
- 系统调用:等待和持续
- 异常:杀死或者重新执行意想不到的应用程序指令
- 中断:持续,对用户应用程序是透明的
为什么只能通过OS来访问硬件?
- 操作系统是一种安全的、可信任的软件,它可以防止一些恶意的程序对整个系统进行破坏。
- 操作系统可以屏蔽不同计算机硬件之间的差异,向上层的应用软件提供统一的接口,提高上层应用程序的可移植性。
跨越操作系统边界的开销
- 在执行时间上的开销超过程序调用
- 开销:
- 建立中断/异常/系统调用号与对应服务例程映射关系的初始化开销
- 建立内核堆栈
- 验证参数
- 内核态映射到用户态的地址空间
- 内核态独立地址空间