博客地址:http://home.cnblogs.com/u/zengjianrong/

随笔分类 -  linux

about linux~
摘要:在main函数结束时,或者收到signal,在signal处理函数中调用exit退出时,希望在退出前做一些资源释放的工作,则可以使用atexit注册回调; 需要注意的是,全局的资源系统会主动释放(调用析构函数),但有些线程如果在while循环中无法退出,则系统不会主动释放; 此时atexit就可以发 阅读全文
posted @ 2020-04-06 11:26 black_man 阅读(242) 评论(0) 推荐(0) 编辑
摘要:参考:http://www.wowotech.net/process_management/PELT.html 本文是对https://lwn.net/Articles/531853/的翻译 mark! 阅读全文
posted @ 2019-11-19 02:18 black_man 阅读(438) 评论(0) 推荐(0) 编辑
摘要:参考:https://www.byteisland.com/arm64-%E7%9A%84-memcpy-%E6%B1%87%E7%BC%96%E5%88%86%E6%9E%90/ libc/string.c 拷贝是一个字节一个字节拷贝,太慢了,现在的系统支持4/8字节拷贝,甚至16字节拷贝,故li 阅读全文
posted @ 2019-11-19 01:55 black_man 阅读(1422) 评论(0) 推荐(0) 编辑
摘要:内核在更新非连续内存区对应的页表项是非常懒惰的。--《深入理解linux内核》 arm 32 只有一个PGD 寄存器,即每个进程的内核态和用户态是共享一份PGD,不同于内核主页表 vmalloc分配内存时,实际是将物理内存映射到内核的主页表(即init_task的页表); 当用户进程访问vmallo 阅读全文
posted @ 2019-11-19 00:35 black_man 阅读(777) 评论(0) 推荐(0) 编辑
摘要:https://mp.weixin.qq.com/s?__biz=MzAwMDUwNDgxOA==&mid=2652663676&idx=1&sn=b18ab57322594ebb8e7072e635e8bd1c&chksm=810f29e1b678a0f7238e8a71fd88f14c3c71e 阅读全文
posted @ 2019-08-01 02:02 black_man 阅读(936) 评论(0) 推荐(0) 编辑
摘要:1. 获取进程的所有PTE表项,从而得到所有物理地址 参考:https://www.cnblogs.com/pengdonglin137/p/6802108.html 通过/proc/pid/pagemap 1 #include <stdio.h> 2 #include <stdlib.h> 3 # 阅读全文
posted @ 2019-07-11 11:51 black_man 阅读(1303) 评论(0) 推荐(0) 编辑
摘要:1 #!/bin/bash 2 3 pid=$(ps -T -p $(pgrep xxx) | grep xxx | gawk -F" " '{print $2}') 4 if [ -z $pid ]; then 5 echo "can not find xxx" 6 exit 1 7 fi 8 echo "pid: "$pid 9 prev_runtime=... 阅读全文
posted @ 2019-06-27 21:27 black_man 阅读(1344) 评论(0) 推荐(0) 编辑
摘要:Hash冲突的解决--暴雪的Hash算法https://usench.iteye.com/blog/2199399https://www.bbsmax.com/A/kPzOO7a8zx/ 阅读全文
posted @ 2019-02-15 12:09 black_man 阅读(144) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2019-01-30 02:55 black_man 编辑
摘要:https://openresty.org/cn/getting-started.html https://github.com/openresty https://github.com/openresty/stapxx/tree/master/samples -> systemtap sample 阅读全文
posted @ 2018-10-12 13:20 black_man 阅读(172) 评论(0) 推荐(0) 编辑
摘要:转自:http://originlee.com/2015/01/21/trick-in-conditon-variable/ 附录:惊群效应 https://blog.csdn.net/lyztyycode/article/details/78648798 阅读全文
posted @ 2018-09-06 10:39 black_man 阅读(670) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2018-05-09 15:23 black_man 阅读(4) 评论(0) 推荐(0) 编辑
摘要:1. sysrq http://www.chinaunix.net/old_jh/4/902287.html 常用的SysRq命令(序列) 重启机器的SysRq命令序列是 k(SAK) s(sync) u(umount) b(reboot) 显示内存信息的SysRq命令是m(memory) 显示当前 阅读全文
posted @ 2017-08-21 16:29 black_man 阅读(263) 评论(0) 推荐(0) 编辑
摘要:Your Perl installation is not complete enough, at least Data::Dumper is missing. How about running "yum install 'perl(Data::Dumper)'" (without the "") 阅读全文
posted @ 2017-07-07 02:17 black_man 阅读(327) 评论(0) 推荐(0) 编辑
摘要:参考引用:http://www.wowotech.net/sort/irq_subsystem wowotech:一个很好的linux技术博客。 一、概述 kernel管理硬件设备的方式:轮询、中断。中断效率高且反应快于轮询,因为它利用了硬件本身执行指令前会做的‘中断电信号周期轮询’。 中断分为同步 阅读全文
posted @ 2017-04-22 18:31 black_man 阅读(345) 评论(0) 推荐(0) 编辑
摘要:1 #include <linux/module.h> 2 3 #include <linux/compat.h> 4 #include <linux/types.h> 5 #include <linux/errno.h> 6 #include <linux/kernel.h> 7 #include 阅读全文
posted @ 2016-10-15 20:13 black_man 阅读(632) 评论(0) 推荐(0) 编辑
摘要:刚吃了一碗还算正宗的潮汕牛筋丸粿条和一颗卤蛋,算是给自己的生日礼物。这一周工作只围绕了一个主题“mgcp的alg功能实现”。1.应用场景: 一台运行mgcp语音协议的终端设备,经过一台路由器到达公网,注册到mgcp的服务器;2. 问题: 经过路由器的mgcp信令包、rtp/rtcp流需要进行... 阅读全文
posted @ 2015-01-17 00:19 black_man 阅读(559) 评论(0) 推荐(0) 编辑
摘要:博客地址:http://home.cnblogs.com/u/zengjianrong/ 在内核处理此流程,反而更加简单些,代码如下:#include #include #include "linux/ctype.h"#define MAC_BCAST_ADDR (unsigne... 阅读全文
posted @ 2014-12-25 20:05 black_man 阅读(510) 评论(0) 推荐(0) 编辑
摘要:博客地址:http://home.cnblogs.com/u/zengjianrong/ 由于某种需求,需要获取某个ip的mac地址,在应用层实现例子如下代码。 流程:1. 先遍历arp表,若存在对应mac地址,则取出并结束。否则继续。 2. 构造arp包,发arp request,... 阅读全文
posted @ 2014-12-25 19:48 black_man 阅读(761) 评论(0) 推荐(0) 编辑
摘要:博客地址:http://www.cnblogs.com/zengjianrong/p/4184854.html 为了方便编译零碎的测试代码,在代码的存放目录编辑了一个Makefile,添加新代码文件后,通过make dep&&make all(如果只是修改代码且修改内容不涉及头文件,则只需ma... 阅读全文
posted @ 2014-12-25 15:55 black_man 阅读(204) 评论(0) 推荐(0) 编辑