
Linux kernel
文章平均质量分 84
雷连杰
这个作者很懒,什么都没留下…
展开
-
Linux内核的并发控制
现代Linux系统中存在大量的并发来源,导致可能的竞态,竞态通常作为对资源的共享访问结果而产生。访问管理的常见技术称为“锁定”或者“互斥”——确保一次只有一个执行单元可操作共享资源。在Linux内核中,主要的竞态发生在如下几种情况:对称多处理器(SMP)的多个CPU;单CPU内进程与抢占它的进程;中断(硬中断、软中断、Tasklet、底半部)与进程之间。 另外有两种可能的原因...原创 2016-07-30 19:33:26 · 302 阅读 · 0 评论 -
Linux内核的进程管理
1,进程的概念 进程就是处于执行期的程序,包括代码段,打开的文件,挂起的信号,内核内部数据,处理器状态,内存地址空间,一个或多个执行线程,数据段等。Linux内核对进程和线程并不做特殊的区分。 内核把进程也叫做任务,进程描述符的数据结构类型为task_struct,在32位机器上有1.7KB。 struct task_struct { volati...原创 2016-08-28 23:00:55 · 113 阅读 · 0 评论 -
Linux内核的物理内存管理
在物理内容定义方面Linux引入了内存结节(node), 内存区(zone), 内存页page的概念。对物理内存的管理分两部分:最底层实现的页面级内存管理伙伴系统,基于伙伴系统实现的内核对象缓存和通用缓存Slab内存管理。 2,伙伴系统(Buddy System) 节点:内核以struct pglist_data数据结构统一表示UMA系统和NUMA系统的内存结点,U...原创 2016-09-03 14:37:36 · 223 阅读 · 0 评论 -
Linux I/O模型深入分析
应用程序利用read,write系统调用对设备进行读写操作时,由于设备在实际的操作中响应速度各不相同,因此数据并不总是在任何时候都可用:对读操作来说,请求的数据还没有到达设备缓冲区,对于写操作,应用传递过来的数据也许不能一下子全部放进设备狭小的缓冲区,此时内核要么返回一个错误码给上层,要么让发起读写操作的进程进入等待状态。 1,struct file_operations:Linux...原创 2016-09-04 15:56:41 · 135 阅读 · 0 评论