Linux 内核
fly__chen
勿忘初心,别让写博客失去它该有的意义。
展开
-
malloc,vmalloc,kmalloc
1、Linux内核管理内存空间的分配,所有程序对内存空间的申请和其他操作,最终都会交给内核来管理。 2、linux实现的是“虚拟内存系统”,对用户而言,所有内存都是虚拟的,也就是说程序并不是直接运行在物理内存上,而是运行在虚拟内存上,然后由虚拟内存转换到物理内存。 3、linux将所有的内存都以页为单位进行划分,通常每一页是4KB; 4、在对虚拟内存地址到物理内存地址进行转换时,内核会对地址的原创 2016-10-27 16:39:43 · 384 阅读 · 0 评论 -
Linux操作系统的 内核空间和用户空间
作为中央核心处理单元的CPU,除了生产工艺的不断革新进步外,在处理数据和响应速度方面也需要有权衡。 稍有微机原理基础的人都知道Intel X86体系的CPU提供了四种特权模式ring0~ring3,其中ring0特权最高,ring3的特权最低,之所以要做这样的区分一个主要目的是保护资源,通俗来讲要保护的资源无非就是“内存、I/O端口以及执行特殊机器指令的能力”。任何一个时刻,x86 CPU都是在一原创 2016-10-27 17:01:02 · 607 阅读 · 0 评论 -
Linux 用户空间与内核空间数据交换方式
http://blog.sina.com.cn/s/blog_71fdf1f00102v5o8.html引言一般地,在使用虚拟内存技术的多任务系统上,内核和应用有不同的地址空间,因此,在内核和应用之间以及在应用与应用之间进行数据交换需要专门的机制来实现,众所周知,进程间通信(IPC)机制就是为实现应用与应用之间的数据交换而专门实现的,大部分读者可能对进程间通信比较了解,但对应用与内核之间的数据交换机转载 2016-11-22 20:57:25 · 3278 阅读 · 0 评论