在linux开发也不少时间了,一直在做应用开发。从来没有接触过内核,突然想起内核空间和用户空间有什么区别?有什么联系?自己是不清楚,google并记录之。
为什么区分内核空间和用户空间?
内存访问分级,严格限制用户程序的行为,避免用户程序破坏内存数据,从而影响其他用户程序甚至内核。
内核可以访问整个存储空间,不受限制。
用户空间-》内核空间
系统调用是用户访问内核空间的手段,用户通过诸如read,write的这样调用使内核完成相应功能
以32为为例,整个线性空间大小为4G.用户空间为3G,内核空间1G.