自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(969)
  • 资源 (61)
  • 收藏
  • 关注

原创 如何使用队列规则(Qdisc)发送数据包

函数 __dev_queue_xmit 用于将数据包从网络层发送到网络设备的传输队列中。该函数在内核网络子系统中扮演着重要角色,负责将数据包从上层协议(如 IP 层)传递到网络设备(如以太网卡)进行发送。在这个过程中,__dev_queue_xmit 会处理各种情况,如流量控制、队列管理等,以确保数据包能够有效地发送到目标设备。

2025-01-12 16:07:45 243

原创 高速网络数据包处理中的内核旁路技术

该PPT详细介绍了Linux网络栈中数据包的传输路径、内核旁路技术的必要性以及具体的内核旁路技术,包括用户空间数据包处理和用户空间网络栈。数据包在Linux网络栈中的旅程:描述了数据包从发送到接收的完整路径,包括各个网络层的处理。内核旁路技术的必要性:解释了为什么需要内核旁路技术来处理数据包,特别是在高速网络环境中。

2025-01-03 21:38:55 276

原创 TCP 小队列的设计原理

解决这一问题的方法是在任意两个端点之间的每个系统中减少缓冲的数据量——这项任务听起来简单,但事实证明远比人们预期的更具挑战性。实际上,缓冲可以在网络协议栈的许多意想不到的地方出现;《TCP small queues》由 Jonathan Corbet 于2012年7月17日发表在 LWN.net 上,主要讨论了网络堆栈中的“缓冲区膨胀”(bufferbloat)问题。这个问题是由于在网络传输过程中,数据包在网络设备中被过度缓存导致的,从而在整个网络中引起较长时间的延迟和较差的可靠性。

2024-12-28 09:24:12 339

原创 Linux 网络栈中的队列机制

包队列是任何网络栈或设备的核心组件。它们允许模块之间进行异步通信,提高性能,并具有影响延迟的副作用。本文旨在解释IP数据包在Linux网络栈中的排队位置,如何操作诸如BQL这种有趣的缓解延迟的新特性,以及如何控制缓冲以减少延迟。

2024-12-23 22:15:55 160

原创 开始探索XDP:开启Linux高性能网络编程的新篇章

XDP(eXpress Data Path)是 Linux 中的一项强大新网络功能,它允许在数据包进入网络栈之前以高性能可编程的方式访问这些数据包。许多开发者已经为这项功能撰写了入门博客,例如 Paolo Abeni 的《使用 XDP 实现高性能、低延迟网络:第一部分》和 Toke 的《在 Red Hat Enterprise Linux 8 中使用 eXpress Data Path (XDP)》。因此,开发人员正在创建工具和框架,使编写 eBPF 和 XDP 应用变得容易。

2024-12-22 08:48:37 474

原创 关于UDP缓冲区和丢包统计

每个套接字默认会获得 wmem_default 大小的发送缓冲区,可以通过setsockopt 选项SO_SNDBUF 请求设置最多 wmem_max 大小的缓冲区。每个套接字默认会获得 rmem_default 大小的接收缓冲区,可以通过setsockopt 选项SO_RCVBUF 请求设置最多 rmem_max 大小的缓冲区。UDP 缓冲区由 7 个 sysctl 参数控制。控制套接字默认和最大发送缓冲区大小,单位为字节。控制套接字默认和最大接收缓冲区大小,单位为字节。调整和观察 UDP 缓冲区。

2024-12-21 07:26:34 422

原创 netfilter简介及流程图

Netfilter 是 Linux 内核中用于网络包过滤和操作的框架,由 Rusty Russell 于1998年创立,旨在改进旧的 ipchains 和 ipfwadm 实现。它采用模块化设计,具有良好可扩展性,并在2000年3月合并进Linux 2.3.x内核版本。

2024-12-20 20:23:21 348

原创 TCP小队列与WiFi聚合

