原文地址USB
HID报告及报告描述符简介在USB中,USBHOST是通过各种描述符来识别设备的,有设备描述符,配置描述符,接口描述符,端点描述符,字符串描述符,报告描述符等等。USB报告描述符(ReportDescriptor)是HID设备中的一个描述符,它是比较复杂的一个描述符。USBHID设备...
分类:
其他好文 时间:
2014-05-17 13:28:57
阅读次数:
313
1.每个Linux进程都有一个最大打开文件数,默认情况下,最大值是1024文件描述符不仅可以引用普通文件,也可以引用套接字socket,目录,管道(everything
is a file)默认情况下,子进程会获得其父进程文件表的完整拷贝2.打开文件open系统调用必须包含 O_RDONLY,O_W...
分类:
系统相关 时间:
2014-05-14 08:17:28
阅读次数:
674
前言:
Linux,unix在内核中设有 缓冲区高速缓冲或页面高速缓冲,大多数磁盘I/O都通过缓冲进行,采用延迟写技术。
sync:将所有修改过的快缓存区排入写队列,然后返回,并不等待实际写磁盘操作结束
fsync:只对有文件描述符制定的单一文件起作用,并且等待些磁盘操作结束,然后返回。
fdatasync:类似fsync,但它只影响文件的数据部分。fsync还会同步更...
分类:
系统相关 时间:
2014-05-13 08:57:25
阅读次数:
507
1.OpenFileDescriptorsLinux在系统调用,大量的系统调用都依赖于文件描述符,而文件描述符可分配给进程的最大大小由资源限制来定义。因此,如果文件描述符大小不够,或有不正常网络连接(Socket也算)、文件IO没有关闭并释放出文件描述符。也可以说是文件句柄(FileOperator),..
分类:
系统相关 时间:
2014-05-13 02:24:29
阅读次数:
470
1.中断描述符表(IDT),将每个异常或中断向量分别与它们的处理过程联系起来。与GDT和LDT类似,IDT也是由8字节长度的描述符组成。IDT空描述符的存在标志位必须是0。IDT表可以驻留在线性地址空间的任何地方,处理器使用IDTR寄存器来定位IDT表的位置。
LIDT指令可以把内存中的限长值和基地址操作数加载到IDTR寄存器中,该指令仅能由当前特权级CPL是0的代码执行,通常被用于创建...
分类:
其他好文 时间:
2014-05-11 20:12:21
阅读次数:
310
引言:
对于一个普通的文件,我们可以想到的对它的操作有,读取文件的内容、写数据到文件中,这些都是前面提到的read、write函数的作用。除此之外,还可以获取文件的其他性质,并对这些性质进行修改,比如文件的描述符、文件描述符标记、文件状态标志等等。这些对文件性质的修改就由fcntl函数完成。
函数介绍:
#include
#include
...
分类:
系统相关 时间:
2014-05-11 18:24:05
阅读次数:
335
C++11中为了帮助程序员写继承结构复杂的类型,引入了虚函数描述符override
重载虚函数 就加上关键字override 这样编译器可以辅助检查是不是正确重载,如果没加这个关键字 也没什么严重的error 只是少了编译器检查的安全性...
分类:
编程语言 时间:
2014-05-11 05:25:30
阅读次数:
382
fstat函数用于返回关于文件的信息到一个struct stat结构中,stat结构中的st_mode可以用来区分文件类型。
struct stat {
dev_t st_dev; /* ID of device containing file */
ino_t st_ino; /* inode ...
分类:
其他好文 时间:
2014-05-09 02:01:26
阅读次数:
379
高级I/O
非阻塞IO
非阻塞I/O使我们可以调用open、read和write这样的I/O操作,并使这些操作不会永久阻塞。如果这种操作不能完成,则调用立即出错返回,表示该操作如继续执行将阻塞。
对于一个给定的描述符有两种方法对其指定非阻塞I/O:
1) 如果调用open获得描述符,则可指定O_NONBLOCK标志
2) 对于已打开的一个描述符,则可调用fcntl,由...
分类:
系统相关 时间:
2014-05-09 01:16:55
阅读次数:
577