1.系统调用:用户态主动要求切换到内核态,从而使用内核提供的各项服务。比如,Linux创建进程时中用户态的fork()
会调用到内核态的sys_fork()
和do_fork()
等。
2.中断:外设完成用户请求后(如完成读写操作),发出中断信号,CPU暂停执行下一条要执行的指令,而去执行中断处理程序。
3.异常:如发生缺页异常等,同样会切换到内核态进行处理。
1.系统调用:用户态主动要求切换到内核态,从而使用内核提供的各项服务。比如,Linux创建进程时中用户态的fork()
会调用到内核态的sys_fork()
和do_fork()
等。
2.中断:外设完成用户请求后(如完成读写操作),发出中断信号,CPU暂停执行下一条要执行的指令,而去执行中断处理程序。
3.异常:如发生缺页异常等,同样会切换到内核态进行处理。
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。