自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (10)
  • 收藏
  • 关注

原创 卸载内核模块失败 rmmod '/lib/modules': No such file or directory

[root@xxx/home]# insmod xxx.koinsmod: can't insert 'xxx.ko': File exists[root@xxx /home]# rmmod xxx.kormmod: can't change directory to '/lib/modules': No such file or directory[root@xxx /home]

2017-05-29 12:47:10 1222

原创 bootloader之u-boot

u-boot 简介  在嵌入式开发中bootloader称为启动加载器,是必不可少的功能部件。它的功能是在系统上电后初始化最基本的硬件,加载linux内核到内存中并引导内核,通常还支持一些其他的功能,如tftp下载功能等。常用的bootloader有u-boot,vivi等。  系统上电之后,需要一段程序来进行初始化:关闭看门狗,设置系统时钟,初始化存储控制器(让内存工作起

2017-05-10 12:13:51 1050

原创 makefile快速入门

makefile和make命令一起配合使用,它常常被用来组织c/c++项目的编译。    1,makefile就是一个文件,一般文件名用makefile或者Makefile.(不需要指定解释器,它不是shell)    2,make和makefile,make不指定参数的情况下,默认编译makefile或者Makefile    3,make后面指定参数-f来指定你的makefile的

2017-05-09 15:30:05 466

原创 常用shell (一)

touch 创建一个新的空白文件    touch file_name单引号和双引号的区别:单引号    NAME=xiao_xin    $var='$NAME junior'    echo $var    $NAME junior双引号    $var='$NAME junior'    echo $var    xiao_xin juni

2017-05-09 11:53:10 357

原创 轮询 设备驱动

轮询应用程序中使用的系统调用select()和poll()查询是否可对设备驱动进行无阻塞的访问,他们都是最终引发驱动中的poll()函数被执行。应用程序中的轮询    #include     int select( int nfds, fd_set FAR* readfds, fd_set * writefds, fd_set * exceptfds, const s

2017-05-06 17:58:20 723

原创 linux 块设备驱动

虚拟文件系统(vfs)层类似于面向对象中的“抽象基类”的概念,而下面一个个具体的文件系统就相对于这个抽象基类的"派生类",所有文件操作如 open, read, write等在vfs中只是实现了一个类似于“纯虚函数”的接口,针对具体的文件系统,就会使用其派生类中被“改写”的“虚函数”。块设备和字符设备相同之处:    1 . 都经过vfs向用户空间提供上述中的文件操作接口o

2017-05-05 22:53:28 450

原创 linux设备驱动中阻塞与非阻塞I/O

阻塞与非阻塞I/O    阻塞操作是指在执行设备操作时,若不能获得资源,则挂起进程直到满足可操作的条件后再进行操作。    被挂起的进程进入休眠状态,被移出调度器的运行队列,直到等待的条件被满足。    非阻塞操作的进程在不能进行设备操作时,并不挂起,它或者放弃,或者不停地查询,直到可用进行    操作为止。    驱动程序通常需要提供这样的能力,支持阻塞和非阻塞的进行re

2017-05-05 11:58:53 556

原创 锁(三) 完成量

完成量用于一个执行单元等待另一个执行单元执行完某事。linux中完成量的主要操作    1,定义完成量  struct completion {                                           unsigned int done;                                           wait_queue_hea

2017-05-04 17:56:45 431

原创 锁(二) 信号量 读写信号量 互斥体

信号量是用于保护临界区的一种常用方法,它的使用方式和自旋锁类似。与自旋锁相同的是只有得到信号量的进程才能执行临界区代码。与自旋锁不同的是,当获取不到信号量时,进程不会原地打转而是进入休眠等待状态。linux中信号量的主要操作:    1,定义信号量  struct semaphore sem;    2,初始化信号量 void sema_init(struct semaphor

2017-05-04 11:58:42 569

xshell7 free for home/school

xshell7 free for home/school

2022-03-26

OpenResty 最佳实践

。由于之前一直混迹在 Python 圈子里面,也接触过 Nginx C 模块的高性能开发,一直想找到一个兼备 Python 快速 开发和 Nginx C 模块高性能的产品。看到 OpenResty 后,有发现新大陆的感觉。

2020-11-28

eBPF探索之旅-又拍云OpenTalk

BPF 基于寄存器虚拟机实现(支持 jit),实现了将过 滤包的逻辑移植到内核中: ① 用户态通过 BPF 接口将用户代码编译成字节码后, 尝试加载到BPF虚拟机中 ②内核校验用户的代码是否安全,如果安全,用户态 代码才能够在内核中运行

2020-11-28

COM技术内幕

COM技术内幕

2013-03-25

响应鼠标按下和抬起

响应鼠标按下和抬起

2013-01-25

MFC窗口切换

MFC窗口切换

2013-01-25

socket阻塞与非阻塞

socket阻塞与非阻塞

2013-01-25

CFile操作

CFile操作详解

2012-11-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除