内核
jacob_wjj
领英主页:https://www.linkedin.com/in/jiang-bo-a56771ba/
展开
-
进程间通信(IPC: inter process Communication)
问题 一个进程如何把信息传递给另一个。 确保两个或更多的进程在关键活动中不会出现交叉。 保证正确的顺序。 定义 竞态条件:两个或多个进程读写某些共享数据,而最后的结果取决于进程运行的精确时序,称为竞态条件。 临界区:把对共享内存进行访问的程序片段称为临界区域或者临界区。 忙等待的互斥(屏蔽中断,锁变量,严格轮转法,Peterson解法,TSL指令)原创 2015-12-16 11:29:20 · 471 阅读 · 0 评论 -
深入理解Linux内核之内存管理
我们的物理内存中的某些部分永久的分配给内核,并用来存放内核代码以及静态的内核数据结构。其余的部分我们称为动态内存,这不仅是进程所需要的宝贵资源,也是内核本身所需要的宝贵资源。下面通过三部分来描述内核如何给自己分配动态内存,尽可能做到当需要时分配,不需要时释放。页框管理采用4KB页框大小作为标准的内存分配单元。 在以下情况下页框是不空闲的:包含用户态进程的数据,某个软件高速缓存的数据,动态分配的内核原创 2016-03-16 10:51:37 · 1292 阅读 · 0 评论 -
设备驱动模型
在linux代码中,其实很大部分都是驱动代码,真正的kernel代码并不大。因为研究课题的原因,说一下自己对设备驱动模型的理解。系统中的每个逻辑设备都应该有一个与其相对应的、明确定义了设备号的设备文件。设备文件被分配一次且永远保存在/dev目录中。可以把设备文件的每个系统调用都转换成与设备相关的函数的调用,而不是对主文件系统相应函数的调用。与设备相关的函数对硬件设备进行操作完成进程所请求的操作。原创 2016-03-29 16:26:41 · 623 阅读 · 0 评论 -
DRM security
http://www.x.org/wiki/Events/XDC2013/XDC2013DavidHerrmannDRMSecurity/DRM_SECURITY原创 2016-03-17 21:11:31 · 604 阅读 · 0 评论 -
一个fork的面试题
很有意思,分析一下,加深一下对fork机制的理解。代码如下: 题目:请问下面的程序一共输出多少个“-”?#include <stdio.h>#include <sys/types.h>#include <unistd.h>int main(void){ int i; for(i=0; i<2; i++){ fork(); printf("-"); }原创 2016-03-09 11:10:08 · 823 阅读 · 0 评论