自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 收藏
  • 关注

转载 Linux驱动device_create创建字符设备文件

device_create能自动创建设备文件是依赖于udev这个应用程序。udev是一种工具,它能够根据系统中的硬件设备的状态动态更新设备文件,包括设备文件的创建,删除等。使用udev后,在/dev目录下就只包含系统中真正存在的设备。在/dev目录下可以找到一个名为testled的设备文件。在程序中调用class_create创建一个类,类名为testledclass。然后在调用device_create自动创建设备文件,设备名为testled。devt:设备号(此处的设备号为主次设备号)

2024-08-29 19:57:29 91

转载 Linux收到一个网络包后的处理流程详解

网卡收包大致的过程:1、网卡收到数据包,DMA 拷贝至 RingBuf,发出硬中断2、cpu 执行网卡注册的硬中断处理函数,将数据挂到 softnet_data 的 poll_list 上,发出软中断3、ksoftirq/x 处理软中断,将数据包从 RingBuf 中取出,交给协议栈4、协议栈层层处理,经网络层交给传输层,数据包被放到 socket 的接收队列中5、应用层调用 recvfrom 从接收队列中取数据。

2024-08-16 16:31:37 32

转载 多队列网卡及RPS/RFS/XPS设置

本文转自:https://blog.csdn.net/u010039418/article/details/102828441。

2024-08-15 13:56:33 129

转载 linux下的中断(interrupt)IRQ以及IRQ绑核小结

本文转自:https://blog.csdn.net/wangjianno2/article/details/50529991。

2024-08-13 18:12:03 180

转载 【linux】把进程/线程绑定到特定cpu核上运行

需要注意的是,并非掩码中给出的CPU核就一定会存在,比如0x00000400理论上代表CPU的第10号核,但是该核在真正的计算机上面并不一定是存在的。显示的十进制数字6—>转换为2进制是110,每个1对应一个cpu,所以进程运行在#1,#2cpu上(cpu从0开始)。某个进程需要较高的运行效率时,就有必要考虑将其绑定到单独的核上运行,以减小由于在不同的核上调度造成的开销。注意,cpu的标号是从0开始的,所以cpu1表示第二个cpu(第一个cpu的标号是0)。把某个进程/线程绑定到特定的cpu核上后,

2024-08-13 17:32:26 351

转载 【代码质量】如何使用Valgrind检测内存泄漏

C/C++相比其他高级编程语言,具有指针的概念,指针即是内存地址。C/C++可以通过指针来直接访问内存空间,效率上的提升是不言而喻的,是其他高级编程语言不可比拟的;比如访问内存一段数据,通过指针可以直接从内存空间读取数据,避免了中间过程函数压栈、数据拷贝甚至消息传输等待。指针是C/C++的优势,但也是一个隐患,指针是一把双刃剑,由于内存交给了程序员管理,这是存在隐患的;人嘛总会有疏忽的时候,如果申请了内存,一个疏忽忘记释放了,未释放的内存将不能被系统再申请使用,即是一直占用又不能使用,俗称内存泄露;

2024-08-07 16:42:03 314

转载 Linux V4L2驱动框架分析之(二):平台v4l2设备驱动

