logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux内核线程之深入浅出

【摘要】本文首先介绍了进程和线程的区别,接着分析了内核线程、轻量级LWP线程以及常见的用户线程的特点,同时介绍了内核线程和进程的区别。分析了创建内核线程kernel_thread函数的实现过程,介绍了一个在驱动中使用内核线程的实例。最后针对内核线程创建销毁的特点,给出了通用的内核线程操作函数API,使用该API可在自己的驱动或内核代码中方便的使用内核线程。 【关键词】线程,进程,内核线程,

Linux 进程中 Stop, Park, Freeze

http://kernel.meizu.com/linux-process-stop.html在调试内核的时候,经常会碰到几个相近的概念:进程 stop、进程 park、进程 freeze。这几个名词看起来都是停止进程,那么他们之间的区别和应用场景在分别是什么呢?下面就来分析一番。本文的代码分析基于 Linux kernel 3.18.22,最好的学习方法还是 “RTFSC

Linux设备模型之device_add

0.前言Linux设备模型是学习linux驱动的很重要的内容。了解这些知识,对于学习linux设备驱动有很大的帮助。 linux设备类型的内容还是比较多的,这里就重点说明device_add函数的流程。1.总体框架linux设备模型:设备device,驱动driver,总线bus。设备代表物理设备,驱动代表了设备操作方法,bus则是用来管理和匹配它们。device和driv

echo不换行输出实现进度条

输出:[root@lsplinux1 temp]# ../../../1_mkfep.sh265523 blocksROOTFS-AXM.cpio.xz already exist in /home/xiatian/debug_fix/lfs, remove it before generate .cpio.xz!!!................................

Linux内核ftrace原理 (-pg -mfentry -fpic)

gcc的-pg选项ftrace 支持动态trace,即可以跟踪内核和模块中任意的全局函数。它利用了gcc的-pg编译选项,在每个函数的开始增加一个stub,这样在需要的时候可以控制函数跳转到指定的代码中去执行。用过gprof工具应该对gcc的-pg选项不陌生了。当CONFIG_FUNCTION_TRACER打开时,编译时会增加-pg编译选项,gcc会在每个函数的入口处增加对mcount的调...

m25p80.c debug on Micron spi nor_flash(MT25Q128)

SPI NOR FLASH driver, 在kernel启动阶段加载(在运行initramfs的init之前加载)以下对代码的debug打印的注释是基于使用美光M25Q128(MT25QQLHSL128ABA)SPI NOR FLASH芯片lfs_linux\drivers\mtd\devices\m25p80.c:/*MTD SPI driver for ST M25Pxx (

Dynamic Tracing with DTrace & SystemTap

http://myaut.github.io/dtrace-stap-book/index.html

到底了