Linux 中的 ioctl 系统调用是一种用于设备驱动程序的接口,它允许用户空间程序与内核空间通信。在 Linux 内核中,ioctl 被用于配置设备、发送控制命令和获取/设置设备状态等操作。一般而言,ioctl 的参数为设备文件描述符、请求参数和一个指向用户空间缓冲区的指针。用户空间程序可以通过 ioctl 调用直接操作设备,但是这需要在内核空间中编写相应的驱动程序来支持这些操作。
在 Li
原创
2024-05-06 11:33:01
45阅读
说明1、TCP是可靠的数据连接,send过去的数据,一定会被对方接收到,除非连接断开。 2、TCP和上层应用之间是网络层和应用层之间的关系,TCP收到的ACK只能表明对端TCP收到了相应的数据在内核缓存中,对端应用是否读取到了这条消息,是不能判断的3、每个TCP socket在内核中都有一个发送缓冲区和一个接收缓冲区。socket 接收缓冲区1、接收缓冲区把数据缓存入内核,应用进程一直没有调用re
转载
2023-09-05 15:54:53
362阅读
没有生成这个文件可以自建 或者生成自己项目通过账户。,如果看到buf的版本号,表示安装成功。(如果你
在Linux系统中,FIFO(First In First Out)管道是一种特殊的文件类型,用于实现进程之间的通信。FIFO管道是一种命名管道,可以在文件系统中创建,并允许不相关的进程之间通过读写同一个管道文件来进行通信。在Linux系统中,FIFO的最大缓冲区大小由PIPE_BUF常量决定,该常量通常为4096字节。
PIPE_BUF是Linux系统中管道缓冲区的最小原子单位,它定义了在一个
原创
2024-04-29 12:24:45
112阅读
一.inode size 定义 单位:Byte inode table sample inode table是data area的索引表。 Inode分为内存中的inode和文件系统中的inode,我们这里说的是文件系统中的inode。 1. linux FS 可以简单分成 inode table与data area两部份。inode table上有许多的inode, 每个inode分别记录一个档
linux低版本bug 建议升一下版本。 实在不行自己include<type.h>然后自定义宏 ...
转载
2021-07-16 15:35:00
1041阅读
2评论
在Linux系统中,写文件是非常常见的操作。使用write函数来写文件是一个常见的方法。但是如何写文件最快呢?在这里我们将讨论使用缓冲区(buf)的方式来提高写文件的效率。
在Linux系统中,写文件是一个比较耗时的操作。每次调用write函数写入一个字节,都会导致系统调用,这会引起额外的开销。为了减少系统调用的次数,我们可以使用缓冲区来一次性写入多个字节。
缓冲区是一个内存区域,用来暂时存储
原创
2024-03-26 11:04:45
284阅读
表达式类型值(示例地址)表达式 + 1结果与含义。
dmabuf 是一个驱动间共享buf 的机制,他的简单使用场景如下:用户从DRM(显示驱动)申请一个dmabuf,把dmabuf 设置给
buf 就是基于buf 开发的,有不少实践可以参考学习 buf buf 项目结构 如下图 使用说明 buf.yaml 主
原创
2022-09-25 00:03:12
246阅读
RHCSA:虚拟机环境下的Linux系统安装与基础配置本人使用机器环境: windows10是64位 企业长期服务版 已开启电脑开启虚拟化功能 WORKSTATION 14 PRO 可用内存最少2G 需要的rhel-server-7.2-x86_64-dvd.iso镜像文件 Xshell系统安装之前确认已经把杀毒软件或防火墙关闭安装步骤: 1.打开VMware 创建新的虚拟机 选择“自定义"并点击
linux先来几个热热身1.顺便讲一下shell2.再说一下Linux命令的分类3.再来几个偷懒小技巧和在你键盘有键损坏的替补4. CD命令集结5.ls 列表显示目录内容6.Du 系统目录及文件空间占用清空7.Mkdir 创建新的空目录8.touch 创建空文件9.ln 创建连接文件 以及软硬链接详解10. cp 复制文件或目录11.下面介绍介绍能不用就不用的 rm 删除文件或目录12. MV
转载
2024-07-26 10:19:54
83阅读
shutdown –h now:立刻进行关机
shutdown –r now:现在重新启动计算机
reboot:现在重新启动计算机
su -:切换用户;passwd:修改用户密码
logout:用户注销
tab = 补全
ctrl + l -:清屏,类似clear命令
ctrl + r -:查找历史命令(history);ctrl+c = 终止
ctrl+k = 删除此处至末尾所有
转载
2024-06-25 13:02:46
129阅读
buf.readDoubleBE(offset[, noAssert]) buf.readDoubleLE(offset[, noAssert]) offset {Number} 0 noAssert {Boolean} 默认:false 返回:{Number} 从该 Buffer 指定的带有特定尾
转载
2018-11-05 13:25:00
182阅读
2评论
buf.fill(value[, offset[, end]][, encoding]) value {String} | {Buffer} | {Number} offset {Number} 默认:0 end {Number} 默认:buf.length encoding {String} 默认
转载
2018-11-05 12:45:00
142阅读
2评论
类的初始化顺序是老生长谈的问题。但是它仍然是面试中常见的,也可以说是不可缺少的题目。因为在项目开发过程中,经常会因为这个出现BUG,且这样的BUG一般很难查。
从C语言转用java语言的人常常会这样写代码:
public class Sample {
private String str = null; // str = "";
privat
转载
2024-07-13 04:58:09
19阅读
清理缓存echo 1 > /proc/sys/vm/drop_cachesecho 2 > /proc/sys/vm/drop_cachesecho 3 > /proc/sys/vm/drop_caches清理脚本 purgeCache.sh#!/bin/bash
mem_now=`free -m | awk 'NR==2' | awk '{print $4}'`
bu
转载
2024-07-02 10:25:38
132阅读
# 清空或删除大文件内容的五种方法:# 法一:通过重定向到 Null 来清空文件内容$ >test.sh# 法二:使用 ‘true' 命令重定向来清空文件$ true > test.sh# 可通过下列命令来查看文件容量是否为0$ du -h test.sh 0 test.sh# 法三:使用 cat/cp/dd 实用工具及 /dev/null 设备来清空文件$ cat /dev/null
转载
2024-02-29 14:20:58
202阅读
buf.readUIntBE(offset, byteLength[, noAssert]) buf.readUIntLE(offset, byteLength[, noAssert]) offset {Number} 0 byteLength {Number} 0 noAssert {Boolea
转载
2018-11-05 13:31:00
114阅读
2评论
buf.includes(value[, byteOffset][, encoding]) value {String} | {Buffer} | {Number} byteOffset {Number} 默认:0 encoding {String} 默认:'utf8' 返回:{Boolean} 该
转载
2018-11-05 13:13:00
139阅读
2评论