- 博客(1543)
- 资源 (126)
- 论坛 (2)
- 问答 (2)
- 收藏
- 关注
翻译 libcap-ng库旨在使具有posix功能的编程比传统的libcap库容易得多
libcap-ng库旨在使具有posix功能的编程比传统的libcap库容易得多。它包括一些实用程序,可以分析所有当前正在运行的应用程序并打印出任何功能,以及是否具有开放式边界集。不带securebits“ NOROOT”标志的开放边界集将允许仅通过调用execve来扩展保留uid 0的应用程序的完整功能。随附的实用程序旨在让管理员和开发人员从可能以太多特权运行的各种方式中发现应用程序。例如,任何调查都应该从面向网络的应用程序开始,因为它们将是入侵的主要目标。netcap程序将检查所有正在运行的应用程序
2021-01-03 21:59:23
54
1
原创 C语言实现单例模式,以及使用内存屏障的性能优化方案
这里有一篇关于《C语言实现简单的单例模式》的基于OpenMP多线程的单例模式示例程序,这里给出采用内存屏障由于单例模式的示例“https://coderatwork.cn/posts/singleton-and-mb/”:单例模式是一个比较简单的设计模式, 但多线程场景下使用延迟加载的单例模式是一个经典的并发问题, 可能会需要使用锁和内存屏障来保障线程安全。 这篇文章主要讲并发场景下使用加载的单例模式的实现。目录1. 非线程安全的单例实现2. 线程安全的单例实现3. 线程安全的单例实现—
2021-01-03 21:39:33
51
转载 Linux ptrace系统调用详解:利用 ptrace 设置硬件断点
《GDB调试之ptrace实现原理》《C语言程序调用栈:backtrace+backtrace_symbols+backtrace_symbols_fd》《strace实现原理:ptrace系统调用》《Linux环境无文件渗透执行ELF:memfd_create、ptrace》《利用ptrace和memfd_create混淆程序名和参数》《利用 ptrace 设置硬件断点》源码参见:ptrace系统调用:https://github.com/Rtoax/test/tree/.
2021-01-03 21:28:07
65
转载 Containerd 的前世今生和级入门教程
https://mp.weixin.qq.com/s/DhLmd9tv88-Vbk6dwx3umghttps://fuckcloudnative.io/posts/getting-started-with-containerd/https://fuckcloudnative.io/目录1. Containerd 的前世今生2. Containerd 架构3. Containerd 安装安装依赖下载并解压 Containerd 程序生成配置文件镜像加速存储配置...
2021-01-03 21:17:08
248
原创 三星开源的 tcpflow 抓包工具
tcpflow 是一个程序,用于捕获作为 TCP 连接(流)的一部分传输的数据,并存储数据的方式便于协议分析和调试。每个 TCP 流都存储在其自己的文件中。因此,典型的 TCP 流将存储在两个文件中,每个方向一个。tcpflow 还可以处理存储的"tcpdump"数据包流。GitHub:https://github.com/simsong/tcpflow 直接下载:http://downloads.digitalcorpora.org/downloads/tcpflow/目录TCPFLOW 1.
2021-01-03 21:08:41
20
转载 分布式架构高可用与高并发那些在工作中常用到的那些变态应用
目录反向代理服务应用服务数据库和memcached服务三层架构的可伸缩性反向代理服务上图展示了一个典型的三层架构的高性能 Web 应用。这种成熟的架构多年以来已被广泛部署于包括 Google、Yahoo、Facebook、Twitter、Wikipedia 在内的诸多大型 Web 应用中。位于三层构架中最外层的反向代理服务器负责接受用户的接入请求,在实际应用中,代理服务器通常至少还要完成以下列表中的一部分任务:连接管理:分别维护客户端和应用服务器的连接池,管理并关闭已超时
2021-01-03 21:02:52
47
转载 Linux网络协议栈:用eBPF写TCP拥塞控制算法
其实不想用这个题目的,只因为TCP相关的东西比较吸引人的眼球,这篇文章的主题还是eBPF,而不是TCP。用eBPF写TCP拥塞控制算法只是本文所讲内容的一个再平凡不过的例子。先看两个问题,或者说是两个痛点: 内核越来越策略化。 内核接口不稳定。 分别简单说一下。所谓内核策略化就是说越来越多的灵巧的算法,小tricks等灵活多变的代码进入内核,举例来讲,包括但不限于以下这些: TCP拥塞控制算法。 TC排队规则,数据包调度算法。 各种查找的哈希...
2021-01-03 20:55:07
40
6
转载 Linux内核workqueue
Workqueue 是内核里面很重要的一个机制,特别是内核驱动,一般的小型任务 (work) 都不会自己起一个线程来处理,而是扔到 Workqueue 中处理。Workqueue 的主要工作就是用进程上下文来处理内核中大量的小任务。所以 Workqueue 的主要设计思想:一个是并行,多个 work 不要相互阻塞;另外一个是节省资源,多个 work 尽量共享资源 ( 进程、调度、内存 ),不要造成系统过多的资源浪费。为了实现的设计思想,workqueue 的设计实现也更新了很多版本。最新的 work
2021-01-03 20:40:57
35
转载 Linux中断子系统
首先感谢原文作者 LoyenWang 的分享,可以点击章节阅读原作者原文,或者查看本文的转载地址,再次感谢原作者分享,已经在公众号上征得作者同意。说明:Kernel版本:4.14 ARM64处理器,Contex-A53,双核 使用工具:Source Insight 3.5, Visio名词GIC:中断控制器Generic Interrupt Controller SoC:系统级芯片System on Chip SGI:软件产生的中断(software-generated inter..
2021-01-03 18:21:54
48
转载 xshell配色方案monokai.xcs
[monokai]text=ffffffcyan(bold)=a6e22etext(bold)=ffffffmagenta=f92672green=80ff80green(bold)=80ff80background=272822cyan=a6e22ered(bold)=de8e30yellow=66d9efmagenta(bold)=f92672yellow(bold)=66d9efred=de8e30white=c0c0c0blue(bold)=ae81ffwhite(.
2020-12-31 16:58:53
23
原创 GDB Checkpoints
https://sourceware.org/gdb/wiki/Internals%20Checkpoints《GDB Watchpoints》《GDB Checkpoints》CheckpointsIn the abstract, a checkpoint is a point in the execution history of the program, which the user may wish to return to at some later time.Inter.
2020-12-17 22:17:56
38
原创 GDB Watchpoints
目录WatchpointsWatchpoints and Threadsx86 WatchpointsWatchpointshttps://sourceware.org/gdb/wiki/Internals%20WatchpointsWatchpoints are a special kind of breakpoints (seebreakpoints) which break when data is accessed rather than when some inst..
2020-12-17 22:10:50
51
转载 Linux内存管理:MMU那些事儿
《ARM SMMU原理与IOMMU技术(“VT-d” DMA、I/O虚拟化、内存虚拟化)》《Linux内存管理:分页机制》《Linux内存管理:内存描述之内存节点node》《Linux内存管理:内存描述之内存区域zone》《Linux内存管理:内存描述之内存页面page》《Linux内存管理:内存描述之高端内存》《内存管理:Linux Memory Management:MMU、段、分页、PAE、Cache、TLB》《Linux内存管理:MMU那些事儿》目录MMU 诞生之
2020-12-17 21:33:22
81
原创 LIB BFD, the Binary File Descriptor Library
BFD:https://ftp.gnu.org/old-gnu/Manuals/bfd-2.9.1/html_mono/bfd.html DEMOs:https://github.com/Rtoax/test/tree/master/c/glibc/bfd 断点示例:https://github.com/Rtoax/test/tree/master/gdb/breakpointFirst Edition--BFD version < 3.0April 1991{Steve Cham.
2020-12-17 21:09:34
38
转载 Linux文件系统:新建一个空文件占用多少磁盘空间?只有1个字节的文件实际占用多少磁盘空间?
目录新建一个空文件占用多少磁盘空间?实践出真知细说Inode文件名存到哪里了结论只有1个字节的文件实际占用多少磁盘空间查看1个字节的文件继续讨论这个4K文件内容大了怎么办?结论推荐阅读新建一个空文件占用多少磁盘空间?https://mp.weixin.qq.com/s?__biz=MjM5Njg5NDgwNA==&mid=2247483902&idx=1&sn=01ceb6988adcbcac6da6ea6dafe57039&.
2020-12-15 22:42:16
102
原创 VGER.KERNEL.ORG:为Linux内核开发者提供E-Mail列表服务
http://vger.kernel.org/http://vger.kernel.org/traceroute.htmlMajordomo lists at VGER.KERNEL.ORGREMEMBER: Subscription to these lists go via <majordomo@vger.kernel.org> !Note about archives: Listed archives are those that have been reported.
2020-12-15 22:14:03
44
原创 pthread_detach():主线程与子线程分离,子线程结束后,资源自动回收
https://github.com/Rtoax/test/tree/master/c/glibc/pthread目录前言pthread_join()pthread_detach()前言1.linux线程执行和windows不同,pthread有两种状态joinable状态和unjoinable状态,如果线程是joinable状态,当线程函数自己返回退出时或pthread_exit时都不会释放线程所占用堆栈和线程描述符(总计8K多)。只有当你调用了pthread_join之后这些资源
2020-12-15 22:09:36
153
转载 Linux网络协议栈:关闭一个还有没发送数据完的TCP连接
《监视和调整Linux网络协议栈:接收数据》《监控和调整Linux网络协议栈的图解指南:接收数据》《Linux网络 - 数据包的接收过程》《Linux网络协议栈:网络包接收过程》《Linux内核网络协议栈:udp数据包发送(源码解读)》《TCP/IP网络协议栈面试经典题目》《TCP/IP网络协议栈:以太网数据包结构、802.3》《TCP/IP网络协议栈:ARP协议详解》《TCP / IP攻击:ARP缓存中毒的基本原理、TCP序列号预测和TCP重置攻击》《TCP/IP网络协
2020-12-15 22:01:28
99
1
转载 ElasticSearch:图解ElasticSearch的搜索过程
目录摘要版本内容图解ElasticSearch图解Lucene搜索发生时缓存的故事在Shard中搜索如何Scale -扩展?一个真实的请求参考结束摘要先自上而下,后自底向上的介绍ElasticSearch的底层工作原理,试图回答以下问题: 为什么我的搜索*foo-bar*无法匹配foo-bar? 为什么增加更多的文件会压缩索引(Index)? 为什么ElasticSearch占用很多内存? 版本elas...
2020-12-15 21:38:06
28
原创 Quagga:开源的基于Zebra实现了RIP, OSPF, BGP的动态路由软件
目录quagga简介特性安装quagga简介https://www.jianshu.com/p/300acac7801fQuagga是一个开源的基于Zebra实现了RIP, OSPF, BGP的动态路由软件。它提供的CLI命令和Cisco IOS类似 ,可以使用 quagga 将linux 机器打造成一台功能完备的路由器。https://blog.csdn.net/bestboyxie/article/details/53925894安装Quagga的目的是使装有l.
2020-12-15 21:01:50
191
转载 Linux内核精选文章向读者汇报 | 相遇Linux
本微信公众号精选人气文章向各位读者汇报:人气最火:Linux实时补丁即将合并进Linux 5.3投资自己:OS部门Linux死锁/hungtask/soft_hard/lockup分享视频报名预告分享以原始patch开始深究Linux内核研究内核patch:Linux内核中添加新功能隐藏进程地址空间内存不被窃取看Linux内核前辈解Bug你会有什么感想一个令人惊叹的Linux内核补丁同步:一个例子理解数据同步的重要性调度:一个...
2020-12-15 20:52:19
23
转载 C和汇编如何互相调用?
《Linux X64下汇编学习:C语言调用汇编代码,汇编中调用C语言函数》《C语言与汇编语言的区别》《C语言编写汇编的编译器,用c编写一个asm的编译器》《C语言嵌入汇编指令(asm)查询系统时间》《C和汇编如何互相调用?》https://github.com/Rtoax/test/tree/master/asmhttps://github.com/Rtoax/test/tree/master/assembler目录一、gcc 内联汇编格式:参数举例三、ATP
2020-12-15 20:50:47
60
转载 Kafka和RocketMQ底层存储:零拷贝技术
零拷本相关《【转】零拷贝的实现原理》 《【转】零拷贝的实现原理》 《搞懂Linux零拷贝,DMA》 《通过零拷贝进行有效的数据传输(java、c)》 《CUDA零拷贝内存(zerocopy memory)》IO相关《Linux文件系统直接IO原理与实现:缓存I/O、直接I/O》 《Linux文件系统概述:硬盘驱动>通用块设备层>文件系统>虚拟文件系统(VFS)》 《Linux内核:一文读懂文件系统、缓冲区高速缓存和块设备、超级块》 《Linux虚拟文件系统概述》 《进程、地址空间、
2020-12-15 20:42:25
65
原创 网址收藏 2020.12.11
Java虚拟机规范;malldump(内存转储):https://github.com/yodaos-project/malldump;ethtool:源代码 :https://mirrors.edge.kernel.org/pub/software/network/ethtool/;Linux协议栈文集(简书):https://www.jianshu.com/nb/30068120连接池:TODOPMDK:持久化内存开发:https://github.com/pmem/pmdk睿初科技软件开发
2020-12-11 20:24:50
38
2
转载 I2C总线 | 百度百科
目录工作原理特征数据传输字节格式应答响应时钟同步模式快速模式高速模式参考资料I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果
2020-12-07 22:37:25
62
1
转载 Unwind 栈回溯详解:libunwind
目录1. 历史背景1.1 frame pointers1.2 .debug_frame (DWARF)1.3 .eh_frame (LSB)1.4 CFI directives2. .debug_frame (DWARF) 详解2.1 Call Frame Table2.2 Call Frame Instructions2.3 Instructions Opcode2.4 DWARF expression2.5 Call Frame Instruction Usa
2020-12-07 22:28:32
219
4
转载 VFIO - 将 DMA 映射暴露给用户态
《ARM SMMU原理与IOMMU技术(“VT-d” DMA、I/O虚拟化、内存虚拟化)》《提升KVM异构虚拟机启动效率:透传(pass-through)、DMA映射(VFIO、PCI、IOMMU)、virtio-balloon、异步DMA映射、预处理》《内核引导参数IOMMU与INTEL_IOMMU有何不同?》《DMAR(DMA remapping)与 IOMMU》《Linux驱动:VFIO概述(vfio/iommu/device passthrough)》《Linux内核:VFIO
2020-12-07 22:16:01
82
转载 Linux内核:VFIO Mediated Device(vfio-mdev)内核文档(翻译)
《ARM SMMU原理与IOMMU技术(“VT-d” DMA、I/O虚拟化、内存虚拟化)》《提升KVM异构虚拟机启动效率:透传(pass-through)、DMA映射(VFIO、PCI、IOMMU)、virtio-balloon、异步DMA映射、预处理》《内核引导参数IOMMU与INTEL_IOMMU有何不同?》《DMAR(DMA remapping)与 IOMMU》《Linux驱动:VFIO概述(vfio/iommu/device passthrough)》《Linux内核:VFIO
2020-12-07 22:03:52
199
转载 Linux内核:VFIO 内核文档 (实例,API,bus驱动API)
《ARM SMMU原理与IOMMU技术(“VT-d” DMA、I/O虚拟化、内存虚拟化)》《提升KVM异构虚拟机启动效率:透传(pass-through)、DMA映射(VFIO、PCI、IOMMU)、virtio-balloon、异步DMA映射、预处理》《内核引导参数IOMMU与INTEL_IOMMU有何不同?》《DMAR(DMA remapping)与 IOMMU》《Linux驱动:VFIO概述(vfio/iommu/device passthrough)》《Linux内核:VFIO
2020-12-07 21:51:55
97
转载 Linux驱动:VFIO概述(vfio/iommu/device passthrough)
Virtual Function I/O (VFIO) 是一种现代化的设备直通方案,它充分利用了VT-d/AMD-Vi技术提供的DMA Remapping和Interrupt Remapping特性, 在保证直通设备的DMA安全性同时可以达到接近物理设备的I/O的性能。 用户态进程可以直接使用VFIO驱动直接访问硬件,并且由于整个过程是在IOMMU的保护下进行因此十分安全, 而且非特权用户也是可以直接使用。 换句话说,VFIO是一套完整的用户态驱动(userspace driver)方案,因为它可以安全地把
2020-12-07 21:41:11
191
转载 Linux内核网络协议栈:udp数据包发送(源码解读)
《监视和调整Linux网络协议栈:接收数据》《监控和调整Linux网络协议栈的图解指南:接收数据》《Linux网络 - 数据包的接收过程》《Linux网络协议栈:网络包接收过程》《Linux内核网络协议栈:udp数据包发送(源码解读)》目录LINUX内核网络数据包发送(一)1. 前言2. 数据包发送宏观视角3. 协议层注册4. 通过 socket 发送网络数据4.1sock_sendmsg,__sock_sendmsg,__sock_sendmsg_nose...
2020-12-07 21:24:49
126
转载 Linux内核:kprobe机制-探测点
目录概述实例深入探究是否只能基于symbol_name做kprobe?kprobe是如何动态添加探针的?post钩子为什么会用到single stepfault_handler 钩子什么时候会用到当然,这一切都是假的!https://blog.csdn.net/liuhangtiant/article/details/109555795概述kprobe机制用于在内核中动态添加一些探测点,可以满足一些调试需求。本文主要探寻kprobe的执行路径,也就是说如何trap
2020-12-07 20:50:02
55
转载 消息队列MQ夺命连环11问:kafka、rabbitmq、rocketmq、activemq
《消息队列MQ如何保证消息的幂等性》《RabbitMQ架构》《ZeroMQ简介:一种高性能的异步消息传递库》《Rocketmq原理&最佳实践》目录你们为什么使用mq?具体的使用场景是什么?那你们使用什么mq?基于什么做的选型?你上面提到异步发送,那消息可靠性怎么保证?生产者丢失MQ丢失消费者丢失你说到消费者消费失败的问题,那么如果一直消费失败导致消息积压怎么处理?那如果消息积压达到磁盘上限,消息被删除了怎么办?说了这么多,那你说说RocketMQ实
2020-12-06 22:25:05
52
转载 TCP/IP网络协议栈面试经典题目
目录面试官:看你简历说精通TCP和IP,那我们来讨论下网络模型和TCP、IP协议,讲下你的理解先面试官:看你画的图,TCP有自己的首部结构,这都有哪些字段,最好说说它们的作用面试官:那TCP和UDP有什么区别面试官:刚才你说TCP是可靠的连接,它是怎么实现的面试官:具体说一说三次握手和四次挥手机制面试官:如果没有三次握手会有什么问题呢面试官:TIME_WAIT和CLOSE_WAIT的区别在哪面试官:TIME_WAIT的作用呢,还有为啥状态时间要保持两个MSL面试官:刚才你
2020-12-06 22:10:40
124
转载 Linux内存管理:TLB flush操作
目录一、前言二、基本概念1、什么是TLB?2、为什么有TLB?3、TLB工作原理三、ARMv8的TLB1、TLB的组成结构2、如何确定TLB match3、进程切换和ASID(Address Space Identifier)4、TLB的一致性问题5、TLB操作过程6、维护TLB的指令四、TLB flush API1、 void flush_tlb_all(void)2、 void flush_tlb_mm(struct mm_struct *mm
2020-12-06 21:04:07
151
转载 Linux进程管理+内存管理:进程切换的TLB处理(ASID-address space ID、PCID-process context ID)
目录一、前言二、单核场景的工作原理1、block diagram2、绝对没有问题,但是性能不佳的方案3、如何提高TLB的性能?4、特殊情况的考量4、进一步提升TLB的性能 -ASID(address space ID)三、多核的TLB操作1、block diagram2、TLB操作的基本思考 -PCID(process context ID)四、进程切换中的tlb操作代码分析1、tlb lazy mode2、ARM64中如何管理ASID?3、进程切..
2020-12-06 21:02:33
58
2
转载 TCP/IP网络协议栈:IP协议
《TCP/IP网络协议栈:以太网数据包结构、802.3》《TCP/IP网络协议栈:ARP协议详解》《TCP / IP攻击:ARP缓存中毒的基本原理、TCP序列号预测和TCP重置攻击》《TCP/IP网络协议栈:IP协议》目录01 IP地址1.1、简介1.2、IP地址的组成1.3、IP地址分类1.4、特殊IP地址1.5、子网掩码02 IP数据包组成03 IP分片解析04 IP分片攻击之前的文章《以太网数据包结构》《TCP/IP网络协议栈:以太网数据包结构、
2020-12-06 20:17:23
136
转载 TCP/IP网络协议栈:ARP协议详解
《TCP/IP网络协议栈:以太网数据包结构、802.3》《TCP/IP网络协议栈:ARP协议详解》《TCP / IP攻击:ARP缓存中毒的基本原理、TCP序列号预测和TCP重置攻击》目录1、ARP协议简介2、ARP协议结构3、wireshark抓包分析4、ARP协议分类5、ARP协议应用6、ARP攻击Firefly知晓编程3天前https://mp.weixin.qq.com/s/TWpqE7gYWz4wukWH83hbfg1、ARP协议...
2020-12-06 19:49:28
84
MPI, OpenMP, CUDA, OpenCL, OpenACC,
2018-06-03
中国电信DPDK技术白皮书.pdf
2020-10-25
OpenCV自带视频测试文件vtest.avi
2018-05-04
C Reference Manual.pdf
2019-08-04
Virtual Memory and Linux - AlanOtt.pdf
2020-11-10
Aarch64 Kernel Memory Management.pptx
2020-11-08
LKM:Linux Kernel Map(图解Linux内核)PDF,SVG,PNG格式
2020-11-01
The BSD Packet Filter A New Architecture for User-level Packet Capture.pdf
2020-10-30
XDP_DDoS_protecting_osd2017.pdf
2020-10-10
极简化的TCP/UDP测试工具-吞吐量
2020-07-22
Linux内核图解LKM.pdf
2020-04-04
vxworks-product-overview.pdf
2020-02-23
conf20200210.darkTheme.xml
2020-02-10
C语言如何从源函数中获取指向它的函数指针的地址
发表于 2020-05-21 最后回复 2020-06-15
Koma_Wong的留言板
发表于 2020-01-02 最后回复 2020-03-08
谁知道这个模板用法是什么意思
2019-03-31
C语言如何将字符串“int”转化为int类型
2019-01-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