OS: Introduction
操作系统简介
Last updated on
中断
是从运行用户态程序转换到运行内核态程序的唯一途径。
- 内中断:与当前运行指令有关,中断信号来自于 CPU 内部。
- 例子:用户态想请求操作系统内核的服务,会执行陷入指令,会引发一个内部中断信号
- 外中断:与当前运行指令无关,中断信号来自与 CPU 外部。
- 例子:时钟中断,由硬件发出。
有时,“中断”特指狭义的中断,即外中断,而内中断一般称为“异常”。
中断向量表
用于找到响应的中断处理程序
中断信号类型 | 中断处理程序指针 |
---|---|
0 | 0x… |
1 | 0x… |
… | 0x… |
系统调用
比高级语言的库函数更底层的接口,应用程序通过系统调用访问共享资源。 调用方式:用户态程序向特定寄存器中传入指定参数后调用陷入指令, 系统调用处理程序会读取寄存器中的值,然后进行特定操作。
操作系统架构
- 宏内核:大量功能都运行在内核态
- 微内核:不属于最核心功能的程序都运行在用户态, 缺点是需要频繁进行用户态与内核态之间进程的通信,性能较差。
操作系统引导
硬盘
- 主引导记录(MBR),包含磁盘引导程序和分区表
- 活动分区:安装了操作系统的分区
- 引导记录(PBR)
- 根目录,存放有启动管理程序
- 其他
主存
- RAM
- ROM:ROM 引导程序是自举程序
启动流程
- ROM 引导程序(进行硬件自检),完成后指示 CPU 将磁盘上的主引导记录读入内存
- 通过主引导记录找到活动分区(扫描分区表)
- 通过活动分区的引导记录找到根目录中存放启动管理程序的位置
- 执行启动管理程序,完成系统初始化的过程