
┣ Linux Development ┫
文章平均质量分 79
billpig
这个作者很懒,什么都没留下…
展开
-
嵌入式Linux系统中的快速启动技术研究
本文转载自:http://www.chuandong.com/publish/tech/Thesis/2009/1/Thesis_0_43_5646.html摘要:嵌入式Linux系统主要特点在于使用Bootloader替代了桌面系统的BIOS,同时对系统进行了规模上的裁剪,但硬件上的劣势往往导致系统启动速度较慢,而嵌入式产品使用者又对系统的开机速度比较敏感,这样就产生了对于提高嵌入式Li原创 2010-04-13 15:16:00 · 1123 阅读 · 0 评论 -
高级文件I/O
分散-聚集I/O分散-聚集I/O是一种进行输入和输出的方法。通过此方法,单一系统调用可以将缓冲区响亮写入单一数据流,或者将单一数据流读取到缓冲区向量。这个类型的IO之所以会有此名称,是因为数据会被分散至或聚集自特定的缓冲区向量。这种方式的输入和输出又成为向量I/O。相比较之下,标准读取和写入系统调用所提供的事线性I/O。 相比较与线性I/O的做法,分散-聚集I/O有几项优点:更自然原创 2010-05-09 12:20:00 · 2004 阅读 · 1 评论 -
linux write的行为
从write()调用返回时,内核已经将缓冲区所提供的数据到内核的缓冲区,但是无法保证数据已经写出到其预定的目的地。的确,写入调用返回的速度实在太快了,可能没有时间完成该项目的工作。处理器和硬盘之间的性能差异使得此类令人头痛的行为显而易见。 事实上,如果用户空间应用程序发出write()系统调用,Linux内核会先进行若干检查,接着将数据复制进缓冲区。稍后,内核会在后台收集所有“脏”(有数据原创 2010-05-09 12:01:00 · 3384 阅读 · 0 评论 -
高级进程管理之进程优先级
Linux不会随意对进程进行调度。事实上,应用程序会被指派优先级,优先级会对进程何时运行以及运行多久造成影响。以往,Unix将优先级成为友善值(nice value),因为友善值背后的概念是通过调低一个进程的优先级来“善待”系统上的其他进程,这让其他进程可以使用较多的处理器空间。 友善值可控制一个进程何时运行。Linux会按照优先级(从最高到最低)的顺序来对运行进程进行调度:优先级较高的进原创 2010-05-09 13:10:00 · 2663 阅读 · 1 评论 -
高级进程管理之处理器亲和性
Linux支持具有多个处理器的单一系统。引导过程除外,支持多个处理器的大量工作由进程调度程序负责。在对称多重处理(SMP)及其上,进程调度程序必须决定每个CPU上要运行哪些进程。有两项挑战源自此责任:调度程序必须想办法充分利用系统上的所有处理器,因为当有一个进程已就绪等待运行,却有一个CPU闲置一旁,这显然没有效率。 然而一个进程一旦被安排在某个CPU上运行,往后进程调度程序也会将它安排在原创 2010-05-09 13:48:00 · 2708 阅读 · 0 评论 -
使用 inotify 监控文件系统的活动
Inotify 是一个 Linux® 特性,它监控文件系统操作,比如读取、写入和创建。Inotify 反应灵敏,用法非常简单,并且比 cron 任务的繁忙轮询高效得多。学习如何将 inotify 集成到您的应用程序中,并发现一组可用来进一步自动化系统管理的命令行工具。系统管理就像日常生活一样。就像刷牙和吃蔬菜一样,日常的维护能保持机器的良好状态。您必须定期清空废物,比如临时文件或无用的日志原创 2010-05-09 14:31:00 · 2503 阅读 · 0 评论 -
Linux 定时器
时间间隔定时器interval timer(时间间隔定时器)系统调用自从被POSIX标准化后,首次出现于4.2BSD,能够提供比alarm()还多的控制: #include int getitimer(int which, struct itimerval *value);int setitimer(int which, const struct itimerval *valu原创 2010-05-09 14:57:00 · 8757 阅读 · 0 评论 -
gdb和gdbserver的安装和使用
一、 远程调试环境由宿主机GDB和目标机调试stub共同构成,两者通过串口或TCP连接。使用GDB标准远程串行协议协同工作,实现对目标机上的系统内核和上 层应用的监控和调试功能。调试stub是嵌入式系统中的一段代码,作为宿主机GDB和目标机调试程序间的一个媒介而存在。 就目前而言,嵌入式 Linux系统中,主要有三种远程调试方法,分别适用于不同场合的调试工作:用ROM Monit转载 2010-01-30 14:59:00 · 5631 阅读 · 1 评论 -
pthread_cond_wait()
了解 pthread_cond_wait() 的作用非常重要 -- 它是 POSIX 线程信号发送系统的核心,也是最难以理解的部分。 首先,让我们考虑以下情况:线程为查看已链接列表而锁定了互斥对象,然而该列表恰巧是空的。这一特定线程什么也干不了 -- 其设计意图是从列表中除去节点,但是现在却没有节点。因此,它只能: 锁定互斥对象时,线程将调用 pthread_cond_wait(&mycond,&原创 2010-03-01 15:04:00 · 808 阅读 · 0 评论 -
【理论知识篇】ioctl函数详细说明
ioctl 函数 本函数影响由fd 参数引用的一个打开的文件。 #includeint ioctl( int fd, int request, .../* void *arg */ );返回0 :成功 -1 :出错 第三个参数总是一个指针,但指针的类型依赖于request 参数。我们可以把和网络相关的请求划分为6 类:套接口操作文件操作原创 2010-03-03 09:42:00 · 1174 阅读 · 0 评论 -
如何等待所有的子进程结束?
1、方法一pid_t wait (int * status); 函数说明 wait()会暂时停止目前进程的执行,直到有信号来到或子进程结束。如果在调用wait()时子进程已经结束,则wait()会立即返回子进程结束状态值。子进程的结束状态值会由参数status 返回,而子进程的进程识别码也会一快返回。如果不在意结束状态值,则 参数 statu原创 2009-05-08 13:33:00 · 7817 阅读 · 0 评论 -
如何用virtualbox3.0在win7下架设桥接网络 for ubuntu 9.10
首先说一下我的环境:主机:win7虚拟机:virtualbos 3.0客户机:ubuntu 9.10 今天下午从老师那边刚拿到开发板,开始进行各个尝试,后来发现貌似开发板网卡那边的借口驱动有点问题,老是Ping不通主机,于是想通过nfs启动虚拟机上的zImage,可以怎么用nfs进行远程的连接呢?在之前查了很多的网上的文章,都说要搞个tap0,br0什么的,全部都试了一遍,原创 2010-01-13 20:06:00 · 3527 阅读 · 0 评论 -
【SEP4020】Linux开发推荐挂载NFS作为根文件系统
转载自:http://hi.baidu.com/aokikyon/blog/item/86d1640fb3b7ca226059f390.html 以前陆陆续续写过很多挂载NFS相关的内容,现在把他们整理一下,看起来方便些。 之前使用cramfs或yaffs作为根文件系统,开发起来很不方便,需要修改一点文件都要重新烧写nand,在开发时推荐挂载虚拟机下的nfs分区作为根文件系统。NF转载 2010-01-19 14:03:00 · 1814 阅读 · 0 评论 -
【Bootloader】U-BOOT全线移植分析系列之四--U-boot如何引导Linux内核启动?
U-BOOT全线移植分析系列之四――U-boot如何引导Linux内核启动? Sailor_forever sailing_9806@163.com 转载请注明http://blog.youkuaiyun.com/sailor_8318/archive/2008/08/05/2773412.aspx 【摘要】本节介绍了U-boot使用go或bootm启动linux内核的方法。首先介绍转载 2010-01-29 15:19:00 · 1403 阅读 · 0 评论 -
Codeblocks & 开发板调试简单教程
转载自:http://blog.sina.com.cn/s/blog_5cf457370100f6q0.html远程调试十分也有用,而且很方便!Codeblocks作为linux下的C/C++ 集成开发环境(IDE)也十分好用。1.PC机的Codeblocks设置:当然,肯定是要装有Codeblocks才行啊,怎么装可以google一下。# codeblocks 打开Codeblo转载 2010-01-30 15:37:00 · 1976 阅读 · 0 评论 -
僵尸进程
在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵尸进程,无法正常结束,此时即使是root身份kill -9也不能杀死僵尸进程。补救办法是杀死僵尸进程的父进程(僵尸进程的父进程必然存在),僵尸进程成为"孤儿进程",过继给1号进程init,ini原创 2010-02-02 19:29:00 · 850 阅读 · 1 评论 -
GCC 命令行详解
作者: www.linuxfans.org mozilla1。gcc包含的c/c++编译器gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的,(没有看太明白前面这半句是什么意思:))一般c程序就用gcc编译,c++程序就用g++编译2。gcc的基本用法gcc test.c这样将编译出一个名为a.out的程序gcc test.c -o test这样将编译出一个名为te转载 2010-02-02 20:25:00 · 856 阅读 · 0 评论 -
Linux混合编程+log4cpp
由于要使用到log4cpp的库,而log4c的资料是非常的少,也懒得去研究它的用法,于是就决定试试混合编程者玩意。 首先先引用下C++它的father: Stroustrup的一篇文章《C++ Style and Technique FAQ》(http://www2.research.att.com/~bs/bs_faq2.html)里的一小个片段:原创 2010-02-03 17:20:00 · 2564 阅读 · 0 评论 -
linux-socket详解与实例
介绍 Hey! Socket 编程让你沮丧吗?从 man pages 中很难得到有用的信息吗?你想 跟上时代去做一做 Internet 程序,但是为你在调用 connect() 前的 bind() 的结构而愁眉不展?… 好了,我现在已经来了,我将和所有人共享我的知识了。如果你了解 C 语言并想穿过 网络编程的沼泽,那么你来对地方了。 读者 这个文档是写成一个指南,而不是参考书。如果你刚开始 s转载 2009-04-28 22:55:00 · 2046 阅读 · 2 评论