Linux
文章平均质量分 78
gothicane
这个作者很懒,什么都没留下…
展开
-
使用异步 I/O (AIO)大大提高应用程序的性能
使用异步 I/O 大大提高应用程序的性能 学习何时以及如何使用 POSIX AIO API转载 2007-06-22 16:17:00 · 1218 阅读 · 0 评论 -
usb上的Linux
1.引言 本文着重讲述如何制作基于linux的usb启动盘,此usb启动盘能够实现以下功能。 a. usb启动盘的Linux内核usblinux.kernel应支持尽可能多的硬件(包括硬盘驱动,网卡驱动,usb驱动) b. u盘根文件系统放在ramdisk中,启动之后解压到ram中。 c. usb启动盘启动之后能够在目标机上执行分区(fdisk转载 2007-09-27 13:42:00 · 2981 阅读 · 0 评论 -
Linux IPC备忘
大概在很久之前就一直关注的ipc问题因为一直没有怎么使用也不是很明了,实在是为了自己的懒惰而汗颜了。经典的ipc里面除了自己曾经用到过的 pthread_mutex之外,对其他的几种都不了解。自己学习的话也说了不少,可是都没有什么效果,看书似乎都看不动。 最近整理了一下几种ipc方式的使用,一些小问题,在此存档:一.posix的msgqueue的支持问题。转载 2007-09-29 13:18:00 · 1190 阅读 · 0 评论 -
[图]Linux堆内存释放的总结
[图]Linux堆内存释放的总结蓝森林 http://www.lslnet.com 2006年4月6日 21:05 Linux用户进程是如何释放内存的 Linux进程使用内存的基本流程: 见图1 从图中我们可以看出,进程的堆,并不是直接建立在Linux的内核的内存分配策略上的,而是建立在glibc的堆管理策略上的(也就是glibc的动态内存分配策略上),堆的管理是由g转载 2007-12-18 13:25:00 · 996 阅读 · 0 评论 -
Linux下将套接口绑定到网络设备的方法
Linux下将套接口绑定到网络设备的方法(陈云川 ybc2084@163.com UESTC,CD)1. 起因事情的起因是我准备用两个CDMA modem来拓展点对点连接的带宽,并且希望藉此实现两个modem之间的负载均衡。但是不幸的是,联通公司的接入设备不支持Multilink-PPP。于是,没有办法,我只好自己来实现负载均衡。实现负载均衡的办法有几种,网络上给出的一种办法是采用转载 2007-12-25 10:31:00 · 921 阅读 · 0 评论 -
DOM制作流程
DOM制作流程项目基本结束,这个是其中系统裁减的一个总结文档,不知道有没有人感兴趣:) ============================================= 前言: 为了完成用户的需求,需制作一个完整的环境供AP运行,且存在一些约束条件。 关键字: DOM Kernel Busybox X-Window Window-Manager Interbase nvi转载 2008-03-31 12:38:00 · 7502 阅读 · 0 评论 -
慎用strip
strip经常用来去除目标文件中的一些符号表、调试符号表信息,以减小程序的大小,在rpmbuild包的最后就用到。其支持的选项如下:>strip -h用法:strip 输入文件从文件中删除符号和节 选项为: -I --input-target= Assume input file is in format -O --output-target= Create an转载 2008-04-02 12:58:00 · 5652 阅读 · 0 评论 -
用rdrtc实现linux下的精确计时
在 linux开发版最长问到的问题之一就是在linux下如何得到更精确的计时。其实有很多办法,比如以前就有人用select。不过现在有更精确的实时时 钟可以用,这就是用CLOCK_PROCESS_CPUTIME_ID做参数通过timer_create来创建timer。通过 clock_getres可以得到系统的精度。实际上,上述方法底层用的就是CPU的rdtsc指令。 在linux下,可以转载 2008-04-08 11:43:00 · 744 阅读 · 0 评论 -
关于linux下的随机数
在 linux下取随机数,当然可以简单的用rand函数,不过要注意的是一定要设置好种子,否则伪随机数就会变成非常伪的随机数。设置种子,一般就用 time函数返回当前时间即可。一般来讲,这样的做法基本上就可以了,因为虽然我们用的是随机数,但是由于种子不同,从上亿的数中去猜测我们的种子几乎是 不可能的。但是如果我们的种子算法被知道了,那么显然就不行了。当然作为某些应用也无所谓,比如我们要在屏幕转载 2008-04-08 11:44:00 · 729 阅读 · 0 评论 -
setsockopt的一些用法
1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用 closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket: BOOL bReuseaddr=TRUE; setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BO转载 2008-07-12 10:07:00 · 992 阅读 · 0 评论 -
linux文件查找命令find,xargs详述
Linux文件查找命令find,xargs详述总结:zhy2111314 来自:LinuxSir.Org 整理:北南南北 摘要: 本文是find 命令的详细说明,可贵的是针对参数举了很多的实例,大量的例证,让初学者更为容易理解;本文是zhyfly兄贴在论坛中;我对本文进行了再次整理,为方便大家阅读;目录版权声明 前言:关于find命令 一、find转载 2008-06-24 16:58:00 · 849 阅读 · 0 评论 -
strace命令详解
strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。 strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。 下面记录几个常用 option . 1 -f -F选项告诉strace同时跟踪fork和vfork出来的进程 2 -o xxx.txt 输出到某个文件。 3 -e exec转载 2008-09-18 14:38:00 · 738 阅读 · 0 评论 -
Linux网卡驱动分析
Linux网卡驱动分析 学习应该是一个先把问题简单化,在把问题复杂化的过程。一开始就着手处理复杂的问题,难免让人有心惊胆颤,捉襟见肘的感觉。读Linux网卡驱动也是一样。那长长的源码夹杂着那些我们陌生的变量和符号,望而生畏便是理所当然的了。不要担心,事情总有解决的办法,先把一些我们管不着的代码切割出去,留下必须的部分,把框架掌握了,哪其他的事情自然就水到渠成了,这是笔者的心得。 一般在使转载 2008-09-24 15:57:00 · 803 阅读 · 0 评论 -
epoll为什么这么快
epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,在开始讨论这个问题之前,先来解释一下为什么需要多路复用IO.以一个生活中的例子来解释.假设你在大学中读书,要等待一个朋友来访,而这个朋友只知道你在A号楼,但是不知道你具体住在哪里,于是你们约好了在A号楼门口见面.如果你使用的阻塞IO模型来处理这个问题,那么你就只能一直转载 2008-11-14 13:37:00 · 1146 阅读 · 0 评论 -
Xnest窗口中的X-Window
越来越多的公司采用linux + TinyX + gtk+系 列作为手机开发环境,它本身可以认为是完全免费的,但需要大量的时间去研究它,去裁减它,还要建立集成开发环境,模拟运行环境等等,这一切都不是免费的。 一个项目耗费一到两年时间,已经屡见不鲜见了。在建立开发环境,模拟运行环境,等这类简单的事情,花大多时间是不值得的。这里介绍一种在PC上快速建立模拟运行环境的方法,希望对大家有点帮助。转载 2007-09-04 15:05:00 · 1843 阅读 · 0 评论 -
嵌入式笔试题
1 读程序段,回答问题(a)int main(int argc,char *argv[]){int c=9,d=0;c=c++%5;d=c;printf("d=%d/n",d);return 0;}a) 写出程序输出b) 在一个可移植的系统中这种表达式是否存在风险?why?答案:5存在风险,因为c=c++%5;这个表达式对c有两次修改,行为未定义,c的值不确定(b)#include转载 2007-09-04 14:43:00 · 2557 阅读 · 1 评论 -
linux进程和线程编程
进程和线程编程 目 录 进程和线程编程 原始管道 pipe() dup() dup2() popen()和转载 2007-07-11 10:55:00 · 1686 阅读 · 2 评论 -
Linux环境进程间通信 信号灯
Linux环境进程间通信(四) 信号灯转载 2007-07-11 11:00:00 · 665 阅读 · 0 评论 -
红外遥控器信号的接收和转发
摘要:介绍用51系列单片机采集家用电器红外遥控器信号,并将其转发原理。文中给出红外接收芯片的外围电路和测量接收波形的程序。 关键词:红外遥控 单片机系统 转发红 外遥控在家电产品中有广泛应用,但各产生的遥控器不能相互兼容。目前市场上常见的万能遥控器只能对某几种产品进行控制,不是真正的“万能”,而且不能对新 上市的产品进行控制。本文介绍一种用单片机对红外遥控器信号接收和转发转载 2007-04-17 12:40:00 · 5384 阅读 · 1 评论 -
关于GtkTreeView和 MVC的一篇好文章 入木三分
关于GtkTreeView和 MVC的一篇好文章 入木三分 http://rat.nutn.edu.tw/~slayer/myarticle/gtk_tree_view_tutorial.htmlAuthor: qrtt1 2006/07/11Preface 想要使用GtkTreeView實在不是一件"簡單"的事。我在這把簡單特意括了起來,是因為要提醒您一下。我並不转载 2007-07-30 16:33:00 · 966 阅读 · 0 评论 -
u-boot启动过程
开发板上电后,执行U-Boot的第一条指令,然后顺序执行U-Boot启动函数。函数调用顺序如图6.3所示。看一下board/smsk2410/u-boot.lds这个链接脚本,可以知道目标程序的各部分链接顺序。第一个要链接的是cpu/arm920t/start.o,那么U-Boot的入口指令一定位于这个程序中。下面详细分析一下程序跳转和函数的调用关系以及函数实现。1.cpu/arm920t转载 2007-08-07 14:27:00 · 814 阅读 · 0 评论 -
深入浅出 Linux设备驱动中断处理介绍
深入浅出 Linux设备驱动中断处理介绍 与Linux设备驱动中中断处理相关的首先是申请与释放IRQ的API: request_irq()和free_irq()。 request_irq()的原型为: int reques转载 2007-08-12 15:03:00 · 1058 阅读 · 0 评论 -
BabyLinux制作过程详解
BabyLinux制作过程详解作者:GuCuiwen email:win2linux@163.com版权声明:本文档可以在网络上在非商业范围内自由转载,转载请注明出处如果转载版面包含商业广告,请向作者支付至少每千字100园的稿费以书面,书籍形式转载和出版请按至少每千字100园人民币的标准向作者支付稿费一,什么是BabyLinux二,为什么要做这样一个linux三,什么人适合读这篇文档四,应该具转载 2007-08-16 11:30:00 · 681 阅读 · 0 评论 -
Linux X Window System运行原理与启动过程
本文主要说明X Window System的基本运行原理,其启动过程,及常见的跨网络运行X Window System。一) 基本运行原理 X Window System采用C/S结构,但和我们常见的C/S不同。常见的C/S结构中,称提供服务的一方为server,即服务器端(如HTTP服务,FTP服务 等),使用服务的称为client,即客户端。但在X Window System中,c转载 2007-08-16 14:34:00 · 1159 阅读 · 0 评论 -
生成CPIO格式的initrd
因为initrd.img只是系统启动的一个虚拟磁盘而已,系统启动完成后就没有用处了,因此,我决定用busybox来完成一些必要的启动工作(用的是busybox-1.5.1,配置文件如下) cd /tmp mkdir initrd cd initrd mkdir dev proc sys lib mnt mkdir -p lib/modules/kernel/{drivers,fs} mkdir转载 2007-08-21 11:22:00 · 1016 阅读 · 0 评论 -
Linux下如何使用USB转串口线
计算机的串口不能用,怎么与目标板的串口连接呢?windows下可以用USB转串口线实现,在google上搜索了一下,linux下更简单,连驱动都免装!测试环境:redhat linux fedora core 4总结如下:1. 检查是否存在设备/dev/ttyUSB0,如果没有就建立一个:mknod /dev/ttyUSB0 c 188 0以下推理未测试:如果有多个USB口,可以类推,建立/d转载 2007-08-22 13:51:00 · 4390 阅读 · 0 评论 -
自定义Ubuntu的bootsplash
Want to change what you see while Ubuntu boots up? Learn how to put your own image on that splash screen. When Ubuntu starts up, it displays a progres转载 2007-08-22 14:05:00 · 2586 阅读 · 0 评论 -
Linux动态库(.so)搜索路径
众所周知,Linux动态库的默认搜索路径是/lib和/usr/lib。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库,并且该 动 态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相应的动态库文件,然后加载该文件到内存中,这样程序就可以使用该动态库中的函数,以及 该动态库的其它资源了。在Linux 中,动态库的搜索路径除了默认的搜索路径外,还可以通过以下三种方法来指转载 2007-08-29 09:55:00 · 679 阅读 · 0 评论 -
编写可移植C/C++程序的要点
编写可移植C/C++程序的要点 转载时请注明出处和作者联系方式:http://blog.csdn.net/absurd作者联系方式:Li XianJing 更新时间:2006-3-11 昨天看了05年的《程序员(精华本)》,里面有篇关于编写可移植的C++程序的文章,引起了我一丝兴趣,大致读了一下,有点启发。不过感觉作者是位学院派的人士,没有大型项目的移植经验,把移植转载 2007-09-04 15:46:00 · 622 阅读 · 0 评论 -
Linux2.6 内核的 Initrd 机制解析
转自IBM开发者网站李 大治 (dazhi.li@gmail.com), 软件工程师2006 年 5 月 23 日Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像文件转变成了 cpio 格式,变化不仅反映在文件格式上, linux 内核对这两种格式的 initrd 的处理有着截然的不同。本文首先介绍了转载 2007-09-05 17:45:00 · 562 阅读 · 0 评论 -
嵌入式linux启动信息完全注释
摘要我们在这里讨论的是对嵌入式linux系统的启动过程的输出信息的注释,通过我们的讨论,大家会对嵌入式linux启动过程中出现的、以前感觉熟悉的、但却又似是而非的东西有一个确切的了解,并且能了解到这些输出信息的来龙去脉。嵌入式linux的启动信息是一个很值得我们去好好研究的东西,它能将一幅缩影图呈现在我们面前,来指导我们更加深入地理解linux内核。 关键字:linux,嵌入式,启转载 2007-09-04 14:38:00 · 703 阅读 · 0 评论 -
strace,ltrace linux下跟踪进程调用的命令
本工具可以用来做大多数排除,比如mount一个NFS,很慢,找不出原因,我们可以使用strace命令来跟中mount这个经常所有的调用过程。strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。 strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。 下面记录几个常用 option转载 2013-01-10 23:39:20 · 620 阅读 · 0 评论