
Linux内核
何以慰風塵
本愿一心向胡马,奈何胡马奔沟渠
展开
-
Linux内核——进程的地址空间
一.概述 当内核函数请求内存时,内核不会对该请求进行推迟,会立刻得到。而对于用户态进程,内核会认位其请求不是十分紧迫的(因为进程开始运行时并不会立刻访问其地址空间中的全部内存),且内核不信任用户代码,需要捕获并处理用户态进程引起的寻址错误,因而当用户进程请求动态内存时,并未获得请求的页框,而仅仅获得对一个新的线性地址区间的使用权,即这一线性地址成为进程地址空间的一部分,真正分配页框会推...原创 2019-06-20 14:24:59 · 484 阅读 · 0 评论 -
Linux内核 ——内存寻址
一.概述 平时我们在进行高级语言编程时,总会遇到地址这个概念,在32位程序中,其范围一般在0x00000000至0xffffffff之间,这就是虚拟地址,也称为线性地址。而当我们编写汇编程序时,会遇到段(如:代码段)与偏移的概念来指示一个地址,这种寻址方式称为逻辑地址。然而,内存芯片(如RAM随机存储器)并不认识这些地址,为此需将上述两种地址转化为物理地址以供内存芯片寻址。 ...原创 2019-06-10 22:21:38 · 222 阅读 · 0 评论 -
Linux内核——进程通信
一.概述 进程间通信的基本机制有:管道,FIFO(命名管道),信号量,消息队列,共享内存以及套接字。此篇博文不说明其使用,而是说明在linux内核中的实现原理,关于如何使用可以参考博文《进程间通信(IPC)》。二.管道1.管道数据结构 无名管道没有对应的磁盘映像,而是通告pipefs特殊文件系统加以处理的,有了pipefs便可以将管道完全整合到vfs(虚拟文...原创 2019-06-18 14:45:38 · 855 阅读 · 0 评论