随笔分类 -  linux驱动及内核开发

摘要:LINUX下tmpfs介绍及使用 阅读全文
posted @ 2016-12-13 11:07 静之深 阅读(1242) 评论(0) 推荐(0) 编辑
摘要:LINUX下的tty,console与串口 阅读全文
posted @ 2016-12-08 14:41 静之深 阅读(561) 评论(0) 推荐(0) 编辑
摘要:关于copy_from_user函数 阅读全文
posted @ 2016-12-06 17:09 静之深 阅读(373) 评论(0) 推荐(0) 编辑
摘要:linux内核 RCU机制详解 阅读全文
posted @ 2016-11-23 15:04 静之深 阅读(134) 评论(0) 推荐(0) 编辑
摘要:linux中的jiffies变量 全局变量jiffies用来记录自系统启动以来产生的节拍的总数。启动时,内核将该变量初始化为0,此后,每次时钟中断处理程序都会增加该变量的值。一秒内时钟中断的次数等于Hz,所以jiffies一秒内增加的值也就是Hz。 系统运行时间以秒为单位,等于jiffies/Hz。 阅读全文
posted @ 2016-11-23 14:05 静之深 阅读(194) 评论(0) 推荐(0) 编辑
摘要:使用 /proc 文件系统来访问 Linux 内核的内容 阅读全文
posted @ 2016-11-10 10:09 静之深 阅读(122) 评论(0) 推荐(0) 编辑
摘要:[FreeRTOS系列教程]学习FreeRTOS前的准备工作 初学者必看 [FreeRTOS]FreeRTOS,SafeRTOS和OpenRTOS的区别和联系 阅读全文
posted @ 2016-10-26 15:14 静之深 阅读(249) 评论(0) 推荐(0) 编辑
摘要:linux 任务调度机制 阅读全文
posted @ 2016-09-07 10:33 静之深 阅读(867) 评论(0) 推荐(0) 编辑
摘要:mkcramfs制作cramfs文件系统 阅读全文
posted @ 2016-02-24 10:41 静之深 阅读(374) 评论(0) 推荐(0) 编辑
摘要:squashfsLZMA 阅读全文
posted @ 2016-01-06 13:23 静之深 阅读(138) 评论(0) 推荐(0) 编辑
摘要:cache写策略Write Through (完全写入)CPU向cache写入数据时,同时向memory也写一份,使cache和memory的数据保持一致。优点是简单,缺点是每次都要访问memory,速度比较慢。Write Back (回写) CPU更新cache时,只是把更新的cache区标记一下... 阅读全文
posted @ 2015-10-22 19:51 静之深 阅读(3070) 评论(0) 推荐(0) 编辑
摘要:copy_to_user,copy_from_user,get_user,put_user函数比较copy_to_user -- Copy a block of data into user space. copy_from_user -- Copy a block of data from use... 阅读全文
posted @ 2015-10-15 11:04 静之深 阅读(1307) 评论(0) 推荐(0) 编辑
摘要:TASK_INTERRUPTIBLE和TASK_UNINTERRUPTIBLETASK_INTERRUPTIBLE 和TASK_UNINTERRUPTIBLE 的区别TASK_INTERRUPTIBLE是可以被信号和wake_up()唤醒的,当信号到来时,进程会被设置为可运行。而TASK_UNINT... 阅读全文
posted @ 2015-10-13 10:54 静之深 阅读(2238) 评论(0) 推荐(0) 编辑
摘要:Linux Command Line 解析0 处理模型Linux kernel的启动包括很多组件的初始化和相关配置,这些配置参数一般是通过command line进行配置的。在进行后续分析之前,先来理解一下command line的处理模型:要处理的对象是一个字符串,其中包含了各种配置信息,通常各个... 阅读全文
posted @ 2015-09-02 09:53 静之深 阅读(2779) 评论(0) 推荐(0) 编辑
摘要:设备与驱动的两种绑定方式:在设备注册时进行绑定及在驱动注册时进行绑定。 以一个USB设备为例,有两种情形:(1)先插上USB设备并挂到总线中,然后在安装USB驱动程序过程中从总线上遍历各个设备,看驱动程序是否与其相匹配,如果匹配就将两者邦定。这就是platform_driver_register()... 阅读全文
posted @ 2015-08-19 20:05 静之深 阅读(438) 评论(0) 推荐(0) 编辑
摘要:linux软中断与硬中断实现原理概述。 1、软中断通过open_softirq注册一个软中断处理函数,即在软中断向量表softirq_vec数组中添加新的软中断处理action函数。2、调用raised_softirq软中断触发函数,即把软中断标记为挂起状态。内核会在一些位置检查是否有挂起状态... 阅读全文
posted @ 2015-05-28 22:24 静之深 阅读(2236) 评论(0) 推荐(0) 编辑
摘要:linux进程的地址空间,核心栈,用户栈,内核线程 地址空间:32位linux系统上,进程的地址空间为4G,包括1G的内核地址空间,和3G的用户地址空间。内核栈:进程控制块task_struct中保存了2个page大小的信息。为什么每一个进程都是用各自的内核栈呢?引用(http://hi.baidu... 阅读全文
posted @ 2015-04-16 22:25 静之深 阅读(3075) 评论(0) 推荐(0) 编辑
摘要:需要考证考证结果:其内核栈是独立的 206 static struct task_struct *dup_task_struct(struct task_struct *orig) 207 { ... 阅读全文
posted @ 2015-04-16 22:13 静之深 阅读(3662) 评论(0) 推荐(0) 编辑
摘要:Linux 进程栈和线程栈的区别 http://www.cnblogs.com/luosongchao/p/3680312.html总结:线程栈的空间开辟在所属进程的堆区,线程与其所属的进程共享进程的用户空间,所以线程栈之间可以互访。线程栈的起始地址和大小存放在pthread_attr_t 中,... 阅读全文
posted @ 2015-04-16 22:02 静之深 阅读(5027) 评论(0) 推荐(0) 编辑
摘要:Linux进程管理知识整理1、进程有哪些状态?什么是进程的可中断等待状态?进程退出后为什么要等待调度器删除其task_struct结构?进程的退出状态有哪些?TASK_RUNNING(可运行状态)TASK_INTERRUPTIBLE(可中断等待状态)TASK_UNINTERRUPTIBLE(不可中断... 阅读全文
posted @ 2015-04-16 21:47 静之深 阅读(1369) 评论(0) 推荐(0) 编辑