自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (2)
  • 收藏
  • 关注

原创 Linux 内核中打印当前进程名称和进程ID

当前进程名称和PID

2022-08-15 15:36:18 2528 1

转载 Wi-Fi信号干扰问题该怎么解决

本文转载至:http://www.ciotimes.com/net/rdjs/WI-FI/201006301920.html射频干扰英文:RFI,(Radio Frequency Interference)日文:電波障害摘要:关键词:Wi-Fi射频干扰信道 802.11技术在过去10年已经取得了长足的发展 – 更快,更强大且更具有可扩展性。但有一个问题依然困扰着Wi-F...

2019-09-19 09:29:50 4415

转载 八种排序算法

作者:静默虚空juejin.im/post/5cb6b8f551882532c334bcf2本文主要详细讲述常见的八种排序算法的思想、实现以及复杂度。冒泡排序要点冒泡排序是一种交换排序。什么是交换排序呢?交换排序:两两比较待排序的关键字,并交换不满足次序要求的那对数,直到整个表都满足次序要求为止。算法思想它重复地走访过要排序的数列,一次...

2019-09-11 21:14:01 424

原创 c语言-运算符优先级

优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[整型表达式] 左到右 () 圆括号 ...

2019-08-21 16:03:41 165

原创 shell 判断文件夹或文件是否存在

