- 博客(9)
- 资源 (12)
- 收藏
- 关注
转载 linux内核空间和用户空间的区别及交互
linux驱动程序一般工作在内核空间,但也可以工作在用户空间。下面我们将详细解析,什么是内核空间,什么是用户空间,以及如何判断他们。 Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因此,Linux的虚拟地址空间也为0~4G.Linux内核将这4G字节的空间分为两部分。将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为"内核空间".而将较
2013-04-18 22:38:55 1232
转载 Linux 系统内核空间与用户空间通信的实现与分析
多数的 Linux 内核态程序都需要和用户空间的进程交换数据,但 Linux 内核态无法对传统的 Linux 进程间同步和通信的方法提供足够的支持。本文总结并比较了几种内核态与用户态进程通信的实现方法,并推荐使用 netlink 套接字实现中断环境与用户态进程通信。1 引言Linux 是一个源码开放的操作系统,无论是普通用户还是企业用户都可以编写自己的内核代码,再加上对标准内核的裁
2013-04-18 21:27:12 577
转载 内核库函数
当编写驱动程序时,一般情况下不能使用C标准库的函数。Linux内核也提供了与标准库函数功能相同的一些函数,但二者还是稍有差别。 类别函数名功能函数形成参数描述字符串转换simple_strtol把一个字符串转换为一个有符号长整数long simple_strt
2013-04-18 21:20:59 789
转载 笔试常见的智力题(附答案)
A.逻辑推理 1、你让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段 ,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你 的工人付费? 2、请把一盒蛋糕切成8份,分给8个人,但蛋糕盒里还必须留有一份。 3、小明一家过一座桥,过桥时是黑夜,所以必须有灯。现在小明过桥要1秒, 小明的弟弟要3秒,小明的爸爸要6秒,小明的妈妈
2013-04-18 21:03:14 1366
原创 用户态切换到内核态的3种方式
a. 系统调用 这是用户态进程主动要求切换到内核态的一种方式,用户态进程通过系统调用申请使用操作系统提供的服务程序完成工作,比如fork()实际上就是执行了一个创建新进程的系统调用。而系统调用的机制其核心还是使用了操作系统为用户特别开放的一个中断来实现,例如Linux的int 80h中断。b. 异常 当CPU在执行运行在用户态下的程序时,发生了某些事先不可知的异常,这时会触发
2013-04-18 20:59:51 6477 1
原创 800个节点的完全二叉树共有多少个叶子节点?相反,已知叶子节点,求最多有多少个节点!
性质:叶子节点=度数2的节点+1证明:总节点数n,叶子节点n0,度数为1的节点n1,度数为2的节点n2那么:n=n0+n1+n2 n=n1+2*n2+1 //通过枝来看所以:n0=n2+1然后根据题意:800=2*n0-1+n1 对于完全二叉数n0等于1或0,这里肯定是1,OK,n0=400 再来一题,124个叶子节点的完全二叉树,最多有多少个节点?
2013-04-13 22:35:04 7164 2
原创 12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人 高,问排列方式有多少种?
12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第一排比对应的第二排的人高,问排列方式有多少种?思想:分析一下排列法,发现:每次安插第二排时,只要等第一排的选完了,再选最小值就行了。而选第一排时,只能从上次选的后一个开始选,且最后至少留count-1个数,count当前还剩多少个位置要安插!//=========================================
2013-04-11 21:36:25 2360
原创 模拟乘法
/* 用加法模拟乘法 */#include #include //#define T(O,R,N,i) (N&(1<<i)) && (O+=(R<<i))#define T(o,a,b,i) (b&1<<i) && (o+=a<<i)int simulateMutiply(int a,int b){ int out=0; T(out, a, b, 0); T(out,
2013-04-10 21:56:47 886
原创 两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i];
问题描述:两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i];要求:1.不准用除法运算2.除了循环计数值,a[N],b[N]外,不准再用其他任何变量(包括局部变量,全局变量等)3.满足时间复杂度O(n),空间复杂度O(1)#include #include void pr_a
2013-04-10 21:10:30 1725
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人