![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式linux内核驱动进程篇
文章平均质量分 54
武剑雨
这个作者很懒,什么都没留下…
展开
-
内核驱动之Linux系统调度
1 系统调用和普通的函数调用区别: 系统调用由操作系统内核实现,运行于内核态; 普通的函数调用由函数库或用户自己提供,运行于用户态 2 工作原理: 应用程序首先用《适当的值》填充寄存器,然后调用一个《特殊的指令》跳转到内核某一《固定的位置》,内核根据应用程序所填充的固定值来找到《相应的函数执行》 3 适当的值:系统调用号 特殊的质量:在ARM中,是SWI(已经重命名为SVC指令)原创 2013-05-20 20:43:17 · 583 阅读 · 0 评论 -
内核驱动之异常分析
1 内核级的程序,总有死机的时候。 应用程序编程时,堆栈错误。 2 oops可以看出内核级的segmentation Fault。如果进行了非法内存访问或执行了非法指令,会得到Seggault信号。 3 分析步骤 (1)错误原因提示。 (2)调用栈(对照反汇编代码) (3)寄存器 4原创 2013-05-20 20:47:30 · 567 阅读 · 0 评论 -
内核驱动之proc文件系统
1 什么是proc文件系统? 实例:通过/proc/meminfo,查询当前内存使用情况。 结论:proc文件系统是一种在用户态检查内核状态的机制。 2 特点: 可以用文本编辑程序读取:cat命令,vi程序 可以自己编写程序添加一个/proc目录下的文件。 文件的内容都动态创建的,并不存在于磁盘上,存在内存中。 pwd查看当前目录 3 功能:创建proc文件 struct原创 2013-05-20 20:45:13 · 565 阅读 · 0 评论 -
内核驱动之Linux进程调度
1 学习调度需要掌握哪些知识点? (1)调度策略 (2)调度时机 (3)调度步骤 2 调度的发生有两种方式: (1)主动式 在内核直接调用schedule(),当进程需要等待资源等而暂停止运行时,会把状态置于挂起(睡眠),并主动请求调度 (2) 3调度时机 (1)current->state=TASK_INTERRUPTIBLE; (2)schedule(); 被动式(抢原创 2013-05-20 20:42:10 · 739 阅读 · 0 评论 -
内核驱动之linux进程控制
1 程序是代码和数据的可执行映像,是静止的 进程:执行中的程序,是动态的。 2 进程四要素: (1)一段程序供其执行。 (2)有进程专用的《内核空间堆栈》。 (3)在内核中有一个task_struct数据结构 (4)有独立的用户空间。 3 进程描述 在Linux中,线程、进程都使用struct task_struct来表示,它包含了大量描述线程/进程的信息。 pid_t p原创 2013-05-20 20:39:17 · 565 阅读 · 0 评论