为了防止应用程序过分地访问系统硬件资源,保证系统的安全性和稳定性,Linux系统将整个系统划分为用户态和内核态。这两者是怎么配合工作的?
如下图所示,
当应用程序需要访问系统的硬件资源时,就会调用操作系统提供的系统调用接口,CPU 从用户态切换到内核态,在内核态下执行访问硬件资源的操作,并在操作结束后切换到用户态,将结果返回给用户程序。当CPU 从用户态切换到内核态执行系统调用时,会先将用户程序在寄存器中的状态换出并保存在内存中,并将与本次系统调用相关的进程信息从内存中换入寄存器中来执行该进程,这一过程称为上下文切换。
以上内容摘自《云原生数据库原理与实践》,这本书可以在电子工业出版社天猫店购买。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。