自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

~~ LINUX ~~

~~ LINUX ~~

  • 博客(17)
  • 资源 (10)
  • 收藏
  • 关注

转载 C语言宏的用法详解

1、简介宏在C语言中是一段有名称的代码片段。无论何时使用到这个宏的时候,宏的内容都会被这段代码替换掉。主要有两种宏,他们的区别主要是在使用上面,一种是在使用时类似于数据对象称为Object-like,另一种在使用时类似于函数调用称为Function-like。在C语言使用#define来定义宏你可以将任意的有效的标识符定义为宏,设置C语言的关键字也可以。但是在C语言中defined不可以作...

2019-06-28 08:55:17 18128 4

转载 DPDK-UIO 驱动认识

缘由前期学习了一些DPDK的demo,了解了一些基础DPDK的应用。对dpdk的一些底层原理没做过多分析,今天主要学习用户态驱动程序的实现情况。用户态驱动程序UIOUIO(Userspace I/O)是运行在用户空间的I/O技术。Linux系统中一般的驱动设备都是运行在内核空间,而在用户空间用应用程序调用即可。UIO的内核部分和用户空间的工作内核空间UIO的少量运行在内核空...

2019-06-19 09:28:10 1416

转载 Intel DPDK 源代码分析

作者:王智民贡献者:创建时间:2013-8-8稳定程度:初稿修改历史 版本 日期 修订人 说明 1.0 2013-8-8 王智民 初稿 ...

2019-06-19 09:21:26 4869 1

转载 Perf -- Linux下的系统性能调优工具

Perf 简介Perf 是用来进行软件性能分析的工具。通过它,应用程序可以利用 PMU,tracepoint 和内核中的特殊计数器来进行性能统计。它不但可以分析指定应用程序的性能问题 (per thread),也可以用来分析内核的性能问题,当然也可以同时分析应用代码和内核,从而全面理解应用程序中的性能瓶颈。最初的时候,它叫做 Performance counter,在 2.6.31 中...

2019-06-19 09:19:23 440

转载 Epoll原理解析

从事服务端开发,少不了要接触网络编程。Epoll 作为 Linux 下高性能网络服务器的必备技术至关重要,Nginx、Redis、Skynet 和大部分游戏服务器都使用到这一多路复用技术。Epoll 很重要,但是 Epoll 与 Select 的区别是什么呢?Epoll 高效的原因是什么?网上虽然也有不少讲解 Epoll 的文章,但要么是过于浅显,或者陷入源码解析,很少能有通俗易懂的。...

2019-06-19 09:17:41 83432 74

原创 TCP/IP协议简介

从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议。实际生活当中有时也确实就是指这两种协议。然而在很多情况下,它只是利用 IP 进行通信时所必须用到的协议群的统称。具体来说,IP 或 ICMP、TCP 或 UDP、TELNET 或 FTP、以及 HTTP 等都属于 TCP/IP 协议。一、 计算机网络体系结构分层计算机网络体系结构分层计...

2019-06-19 09:15:58 971

转载 dpdk对虚拟化的支持

目录:虚拟化 dpdk的实现研究 virtio vhost SR-IOV 热迁移相关 研究拓展本文记录近期对dpdk在虚拟化和云计算领域应用的研究成果,内容梳理如下。虚拟化虚拟化,抽象来说,就是将物理资源逻辑化。具体来说,虚拟技术的实现是在系统中加入一个虚拟化层(也就是hypervisor),将下层的物理资源(如disk,nic,cpu,memory等)抽...

2019-06-19 08:59:50 1967

转载 DPDK设备驱动的匹配和初始化

前言:DPDK使用了UIO(用户空间I/O)的机制,跳过内核态的网卡驱动,转而使用用户态的收发包驱动,从驱动到内存和数据包,继而到数据包的处理,这是一个完整的收发包流程。这篇主要介绍设备驱动的初始化,和收发包的处理。所选代码以DPDK-17.02版本为依据。数据包的驱动初始化是在rte_eal_init()进行的,总体上分为2个阶段进行。1.第一阶段是rte_eal_pci_init(),...

2019-06-19 08:50:16 1629

转载 DPDK收发包全景分析

前言:DPDK收发包是基础核心模块,从网卡收到包到驱动把包拷贝到系统内存中,再到系统对这块数据包的内存管理,由于在处理过程中实现了零拷贝,数据包从接收到发送始终只有一份,对这个报文的管理在前面的mempool内存池中有过介绍。这篇主要介绍收发包的过程。一、收发包分解收发包过程大致可以分为2个部分1.收发包的配置和初始化,主要是配置收发队列等。 2.数据包的获取和发送,主要是从队列中获...

2019-06-19 08:27:21 797

转载 DPDK性能优化技术汇总

