尽管内存中划分了很多段,但Linux和所有类似于UNIX的操作系统一样,将内存划分为内核空间和用户空间。
1.内核空间
内核空间是内核处理业务的地方。在内核空间中有一个存储表,记录以下这类事情:“接下来,谁会得到哪个CPU核心”和“给这个用户分配多少内存”,它还存储了所有驱动程序。当你准备与图形系统或microSD卡,或者系统中的任何硬件通信,将会从程序发送消息到内核,内核根据你的权限和文件权限决定是否进行处理。
2.用户空间
所有不在内核中运行的程序都在用户空间内运行,即使它们属于root并由root运行。强大的systemd也在用户空间中运行。用户空间中的程序只能通过向内核发送消息,来要求内核完成一些工作。如果上述机制出现错误,就造成了安全漏洞。+
资料来源:《面向Arduino用户的树莓派实用指南:物联网应用开发》,文章链接:https://developer.aliyun.com/article/727243
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。