struct video_device的fops成员是驱动程序设置的**,但fops里的ioctl和poll成员可以不用驱动程序实现,内核提供的有实现好的函数,驱动程序可以这样设置struct video_device的fops成员:**平台V4L2设备驱动的工作:根据平台自身的特性实现与平台相关的V4L2驱动部分,最主要的是包括设置并注册video_device和v4l2_device。video_device为用户空间提供设备节点,提供系统调用的相关操作(open、ioctl…

2024-08-06 17:45:06 47

转载 交换机Vlan中 tagged和untagged的区别

pvid,tagged与untaggedpvid是交换机一个端口上的id,一个端口只能有一个pvid,多个端口可以有相同的pvid。

2024-04-07 16:36:36 1924

转载 Linux下netstat查看服务及监听端口详解

本文转自https://blog.csdn.net/wade3015/article/details/90779669在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询。

2024-02-23 10:56:33 1832 1

原创 Linux日志切割神器logrotate原理介绍和配置详解

在Linux环境中能够帮助我们分析问题蛛丝马迹的有效办法之一便是日志,常见的如操作系统syslog日志/var/log/syslog,应用程序Nginx日志/var/log/nginx/*.log。但如果服务器数量较多,日志文件大小增长较快,不断消耗磁盘空间就会触发告警,如果需要人为定期按照各种维度去手动清理日志就显得十分棘手。为了节省空间和方便整理,可以将日志文件按时间或大小分成多份,删除时间久远的日志文件,这就是通常说的日志滚动(log rotation)。

2023-11-23 14:46:47 1375

转载 Systemd 定时器教程

本文转自https://www.ruanyifeng.com/blog/2018/03/systemd-timer.htmlSystemd 作为 Linux 的系统启动器,功能强大。本文通过一个简单例子,介绍 Systemd 如何设置定时任务。这不仅实用,而且可以作为 Systemd 的上手教程。

2023-11-22 14:44:46 329

转载 systemd-analyze: Linux系统启动性能统计和分析

如果要查看所有正在运行的单元的列表,并且按照它们初始化所需的时间(最长时间)排序,我们可以使用blame子命令。最后,让我们看一个更重要的子命令,该子命令可以产生已启动的系统服务的图形化(svg格式)详细信息,并在何时突出显示其初始化时间,如下所示。从上面的输出中可以看到,每个单元都是基于花费的时间进行排序的,你可以简单地找出启动时哪个服务花费更长的时间并分析问题。接下来,我们还可以使用critical-chain子命令查看默认目标的时间关键链的树或指定单元的列表,如图所示。打印默认目标的时间关键链的树。

2023-11-09 17:49:28 277

转载 linux下如何查看当前内核的配置选项

答: zcat /proc/config.gz。

2023-10-20 16:30:25 256

转载 Linux中的spinlock机制

但锁保护的并不是这段代码本身,而是其中使用到的多核/多线程共享的变量,它「同步」(或者说串行化)的是对这个变量的访问,通俗的语义就是“我有你就不能有,你有我就不会有”。但是,当spinlock的值被更改时,所有试图获取spinlock的CPU对应的cache line都会被invalidate,因为这些CPU会不停地读取这个spinlock的值,所以"invalidate"状态意味着此时,它们必须重新从内存读取新的spinlock的值到自己的cache line中。但现实中更多的场景并不会那么简单,。

2023-09-20 19:33:19 349

转载 Linux中的spinlock机制 - API的使用

[TOC]不同场景下的spinlock实现的操作。

2023-09-20 16:35:41 185

转载 浅谈Linux内核的实时性优化

什么是实时操作系统?接触过嵌入式的小伙伴可能会知道,实时操作系统是指在嵌入式领域广泛应用的各类RTOS(Real Time Operating System)。其中最具代表性的有国外的μC/OS-III、FreeRTOS、Vxworks等,国内的代表有RT-Thread和LiteOS。在这些众多的RTOS系统里面既有开源的也有商业的,同时还有一些是行业专用的,比如enea公司推出的OSE系统就是通信行业早期的基站设备应用比较广泛的系统。

2023-09-19 14:30:29 1090

转载 红黑树的变色与旋转

对于“反斜线”,你用左手向下扳祖节点,让\变成⋀,所谓左旋。对于“小于号”,我们不能一步到位,直接把

2023-09-07 15:15:26 183

转载 C++基本概念总结——构造函数的public/protected/private语义

构造函数的public/protected/private语义

2023-07-21 10:05:16 402

转载 C++ 直接初始化和拷贝初始化

直接初始化和拷贝初始化

2023-07-20 16:45:22 130

转载 C++ 深入浅出工厂模式(进阶篇)

本文进阶篇,主要是将工厂类的封装性提高,达到新增产品时,也不需要修改工厂类,不需要新增具体的工厂类。封装性高的工厂类特点是扩展性高、复用性也高。

2023-07-20 11:41:05 117

转载 C++ 深入浅出工厂模式(初识篇)

简单来说,使用了C++多态的特性,将存在继承关系的类,通过一个工厂类创建对应的子类(派生类)对象。在项目复杂的情况下,可以便于子类对象的创建。

2023-07-20 11:08:53 57

转载 nmcli命令详解

【代码】nmcli命令详解。

2023-05-23 19:10:25 4352

转载 Linux服务管理命令service与systemctl

封装了有关下列对象的信息: 服务(service)、套接字(socket)、设备(device)、挂载点(mount)、自动挂载点(automount)、 启动目标(target)、交换分区或交换文件(swap)、被监视的路径(path)、任务计划(timer)、 资源控制组(slice)、一组外部创建的进程(scope)。service是Init系统下进行服务管理的命令,service命令本身是一个shell脚本,它在/etc/init.d/目录查找指定的服务脚本,然后调用该服务脚本来完成任务。

2023-05-23 15:09:11 889

转载 Ubuntu 添加新用户配置sudo权限

此命令仅从 sudo 组中删除用户 ostechnix,但不会永久地从系统中删除用户。现在,它成为了普通用户,无法像 sudo 用户那样执行任何管理任务。从 sudo 组中删除用户时请小心。不要从 sudo 组中删除真正的管理员。还可以使用以下命令将用户添加到 sudo 组。

2023-05-22 13:59:52 4528

转载 使用Dockerfile构建Docker镜像

Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。Docker程序将这些Dockerfile指令翻译真正的Linux命令。Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile。Docker程序将读取Dockerfile,根据指令生成定制的image。相比image这种黑盒子,Dockerfile这种显而易见的脚本更容易被使用者接受,它明确的表明image是怎么产生的。

2023-05-19 13:33:02 813

转载 VLAN讲解

VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。在此让我们先复习一下广播域的概念。广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围。严格地说,并不仅仅是广播帧,多播帧(Multicast Frame)和目标不明的单播帧(Unknown Unicast Frame)也能在同一个广播域中畅行无阻。

2023-05-15 14:07:42 231

原创 ubuntu下vlan使用配置

VLAN (Virtual Local Area Network)是将大的广播域划分为小的域的逻辑概念。VLAN协议基于IEEE 802.1Q。VLAN可以看作是一个子网。两个不同的子网在没有网桥或路由器的情况下无法相互通信。

2023-05-12 09:51:47 5020

原创 Linux下新加新磁盘分区及挂载

fdisk -l, lsblk,mkfs

2023-05-11 09:39:50 2822

转载 在 Linux 上分析二进制文件的 10 种方法

Linux 提供了一套丰富的工具,让分析二进制文件变得轻而易举。无论你的工作角色是什么,如果你在 Linux 上工作,了解这些工具的基本知识将帮助你更好地理解你的系统

2023-05-09 13:31:56 1542

转载 hypervisor介绍

hypervisor:一种运行在物理服务器和操作系统之间的中间层软件,可以允许多个操作系统和应用共享一套基础物理硬件。可以将hypervisor看做是虚拟环境中的“元”操作系统,可以协调访问服务器上的所有物理设备和虚拟机,所以又称为虚拟机监视器(virtual machine monitor)。hypervisor是所有虚拟化技术的核心,非中断的支持多工作负载迁移是hypervisor的基本功能。

2023-04-17 14:59:46 4257

转载 vim常用配置

vim常用配置

2022-04-27 20:31:27 429

转载 ARM汇编总结

uboot中 为什么需要重定位?本来代码是运行在0xd0020010的,但因为一些原因我们又希望代码实际是在0xd0024000位置运行的。这时候就需要重定位了

2022-04-20 15:30:29 219

转载 嵌入式 Linux开发Kernel移植(三)——Kernel工程Makefile分析

本文转自https://blog.51cto.com/9291927/1794808本文选择三星发布的基于SMDKV210开发板的linux 2.6.35.7版本kernel。一、Kernel Makefle体系简介1、Kernel Makefile体系组成Kernel Makefile体系包含Kconfig和Kbuild两个系统。Kconfig系统Kconfig对应的是内核配置阶段,makexxconfig就是在使用Kconfig系统。Kconfig由三部分组...

2020-06-01 15:33:38 810

转载 一文带你了解V4L2

本文转自https://linus.blog.csdn.net/article/details/1035019391.1、什么是v4l2V4L2(video for linux two的缩写)是Linux下关于视频采集相关设备的驱动框架,为驱动和应用程序提供了一套统一的接口规范。V4L2支持的设备十分广泛,但是其中只有很少一部分在本质上是真正的视频设备:Video capture de...

2020-03-31 15:33:18 883

转载 Linux内核中THIS_MODULE解析

本文转自https://blog.csdn.net/chdhust/article/details/8813450下面分析的代码均针对于内核2.6.18在module.h 中 THIS_MODULE的定义如下:extern struct module __this_module;#define THIS_MODULE (&__this_module)即是保存了__thi...

2020-03-31 11:26:19 1382

转载 Linux Core Dump

本文转自https://www.cnblogs.com/alantu2018/p/8468879.html当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump(中文有的翻译成“核心转储”)。我们可以认为 core dump 是“内存快照”,但实际上,除了内存信息之外,还有些关键的程序运行状态也会同时 dump 下来,例如寄...

2020-03-18 19:13:50 190

转载 make menuconfig中各设置项目查找

本文转自http://blog.chinaunix.net/uid-21830881-id-5759094.html以linux-2.6.29 内核版本为例通过 make menuconfig画面中的 各选项的关键字,查找其隶属于哪个Kconfig,即可知其隶属于哪部分源码中的选项。①删除包含 Kconfig关键字 以外的所有 文件linux-2.6.29$ find.!-...

2020-03-06 16:32:39 1410

转载 嵌入式Linux--menuconfig配置内核详解

本文转自https://www.veryarm.com/42482.htmlmenuconfig1.简介menuconfig是一套图像化配置工具,由ncurses库提供软件支持。ncurses库提供了一系列的函数以便使用者调用它们去生成基于文本的用户界面。menuconfig本身的软件只负责提供menuconfig工作的这一套逻辑,比如说通过上下左右调整光标,Enter选中等,并不负...

2020-03-06 16:15:01 1646

原创 解决 Ubuntu 挂载NTFS硬盘时 chmod 对 NTFS文件系统 失效的问题

我在VM12.0.1装的是ubuntu 14.04,当插入硬盘后对硬盘文件属性修改时均无效(chmod相关操作我都试个遍),查询后得知原因如下:因为 NTFS 分区格式不支持类 Unix 的权限,Ubuntu挂载NTFS分区的默认目录是/media ,如果把该分区手动挂载到别的目录,那么这个目录权限就会变化,改都改不了,在 mount 时可以设置。 不过呢还是有办法...

2020-03-06 10:53:39 2354

转载 什么是http及RFC?

本文转自https://blog.csdn.net/ZQ_KING/article/details/80320080这几天,阅读RFC2616认真学习一遍HTTP/1.1协议,一直认为要做互联网开发的话,一定要对于HTTP协议烂熟于胸,于是下定决心要将这个协议好好理解一遍。这两天,工作之余,拿着RFC就在那里读,对于HTTP协议有了不错的理解,对于其中的字段与机制有了一定的理解,于是静下心来,...

2020-02-27 13:19:02 1026

fordPass5.2.1.apk

fordPass5.2.1.apk

2024-03-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除