Skip to content

体系结构

基本概念

两指令,两处理器转态,两程序

  • 指令:特权与非特权

  • 处理器状态:利用PSW(程序状态字寄存器)决定是用户态还是核心态,用于鉴权,从而确定指令

  • 程序:相应的有两种程序,内核程序和普通的应用程序

操作系统内核

内核是操作系统最核心的部分,是操作系统的心脏

微内核

负责时钟管理,中断处理,原语

什么是原语?

操作系统最接近底层的一系列特殊程序,运行具有原子性(不可中断),运行时间短,调用频繁

比如设备驱动,cpu优化

大内核

进程管理,储存器管理,设备管理等功能+微内核部分

中断和异常

人们引入中断机制,从而实现多道程序并发执行

发生中断就意味着需要操作系统介入,开展管理工作

当中断发生的时候,CPU立刻进入核心态,中断当前进程,并由操作系统对中断进行处理

中断分为内中断和外中断

内中断分为指令中断(trap等)和强迫中断(故障等)

外中断如I/O操作完成,用户强制终止等

每条指令执行完后,cpu会判断是否有外部中断信号,然后决定是否保存当前的CPU环境并转入对应的中断程序

系统调用

“系统调用” 是指操作系统提供给应用程序(程序员 / 编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务

同时这也能保持安全性,让程序员无法直接操作高权限的内核

系统调用与库函数

有些库函数封装了系统调用,以便在不同的系统之间实现兼容

系统调用的简单流程: 传递系统调用参数->执行trap(用户态)->执行系统调用(核心态)->返回用户态