Linux 设备驱动轮询编程
Linux系统下网络模型数select最为常用,当然,select只是检测文件系统数据状态,并不只局限于网络编程,select的功能需要底层驱动提供支持,其中核心应用即为等待队列,其他模型,如poll和epoll,对驱动来说并无区别,驱动只 …
分类
Linux系统下网络模型数select最为常用,当然,select只是检测文件系统数据状态,并不只局限于网络编程,select的功能需要底层驱动提供支持,其中核心应用即为等待队列,其他模型,如poll和epoll,对驱动来说并无区别,驱动只 …
在阅读Tun驱动时看到,有一些类似 add_wait_queue 的函数,这些函数正是执行等待队列的相关操作,要说等待队列还得从内核进程调度说起,内核调度系统内进程,分配时间片,但是有些进程如从网卡中读数据,在网卡有数据到达之前进程处于阻塞 …
select/poll模型一直是Linux长期以来使用较多的服务器模型,自从2.6内核引入epoll模型以后,我们又有了一种更加有效的服务器模型,一直以来都耳闻epoll模型对比select模型的优点,赞誉之声一片,他如何高效,高效到什么程 …
tun/tap驱动程序是Linux平台虚拟网卡驱动程序,驱动加载后会建立网络接口tun0,与其他网卡驱动不同的是,tun驱动并不会把到达的数据包发送出去,而是会暂时存储于队列之中,用户态进程可以通过read,write读写网络数据包,实质上 …
什么是字符驱动? 所谓驱动程序,本质上讲是硬件接口,因为操作系统不可能实现每种硬件的接口,所以只对厂商提供接口,只要厂商实现这些接口,就可被操作系统调用,Linux系统驱动程序分为字符设备驱动和块设备驱动,所谓字符设备驱动就是例如键盘驱动, …
AT&T BIOS模式 BIOS(Basic Input/Output System) 是基本输入输出系统,它是硬件之上的一层。为计算机提供了最基本的控制硬件方式,BIOS存储了基本的硬件信息,例如磁盘大小等,并负责引导系统。
这里写一个win32窗口程序,如果对c语言如何使用api创建窗口还不熟悉,请先学习win32 api的使用,网上有很多用masm编写win32程序的例子,使用masm编写win32程序也比较方便,这里便不再重复。
在MS-DOS下,没有保护模式与32位寄存器,程序可以直接调用BIOS中断,虽然DOS系统已经离我们远去,但是Intel CPU进入保护模式之前需在实模式下进行设置和跳转,所以实模式编程仍然具有一定的意义,在本篇中不介绍纯DOS环境下的 …
本篇介绍sse指令接,sse是流化SIMD扩展(Streaming SIMD Extension, SSE),提供全新的一组寄存器,处理128位打包数据。
这篇来介绍intel cpu的高级特性,SIMD-单指令多数据,从名字来看,就是执行一条指令可以计算多个数据。先从最简单的mmx指令集来看,在寄存器那篇已经提 到,mmx有 mm0-mm7 共8个64位寄存器,但是寄存器并非独立寄存器,而是 …