文件夹不存在则创建 1 2 3 4 5 if[ ! -d"/data/"];then mkdir/data else echo"文件夹已经存在" fi 文件存在则删除 1 2 3 4 5 if[ ! -f"/...

2019-06-25 11:26:59 354

原创 linux shell遍历目录下每个文件

#!/bin/bashfunction read_dir() {for file in `ls $1`do if [ -d $1"/"$file ] then read_dir $1"/"$file else echo $1"/"$file fidone}使用示例:readdir xxx(目录)...

2019-06-24 14:24:21 5523

原创 source insight 4.0括号自动对齐设置

1. Options -> File Type Options...2. 点击Auto Indent...自动缩进按钮;3. 按照下图配置,点击OK即可。

2019-06-20 09:25:43 6738

原创 11n、11ac和11ax速率表

1. 速率计算方式Wi-Fi理论带宽 =(符号位长×码率×子载波数量×空间流)÷ 传输时间 符号位长 一个Symbol能承载的bit数量,这个与调试有关。 802.11a/g 802.11n 802.11ac 802.11ax 最高阶调制 64QAM 64QAM 256QAM 1024QAM bit数/Symbol ...

2019-05-29 09:54:48 70442 2

原创 linux BOOTIME、MONOTONIC以及REALTIME之间的关系

HRTIMER_BASE_BOOTTIME=HRTIMER_BASE_MONOTONIC+timekeeper.total_sleep_time=HRTIMER_BASE_REALTIME+timekeeper.wall_to_monotonic+timekeeper.total_sleep_time=timekeeper.xtime+timekeeper.wall_to_monoto...

2019-04-27 18:41:10 1216

转载 linux 查找所有文件包含指定内容,并替换

很容易忘,记录下:find -name "*.xml"| grep "rCN" | xargs grep 测试字符1 -l | xargs sed -i "s/测试字符1/测试字符2/g"find 就不说了;第一个grep,不需要xargs,为何?因为这个grep查找的不是文件内容,而是路径本身,检查find的取得的文件路径是否包括"rCN";第二个grep,需要xargs,为...

2019-03-07 21:25:21 3103

原创 linux处理目标文件的工具

ar:创建静态库,插入、删除、列出和提取成员。strings:列出目标文件中所有可打印的字符串。strip:从目标文件中删除符号表信息。nm:列出一个目标文件的符号表定义的符号。size:列出目标文件中节的名字和大小。readelf:显示一个目标文件的完整结构,包括elf头中编码的所有信息。包含size和nm的功能。objdump:所有二进制工具之母。能够显示一个目标文件中...

2019-03-06 10:21:34 223

转载 系统级性能分析工具 — Perf

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/zhangskd/article/details/37902159从2.6.31内核开始,linux内核自带了一个性能分析工具perf,能够进行函数级与指令级的热点查找。perfPerformance analysis tools for Linux.Performan...

2019-03-06 09:28:42 263

转载 MPDU 和 MSDU 的区别及关系

MSDU(MAC Service Data Unit):MAC服务数据单元。MPDU(MAC Protocol Data Unit):MAC协议数据单元。在无线网络安全中,MSDU是Ethernet报文,经过添加完整性校验MIC、分帧、省电模 式下报文缓存、加密、序列号赋值、CRC校验、MAC头之后成为MPDU,MPDU就是 指的经过802.11协议封装过的数据帧。A-MS...

2019-02-28 14:25:00 1198

转载 LINUX 内核中的计时器和列表

本文着重讨论计时器应用程序编程接口(API)和针对所有任务延迟模式的一个核心元素:内核列表构造体。本文还将探索内核列表 API,计时器和其他任务延迟机制(比如工作队列)都要使用这个 API。计时器是所有操作系统的一个必要组成部分,您将发现多个计时器机制。我们将首先简要介绍一些 Linux 计时器模式,然后深入研究它们的运行方式。(Linux)时间的起源在 Linux 内核中,时间由一个...

2019-02-28 10:07:04 927

翻译 linux内存屏障浅析

内存屏障主要解决了两个问题:单处理器下的乱序问题和多处理器下的内存同步问题。为什么会乱序现在的CPU一般采用流水线来执行指令。一个指令的执行被分成:取指、译码、访存、执行、写回、等若干个阶段。然后,多条指令可以同时存在于流水线中,同时被执行。指令流水线并不是串行的,并不会因为一个耗时很长的指令在“执行”阶段呆很长时间,而导致后续的指令都卡在“执行”之前的阶段上。相反,流水线是并行的,多个指令可...

2018-08-28 10:04:02 184

转载 LINUX内核模块strip用法

编译一个内核时,习惯性的在install目标下加了命令:$(STRIP)  --strip-all --remove-section=.note --remove-section=.comment  test.ko结果在insmod test.ko时出现错误:test: module has no symbols (stripped?).................. 上网查了以下,发现内核模...

2018-05-08 10:00:38 2428

转载 802.11/wlan/wifi/无线相关学习资料整理

转载自 https://zhuanlan.zhihu.com/p/20716157序言笔者从研究生开始,一直在做有关802.11协议的相关内容。故在此将笔者学习期间收集了较好的学习资料进行整理,并记录如下。该整理按照由潜至深的顺序,可以根据个人不同的情况,进行选择。(PS:其中有的附上的下载链接均为网上搜索而言,仅为学习使用而已,有的资料可能不是最新版,所以还是购买原版书好一些)。综合类1.CWN...

2018-05-04 13:59:07 4792

转载 常见的Linux内核中内存(buddy/slab)分配

1.      原理说明Linux内核中采用了一种同时适用于32位和64位系统的内存分页模型,对于32位系统来说,两级页表足够用了,而在x86_64系统中,用到了四级页表,如图2-1所示。四级页表分别为:l         页全局目录(Page Global Directory)l         页上级目录(Page Upper Directory)l         页中间目录(Page Mi...

2018-05-04 10:18:23 783

转载 WLAN信道利用率

WLAN空口/信道利用率监控大致如下参数说明Ctl channel主信道号Channel Band信道带宽Ext Channel-11N产品支持辅信道类型(Bellow/Above)Bellow:辅信道向下绑定Above:辅信道向上绑定CtlBusy(%)主信道利用率TxBusy(%)发送帧利用率RxBusy(%)接收帧利用率ExBusy(%)辅信道利用率1.信道利用率由硬件检测实现、芯片检测信道...

2018-05-04 10:12:59 3185

转载 ARM Cortex-M4 指令列表

ARM Cortex-M4 指令列表    ARM Cortex-M4 支持的指令在下表 1~8 中列出。                                                                                                                                              

2018-04-08 14:26:17 554

转载 spinlock用法总结

Spinlock的目的是用来同步SMP中会被多个CPU同时存取的变量。在Linux中,普通的spinlock由于不带额外的语义,是用起来反而要非常小心。在Linux kernel中执行的代码大体分normal和interrupt context两种。tasklet/softirq可以归 为normal因为他们可以进入等待;nested interrupt是interrupt context的一

2018-03-27 17:37:16 3583

转载 无线网络攻击之mdk3泛洪攻击

原文地址:无线网络攻击之mdk3泛洪攻击作者:secer原文地址:http://blog.sina.com.cn/s/blog_c19382720101do8n.html攻击说明:    利用mdk3攻击工具对无线网络中的路由器就行泛洪攻击,踢掉所有连接的客户端,最后使其当机,达到攻击目的。珍爱生命!!!请勿攻击室友路由器!!!

2018-03-07 17:25:09 21395 7

转载 检测内核的堆栈溢出

内核堆栈溢出通常有两种情况。一种是函数调用栈超出了内核栈THREAD_SIZE的大小, 这是栈底越界,另一种是栈上缓冲越界访问,这是栈顶越界。检测栈底越界以arm平台为例,内核栈THREAD_SIZE为8K,当调用栈层次过多或某调用栈上分配过大的 空间,就会导致它越界。越界后struct thread_info结构可能被破坏,轻则内核 panic,重则内核数据被覆盖仍继续运行。

2017-11-29 10:52:57 3200

转载 Vim 常用命令

使用 Vim 的时间不长,但如今已经离不开熟悉的 Vim 编辑模式了。 Vim 的学习曲线是非常陡的,一开始学习的时候,面对很多的操作命令要去记住,常常望而却步。其实,只要记住一些常用的命令,加之在工作中坚持使用 Vim 进行编辑,很快就能得心应手了。###光标移动(Cursor Movement)命令作用(解释)h,j,k,lh

2017-08-02 11:01:12 217

转载 Linux下cp目录下的带隐藏文件的子目录

何在Linux下拷贝一个目录呢?这好像是再简单不过的问题了。比如要把/home/usera拷贝到/mnt/temp,首先想到的就是cp -R /home/usera/* /mnt/temp但是这样有一个问题,/home/usera下的隐藏文件都不会被拷贝,子目录下的隐藏文件倒是会的。那如何才是正确的方法呢?有人说用-a选项,有人说用find加管道。其实没

2017-07-14 17:46:14 525

转载 Switch Vlan的3种访问模式:Access、Hybrid和Trunk

untag就是普通的ethernet报文,普通PC机的网卡是可以识别这样的报文进行通讯;tag报文结构的变化是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,也就是vlan tag头;一般来说这样的报文普通PC机的网卡是不能识别的。     以太网端口有三种链路类型:Access、Hybrid和Trunk。1  Access类型的端口只能属于1个VLAN,一般用于

2017-07-14 11:41:33 5080

原创 skb_push, skb_pull, skb_trim, skb_put

2017-05-08 16:04:31 2522

转载 栈帧详解

一、 什么是栈帧?    什么是栈帧,相信很多从事C编程的童鞋还是没有搞明白,首先引用百度百科的经典解释:“栈帧也叫过程活动记录,是编译器用来实现过程/函数调用的一种数据结构。”。    实际上,可以简单理解为:栈帧就是存储在用户栈上的(当然内核栈同样适用)每一次函数调用涉及的相关信息的记录单元。也许这样感觉更复杂了,好吧,让我们从栈开始来理解什么是栈帧...二、 栈(用户

2017-02-06 16:46:58 621

转载 MIPS寄存器介绍

MIPS有32个通用寄存器($0-$31),各寄存器的功能及汇编程序中使用约定如下:下表描述32个通用寄存器的别名和用途;REGISTERNAMEUSAGE$0$zero常量0(constant value 0)$1$at保

2017-01-06 14:09:37 724

原创 Linux内核编程遍历所有进程PID

01.#include 02.#include 03.#include 04.#include 05.#include 06. 07.static __init int print_pid(void)08.{09.struct task_struct *task,*p;10.struct list_head *pos;11.int

2016-12-12 14:37:38 3735

转载 无锁(lock-free) 数据结构

提到并行计算通常都会想到加锁,事实却并非如此,大多数并发是不需要加锁的。比如在不同电脑上运行的代码编辑器,两者并发运行不需要加锁。在一台电脑上同时运行的媒体播放放器和代码编辑器,两者并发运行不需要加锁(当然系统调用和进程调度是要加锁的)。在同一个进程中运行多个线程,如果各自处理独立的事情也不需要加锁(当然系统调用、进程调度和内存分配是要加锁的)。在以上这些情况里,各个并发实体之间没有共享数据,所以

2016-12-03 15:25:54 544

原创 in_irq() in_softirq() in_interrupt()

#define hardirq_count() (preempt_count() & HARDIRQ_MASK)#define softirq_count() (preempt_count() & SOFTIRQ_MASK)#define irq_count() (preempt_count() & (HARDIRQ_MASK | SOFTIRQ_MASK \     | NMI_MA

2016-09-05 11:41:49 991

转载 linux grep命令

首先创建我们练习grep命令时需要用到的demo文件: demo_file$ cat demo_fileTHIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.this line is the 1st lower case line in this file.This Line Has All Its First Character Of

2016-08-15 16:20:04 232

原创 无线局域网故障排查

无线局域网故障排查无线局域网使用射频收发数据,无线局域网的故障排除比典型的有线环境存在更多挑战。记录以便以后查看。1. 排查工具频谱分析仪、无线协议分析工具(OmniPeak)2. 重传CRC失败,会导致重传。大量重传会导致:i. 吞吐量下降;ii. 对延迟较高的业务有影响。1. VoIP业务重传要求在5%或更低;2. 大部分业务可以承受

2016-08-15 16:12:46 654

转载 linux内核sk_buff的结构分析

我看的内核版本是2.6.32. 在内核中sk_buff表示一个网络数据包,它是一个双向链表,而链表头就是sk_buff_head,在老的内核里面sk_buff会有一个list域直接指向sk_buff_head也就是链表头,现在在2.6.32里面这个域已经被删除了。 而sk_buff的内存布局可以分作3个段,第一个就是sk_buff自身,第二个是linear-data buff,第三

2016-03-23 18:36:46 336

转载 IP头,TCP头,UDP头,MAC帧头定义

IP头,TCP头,UDP头,MAC帧头定义 一、MAC帧头定义/*数据帧定义,头14个字节,尾4个字节*/typedef struct _MAC_FRAME_HEADER{ char m_cDstMacAddress[6];    //目的mac地址 char m_cSrcMacAddress[6];    //源mac地址 short m_cTyp

2016-03-02 09:43:50 599

转载 A-MSDU 和 AMPDU

MSDU - MAC Service Data Unit,MAC服务数据单元 。       在无线网络安全中,MSDU经过添加完整性校验MIC、分帧、添加IV、加密、添加MAC头部后,成为MPDU - MAC Protocol Data Unit,MAC协议数据单元           MSDU可以认为是Ethernet报文,而MPDU指经过802.11封装过的数据帧。P

2016-01-30 17:51:52 20424

转载 undefined reference to `__udivdi3'

【问题】编译Linux下面的代码,经常会遇到这种错误:undefined reference to `__udivdi3'【解决过程】之前遇到过几次了,都是类似的原因导致此问题的。后来才了解,其根本原因:嵌入式中,32位系统中(目前多数系统都是,比如ARM的片子),对于普通的a除以b(b为32位):(1)当a为32位,Linux 内核中,常用uint

2015-11-24 20:41:20 640

转载 linux 软中断和tasklet

1. 软中断是什么 ? 软中断是一种延时机制,代码执行的优先级比进程要高,比硬中断要低。相比于硬件中断,软中段是在开中断的环境中执行的(长时间关中断对系统的开销太大), 代码是执行在中断/线程上下文的,是不能睡眠的,虽然每个cpu都有一个对应的ksoftirqd/n线程来执行软中断,但是do_softirq这个函数也还会在中断退出时调用到,因此不能睡眠(中断上下文不能睡眠的原因是由于调度系

2015-11-23 21:37:41 434

转载 linux /proc/loadavg(平均负载)

from : http://hi.baidu.com/mengyun8/blog/item/bd424531451b98e71a4cffc0.html一、什么是系统平均负载(Load average)?在Linux系统中,uptime、w、top等命令都会有系统平均负载load average的输出,那么什么是系统平均负载呢?系统平均负载被定义为在特定时间间隔内运行队列中的平均进程数。

2015-11-22 14:53:37 318

Python语言入门.pdf

Python语言入门.pdf

2017-08-08

ARM体系结构与编程(高清带书签) 杜春雷.pdf

ARM体系结构与编程(高清带书签) 杜春雷.pdf

2017-08-01

空空如也

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

TA关注的人

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