![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 68
惜朝_
这个作者很懒,什么都没留下…
展开
-
Linux串口阻塞与非阻塞
在串口设置中,有以下两个参数可以决定是否阻塞。O_NONBLOCKO_NDELAYO_NONBLOCK和O_NDELAY所产生的结果都是使I/O变成非搁置模式(non-blocking),在读取不到数据或是写入缓冲区已满会马上return,而不会搁置程序动作,直到有数据或写入完成。它们的差别在于设立O_NDELAY会使I/O函式马上回传0,但是又衍生出一个问题,因为读取到档案结尾...转载 2018-04-14 21:24:55 · 2702 阅读 · 0 评论 -
Linux系统调用--getrlimit()与setrlimit()
功能描述: 获取或设定资源使用限制。每种资源都有相关的软硬限制,软限制是内核强加给相应资源的限制值,硬限制是软限制的最大值。非授权调用进程只可以将其软限制指定为0~硬限制范围中的某个值,同时能不可逆转地降低其硬限制。授权进程可以任意改变其软硬限制。RLIM_INFINITY的值表示不对资源限制。用法:#include <sys/resource.h>int getrli...转载 2018-04-16 16:10:35 · 191 阅读 · 0 评论 -
读Linux内核kfifo
内核kfifo简约高效,匠心独运,有一下特点:保证缓冲区大小为2的次幂,不是的向上取整为2的次幂。使用无符号整数保存输入(in)和输出(out)的位置,在输入输出时不对in和out的值进行模运算,而让其自然溢出,并能够保证in-out的结果为缓冲区中已存放的数据长度。将需要取模的运算用 & 操作代替( a % size = (a & (size − 1)) ), 这需...原创 2018-04-12 09:25:32 · 1077 阅读 · 0 评论