作者们在测试中使用了带有 Atheros 芯片组的 USB/WiFi 802.11ab/g/n设备,具体型号包括AR9271(使用ath9k_htc驱动程序)、AR9580(ath9k驱动程序),以及 QCA9880v2(ath10k驱动程序)。在初步测试期间,他们遇到了一个问题:尽管这些 dongles 的标称传输速率为150Mb/s,但通过 iperf进行的上传连接仅能达到大约 40Mb/s。因此,如果遇到类似的性能问题,确保您的内核是最新的非常重要。

2024-12-17 12:31:01 454

原创 Linux 网络流量控制 - 实现概述

Linux 提供了一整套丰富的流量控制)功能。本文档概述了相应的内核代码设计,描述了其结构,并通过描述一种新的排队策略来说明新元素的添加。

2024-12-14 09:21:56 423

原创 Linux 高级路由教程

这本文是一个关于Linux高级路由的教程,主要讨论了如何使用Linux来构建一个能够根据数据包的目的地选择不同链路的路由器。详细解释了如何使用BGP(边界网关协议)来获取国内IP地址的路由信息,并介绍了如何在Linux系统中使用多个路由表和路由规则来实现复杂的路由策略。此外,还讨论了如何为DMZ(非军事化区)设置特殊的路由表和规则,以确保来自DMZ的流量通过特定的链路发送。本文的目的是帮助读者理解如何在Linux系统中实现高级路由策略,以及如何利用BGP等网络协议来优化网络性能。

2024-12-12 07:11:21 297

原创 深入探讨 AF_PACKET 套接字

AF_PACKET 套接字是一种用于直接访问网络接口(即网卡)的套接字类型,通常用于网络数据包捕获和分析。它允许应用程序直接与网络接口卡(NIC)交互,而不需要通过网络协议栈。从而可以发送和接收以太网帧。它提供了比普通TCP/UDP套接字更低级别的网络访问。通常用于需要直接处理网络帧的应用,如抓取网络数据包、入侵检测系统、自定义协议实现等。

2024-12-08 10:03:21 497

原创 iproute和路由表

我们将开始详细讨论路由策略数据库(RPDB: Routing Policy DataBase)三要素中的第一个组件:路由(另外两个组件是 ip rules 和 ip tables)。路由路由由 ip route(iproute2)和 route 工具进行管理。两者的区别在于 ip route 是当前版本(iproute2),而 route(iproute)已经被弃用很长时间了。尽管如此,后者在某些任务中(特别是只读查询)仍然有用,并且在更广泛的Linux社区中仍然具有相关性。

2024-12-07 09:31:06 267

原创 IEEE 802.11s wifi mesh网络

IEEE 802.11s 是对 IEEE 802.11 标准的扩展,允许多个无线节点相互连接,而无需在它们之间有接入点(AP)。例如,如果您家里有一个 AP,您想将文件复制到另一台连接到相同 AP 的笔记本电脑 B(与您的笔记本电脑 A 连接),那么笔记本电脑 A 会将数据传输到 AP,AP 再将数据传输给笔记本电脑 B。不过,IEEE 802.11s 的真正优势在于存在多个无线节点的情况下。使用 802.11s 网状(mesh)网络标准,这些节点可以形成一个多跳网络,网络中的所有连接都是无线的。

2024-11-30 09:29:54 604

原创 使用 XDP 实现高性能、低延迟的网络:第一部分

尽管在多个领域都取得了可测量的进步,但新的一波与架构相关的安全问题及相应的对策几乎抹杀了所有的这些进步,对于一些需要处理大量数据包的工作负载,纯内核解决方案仍然落后于绕过(bypass)内核的解决方案,如数据平面开发套件(Data Plane Development Kit, DPDK),几乎落后一个数量级。但是,内核社区从不停息(几乎是字面上的意思),基于内核的网络性能圣杯已经被发现,它的名字叫做XDP:即eXpress Data Path。

2024-11-28 07:06:37 220