Memory AccessAddress Alignment在内存中存取一个变量最高效的方式是将其放在一个可以被它的长度整除的地址上。(void *)&variable % sizeof(variable) == 0所谓的按某个长度对齐就是这个意思。GCC编译器会自动帮我们处理这些事情。比较特殊的方式是将一个大型的结构体,或者静态数组按64byte的方式对齐:in...

2019-06-19 08:25:05 4302 1

转载 对YANG的解读

1 为什么要有YANGnetconf需要对设备的配置(configuration)和状态(state)做操作,例如编辑配置,获取状态,因此需要一种语言来对configuration和state进行建模,甚至连“操作”也可以通过YANG来建模。建好的模型,最后以XML的形式进行实例化。打个比方,我需要向领导请假,领导说你写个请假单,包含请假人的姓名,请假的起止时间,请假事由和代理人。于是我做了一个...

2019-06-19 08:08:23 2988

转载 Linux 的虚拟文件系统(真正理解“一切皆文件”)

Linux 中允许众多不同的文件系统共存,如 ext2, ext3, vfat 等。通过使用同一套文件 I/O 系统 调用即可对 Linux 中的任意文件进行操作而无需考虑其所在的具体文件系统格式;更进一步,对文件的 操作可以跨文件系统而执行。1,引言Linux 中允许众多不同的文件系统共存,如 ext2, ext3, vfat 等。通过使用同一套文件 I/O 系统 调用即可对 L...

2019-06-18 23:08:47 1050

转载 详解:Linux网络虚拟化技术

Linux的网络虚拟化是LXC项目中的一个子项目,LXC包括文件系统虚拟化,进程空间虚拟化,用户虚拟化,网络虚拟化,等等,这里使用LXC的网络虚拟化来模拟多个网络环境。本文从基本的网络设备讲起,到具体实验环节,希望能对 Linux 本身的虚拟网络环境有一个宏观的了解。TUN 设备TUN 设备是一种虚拟网络设备,通过此设备,程序可以方便得模拟网络行为。先来看看物理设备是如何工作的:...

2019-06-18 22:59:18 2836

转载 一文带你全面了解虚拟机的四种网络模型(图文并茂)

01. 从物理网络到虚拟网络著名的「六度分隔定理」说到,世界上任何两个互不相识的人,只需要最多六个人就能够建立起联系。这个定理成立的前提就是依托于庞大的网络结构。在虚拟化技术没出现之前,构成网络的元素都是实体的物理设备,比如交换机、路由器、网线等等,人们想要构建一个小型的局域网自己玩玩,都要买各种设备,成本高还不灵活。虚拟化技术普及之后,云计算开始大行其道,我们在自己的单机上就可以建各种虚...

2019-06-18 22:52:48 1165

转载 Yang语言初学

1.Yang 中涉及到的RPC 和Notification概念对一个对象进行建模基本都包含三个部分:一:对象的数据结构二:可以对该对象进行的操作(rpc)三:该对象可以做出响应(notification)而yang里面的rpc就是定义了一系列操作,而notification就是定义了一系列的通知事件。而rpc和notification的机制,简单理解就是:rpc是函数调用,noti...

2019-06-18 19:09:25 1815 1

转载 VPP node-graph编排过程

VPP处理报文时是沿着一个有向图进行处理的,每一个功能单元称之为节点(node)。数据结构静态数据结构节点全局管理结构vlib_node_main_ttypedef struct{ /* Public nodes. */ /* 节点指针数组,使用下标作为索引 */ vlib_node_t **nodes; /* Node index has...

2019-06-18 11:34:04 3998 1

转载 VPP接口层分析

接口层是硬件驱动和上层软件之间一层抽象代码,屏蔽硬件的差异,为上层软件提供一些统一的操作接口。上层软件调用接口层的操作进行报文的读入与发出,同时可以进行硬件设备的设置以及相关信息(比如统计数据)的读取。​ vpp支持多种驱动类型的网络设备,比如dpdk,netmap,af_packet等等。同一种驱动的物理设备可以有多个,比如一个设备可以有多个dpdk接口,因此抽象了链路层接口hw_in...

2019-06-18 11:08:25 3585

汇编语言 王爽

汇编语言 王爽写的好书,学习汇编不错的入门书籍

2013-07-30

ARM硬件结构

学习ARM的硬件体系结构,可以入门看看,或者给别人讲解使用

2013-07-30

基于ARM的嵌入式程序设计

学习ARM体系、学习基于ARM的嵌入式程序设计方法,入门

2013-07-30

ARM体系结构

ARM体系结构介绍,用于学习ARM体系结构

2013-07-30

攻克U-BOOT资料汇总---找了好多关于U-BOOt的移植资料

攻克U-BOOT资料汇总---找了好多关于U-BOOt的移植资料,大家可以参考下

2011-03-15

18B20温度传感器

18B20温度传感器,搞这个的可以看看,介绍了温度传感器的应用

2010-08-21

空空如也

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

TA关注的人

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