内核态
代码不受限制,自由访问任何有效地址,进行直接端口访问
对应ring0
留给操作系统代码,设备驱动程序代码使用的
用户态
受处理器诸多检查,只能访问映射其地址空间的页表项中规定的在用户态下可访问页面的虚拟地址,且只能对任务状态段(TSS)中I/O许可位图(I/O Permission Bitmap)中规定的可访问端口进行直接访问
对应ring3
普通用户程序使用
Ring0-Ring3
intel三种级别的运行模式,ring0级别最高,ring3级别最低,
用户态到内核态的切换
访问调用门的长转移指令CALL
访问中断门或陷阱门的INT指令
中断,软中断,系统调用
中断
硬件中断:来自时钟,外设
可编程中断:programmed interrupt,执行引起软件中断的指令。
例外中断:如页面错。
都由系统负责处理。当发生一个中断时,如果CPU正在比该中断级低的处理机运行级上运行,它就在解码下条指令之前,接受该中断,并提高处理机运行级。内核处理中断的操作顺序如下:
1,对于正在进行的进程,保存其当前寄