原创 关于网络缓冲区膨胀 bufferbloat

在 2014 年的 Linux Plumbers Conference 上,Stephen Hemminger 以一种非常独特的方式介绍了关于网络缓冲区膨胀(bufferbloat)的问题。Stephen 在会议中使用了几加仑的水和一个小的充气游泳池来形象地展示网络排队和缓冲区膨胀的概念。他这样做是为了更直观地解释当前与缓冲区膨胀斗争的状态。虽然有一些好消息可以分享,但不幸的是,在很多方面,人们对此问题的理解和解决仍然处于“湿透”的状态,即还存在许多未解决的问题。Bufferbloat 是指在网络传输过程中

2024-11-21 08:52:28 308

原创 IPv6 邻居发现

本文介绍IPv6邻居发现(Neighbor Discovery)过程。邻居发现协议是IPv6中用于解决网络层相邻节点之间通信问题的一套协议,它是IPv6协议栈中的一个关键部分,主要用于替换IPv4中的ARP(地址解析协议)、ICMP路由器发现和ICMP重定向消息等功能。

2024-11-20 12:05:02 224

原创 Linux 数据包快速路径: XDP 轻松入门指南

XDP(即 eXpress Data Path)是一个 Linux 网络功能,使您能够在内核中创建高性能的包处理程序。XDP 在 Linux 4.8 中引入,建立在扩展的 Berkeley 包过滤器(eBPF)之上,提供了一种比经过本地内核网络协议栈更早、更快地处理网络数据包的机制。如何构建一个简单的 XDP 程序。XDP 内核中数据包的路径。传统网络协议栈面临的挑战。

2024-11-08 08:20:40 209

翻译 使用BPF进行网络数据包464转换

在这里,我们将尝试使用 BPF 做一些神奇的事情;我们将会把我们在网络上收到的 IPv4 数据包转换为IPv6 数据包然后送入 Linux 网络栈 ,这样接收的 TCP/IP 栈只会看到 IPv6 流量,然后我们在出站时反转这个技巧。因此,运行 BPF 的系统在网络栈中只会看到 IPv6的数据包,而 IPv4 流量将是在网络上看到的内容。所以远程的 ping 应用程序认为它在和一个 IPv4 端点通信,而本地的 Linux TCP/IP 协议栈则认为它在和一个远程的 IPv6 ping 客户端通信!

2024-11-07 08:31:24 77

原创 Linux流量控制Classifier-Action子系统架构

本文描述了Linux流量控制(TC)分类器-动作(CA:Classifier Action)子系统的架构。该子系统已在内核中存在超过十年(早在OF或P4之前)(更早在相关实验性补丁中存在),我们终于有动力来进行开源项目的枯燥而令人不快的一部分——文档化。我们将描述报文处理图架构及其底层可扩展性,进一步讨论使其成为一个出色的报文处理架构的形式化语言。

2024-11-06 08:56:43 390

原创 IPSec之数据封装协议

专为 IP 层通信设计的安全算法称为“IPSec”。它是一个协议套件,旨在提供通过 IP 网络(例如互联网)进行安全通信。它在 IP 层提供安全服务,使其能够保护所有基于 IP 的协议,包括 TCP、UDP 和 ICMP。

2024-08-10 17:45:17 1602 1

原创 Linux Bridge - Part 2

在中,我描述了Linux 网桥(bridge)的配置,并展示了一个实验,其中使用Wireshark来分析流量。在本文中,我将讨论当创建一个网桥时会发生什么,以及Linux 网桥(bridge)的工作原理。与网桥(bridge)相关的源代码可以在找到。

2024-07-07 11:34:00 1270 2

转载 连接跟踪(conntrack):原理、应用及 Linux 内核实现

