首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
linux网卡多队列源码
2024-11-02
多队列网卡简介以及Linux通过网卡发送数据包源码解读
http://blog.csdn.net/yanghua_kobe/article/details/7485254 首先我们看一下一个主流多队列网卡(E1000)跟多核CPU之间的关系图: 非多队列: linux的网卡由结构体net_device表示,一个该结构体对应一个可以调度的数据包发送队列. 数据包的实体在内核中以结构体sk_buff(skb),形如: 多队列: 一个网卡可以拥有多个队列 接下来,看看TX引擎是如何工作的(注:对于发送和接收数据包有两个名词,分别应对TX,RX) 解释: 函
linux线程池thrmgr源码解析
linux线程池thrmgr源码解析 1 thrmgr线程池的作用 thrmgr线程池的作用是提高程序的并发处理能力,在多CPU的服务器上运行程序,可以并发执行多个任务. 2 thrmgr线程池的原理 thrmgr并非像常规线程池那样,创建线程池时,创建固定数量的线程,线程一直存在,直到线程池被销毁.Thrmgr创建时只是分配线程池对象的变量,并初始化锁.条件变量等变量,并没有创建线程.当向线程池加入第一个任务时,开始创建第一个线程,处理任务,如果一直有任务,则会
Linux 内核调度器源码分析 - 初始化
导语 上篇系列文 混部之殇-论云原生资源隔离技术之CPU隔离(一) 介绍了云原生混部场景中CPU资源隔离核心技术:内核调度器,本系列文章<Linux内核调度器源码分析>将从源码的角度剖析内核调度的具体原理和实现,我们将以 Linux kernel 5.4 版本(TencentOS Server3 默认内核版本)为对象,从调度器子系统的初始化代码开始,分析 Linux 内核调度器的设计与实现. 调度器(Scheduler)子系统是内核的核心子系统之一,负责系统内 CPU 资源的合理分配,需要能处
Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装
原文:Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装 Linux内核分析(一) 从本篇博文开始我将对linux内核进行学习和分析,整个过程必将十分艰辛,但我会坚持到底,同时在博文中如果那些地方有问题还请各位大神为我讲解. 今天我们会分析到以下内容: 1. Linux体系结构简介 2. Linux内核源码简介 3. Linux内核配置.编译.安装 l Linux体系结构简介 1. Linux体系结构(linux系统构成)
Linux 系统下用源码包安装软件
Linux系统下用源码包安装软件 by:授客 QQ:1033553122 下载源码安装包,解压或者直接双击打开(如果有安装zip或rar等压缩/解压缩软件的话),查找相关的安装说明文件,一般是README,INSTALL这两个文件,这两个文件一般会告诉你怎么安装你所下载的软件,找到后用记事本或内部查看器打开,查看安装说明. 通常,会包含以下几个步骤,以下举例说明. 例:用源码包tsung-1.5.1.tar.gz安装tsung软件 #步骤1.解压软件源码包 [root@localhost sof
细说并发5:Java 阻塞队列源码分析(下)
上一篇 细说并发4:Java 阻塞队列源码分析(上) 我们了解了 ArrayBlockingQueue, LinkedBlockingQueue 和 PriorityBlockingQueue,这篇文章来了解剩下的四种阻塞队列. 读完本文你将了解: 七种阻塞队列的后四种 DelayQueue DelayQueue 的关键属性 实现 Delayed 接口 延时阻塞队列如何实现 DelayQueue 使用场景 SynchronousQueue LinkedTransferQueue Transfer
聊聊 JDK 非阻塞队列源码(CAS实现)
正如上篇文章聊聊 JDK 阻塞队列源码(ReentrantLock实现)所说,队列在我们现实生活中队列随处可见,最经典的就是去银行办理业务,超市买东西排队等.今天楼主要讲的就是JDK中安全队列的另一种实现使用CAS算法实现的安全队列. JDK 中的队列 在JDK中的队列都实现了 java.util.Queue 接口,下面就是楼主要说的无锁版本的队列实现: 队列名字 是否加锁 数据结构 LinkedTransferQueue 否 链表 ConcurrentLinkedQueue 否 链表 Link
转载~Linux 平台下阅读源码的工具
Linux 平台下阅读源码的工具 前言 看源代码是一个程序员必须经历的事情,也是可以提升能力的一个捷径.个人认为: 要完全掌握一个软件的方法只有阅读源码在Windows下有sourceinsight这个源码阅读软件(虽然我没用过,但是网上评价还不错),由于我是个Linuxer,并不喜欢用Windows,所以自然是选择在Linux下阅读源码的工具了.下面我将逐一介绍在Linux下阅读源码的工具. vim+ctags+cscope 源码阅读三剑客.vim配合ctags和cscope,足以在源代码里面
linux下获取软件源码包 centos/redhat, debian/ubuntu
linux下获取软件源码包 centos/redhat, debian/ubuntu centos下: 1. yum install yum-utils 主要为了获取yumdownloader 2. 将 /etc/yum.repos.d/CentOS-Sources.repo 里面的enabled打开: [base-source] name=CentOS-$releasever - Base Sources baseurl=http://vault.centos.org/centos/$rele
JDK数组阻塞队列源码深入剖析
JDK数组阻塞队列源码深入剖析 前言 在前面一篇文章从零开始自己动手写阻塞队列当中我们仔细介绍了阻塞队列提供给我们的功能,以及他的实现原理,并且基于谈到的内容我们自己实现了一个低配版的数组阻塞队列.在这篇文章当中我们将仔细介绍JDK具体是如何实现数组阻塞队列的. 阻塞队列的功能 而在本篇文章所谈到的阻塞队列当中,是在并发的情况下使用的,上面所谈到的是队列是并发不安全的,但是阻塞队列在并发下情况是安全的.阻塞队列的主要的需求如下: 队列基础的功能需要有,往队列当中放数据,从队列当中取数据. 所有的
基于Linux平台的libpcap源码分析和优化
目录 1..... libpcap简介... 1 2..... libpcap捕包过程... 2 2.1 数据包基本捕包流程... 2 2.2 libpcap捕包过程... 4 2.3 libpcap 1.3.0源码对照... 6 2.3.1 创建环形队列... 6 2.3.2 捕获数据包... 6 3..... libpcap捕包优化分析... 7 3.1处理流程单一:... 7 3.2高中断服务负荷:... 8 3.3
【驱动】DM9000A网卡驱动框架源码分析
Linux网络设备结构 首先看一下Linux网络设备的结构,如下图: 网络协议接口层向网络层协议提供提供统一的数据包收发接口,不论上层协议为ARP还是IP,都通过dev_queue_xmit()函数发送数据,并通过netif_rx()函数接受数据.这一层的存在使得上层协议独立于具体的设备. 网络设备接口层向协议接口层提供统一的用于描述具体网络设备属性和操作的结构体net_device,该结构体是设备驱动功能层中各函数的容器.实际上,网络设备接口层从宏观上规划了具体操作硬件的设备驱动功能层的结构.
【Linux 内核网络协议栈源码剖析】网络栈主要结构介绍(socket、sock、sk_buff,etc)
原文:http://blog.csdn.net/wenqian1991/article/details/46700177 通过前面的分析,可以发现,网络协议栈中的数据处理,都是基于各类结构体,所有有关于网络栈中数据包的状态,地址,端口等信息都封装在对应的结构中,可以说,了解这些数据结构是理解网络栈源码的基础,这里我们就来了解下网络协议栈中的各类数据结构.Linux 1.2.13 1.socket (include\linux\Socket.h)该结构体socket 主要使用在BSD socket
(转载)Linux如何编译安装源码包软件
一.什么是源码包软件: 顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件最常见:在国内源可见的软件几乎绝迹:大多开源软件都是国外出品:在国内较为出名的开源软件有fcitx;lumaqq;Lumaqq及scim等: 但软件的源代码可见并不等于软件是开源的,我们还要以软件的许可为准:比如有些软件是源码可见的,但他约定用户只能按他约定的内容来修改:比如vbb论坛程序:所以一个软件是否是开源软件,得具备两个条件:一是源代码可见:二是要有宽松的许可证书,比如GPL证书等: 在GN
Linux 安装node.js ---- 源码编译的方式
一 : 普通用户: 安装前准备环境: 1.检查Linux 版本 命令: cat /etc/redhat-release 2.检查 gcc.gcc-c++ 是否安装过 命令: rpm -q gcc rpm -q gcc-c++ 3.安装 gcc.gcc-c++ 命令: yum -y install gcc gcc-c++ kernel-devel 注意 : 如果是第一个安装,有可能 会报 错误:xxx is not in the sudoers file. This incident will
[原创]在Windows和Linux中搭建PostgreSQL源码调试环境
张文升http://ode.cnblogs.comEmail:wensheng.zhang#foxmail.com 配图太多,完整pdf下载请点这里 本文使用Xming.Putty和VMWare几款工具,在Windows桌面环境调用Ubuntu虚拟机上的图形界面进行PostgreSQL源码的调试.文中的所有步骤适合真机Ubuntu系统,只是所有图形界面的调用是在Windows桌面环境下.这样做,和直接在Ubuntu虚拟机中进行调试,并没有什么区别,只是我个人比较喜欢Windows下的一些工具的界
如何查看跟踪查看LINUX内核中的源码
我的博客:www.while0.com 最近看LINUX书籍时,根据书中代码找相应的函数或者结构定义相当吃力,根据网上资料按以下方法查找速度较快. 1.安装ctags 在源代码目录下运行 ctags -R 这样,会递归生成当前目录下及其子目录的tags文件. 2.使用VIM根据tags文件查找函数或结构定义. 1.在源码目录下查找 vi -t tagname 2.如果要在任意位置使用,则需要把该tags文件添加到~/.vimrc文件中 set tags=/home/money/sda8/2.62
Linux下编译Qt源码,一定要下载tar.gz版本,否则会报权限不足
首先下载qt-everywhere-opensource-src-4.8.1源码,下载地址: ftp://ftp.qt-project.org/qt/source/ 在Linux下编译一定要下载qt-everywhere-opensource-src-4.8.1.tar.gz 不能用qt-everywhere-opensource-src-4.8.1.zip,因为在configure时,会报没有权限和文本编码等错误. 编译Qt之前都需要安装tslib,具体安装方法请看:tslib安装. 由于配置
Linux系列教程(十三)——Linux软件包管理之源码包、脚本安装包
上篇博客我们讲解了网络yum源和光盘yum源的搭建步骤,然后详细介绍了相关的yum命令,yum 最重要是解决了软件包依赖性问题.在安装软件时,我们使用yum命令将会简单方便很多.我们知道yum命令只能安装rpm包,如果是源码包呢?我们又该如何安装,那么这篇博客我们主要介绍如何安装源码包. 1.源码包和RPM包的区别 在 Linux软件包管理之RPM命令 这篇博客中我们从概念上介绍了源码包和rpm包的区别. 源码包开源,如果有足够的能力,可以直接修改源代码.安装时可以自由选择所需的功能.软件是编译
Linux软件包管理之源码包、脚本安装包
目录 1.源码包和RPM包的区别 RPM包和源码包默认安装位置: 由于安装位置不同带来的影响 2.源码包安装 ①.安装准备 ②.安装注意事项 ③.安装源码包 3.源码包卸载 4.脚本安装包 5.总结 上篇博客我们讲解了网络yum源和光盘yum源的搭建步骤,然后详细介绍了相关的yum命令,yum 最重要是解决了软件包依赖性问题.在安装软件时,我们使用yum命令将会简单方便很多.我们知道yum命令只能安装rpm包,如果是源码包呢?我们又该如何安装,那么这篇博客我们主要介绍如何安装源码包. 回到顶部
linux学习笔记-lrmi源码包的编译安装方法
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 官方的lrmi包没有人更新了,如果碰到需要这个编译安装这个包,可以参考我的解决思路,如下: https://pkgs.org/这个linux包的检索网站可以找到一些linux发行版本所使用的包 1.在以上网站找到它的源码包,在它的源码包里面找patch文件,也就是这些发行版本为这个包写的补丁文件,把他加载到官方包里面,在对官方包进行编译安装 2.在以上网站找到它的二进制包,对照官方包里面Makefile文件里面,instal
热门专题
obs适用于Macos10.12
centos7 将容器 ip地址设置成和宿主机同网段
如何让文字不能撑开盒子
odoomany2one添加默认筛选
badsqlgrammarexception是什么意思
asp 模拟post请求
edittext只允许输入32为
npoi 读取有公式的Excel
python selenium 鼠标发送tab键
jsonb 数组 索引 模糊查询
ViewerJs 路径
多行转换成字符串sql
promise all如果一个任务报错,如何继续执行
jquery转vue需要多少经验
oracle如何查看redo有坏块
qq邮箱设置了独立密码 foxmail 不能登录
QT char 转unsigned int
请给出一个脚本,使用 alias 命令,使
前端UI组件库怎么发布新版本
es 搜索年月数据,分组后过滤