操作系统
-
Linux网络发包工具 | Sendip
Sendip 是一个Linux平台的命令行网络发包工具,目前支持的协议有IPv4、TCP、BGP、ICMP、UDP、RIP、NTP、IPv6、ICMPv6、RIPng。S…
-
Linux驱动 | 驱动与单个PCI设备的绑定和解绑定
一、前言 在Linux内核2.6.13-rc3以前,驱动和设备之间的绑定和解绑只能通过insmod(modprobe)和rmmod来实现,但是这种实现方法有一个弊端,就是一旦绑定或…
-
Linux驱动 | modprobe加载oot驱动与重启系统后自动加载oot驱动分析总结
一、前言 在做Linux驱动开发及调试的过程中,经常会遇到需要手动修改及编译驱动源代码、加载编译出来的oot驱动的情况。刚开始做Linux驱动开发的时候,老员工告诫我在调试驱动的时…
-
《Open vSwitch玄机解读》|【1】OvS 数据包转发原理及命令解析总结
一、Open vSwitch介绍 1、vSwitch功能 vSwitch(Virtual Switch)指虚拟交换机或虚拟网络交换机,工作在二层数据网络,通过软件方式实现物理交换机…
-
《Open vSwitch玄机解读》|【2】OvS编译安装、自启动服务与卸载
一、前言 首先验证内核版本uname -r与你下载的OvS版本是否匹配(必须),目前 OvS-3.2.1 最高只支持内核5.8! 【版本适配关系表】 Linux…
-
《Open vSwitch玄机解读》| 【疑难杂症一】系统重新启动后,vSwitch数据库连接失败
一、前言 每次重启完Linux操作系统后,ovs-vsctl 命令都无法执行,报 ovs-vsctl: unix:/usr/local/var/run/open…
-
udev动态管理Linux内核设备 | 操作系统重启/开机重命名网卡及配置SR-IOV功能
一、udev机制简介 udev是一个通用的内核设备管理器,u是usersapce(用户空间)的缩写。udev机制是Linux kernel的设备管理机制,它以守护进程的方式运行于L…
-
【CMake学习笔记】| 模块化项目管理(一)
一、CMake是什么? CMake 是一个跨平台的项目构建工具。我们所熟知的项目构建工具还有Makefile(通过 make 命令进行项目的构建),大…
-
【CMake学习笔记】 | 预定义变量(二)
一、内置变量 变量 功能 PROJECT_NAME 通过PROJECT()命令指定的项目名称 CMAKE_PROJECT_NAME 当前项目的名称 PROJECT_SOURCE_D…
-
【CMake学习笔记】| 常用基础指令总结(三)
本篇文章重点介绍 CMakeLists.txt 的基础语法和常用指令。 1、基础语法 cmake 其实仍然要使用 “cmake 语言和语法”…
-
【CMake学习笔记】| CMake调用不同生成器(Unix Makefiles/Ninja)构建及编译C/C++项目(四)
对于 CMake ,我一直理解为项目构建工具,直到遇到 –build 才发现,CMake 还统一了各个平台的编译阶段。要了解&n…
-
【Python学习笔记】| Python 虚拟环境
当用 Python 开发软件时,一个基本的方法是在你的机器上安装 Python,通过终端安装所有需要的库,在一个 .py 文件或笔…
-
【Python学习笔记】| PyPI 使用国内源(pip更换国内源)
今天,我在学习及实践使用 Python 虚拟环境时,下载相应库文件,直接使用 pip 下载,结果因下载速度过于实在太慢导致始终无法下载成功,…
-
Linux平台使用LD_PRELOAD劫持和注入程序
Linux 平台下,涉及动态链接的程序,在程序启动时,首先运行的是动态链接器(runtime dynamic linker),检查程序所需要的动态库文件并加载到进程的虚拟…
-
Linux多线程同步机制–互斥锁(mutex)
引言 在Linux多线程编程中,互斥锁(Mutex)是一种非常重要的同步机制,用于控制对共享资源的访问,确保在任意时刻只有一个线程可以访问特定的资源或代码段,即临界区。互斥锁的主要…
-
Linux多线程同步机制–自旋锁(Spin Lock)
引言 在 Linux 操作系统的多线程编程领域中,合理的同步机制是确保数据一致性和线程安全的关键。自旋锁(Spin Lock)作为一种轻量级的同步手段,在特定的…