本文介绍连接跟踪(connection tracking,conntrack,CT)的原理,应用,及其在 Linux 内核中的实现。代码分析基于内核4.19。为使行文简洁,所贴代码只保留了核心逻辑,但都给出了代码 所在的源文件,如有需要请查阅。水平有限,文中不免有错误之处,欢迎指正交流。// 为方便 NAT 的实现,内核将 tuple 结构体拆分为 "manipulatable" 和 "non-manipulatable" 两部分// 下面结构体中的 _man 是 manipulatable 的缩写。

2024-03-20 16:32:46 1821

转载 内核通信之 Netlink 源码分析和实例分析

这几天在看 ipvs 相关代码的时候又遇到了 netlink 的事情,所以这两天花了点时间重新把 netlink 的事情梳理了一下。linux 内核一直存在的一个严重问题就是内核态和用户态的交互的问题,对于这个问题内核大佬们一直在研究各种方法,想让内核和用户态交互能够安全高效的进行。如系统调用,proc,sysfs等内存文件系统,但是这些方式一般都比较简单,只能在用户空间轮询访问内核的变化,内核的变化无法主动的推送出来。

2024-03-08 13:14:56 295

转载 Linux Network Management

char c;int s;close(s);data_len;hdr_len;*data;

2024-03-03 18:51:57 162

转载 The Linux Networking

【代码】The Linux Networking。

2024-03-03 18:36:04 124

转载 What Is eBPF? The Ultimate Guide

What Is eBPF? The Ultimate Guide - The New StackeBPF stands for extended Berkeley packet filter. Find out everything you should know about Linux eBPF in this comprehensive technology guide.Dec 26th, 2023 2:00am by B. Cameron GainLogo courtesy of the eBPF F

2024-03-03 18:29:41 100

转载 A Gentle Introduction to eBPF

【代码】A Gentle Introduction to eBPF。

2024-03-03 18:27:50 71

转载 理解 TCP rate sample

内核中的 TCP rate sample 被 bbr 这样的拥塞控制算法使用,它总共也就不到200行代码,其中一半还是注释,但理解起来可能还是需要花点力气。本文将尝试解释它的实现原理.本文使用的内核代码版本是一句话概括, rate sample 的结果是在** interval **时间内发送的报文被网络成功(成功送达)的数目。比如, 5s 内, 成功送达了 10个报文、10s 内成功送达了 15 个报文 …. 等等.

2024-03-01 09:29:44 200

转载 The story of one latency spike

【代码】The story of one latency spike。

2024-02-29 10:11:51 66

转载 How to achieve low latency with 10Gbps Ethernet

In。

2024-02-29 09:05:36 91

转载 linux-network-performance-parameters

【代码】linux-network-performance-parameters。

2024-02-28 20:13:09 88

转载 使用 eBPF 扩展内核

扩展型柏克莱封包过滤器 (eBPF) 是一个内核中的虚拟机,可运行用户提供的 eBPF 程序来扩展内核功能。这些程序可以挂接到内核中的探测点或事件,并用于收集有用的内核统计信息、监控和调试。程序使用bpf(2)系统调用加载到内核中,并作为 eBPF 机器指令的二进制 blob 由用户提供。Android 构建系统支持使用本文所述的简单 build 文件语法将 C 程序编译为 eBPF 程序。如需详细了解 eBPF 内部构件和架构,请参阅。

2024-02-26 14:16:15 150

转载 通用内核映像(GKI)

是所有 Android 产品内核的基础。供应商内核和设备内核位于 ACK 的下游。供应商通过修改内核源代码并添加设备驱动程序,添加了对 SoC 和外围设备的支持。这些修改内容可能很多,以至于设备上运行的代码中有多达 50% 是树外代码(并非来自上游 Linux 和 AOSP 通用内核)。几乎所有设备都具有自定义内核。这就导致了内核碎片化问题。Android 内核层次结构导致碎片化问题。

2024-02-26 14:03:38 1919

转载 L2TP over IPsec PC

ClickRUTPCRUT;PC。

2024-02-07 09:11:22 95

