linux
文章平均质量分 83
Goldenwang
这个作者很懒,什么都没留下…
展开
-
ucLinux内核移植相关代码分析
本文通过整理之前研发的一个项目(ARM7TDMI + uCLinux),分析内核启动过程及需要修改的文件,以供内核移植者参考。整理过程中也同时参考了众多网友的帖子,在此谢过。由于整理过程匆忙,难免错误及讲解的不够清楚之处,请各位网友指正,这里提前谢过。本文分以下部分进行介绍: Bootloader及内核解压 内核启动方式介绍 内核启动地址的确定 arch/armnommu/ker转载 2012-07-05 21:28:40 · 4283 阅读 · 0 评论 -
利用外部邮箱发送邮件的方法
利用外部邮箱发送邮件的方法 bin/mail会默认使用本地sendmail发送邮件,这样要求本地的机器必须安装和启动Sendmail服务,配置非常麻烦,而且会带来不必要的资源占用。而通过修改配置文件可以使用外部SMTP服务器,可以达到不使用sendmail而用外部的smtp服务器发送邮件的目的:修改/etc/nail.rc (/etc/mail.rc转载 2013-03-15 21:48:50 · 2228 阅读 · 0 评论 -
查看SUSE LINUX版本
查看SUSE LINUX版本 1、cat /proc/version内核版本#cat /proc/versionLinux version 2.6.5-7.244-smp (geeko@buildhost) (gcc version 3.3.3 (SuSE Linux))#1 SMP Mon Dec 12 18:32:25 UTC 2005 2、uname -a转载 2013-03-15 21:11:37 · 953 阅读 · 0 评论 -
The Linux Graphics Stack
This is an introductory overview post for the Linux Graphics Stack, and how it currently all fits together. I initially wrote it for myself after having conversations with people like Owen Taylor, Ray转载 2012-07-09 22:24:34 · 1926 阅读 · 0 评论 -
内核输入子系统分析
2.6内核输入子系统分析前面对s3c2410的触摸屏驱动进行了分析,现深入一层,对其所在的输入子系统进行刺探。首先引用一个不错的帖子,对2.6内核的输入子系统进行一个大致的描述:引:在做触摸屏?对于输入子系统,相信你也早看了网上一些介绍文章文章了,读一下就可了解对其基本架构,剩下的只是一些源码细节阅读。输入子系统的3层间的联系是非常简单的,驱动层的核心结构为struct i转载 2012-07-05 21:57:16 · 685 阅读 · 0 评论 -
Linux 初始 RAM 磁盘(initrd)概述
什么是初始 RAM 磁盘?初始 RAM 磁盘(initrd)是在实际根文件系统可用之前挂载到系统中的一个初始根文件系统。initrd 与内核绑定在一起,并作为内核引导过程的一部分进行加载。内核然后会将这个 initrd 文件作为其两阶段引导过程的一部分来加载模块,这样才能稍后使用真正的文件系统,并挂载实际的根文件系统。initrd 中包含了实现这个目标所需要的目录和可执行程序的最小集合,例转载 2012-07-06 21:02:51 · 462 阅读 · 0 评论 -
Linux 中的零拷贝技术(二)
Linux 中的直接 I/O如果应用程序可以直接访问网络接口存储,那么在应用程序访问数据之前存储总线就不需要被遍历,数据传输所引起的开销将会是最小的。应用程序或者运行在用户模式下的库函数可以直接访问硬件设备的存储,操作系统内核除了进行必要的虚拟存储配置工作之外,不参与数据传输过程中的其它任何事情。直接 I/O 使得数据可以直接在应用程序和外围设备之间进行传输,完全不需要操作系统内核页缓存的支持转载 2012-07-06 20:40:12 · 1184 阅读 · 0 评论 -
Linux 中的零拷贝技术
引言传统的 Linux 操作系统的标准 I/O 接口是基于数据拷贝操作的,即 I/O 操作会导致数据在操作系统内核地址空间的缓冲区和应用程序地址空间定义的缓冲区之间进行传输。这样做最大的好处是可以减少磁盘 I/O 的操作,因为如果所请求的数据已经存放在操作系统的高速缓冲存储器中,那么就不需要再进行实际的物理磁盘 I/O 操作。但是数据传输过程中的数据拷贝操作却导致了极大的 CPU 开销,限制了转载 2012-07-06 20:36:29 · 494 阅读 · 0 评论 -
Linux 下用户空间与内核空间数据交换的方式
一、引言一般地,在使用虚拟内存技术的多任务系统上,内核和应用有不同的地址空间,因此,在内核和应用之间以及在应用与应用之间进行数据交换需要专门的机制来实现,众所周知,进程间通信(IPC)机制就是为实现应用与应用之间的数据交换而专门实现的,大部分读者可能对进程间通信比较了解,但对应用与内核之间的数据交换机制可能了解甚少,本文将详细介绍 Linux 系统下内核与应用进行数据交换的各种方式,包括内核启转载 2012-07-06 20:31:56 · 622 阅读 · 0 评论 -
技巧:快速提高 Vi/Vim 使用效率的原则与途径
引言 Vi 最初是由 Bill Joy 在 1976 年编码实现的。而 Vim (Vi IMproved) 则是改进的 Vi,由 Bram Moolenaar 在 1991 年开发并发布。Vi/Vim 是所有 Unix/Linux 操作系统默认配备的编辑器。因其强大的功能和高效的操作,Vi/Vim 也成为众多 Unix/Linux 用户、管理员必须掌握并熟练使用的编辑工具之一。尤其是在没有转载 2012-07-06 21:10:52 · 1446 阅读 · 1 评论 -
Linux 下用户空间与内核空间数据交换的方式(二)
一、procfsprocfs是比较老的一种用户态与内核态的数据交换方式,内核的很多数据都是通过这种方式出口给用户的,内核的很多参数也是通过这种方式来让用户方便设置的。除了sysctl出口到/proc下的参数,procfs提供的大部分内核参数是只读的。实际上,很多应用严重地依赖于procfs,因此它几乎是必不可少的组件。前面部分的几个例子实际上已经使用它来出口内核数据,但是并没有讲解如何使用,本转载 2012-07-06 20:34:00 · 604 阅读 · 0 评论 -
ARM Linux启动分析----head-armv.S内幕
Linux启动后执行的第一个文件是arch/arm/kernel下的head-($PROCESSOR).S文件,processor代表的是该cpu的类型。ARM 6及其以后的处理器核心支持32位地址空间。这些处理器可以在26位和 32位PC的模式下操作。在26位PC模式下,R15寄存器的表现如同在以前的处理器上,代码只能运行在地址空间的最低的64M字节空间中。在32位PC模式下,32位的R15寄存转载 2012-07-05 21:29:11 · 555 阅读 · 0 评论 -
ucLinux内核移植相关代码分析(转)
本文通过整理之前研发的一个项目(ARM7TDMI + uCLinux),分析内核启动过程及需要修改的文件,以供内核移植者参考。整理过程中也同时参考了众多网友的帖子,在此谢过。由于整理过程匆忙,难免错误及讲解的不够清楚之处,请各位网友指正,这里提前谢过。本文分以下部分进行介绍: Bootloader及内核解压 内核启动方式介绍 内核启动地址的确定 arch/armnommu/ker转载 2012-07-05 21:27:52 · 707 阅读 · 0 评论 -
arm-linux 启动流程之-- 进入内核(转)
见:http://blog.csdn.net/dansen_xu/archive/2007/08/13/1741576.aspx还是从编译链接生成vmlinux的过程来看吧,由一大堆.o文件链接而成,第一个就是kernel\arch\arm\kernel\head-armv.o ,而且我们还看到了lds链接文件kernel\arch\arm\vmlinux.lds,先把它分析一下E转载 2012-07-05 21:26:51 · 788 阅读 · 0 评论 -
linux input subsystem 架构分析
主要数据结构数据结构用途定义位置具体数据结构的分配和初始化Struct input_dev驱动层物理Input设备的基本数据结构Input.h通常在具体的设备驱动中分配和填充具体的设备结构Struct EvdevStruct Mousedev转载 2012-07-05 21:55:58 · 495 阅读 · 0 评论 -
linux内核裁剪的具体过程和方法
进程间通信函数和系统调用。Linux内核的五大组成部分之一,一定要选。BSD Process Accounting(CONFIG_BSD_PROCESS_ACCT)[N/y/?]用于启动由内核将进程信息写入文件的用户级系统调用。就看您想不想用它了。Sysctl support(CONFIG_SYSCTL)[Y/n/?]在内核正在运行的时候修改内核。用8KB空间换取某种方便。别选吧,转载 2013-03-16 11:09:47 · 1786 阅读 · 0 评论