Linux系统编程内核编程
文章平均质量分 92
defeattroy
CLinuxWeb
展开
-
利用KGDB调试Linux kernel
创建时间:2010-01-27作者:Steven YangE-mail:mqyoung@gmail.com 更正:使用KGDB调试不一定需要调试端(Developer)与目标机器(Target)有相同的体系结构,所以本文中所说的虚拟机也不是必要的!直接在Developer端的kern原创 2010-01-27 20:22:00 · 8138 阅读 · 0 评论 -
QEMU虚拟机及网桥设置
<!-- document.body.oncopy = function() { if (window.clipboardData) {原创 2010-01-27 15:16:00 · 5626 阅读 · 1 评论 -
Linux上的虚拟化技术
虚拟化技术的方法, 架构和实现概览级别: 中级M. Tim Jones [mtj@mtjones.com], 顾问工程师, Emulex原文: Virtual Linux译: 赵珂 cn.zhaoke.comhttp://blog.zhaoke.com/45.html2006年12月29日虚拟化技术的应用十分广泛. 当前虚拟化技术主要关注于服务器的虚转载 2009-12-04 14:26:00 · 775 阅读 · 0 评论 -
编译kernel时候的相关命令
1. 如果.config不存在,运行make config/menuconfig时的缺省设置由固化在各个Kconfig文件中各项目的缺省值决定。2. 如果.config存在,运行make config/menuconfig时的缺省设置即是当前.config的设置,若对设置进行了修改,.config将被更新。3. arch/arm/defconfig是一个缺省的配置文件,make defco原创 2010-01-29 14:44:00 · 1061 阅读 · 0 评论 -
Linux中的汇编语言
在阅读Linux源代码时,你可能碰到一些汇编语言片段,有些汇编语言出现在以.S为扩展名的汇编文件中,在这种文件中,整个程序全部由汇编语言组成。有些汇编命令出现在以.c为扩展名的C文件中,在这种文件中,既有C语言,也有汇编语言,我们把出现在C代码中的汇编语言叫所“嵌入式”汇编。不管这些汇编代码出现在哪里,它在一定程度上都成为阅读源代码的拦路虎。尽管C语言已经成转载 2009-12-05 19:34:00 · 1060 阅读 · 0 评论 -
linux 嵌入汇编语言的使用方法
内核代码绝大部分使用C语言编写,只有一小部分使用汇编语言编写,例如与特定体系结构相关的代码和对性能影响很大的代码。GCC提供了内嵌汇编的功能,可以在C代码中直接内嵌汇编语言语句,大大方便了程序设计。简单的内嵌汇编很容易理解例:__asm____volatile__("hlt");“__asm__”表示后面的代码为内嵌汇编,“asm”是“__asm__”的别名。转载 2009-12-05 17:42:00 · 820 阅读 · 0 评论 -
Linux中的时钟与时间
日期:2010-02-04作者:Steven Yang邮箱:mqyoung@gmail.com注:转载请注明出处和作者并保持文档的完整 HZ内核通过定时器中断来跟踪时间流,时钟中断由系统定时硬件以周期性的间隔产生,这个间隔由内核根据HZ的值设定。HZ与体系结构有关,定义在中或者该文件包含的某个子平台相关的文件中。默认值为50 ~ 1200, X86的默认值为原创 2010-02-04 15:36:00 · 3365 阅读 · 0 评论 -
磁盘I/O测试工具Bonnie++的专题
关于磁盘I/O测试工具Bonnie++的专题 作者简介: 张乐奕,通常使用的网名为kamus,也曾用过seraphim,现在任职于北京某大型软件公司,Oracle数据库DBA,主要负责证券行业的核心交易系统数据库管理及维护工作。 热切关注Oracle技术和相关操作系统技术,出没于各大数据库技术论坛,目前是中国最大的Oracle技术论坛www.itpub.net的数据库管理版版转载 2009-12-10 13:45:00 · 763 阅读 · 0 评论 -
AT & T汇编简介
1.寄存器引用 引用寄存器要在寄存器号前加百分号%,如“movl %eax, %ebx”。 80386有如下寄存器: 8个32-bit寄存器 %eax,%ebx,%ecx,%edx,%edi,%esi,%ebp,%esp; 8个16-bit寄存器,它们事实上是上面8个32-bit寄存原创 2009-12-11 13:25:00 · 692 阅读 · 0 评论 -
Gcc内联汇编1
GCC Inline ASMGCC支持在C/C++代码中嵌入汇编代码,这些汇编代码被称作GCC InlineASM——GCC内联汇编。这是一个非常有用的功能,有利于我们将一些C/C++语法无法表达的指令直接潜入C/C++代码中,另外也允许我们直接写C/C++代码中使用汇编编写简洁高效的代码。1.基本内联汇编基本内联汇编的格式是__asm__ __原创 2009-12-13 16:59:00 · 1043 阅读 · 0 评论 -
Linux 汇编语言开发指南
http://www.ibm.com/developerworks/cn/linux/l-assembly/index.html 2003 年 7 月 03 日汇编语言的优点是速度快,可以直接对硬件进行操作,这对诸如图形处理等关键应用是非常重要的。Linux 是一个用 C 语言开发的操作系统,这使得很多程序员开始忘记在 Linux中还可以直接使用汇编这一底层语言来优化程序的转载 2009-12-11 13:55:00 · 543 阅读 · 0 评论 -
Gcc内联汇编2
Contents1. 介绍 32. 概要 33. GCC汇编格式 31) 源操作数和目操作数方向 32) 寄存器命名 43) 立即数 44) 操作数大小 45) 内存操作数 44. 基本形式内联汇编 45. 扩展形式内联汇编 55.1 汇编模板 65.2 操作数 65.3 Clobber List 75.4 Volatile… 86. 深转载 2009-12-13 17:01:00 · 1543 阅读 · 0 评论 -
Linux Shell自动交互
为了方面,我写了个脚本自动ssh登录远端机器,如下,这个脚本需要安装expect包 ================================ #!/usr/bin/expectset timeout 30spawn ssh -l root 192.168.1.117expect "password:"send "nopassw原创 2010-03-15 13:01:00 · 6131 阅读 · 2 评论 -
硬件中断请求IRQ
http://tech.sina.com.cn/c/2004-05-17/0931362528.shtml 文/蔡远翔 IRQ(Interrupt Request)的作用就是在我们所用的电脑中,执行硬件中断请求的动作,用来停止其相关硬件的工作状态。比如我们要打印一份文件,在打印结束时就需要由系统对打印机提出相应的中断请求,来以此结束这个打印的操作。 产转载 2010-03-22 17:38:00 · 2097 阅读 · 1 评论 -
Linux 环境变量
玩Linux也很久了,竟然对环境变量的了解不是很系统,今天就学习下。参考:http://www.51cto.com/art/200512/14259.htm================================ Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用原创 2010-03-19 20:48:00 · 4142 阅读 · 2 评论 -
并口Parport学习笔记
创建时间:2010-03-21作者:Steven YangE-mail:mqyoung@gmail.com 并口在计算机应用及系统测试中具有重要的作用,现详细说明并口相关技术如下。 1 并口规范The following tables list the details of how the software interfaces to hardware port原创 2010-03-21 21:38:00 · 3126 阅读 · 0 评论 -
printk()函数的总结
FROM: http://blog.chinaunix.net/u2/73521/showart_1085195.html printk()函数的总结我们在使用printk()函数中使用日志级别为的是使编程人员在编程过程中自定义地进行信息的输出,更加容易地掌握系统当前的状况。对程序的调试起到了很重要的作用。(下文中的日志级别和控制台日志控制级别是一个意思)p转载 2010-04-22 13:05:00 · 1052 阅读 · 0 评论 -
printf 函数详解
printf()函数是格式输出函数,请求printf()打印变量的指令取决与变量的类型.例如,在打印整数是使用%d符号,在打印字符是用%c 符号.这些符号被称为转换说明.因为它们指定了如何不数据转换成可显示的形式.下列列出的是ANSI C标准printf()提供的各种转换说明. 转换说明及作为结果的打印输出%a 浮点数、十六进制数字和p-转载 2010-04-28 19:04:00 · 17211 阅读 · 1 评论 -
MII接口分析
MII接口分析http://www.tech-regal.com/post/Ethernet-MII.html RMII / SMII接口http://www.tech-regal.com/post/Ethernet-RMII-SMII.html GMII / RGMII接口http://www.tech-regal.com/post/GMII-RGMII转载 2010-05-11 17:35:00 · 1227 阅读 · 1 评论 -
用Ftrace跟踪内核模块
创建时间:2010-05-23作者:杨民强 Steven YangE-mail:mqyoung@gmail.com转载请注明出处:http://blog.csdn.net/defeattroy/archive/2010/05/23/5618099.aspx 如果你需要分析一个内核模块的函数调用数或者希望得到各语句段的执行时间,那么这篇文章很适合您。 Ft原创 2010-05-23 14:53:00 · 5663 阅读 · 2 评论 -
GDB Tracepoint
IntroductionIn some applications, it is not feasible for the debugger to interrupt the program's execution long enough for the developer to learn anything helpful about its behavior. If the program's correctness depends on its real-time behavior, delays in原创 2010-08-24 10:32:00 · 4410 阅读 · 1 评论 -
Kernel Korner - Sleeping in the Kernel
How to sleep in kernel? SMP?转载 2010-08-31 11:39:00 · 659 阅读 · 0 评论 -
Remote Debugging of Loadable Kernel Modules with kgdb: a Knowledge-based Article for Getting Started
Remote Debugging of Loadable Kernel Modules with kgdb转载 2010-09-02 10:50:00 · 678 阅读 · 0 评论 -
GCC初步
CC编译程序过程 简单编译命令 库依赖 代码优化 常见参数转载 2010-09-02 11:38:00 · 806 阅读 · 0 评论 -
Guest column: Comparing two approaches to real-time Linux
From:http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Guest-column-Comparing-two-approaches-to-realtime-Linux/In recent years, two alternative approaches to providing real-time services within Linux systems have surfaced. In this paper, I转载 2010-09-14 22:28:00 · 872 阅读 · 0 评论 -
Linux下一种简单易行的cpu benchmark方法
<br /><br />转自:blog.sina.com.cn/jooeej <br /> <br />superpi是很多DIYer很喜欢用的一个Windows下的benchmark(性能测试和比较)工具。主要来测试cpu性能。super-pi这个程序是东京大学的一位学者开发的算法。值得一提的是该源代码并未公开。虽然在网络上能找到据称自己是superpi在Linux平台的移植,但到底是否是同一算法我也没仔细研究过。<br />我在网络上搜索过很多Linux下benchmark的信息,有的很多都已过时,而有转载 2010-10-05 14:21:00 · 6240 阅读 · 0 评论 -
png转换成eps格式
gnuplot画出的eps图像很大,查看使用不方便,所以我一般在gnuplot脚本一般都属出png格式,会很小。需要在latex里面插入的时候就用F-Spot转换一下,F-Spot转换得到的比GIMP转换的小很多,而且清晰。采样点600000,直接输出eps格式大约7M,输出png大约7-8K,png经过GIMP为eps大约70-80K,png经过F-Spot转换大约为10多K。觉得方法也不是很好,如果哪位有更好的方法请留言哈!谢谢!原创 2010-10-07 21:04:00 · 6116 阅读 · 2 评论 -
VoIP asterisk 几篇好文章
<br /> <br />自主架设VoIP系统<br />http://my.oschina.net/lsa110/blog/8237<br /> <br />超省钱搞定快递呼叫中心,elastix+digium+迅时网关<br />http://my.oschina.net/voip88/blog/8248原创 2010-11-30 14:39:00 · 548 阅读 · 0 评论 -
Xen vs. KVM
Xen vs. KVM<br />http://www.peakscale.com/archives/gridvm/xen-vs-kvm/Dec 20th, 2006 @ 10:15 pm CST<br />The news of KVM’s inclusion in the Linux kernel has me looking at KVM.<br />How the virtualization layer is implemented has important ramifications, a转载 2010-12-10 23:29:00 · 888 阅读 · 0 评论 -
KVM
KVM (Kernel Virtual Machine) is a Linux kernel module that allows a userspace program to utilize the hardware virtualization features of various processors. Today, it supports recent Intel and AMD chips, PPC 440, PPC 970, and S/390 processors.QEMU原创 2010-12-10 23:44:00 · 615 阅读 · 0 评论 -
KVM or Xen? Choosing a Virtualization Platform
<br />http://www.linux.com/news/enterprise/systems-management/327628-kvm-or-xen-choosing-a-virtualization-platform<br />Monday, 12 July 2010 00:00 Joe 'Zonker' Brockmeier<br /> <br />When Xen was first released in 2002, the GPL'd hypervisor looked likel转载 2010-12-10 23:53:00 · 776 阅读 · 0 评论 -
更改/恢复网卡设备名称
如果我们一个PC只有一个网卡,那么网卡的设备名称应该是eth0,如果有多个那应该是eth0、eth1、eth2……,然后由于某些原因,udev会把这个名字给改了,改成eth+别的数字,想要恢复就删除这个文件/etc/udev/rules.d/***-persistent-net.rules然后重启,让系统自己生生成这个文件,OK!(***可能在不同系统下不同。)参考:http://www.5dlinux.com/article/1/2008/linux_17676.html原创 2010-11-19 15:47:00 · 1072 阅读 · 0 评论 -
Ubuntu下更改主显示器
<br />我的PC有两个显示接口,一个VGA一个DVI接口,我接了两个显示器,默认情况下我发现电脑会将VGA接口看作主显示器,我想让DVI接口的显示器作为主显示器,设置方法如下:<br /> <br />1 显示显示器的详细信息:<br />xrandr<br /> <br />steven@steven:~$ xrandr <br />Screen 0: minimum 320 x 200, current 3120 x 1050, maximum 8192 x 8192<br />VGA-0原创 2010-11-20 17:54:00 · 7633 阅读 · 0 评论 -
Introduction to initramfs
<br />Foreword: This technical article introduces initramfs, a Linux 2.6 feature that enables an initial root filesystem and init program to reside in kernel memory cache, rather than on a ramdisk, as with initrd filesystems.<br /><br />Compared to initr转载 2010-11-18 20:49:00 · 696 阅读 · 0 评论 -
Git图形用户工具介绍及比较
GITK简介gitk - The git repository browser Displays changes in a repository or a selected set of commits. This includes visualizing the commit graph, showing information related to each commit, and the files in the trees of each re原创 2011-05-14 22:53:00 · 33664 阅读 · 0 评论 -
Git命令快速参考
Git命令快速参考http://bbs.scmlife.com/thread-23960-1-1.html; j6 T% S* R$ f9 S& |/ {8 o" T1 ~$ DGit Command Quick Reference5 h4 S! }9 v# d/ {( D2 s) I- z& B- z- k' I, b. U% @4 u+ C; O, b8 ~本附录为Git常见命令快速参考。每节介绍一种操作类型。 w3 x/ V- L7 S9 q. _# d3 l$ _这里会列出很多命令,而相应的解转载 2011-04-01 14:36:00 · 693 阅读 · 0 评论 -
Debian下驱动Broadcom系列无线网卡
Debian下驱动Broadcom系列无线网卡4311, 4312, 4313, 4321, 4322, 43224, 43225, 43227, 43228原创 2011-05-24 22:27:00 · 3904 阅读 · 0 评论 -
Linux下的USB总线、设备
系统的USB设备信息通过usbfs挂载在/proc/bus/usb下面,此目录下面有两种文件/proc/bus/usb/devices和/proc/bus/usb/BBB/DDD。/proc/bus/usb/BBB/DDD文件 每一个连接的USB设备都有一个文件,BBB指示bus number,DDD指示设备在这个总线上的地址。这些文件可以当作二进制数据读取,内容包括设备描述和设备配置描述。这些信息在/proc/bus/usb/devices里面也有。 这些文件可以被用来写用户层的USB设备驱动,可以打原创 2011-04-20 17:37:00 · 2098 阅读 · 0 评论 -
常用Windows软件在Linux下的对应软件
很好的帖子,被我发现了。转过来,让大家都能看到:)原帖地址为:http://bbs.pcbeta.com/thread-227847-1-43.html感谢作者wonutsa========================================================3D Studio MaxK-3Dhttp://www.k-3d.转载 2011-06-30 18:17:00 · 780 阅读 · 0 评论 -
硬盘分区、系统引导等基本问题的总结
转载自:http://damon007.blogbus.com/logs/75809017.html 一直以来对主分区、扩展分区、逻辑分区、活动分区、引导程序以及它们之间的联系都只是一知半解,没有好好去研究过,为了想熟悉下在linux下的开发环境,想装个linux转载 2011-08-14 19:32:57 · 2796 阅读 · 0 评论