转载 L2TP/L2TP over IPSec

二层隧道协议L2TP ( Layer 2 Tunneling Protocol )是虚拟私有拨号网VPDN ( Virtual Private Dial-up Network )隧道协议的一种,扩展了点到点协议PPP ( Point-to-Point Protocol )的应用,是远程拨号用户接入企业总部网络的一种重要VPN技术。LAC:L2TP的访问控制中心,隧道发起方,企业分支的出口网关,用于站点到站点建立L2TP VPN,企业分支发起的L2TP VPN建立连接,中间不用经过运营商(场景三)

2024-02-07 08:40:39 1298

转载 linux路由表配置

D、解决方法,由于在table 0中添加路由只能解决目的地址或目的网络不同时路由问题,但两块网卡有相同的子网,网关也一样,目的子网也一样,所以已经不能通过在table 0添加路由记录来解决问题,我们只能添加其他编号的table,并在新的table中添加路由记录,使eth1的包选路时使用新的table的路由记录,并从eth1上出去。路由规则的查看使用ip rule sh路由规则也从0开始编号,可以自由添加,来源相同IP的路由规则选择根据规则编号的大小确定优先级,编号越小优先级越高。

2024-02-04 16:25:10 428

转载 利用qemu+gdb在ubuntu下搭建调试kernel的环境

在A Terminal中运行以下命令 qemu-system-x86_64 -kernel bzImage -boot c -m 1024 -initrd initramfs.img -append "root=/dev/sda rw console=ttyS0, 115200 acpi=off nokaslr" -serial stdio -display none -s -S。如果需要调试内核的kvm模块,则向上述命令添加 -enable-kvm。

2024-01-14 20:48:10 208

转载 Tc: ingress policing and ifb mirroring

【代码】Tc: ingress policing and ifb mirroring。

2024-01-11 13:46:33 153

转载 Linux Netfilter and Traffic Control

SFQ 之所以被称为“随机”,是因为它并不是真的为每一个会话创建一个队列,而是使用一个散列算法,把所有的会话映射到有限的几个队列中去。它的精确性不如其它的方法,但是它在实现高度公平的同时,需要的计算量却很少。Linux就而言,队列规定是附带在网卡上的,所有在这个网卡上排队的数据都排进这个队列规定。令牌桶过滤器(TBF)是一个简单的队列规定:只允许以不超过事先设定的速率到来的数据包通过,但可能允许短暂突发流量朝过设定值。就象在分类的队列规定一段中解释的,过滤器用与把数据包分类并放入相应的子队列。

2024-01-11 08:42:22 101

转载 QoS in Linux with TC and Filters

filters:bytes.bpfcgroupscope.flowerfwalready.routetcindexbpfconnmarkcsumiptmirrednatpeditpolicesimpleskbeditvlanConclusion----------

2024-01-10 20:21:43 241

nweb: a tiny, safe Web server (static pages only)

nweb: a tiny, safe Web server (static pages only)

2012-04-22

内存管理 作者李云

李云老师的又一个作品,自己觉得很好。好好学习,Day Day Up!

2012-03-11

栈字符数组&混淆指针和数组所导致的错误

李云老师的两篇文章,分享出来。希望可以学习学习。

2012-03-11

定时器管理

李云老师的一遍文章,讲解是定时器的管理知识

2012-03-11

Linux 程序设计源码

经典书籍Linux 程序设计源代码。看代码学习应该是比较快的学习方式了。

2012-03-10

熟悉binutils工具集和程序中的段

嵌入式开发中常用工具集详细讲解,以及程序中的段分析。对嵌入式开发很好的教程。

2012-03-04

驾驭makefile

学习 makefile 比较好的资料(李云编写)。讲解很详细。

2012-03-04

Introduction to Java Programming Comprehensive Version Fifth Edition

Introduction to Java Programming Comprehensive Version Fifth Edition source code and ppt.

2012-02-18

linux 程序设计简单总结

