3DRX

// post

OS: Introduction

操作系统简介

Updated

中断

是从运行用户态程序转换到运行内核态程序的唯一途径。

  • 内中断:与当前运行指令有关,中断信号来自于 CPU 内部。
    • 例子:用户态想请求操作系统内核的服务,会执行陷入指令,会引发一个内部中断信号
  • 外中断:与当前运行指令无关,中断信号来自与 CPU 外部。
    • 例子:时钟中断,由硬件发出。

有时,“中断”特指狭义的中断,即外中断,而内中断一般称为“异常”。

中断向量表

用于找到响应的中断处理程序

中断信号类型中断处理程序指针
00x…
10x…
0x…

系统调用

比高级语言的库函数更底层的接口,应用程序通过系统调用访问共享资源。 调用方式:用户态程序向特定寄存器中传入指定参数后调用陷入指令, 系统调用处理程序会读取寄存器中的值,然后进行特定操作。

操作系统架构

  • 宏内核:大量功能都运行在内核态
  • 微内核:不属于最核心功能的程序都运行在用户态, 缺点是需要频繁进行用户态与内核态之间进程的通信,性能较差。

操作系统引导

硬盘

  • 主引导记录(MBR),包含磁盘引导程序和分区表
  • 活动分区:安装了操作系统的分区
    • 引导记录(PBR)
    • 根目录,存放有启动管理程序
    • 其他

主存

  • RAM
  • ROM:ROM 引导程序是自举程序

启动流程

  1. ROM 引导程序(进行硬件自检),完成后指示 CPU 将磁盘上的主引导记录读入内存
  2. 通过主引导记录找到活动分区(扫描分区表)
  3. 通过活动分区的引导记录找到根目录中存放启动管理程序的位置
  4. 执行启动管理程序,完成系统初始化的过程