
内核类相关
CoderChe
通信专业,大学时代的arm相关的东西基本忘光了
Qt开发Win客户端2年
16.05至今开发windows游戏前后端
展开
-
TASK_INTERRUPTIBLE 和TASK_UNINTERRUPTIBLE
TASK_INTERRUPTIBLE 和TASK_UNINTERRUPTIBLE 的区别TASK_INTERRUPTIBLE是可以被信号和wake_up()唤醒的,当信号到来时,进程会被设置为可运行。而TASK_UNINTERRUPTIBLE只能被wake_up()唤醒。 信号本质信号是在软件层次上对中断机制的一种模拟,软中断信号来源信号事件的发生有两个来源:硬件来源:转载 2013-05-30 13:10:49 · 3118 阅读 · 0 评论 -
进程上下文与中断上下文
上下文context:上下文简单说来就是一个环境,相对于进程而言,就是进程执行时的环境。具体来说就是各个变量和数据,包括所有的寄存器变量、进程打开的文件、内存信息等。 一个进程的上下文可以分为三个部分:用户级上下文、寄存器上下文以及系统级上下文。 用户级上下文: 正文、数据、用户堆栈以及共享存储区; 寄存器上下文: 通用寄存器、程序寄存器(IP)、处转载 2013-05-22 20:19:40 · 983 阅读 · 0 评论 -
linux中断处理的上半部和下半部
设备中断会打断内核中进程的正常调度和运行,系统对更高吞吐率的追求势必要求中断服务尽可能的短小精悍。但是,在大多数真实的系统中,当中断到来时,要完成的工作往往并不会是短小的,它可能要进行较大量的耗时处理。在Linux内核中,为了在中断执行时间尽可能短和中断处理需完成大量工作之间找到一个平衡点,Linux将中断处理程序分为两个部分:上半部(top half)和下半部(bottom half原创 2013-06-15 11:45:42 · 7706 阅读 · 0 评论 -
共享中断的理解
从个人的理解,Linux2.6内核对中断处理程序的现在的处理可以分为两种模式,一种就是上面说的老的模式(非共享中断线),一种属于使用共享中断线的新模式,从其使用的注册中断处理程序的函数中来分析,函数原型如下:int request_irq(unsigned int irq,irqreturn_t (*handler)(int, void *, struct pt_regs *),转载 2013-06-15 10:09:55 · 3947 阅读 · 0 评论 -
linux下的块设备驱动(一)
块设备的驱动比字符设备的难,这是因为块设备的驱动和内核的联系进一步增大,但是同时块设备的访问的几个基本结构和字符还是有相似之处的。有一句话必须记住:对于存储设备(硬盘~~带有机械的操作)而言,调整读写的顺序作用巨大,因为读写连续的扇区比分离的扇区快。但是同时:SD卡和U盘这类设备没有机械上的限制,所以像上面说的进行连续扇区的调整显得就没有必要了。 先说一下对于硬盘这类设备的简单的驱原创 2013-07-01 16:05:05 · 1882 阅读 · 0 评论 -
拿到手一个全新的内核如何编译成单板相关
总是忘记进行编译的几个主要步骤,写下来,增强记忆。大牛和小牛可以忽略掉这篇文章。首先是下载内核:网站www.kernel.org。(其实菜鸟阶段哪有自己的内核啊,都是人家移植的差不多了的了。)然后进行解压,这些就不说了。 第一步:进入内核的/arch/arm/configs目录,重命名类似的config或者完全和自己打单板相关的config为.config。代码如下:原创 2013-05-20 21:18:02 · 1233 阅读 · 0 评论 -
内核模块编程之模块工具的使用
转自:http://blog.youkuaiyun.com/tigerjibo/article/details/9708967一.insmod 1.功能:用来加载内核模块。2.使用方法:insmod module_name.ko如果模块不在当前目录,需要给出模块的具体路径名:insmod /home/jibo/helloworld/helloworld.ko二.modpr转载 2013-08-10 11:27:03 · 934 阅读 · 0 评论 -
linux2.6内核链表
一、 链表数据结构简介 链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节点连接成一条数据链,是线性表的一种重要实现方式。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据。链表的开销主要是访问的顺序性和组织链的空间损失。 通常链表数据结构至少应包转载 2013-08-10 22:24:31 · 924 阅读 · 0 评论