Linux 系统程序设计的简单总结。总结了常用系统调用的方法。

2012-02-11

Fusion 基础简介

Fusion provides an implementation of abstractions needed for multi-threaded/multi-process programming: Fusion 为多线程/进程编程提供了抽象的实现。

2012-02-02

DirectFB 原码导读

DirectFB 就是一个全能系统,麻雀虽小五脏俱全。DirecttFB 源码,可以了解很多方面的技术, 包括 Framebuffer, Graphics Accelerate Card,鼠标 盘等外设的事件处理,Font, Graphics Drawing 等,例外还可以看到一下很有用的编程技巧,例如 C++思想在C 语言中的运用,动态加载链接 双 buffer的具体实现,进程通信,多进程的控制和管理等。

2012-01-31

KernelAnalysis−HOWTO

This document tries to explain some things about the Linux Kernel, such as the most important components, how they work, and so on. This HOWTO should help prevent the reader from needing to browse all the kernel source files searching for the"right function," declaration, and definition, and then linking each to the other.

2012-01-11

第七讲 内核空间和用户空间

,Linux的虚拟地址空间也为0~4G。 Linux内核将这4G字节的空间分为两部分。 将最 高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为“内核空间 ”.

2012-01-11

linux 内存寻址

详细描述80x86微处理器怎样进行芯片级的内存寻址,Linux又是如何利用寻址 硬件的。我们希望当你学习内存寻址技术在Linux最流行的硬件平台上的详细实现方法时,既能够更好地理 解分页单元的一般原理,又能更好地研究内存寻址技术在其他平台上是如何实现的。

2012-01-11

Linux中的汇编语言

尽管C语言已经成为编写操作系统的主要语言,但是,在操作系统与硬件打交道的过 程中,在需要频繁调用的函数中以及某些特殊的场合中,C语言显得力不从心,这时, 繁琐但又高效的汇编语言必须粉墨登场

2012-01-09

分页机制及Linux中的初步表示

分页机制及Linux中的初步表示 分页机制在段机制之后进行,以完成线性—物理 地址的转换过程

2012-01-09

段机制及Linux的实现

讲述了IA32下的段机制和Linux下得实现方法。

2012-01-08

非常经典的一片介绍 linker script的文章

非常经典的一片介绍 linker script的文章

2012-01-06

TN05.ELF.Format.Summary.pdf

分析了 UNIX 类操作系统中普遍采用的目标文件格式 ELF(Executable and Linkable Format) ,目的是研究操作系统中二进制级软件构件的静态、动态组装技术。 本文首先介绍 ELF 文件格式规范,然后结合一个简单的 C 语言程序,分析编 译、链接后生成的可重定位、可执行格式实例。

2012-01-06

ELF Format 文件格式讲解

ELF Format 文件格式讲解,内容包括:ELF目标文件格式描述,程序的装载和动态链接—可执行程序生成过程描述,C库相关描述供3部分内容。

2012-01-02

Linux Network Traffic Control-Implementation Overview

内容概要:本文档详细介绍了 Linux 内核中的网络流量控制机制(Traffic Control, TC)的实现方法和技术细节。主要内容包括输入去复用(Input de-multiplexing)、转发(Forwarding)、输出排队(Output queuing)三个阶段的具体实现步骤,以及分类器(classifier)、策略器(police)、调度器(scheduler)等关键组件的工作原理。文档还展示了如何使用这些组件进行流量管理和优化。 适合人群:具有 Linux 网络管理经验和相关技术背景的系统管理员和开发人员。 使用场景及目标:主要用于理解和实现高效的网络流量控制,提高网络性能和带宽利用率。具体目标包括:流量整形(Shaping)、拥塞避免(Congestion Avoidance)、优先级管理(Priority Management)等。 其他说明:本文档提供了大量的图表和技术细节,帮助读者深入了解 Linux 系统中的网络流量控制机制,适用于深入学习和实际操作指导。

