【操作系统】用户态与内核态的转化、中断、系统调用

您所在的位置:网站首页 用户程序调用操作系统 【操作系统】用户态与内核态的转化、中断、系统调用

【操作系统】用户态与内核态的转化、中断、系统调用

2024-07-17 05:01| 来源: 网络整理| 查看: 265

一、CPU的两种运行模式

        用户态和内核态是CPU的两种运行模式,其通过CPU中的状态寄存器PSW标识。CPU处于内核态即正在执行内核程序,此时可以执行特权指令(不允许用户直接使用),而CPU处于用户态即在执行用户程序,只可执行非特权指令。

二、用户态与内核态的转化

        内核态->用户态:CPU从内核态转化为用户态只需要执行特权指令、改变寄存器状态即可

        用户态->内核态:CPU从用户态转化称为内核态仅仅只有通过中断才可以,此时操作系统内核夺回CPU的使用权

三、中断——外中断和内中断

        外中断即来自CPU执行指令外部的事件导致中断,比如时钟中断、设备I/O中断等

        内中断即异常是来自CPU执行指令内部的事件导致中断,比如陷入指令、非法操作等

四、系统调用——用户的主动中断

        操作系统管理系统的软件以及硬件资源,一切和资源相关的操作都必须通过系统调用方式。当用户程序需要调用操作系统所提供的功能时,通过系统调用的方式向操作系统提出请求,由操作系统代为完成。

        系统调用需要发生在内核态,用户程序主动执行陷入指令引起中断,从而将CPU的控制权交给操作系统内核(此时从用户态->内核态),操作系统内核程序在处理完系统调用请求后再将CPU使用权交给用户程序(此时从内核态->用户态)。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3