
linux开发
文章平均质量分 63
linux开发
fdsafwagdagadg6576
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
网络编程汇总
你可以把这个socket 看成是一个特殊的文件(好比登记表), 当有新的连接进来的时候, 都可以通过 accept 系统调用让操作系统接受一个新的连接, 同时返回一个新的socket, 这个socket 是绑定在(本机ip,本机port,对端ip,对端port) 这个上面的, 也就是对应了一个unique的连接.端口只是在操作系统中用来区分一个连接和另一个连接的其中一个项(剩下的还有本机ip,对端ip,和对端port), 因此和真正的通信并无太大关系, 你一定是把它想象成了和网卡的出口类似的东西.原创 2022-09-12 17:23:51 · 291 阅读 · 0 评论 -
virtualbox 部署ubuntu--janus
3 翻墙下载webrtc源码:classx。原创 2022-08-28 21:09:18 · 191 阅读 · 0 评论 -
UDP网络通信
注意事项:htons(htonl),大小端转换。尤其port,len容易改错,因为大小端都是65535之内,需要抓包看下。to do--如果发送65535,接收1024,需要如何循环接收?此前发送1500,使用1024会造成解析错误。与tcp相比,udp client 不需要connect。server不需要accept。双方的peer断网,如何处理?......原创 2022-08-28 13:13:42 · 233 阅读 · 0 评论 -
动态库、可执行文件符号表分析&编译问题
000000000000067a T func1 ===================实现函数===================0000000000000681 T func2 ===================实现函数===================0000000000000696 T func4 ===================实现函数===================从而观察对比不同的函数、变量在符号表中的异同。...转载 2022-08-23 16:47:47 · 1045 阅读 · 0 评论 -
CMake 介绍和实例分析
gcc 是命令行实现,makefile是将gcc 文件化gcc 找调用静态和动态库静态库:外部调用静态库,-L指定路径即可,这样就可以找到静态lib.-I 是头文件. 后面是依赖库,这些依赖库要放到最后,放前面编译不通过.g++ -o 1 main.cpp -I/home/zf/src -I/home/src/third_party/abseil-cpp -L/home/src libwebrtc.a -ldl -lpthread `pkg-config --cflags --libs glib-2.0`原创 2022-06-02 14:35:26 · 45 阅读 · 0 评论 -
signal 杂谈
信号sigsuspend终于搞懂了。道路是曲折的。如有无信号处理函数。zeromask和waitmask区别。两者对pause和sigsuspend的不同.对信号是不是pending。非mask的信号处理。testcase的情况很多。易混淆.pause和sigsuspend:comments: sigpromask 的mask 和sigsuspend的pendm原创 2015-03-28 21:40:53 · 503 阅读 · 0 评论 -
Linux进程间通信汇总
参考:《linux编程从入门到精通》,《Linux C程序设计大全》,《unix环境高级编程》参考:C和指针学习说明:本文非常的长,也是为了便于查找和比较,所以放在一起了Linux 传统的进程间通信有很多,如各类管道、消息队列、内存共享、信号量等等。但它们都无法介于内核态与用户态使用,原因如表通信方法无法介于内核态与原创 2015-06-28 14:55:06 · 480 阅读 · 0 评论 -
coredump tips
1 %s &string 出coredump.string 类型%s输出coredump .it should should s.ctr()eg: string a("1234"); printf("%s",a); //coredump printf("%s",a.c_str());原创 2017-08-01 19:14:21 · 228 阅读 · 0 评论 -
openstack
openstack 就是将N个机器做成集群,每个人可以在里面根据guide,自动new一个vm。类似vmware,只是vmware是单机的procedure生成pkt 对,就是将公钥放到server上了生成pem key 即是私钥用puttykey generator 将私钥转成putty的形式通过无密码的方式访问分配的new vm(account: ubuntu原创 2017-09-30 18:25:42 · 238 阅读 · 0 评论 -
linux源码分析汇总
1写时复制源码分析,比较简单https://blog.youkuaiyun.com/21cnbao/article/details/108480659内存标志一个flag,写的话,拷贝一份2 迁移的实现。前面介绍多种引起迁移的原因。本质实现是a 释放b申请,a迁移到b。对应用层来说延迟访问。https://blog.youkuaiyun.com/21cnbao/article/details/108067917堆是匿名映射,用反向映射等...原创 2020-10-05 09:06:17 · 29020 阅读 · 0 评论 -
调优&性能tips
cpu和网卡计算率:一个 CPU 时钟周期可以处理一位的数据.举例来说,一个 1 GHz 的处理器可以对 1Gbit/s 的网络链接进行传统的数据拷贝操作,但是如果是 10 Gbit/s 的网络,那么对于相同的处理器来说,零拷贝技术就变得非常重要了CPU一般为P43.0GHZ,如果是32位的处理器,一秒钟大概可以处理6G的字节,那么,128KB的网络速度是远远及不上处理器的速度的。大数乘法,即将每一位数存在数组中,加法就是对应位相加进位,乘法和加法是一样的...原创 2020-09-10 14:42:29 · 184 阅读 · 0 评论 -
linux tips
1两个机器配置免密码访问两个root (不同的account也可以,与两者的account无关)目的: 从A server 可以 ssh or scp B server 免密码 $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa (A server) $ chmod 700 ~/.ssh (A server) $ cat ~/.ssh/id_rsa.pub (A server) 拷贝公钥 $ vi ~/.ssh/authorized_ke......原创 2020-09-14 20:07:31 · 150 阅读 · 0 评论 -
linux 内存看一篇就够了(多图)
0 内存模块1 linux内存总体布局:内存分成用户态和内核态2 地址转换3 内存实现4 内存的分配算法 buddy and slab 缺页中断,回收,置换 5 内存的读写6 共享内存0 内存模块1 linux内存总体布局:内存分成用户态和内核态4G进程地址空间解析内核地址空间进程地址空间2 地址转换页表由3部分组成:页目录,页面,页内偏移32bit只有3级 0 -11位:页内偏移OFFSET 12-21位:...原创 2020-08-01 23:24:13 · 672 阅读 · 0 评论 -
linux下的mmap和零拷贝技术
本文结合下面两个link的博文。https://blog.youkuaiyun.com/z_ryan/article/details/79604192这个博文没有代码和用户态,内核态切换的比较.https://www.freesion.com/article/7040248729/这个博文结构图没有上一个形象一、传统IO的劣势 初学 Java 时,我们在学习 IO 和 网络编程时,会使用以下代码:File file = new File("index.html");RandomAcc...原创 2020-07-25 21:34:26 · 1783 阅读 · 1 评论 -
打通IO栈:一次编译服务器性能优化实战
背景随着企业SDK在多条产品线的广泛使用,随着SDK开发人员的增长,每日往SDK提交的补丁量与日俱增,自动化提交代码检查的压力已经明显超过了通用服务器的负载。于是向公司申请了一台专用服务器,用于SDK构建检查。$ cat /proc/cpuinfo | grep ^proccessor | wc -l48$ free -h total used free shared buffers cachedMem: 47...转载 2020-07-19 10:56:55 · 191 阅读 · 0 评论 -
别再说你不懂Linux内存管理了,10张图给你安排的明明白白
文中画的图挺好,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,前提约定:本文讨论技术内容前提,操作系统环境都是x86架构的 32 位Linux系统。虚拟地址即使是现代操作系统中,内存依然是计算机中很宝贵的资源,看看你电脑几个T固态硬盘,再看看内存大小就知道了。为了充分利用和管理系统内存资源,Linux采用虚拟内存管...转载 2020-05-07 23:18:58 · 236 阅读 · 0 评论