2024-12-07

Linux Kernel Networking: Implementation and Theory (2014)

《Linux内核网络:实现与理论》(2014) 本书将引导您深入探索当前Linux内核网络实现及其背后的理论。近十年来,市面上未曾出版过新的关于Linux网络的书籍。对于发展迅速、充满活力的Linux内核而言,十年时间相当漫长。有一些重要的内核网络子系统在其他书籍中并未得到描述,例如IPv6、IPsec、无线网络(IEEE 802.11)、IEEE 802.15.4、NFC、InfiniBand等。此外,关于这些子系统的实现细节,在网络上的信息也非常有限。基于以上所有原因,我撰写了此书。

2024-06-10

WiFi 直连 WiFi Direct / WiFi P2P

Kemparaj Praneeth 关于 WiFi P2P 的相关博客文章

2023-02-03

使用wireshark 解析rtp流.7z

调试rtsp收发流时,经常会需要抓包以确认是网络问题还是程序问题还是其它问题。通过tcpdump或者wireshark抓到的包通常是rtp流,保存为.pcap格式文件后中,可通过wireshark进行解析,得出h264裸流,并保存为文件。 我这里有一段rtp流文件,作为演示使用(这个文件有点不标准,一般一个nal打一个mark,但这里是一帧打一个mark)

2021-09-21

各种函数零点问题的处理

高观点下函数导数压轴题的系统性解读 突出高观点,突出系统 观点越高,问题越简单, 观点越高,问题越透彻, 高观点并不是想不到,而是用最朴素的思想去推动整个思维过

2017-12-10

electric fence

内存调试工具electric fence. software that overruns the boundaries of a malloc()memory allocation, software that touches a memory allocation that has been released by free(). Unlike other malloc() debuggers, Electric Fence will detect read accesses as well as writes, and it will pinpoint the exact instruction that causes an error.

2016-04-05

SDL tutorials

SDL 图形库经典教材,详细,step by step.

2014-07-12

打印日历程序的一种实现

本程序实现打印日历,可以输入年,即可打印出该年的每个月的日历;输入年和月分,则可以打印出这年这月的日历信息。

2013-12-01

Embedded Linux System Design and Development Source code

The Embedded Linux System Design and Development source code This book is worth reading.

2013-09-05

<<Programming from the Ground Up>> by Jonathan Bartlett

This book is not a reference book, it is an introductory book. It is therefore not suitable by itself to learn how to professionally program in x86 assembly language, as some details have been left out to make the learning process smoother. The point of the book is to help the student understand how assembly language and computer programming works, not to be a reference to the subject. Reference information about a particular processor can be obtained by contacting the company which makes it.

2013-04-03

The java tutorial

Java Program Tutorial. There have many skill for Java program.

2012-08-16

fb_jumpball.c

网上的关于frame buffer 的一个运用的例子。

2012-05-29

DMA Programming in Linux

DMA Programming in Linux.

2012-05-23

Direct Memory Access in Linux.doc

Direct Memory Access in Linux.

2012-05-23

Memory Mapping and DMA.pdf

Linux memory management - emphasis on techniques that are useful to the device driver writer.

2012-05-23

Hijacking the Linux Kernel.pdf

A new method of hijacking the Linux Kernel

2012-05-23

通过/dev/mem进行恶意代码注入(英语原文pdf)

通过/dev/mem进行恶意代码注入 英语原文,学习/dev/mem 相关的知识!

2012-05-23

linux frame buffer 学习资料

linux frame buffer 相关的资料。相关framebuffer 的学习还可以参考Linux 2.2 Framebuffer Device Programming Tutorial

2012-05-19

嵌入式Linux 上的C语言编程实践

Linux 嵌入式C语言编程实践Linux 嵌入式C语言编程实践

2012-04-27

autotools 工具学习

linux 中的 autotools 工具集学习。

2012-04-22

空空如也

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

TA关注的人

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