
内核
文章平均质量分 88
因上努力果上随缘
这个作者很懒,什么都没留下…
展开
-
Linux内核中Kprobes调试技术的实现
内核调试技术―Kprobes, Kprobes是一个轻量级的内核调试工具,利用Kprobes技术可以在运行的内核中动态的插入探测点,在探测点处执行用户预定义的操作。本文首先根据Kprobes在Linux内核中的源码实现,针对Linux CPU异常技术,single-step技术,Loadable Kernel Module技术以及RCU同步技术在Kprobes中的应用进行了研究。其次,针对Kprobes目前所支持的kprobe,jprobe,kretprobe等三种调试手段的实现进行了详细的分析研究。转载 2017-02-19 01:21:04 · 404 阅读 · 0 评论 -
Linux2.6 内核的 Initrd 机制解析
Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像文件转变成了 cpio 格式,变化不仅反映在文件格式上, linux 内核对这两种格式的 initrd 的处理有着截然的不同。本文首先介绍了什么是 initrd 技术,然后分别介绍了 Linux2.4 内核和 2.6 内核的 initrd 的处理流程。最后通过对 Linux2.6 内核的 initrd 处理部分代码的分析,使读者可以对 initrd 技术有一个全面的认识。为了更好转载 2017-02-20 00:49:20 · 194 阅读 · 0 评论 -
使用 GDB 和 KVM 调试 Linux 内核与模块
本文介绍使用 GDB 和 KVM 虚机进行 linux 内核和模块的调试方法。使用 GDB 调试内核和模块可以快速找到问题所在,并在内核崩溃时可以快速重启虚机继续下次调试。转载 2017-02-20 00:45:49 · 482 阅读 · 0 评论 -
Linux 内核 3.3 和 3.4 简介
回顾 Linux 内核最新版以及其针对 Google Android、Open vSwitch 和网络的特性。Linux 内核 3.3 版本于 2012 年 3 月正式发布(紧接着,版本 3.4 也于 5 月份发布了)。除了针对大量小功能和 bug 进行修复之外,这两个版本也进行了一些很重要的更改,包括 Google Android 项目的合并、Open vSwitch 的合并、一些网络改进(包括组合网络设备),以及各种文件系统、内存管理和虚拟化的更新。探讨版本 3.3 和 3.4 中的重要更改,并提前了解转载 2017-02-20 00:04:20 · 1725 阅读 · 0 评论 -
Linux内核 2.6.28 和 2.6.29 版本中的新特性
介绍 2.6.28 和 2.6.29 版本中的新特性。生命的必然不仅包括死亡和纳税,还包括 GNU/Linux® 操作系统的发展,最新的两个内核发布的确没有让人失望。2.6.28 和 2.6.29 版本包含了大量新的功能,比如先进的企业存储协议、两个新的文件系统、WiMAX 宽带网络支持以及存储完整性检查。通过本文了解为何现在就应该升级 Linux 内核。转载 2017-02-19 23:56:13 · 873 阅读 · 0 评论 -
从 Linux 内核访问用户空间内存
因为内核和用户空间存在于不同的虚拟地址空间中,在它们之间移动数据需要特别注意。研究虚拟地址空间和内核 API 理念,用于将数据移入或移出用户空间,并学习其他的一些用于映射内存的映射技术。转载 2017-02-19 23:53:43 · 552 阅读 · 0 评论 -
Linux 内核剖析
Linux® 内核是一个庞大而复杂的操作系统的核心,不过尽管庞大,但是却采用子系统和分层的概念很好地进行了组织。在本文中,您将探索 Linux 内核的总体结构,并学习一些主要的子系统和核心接口。您还可以通过其他 IBM 文章的链接更深入地进行学习。转载 2017-02-19 23:48:08 · 251 阅读 · 0 评论 -
在 Linux 下用户空间与内核空间数据交换的方式
本系列文章包括两篇,它们文详细地介绍了 Linux 系统下用户空间与内核空间数据交换的九种方式,包括内核启动参数、模块参数与 sysfs、sysctl、系统调用、netlink、procfs、seq_file、debugfs和relayfs,并给出具体的例子帮助读者掌握这些技术的使用。本文是该系列文章的第一篇,它介绍了内核启动参数、模块参数与sysfs、sysctl、系统调用和netlink,并结合给出的例子程序详细地说明了它们如何使用。转载 2017-02-19 23:37:59 · 355 阅读 · 0 评论 -
Relay:一种内核到用户空间的高效数据传输技术
Relay 是一种从 Linux 内核到用户空间的高效数据传输技术。通过用户定义的 relay 通道,内核空间的程序能够高效、可靠、便捷地将数据传输到用户空间。Relay 特别适用于内核空间有大量数据需要传输到用户空间的情形,目前已经广泛应用在内核调试工具如 SystemTap中。本文介绍了 Relay 的历史和原理,并且用一个简单的实例介绍了 Relay 的具体用法。转载 2017-02-19 23:33:10 · 427 阅读 · 0 评论 -
Linux 下的一个全新的性能测量和调式诊断工具 Systemtap
本系列文章详细地介绍了一个Linux下的全新的调式、诊断和性能测量工具Systemtap和它所依赖的基础kprobe以及促使开发该工具的先驱DTrace并给出实际使用例子使读者更进一步了解和认识这些工具。 本文是该系列文章之一,它讲解了kprobe的原理、编程接口、局限性和使用注意事项并给出实际使用示例帮助读者理解和认识kprobe。本系列文章之二讲解了DTrace以及Systemtap与DTrace比较。本系列文章之三讲解了Systemtap的原理,并通过一个例子向读者展示Systemtap的工作机理。转载 2017-02-19 23:07:19 · 499 阅读 · 0 评论 -
Linux 自检和 SystemTap
用于动态内核分析的接口和语言。现代的操作系统内核提供自检 功能,即动态地检查内核以理解其行为的能力。这些行为可以反映内核问题和性能瓶颈。拥有这些信息时候,您就可以调优或修改内核以避免出现故障。本文探索一个名为 SystemTap 的开放源码基础设施,它为 Linux® 内核提供这种动态的自检。转载 2017-02-19 23:11:41 · 319 阅读 · 0 评论 -
内核调试神器SystemTap — 简介与使用(一)
SystemTap是我目前所知的最强大的内核调试工具,有些家伙甚至说它无所不能转载 2017-02-19 23:25:08 · 288 阅读 · 0 评论 -
linux perf - 性能测试和优化工具
Perf是Linux kernel自带的系统性能优化工具。虽然它的版本还只是0.0.2,Perf已经显现出它强大的实力,足以与目前Linux流行的OProfile相媲美了。Perf 的优势在于与Linux Kernel的紧密结合,它可以最先应用到加入Kernel的new feature。而像OProfile, GProf等通常会“慢一拍”。Perf的基本原理跟OProfile等类似,也是在CPU的PMU registers中Get/Set performance counters来获得诸如instruct转载 2017-02-19 22:52:35 · 1295 阅读 · 0 评论 -
Perf -- Linux下的系统性能调优工具,第 2 部分
perf event 是一款随 Linux 内核代码一同发布和维护的性能诊断工具,由内核社区维护和发展。perf 不仅可以用于应用程序的性能统计分析,也可以应用于内核代码的性能统计和分析。得益于其优秀的体系结构设计,越来越多的新功能被加入 perf,使其已经成为一个多功能的性能统计工具集 。第二部分将介绍 perf 在内核代码开发上的应用。转载 2017-02-19 22:08:39 · 436 阅读 · 0 评论 -
使用kprobes查看内核内部信息
使用printk打印变量等方法,是调试内核的有效方法之一,但是这种方法必须重新构建并用新内核启动,调试效率比较低。以内核模块的方式使用kprobes、jprobes,就可以在任意地址插入侦测器,执行包括printk在内的各种调试工作,而无须重新构建内核,也无须重启。转载 2017-02-19 03:12:08 · 249 阅读 · 0 评论 -
kprobe工作原理
Kprobes 提供了一个强行进入任何内核例程并从中断处理器无干扰地收集信息的接口。使用 Kprobes可以收集处理器寄存器和全局数据结构等调试信息。开发者甚至可以使用 Kprobes 来修改寄存器值和全局数据结构的值。基本工作机制是:用户指定一个探测点,并把一个用户定义的处理函数关联到该探测点,当内核执行到该探测点时,相应的关联函数被执行,然后继续执行正常的代码路径。kprobe实现了三种类型的探测点: kprobes, jprobes和kretprobes (也叫返回探测点)。 kprobes是可以被插转载 2017-02-19 02:24:40 · 1028 阅读 · 0 评论 -
Linux 引导过程内幕
从主引导记录到第一个用户空间应用程序的指导。引导 Linux® 系统的过程包括很多阶段。不管您是引导一个标准的 x86 桌面系统,还是引导一台嵌入式的 PowerPC® 机器,很多流程都惊人地相似。本文将探索 Linux 的引导过程,从最初的引导到启动第一个用户空间应用程序。在本文介绍的过程中,您将学习到各种与引导有关的主题,例如引导加载程序、内核解压、初始 RAM 磁盘以及 Linux 引导的其他一些元素。转载 2017-02-20 00:52:40 · 188 阅读 · 0 评论