- 博客(4)
- 资源 (18)
- 收藏
- 关注
原创 Linux网卡名称的生成规则
eth0, eth1这些名称是怎么来的呢?内核发现一个pci网卡设备,调用网卡驱动的probe函数。probe函数在做完一定的初始化之后,会调用内核接口register_netdev向内核注册一个新的net_device设备。这个设备的名字,网卡驱动程序往往只决定其中一部分。就像下面这种方式,网卡驱动提供一个“eth%d”这样的名称,然后调用内核接口register_n
2015-01-23 14:04:19 7023
原创 windows程序如何实现精准定时
有朋友问我,“小兵以太网测试仪”这个软件,是如何控制发包频率的。我想想,干脆写一篇文章来聊聊这个问题吧。windows下,每当一个程序设定的定时器时间到了,windows会给程序发送一个WM_TIMER消息。根据著名的windows编程书籍《Windows程序设计》的描述(在第8章),我们知道,windows的定时器有如下的缺陷:1. 精度不高windows
2015-01-21 20:57:32 1875
原创 Linux内核中实现生产者与消费者(避免无效唤醒)
本文关注的重点是,避免内核线程的无效唤醒,并且主要是关注消费者线程的设计。因此,为了省事,这里关与生产者,消费者本身的处理流程可能不够严密。1. 生产者一个内核线程,每生产一个商品后,就唤醒消费者,然后自己睡眠1秒钟。2. 消费者一个内核线程,每当被唤醒后,就消费商品,然后进入睡眠。对于消费者线程的这种设计,有几个好处:响应快,平时不占任何cpu。但这种
2015-01-10 11:03:08 1880
原创 Linux内核proc文件系统使用示例
/* * kernel programming test code * * Copyright (C) 2014 Sun Mingbao * Dual licensed under the MIT and/or GPL licenses. * */ #include #include #include #include #include #in
2015-01-10 09:25:12 1505
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人