6 大哥您好

尚未进行身份认证

暂无相关简介

等级
TA的排名 16w+

Linux 网络协议栈收消息过程-Ring Buffer

想看能不能完整梳理一下收消息过程。从 NIC 收数据开始,到触发软中断,交付数据包到 IP 层再经由路由机制到 TCP 层,最终交付用户进程。会尽力介绍收消息过程中的各种配置信息,以及各种监控数据。知道了收消息的完整过程,了解了各种配置,明白了各种监控数据后才有可能在今后的工作中做优化配置。所有参考内容会列在这个系列最后一篇文章中。Ring Buffer 相关的收消息过程大致如下:图片...

2020-01-16 16:21:12

宋宝华:关于linux内存管理中DMA ZONE和dma_alloc_coherent若干误解的澄清

1.DMA ZONE的大小是16MB?这个答案在32位X86计算机的条件下是成立的,但是在其他的绝大多数情况下都不成立。首先我们要理解DMA ZONE产生的历史原因是什么。DMA可以直接在内存和外设之间进行数据搬移,对于内存的存取来讲,它和CPU一样,是一个访问master,可以直接访...

2020-01-16 15:40:10

raw socket编程

从应用开发的角度看,SOCK_STREAM、SOCK_DGRAM 这两类套接字似乎已经足够了。因为基于 TCP/IP 的应用,在传输层的确只可能建立于 TCP 或 UDP 协议之上,而这两种套接字SOCK_STREAM、SOCK_DGRAM 又分别对应于 TCP 和 UDP,所以几乎所有所有的应用都可以使用这两种套接字来实现。但是,从另外的角度,这两种套接字有一些局限:怎样发送一个 ICM...

2019-12-31 16:53:31

是谁关闭了Linux抢占,而抢占又关闭了谁?

前言本人的目的在于解惑,把读者从糊里糊涂的状态解救出来。本文对比分析:preempt_disable() local_irq_disable()/local_irq_save(flags) spin_lock() spin_lock_irq()/spin_lock_irqsave(lock, flags)哪些关闭了抢占?另外,再说清楚,抢占又关闭了谁。首先,把这几个API...

2019-12-12 15:16:33

多级页表如何节约内存

前言在学习计算机组成原理时,书中谈到,"使用多级页表可以压缩页表占用的内存",在了解了多级页表的原理后,恐怕对这句话还是理解不了:把页表换成多级页表了就能节约内存了?不是还是得映射所有的虚拟地址空间么?比如做个简单的数学计算,假如虚拟地址空间为32位(即4GB)、每个页面映射4KB以及每条页表项占4B,则进程需要1M个页表项(4GB / 4KB = 1M),即页表(每个进程都有一个页表)占...

2019-11-05 14:40:04

ARM汇编伪指令

GNU平台无关符号定义伪指令.global,.local,.set,.equ.global使得符号对连接器可见,变为对整个工程可用的全局变量.global symbol.local表示符号对外部不可见,只对本文件可见.local symbol.set给一个全局变量或局部变量赋值,和.equ的功能一样.set symbol expr.set s...

2019-10-15 19:49:56

DH密钥交换和ECDH原理

原文链接http://blog.csdn.net/sudochen/article/details/9164427原文       下面我们以Alice和Bob为例叙述Diffie-Hellman密钥交换的原理。1,Diffie-Hellman交换过程中涉及到的所有参与者定义一个组,在这个组中定义一个大质数p,底数g。2,Diffie-Hellman密钥交换是一个两部分的过程,...

2019-02-21 19:02:58

DBUS ---- Type System

前言       最近在看BlueZ源码,有关DBUS的知识点,在此记录下来。原文Type SystemD-Bus has a type system, in which values of various types can be serialized into a sequence of bytes referred to as the wire format in a sta...

2019-02-21 18:56:24

位运算——异或“∧”

概念       异或运算符”∧”也称XOR运算符。它的规则是若参加运算的两个二进位同号,则结果为0(假);异号则为1(真)。即 0∧0=0,0∧1=1, 1^0=1,1∧1=0。应用1. 使特定位翻转       比如:01111010,想使其低4位翻转,即1变为0,0变为1。可以将它与00001111进行∧运算。2. 实现两个值的交换       通过按位异或运算,可以...

2019-02-01 13:47:53

Linux Kernel printk-formats

原文    https://www.kernel.org/doc/html/latest/core-api/printk-formats.html How to get printk format specifiers rightAuthor: Randy Dunlap <rdunlap@infradead.org> Author: Andrew Murra...

2018-12-29 10:14:27

linux 进程管理 task_struct 中 parent/children/sibling 成员的关系

前言        最近在看《Linux内核设计与实现(原书第3版)》中第进程管理,有点疑问,上网顺便补习了linux内核链表第相关知识,在此记录下来。 疑问        书中写到:3.2.6 进程家族树... 同样,也可以按一下方式依次访问子进程: struct task_struct *task; struct list_head *list...

2018-09-30 14:01:12

usb alternate settings

前言 最近在看linux usb core 驱动源码,对alternate settings的概念有点疑问,记录下网上好的解释。

2016-08-09 11:40:59

USB设备枚举过程

前言        找到了微软的一片介绍USB枚举过程的文章,记录下来,方便以后学习。

2016-08-06 14:17:28

Makefile学习笔记

前言 最近又看了一下Makefile规范写法,做一点小笔记。

2016-06-12 15:37:19

Android Linux内核驱动程序(基于goldfish-3.10内核)

最近在学习老罗博客(点击打开博客),看到他的《在Ubuntu上为Android系统编写Linux内核驱动程序》一文(文章链接),自己也跃跃欲试,不过教程是基于goldfish-2.6.29内核的,而我的环境是android 6.0,goldfish-3.10内核的,在编译过程中遇到的问题我都会在本文记录下来。

2016-06-03 09:32:44

Linux下编译Android源码问题汇总

前言本人最近在研究Android源码编译,现将编译过程中遇到问题汇总于此。

2016-06-01 15:53:50

linux 进程和线程的区别

原文地址        http://blog.csdn.net/forrest2009/article/details/6413756原文进程与线程        进程是程序执行时的一个实例,即它是程序已经执行到课中程度的数据结构的汇集。从内核的观点看,进程的目的就是担当分配系统资源(CPU时间、内存等)的基本单位。       

2016-04-21 00:08:55

c++中的 extern "C"

原文地址                http://songpengfei.iteye.com/blog/1100239原文比如说你用C 开发了一个DLL 库,为了能够让C ++语言也能够调用你的DLL 输出(Export) 的函数,你需要用extern "C" 来强制编译器不要修改你的函数名。通常,在C 语言的头文件中经常可以看到类似下面这种

2016-04-20 23:43:32

Android sp<> 指针类的用法

在android 中可以广泛看到的template class Sp 句柄类实际上是android 为实现垃圾回收机制的智能指针。智能指针是c++ 中的一个概念,因为c++ 本身不具备垃圾回收机制,而且指针也不具备构造函数和析构函数,所以为了实现内存( 动态存储区) 的安全回收,必须对指针进行一层封装,而这个封装就是智能指针,其实说白了,智能指针就是具备指针功能同时提供安全内存回收的一个类。当然,

2016-04-20 17:38:09

Java 子类调用this笔记

前言        最近在看Android源码,遇到了有关this的一个问题,自己写了一个测试小程序帮助理解。代码class AllBase { void func() { System.out.println("AllBase func"); }}class TestBase extends AllBase { private AllBase mOut

2016-04-19 10:11:16

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。