- 博客(16)
- 收藏
- 关注
原创 vfork函数
一 进程存储布局:代码区:存放CPU指令数据区:已经初始化的全局变量,已经初始化局部静态变量,常量数据,如字符串常量。BSS区:未初始化的全局变量,未初始化静态变量。堆区:malloc函数分配内存的空间。由程序员控制栈区:函数空间。以上几个区域地址由低到高排列。栈的内存分配是由高往低分配的,因为栈顶的地址是确定的。二 fork与vfork的区别:早期fork会复
2012-12-07 14:54:39 579
原创 linux之信号
1、linux进程产生信号,并且设置此信号要传递的对象(进程),然后传给内核。2、内核怎么操作此信号呢,内核根据接收进程的设置是否阻塞,选择性的发给接收进程。如果进程阻塞该信号,内核会暂时保留该信号,不传递,知道进程解除阻塞。如果接收进程退出,则丢弃此信号。3、目的进程接收到此信号后,会根据当前进程对此信号设置的处理方式,中断当前的任务,执行中断服务程序。对于接收进程来说,这种方式属于异步
2012-12-07 09:49:32 278
原创 有名管道
有名管道与无名管道区别在于:1、无名管道只能用于父子进程之间的通信,而有名管道没有这个限制。2,、无名管道会消失,但是有名管道会类似于文件一样存在于硬盘。但是与一般的文件又有区别有名管道和一般文件的区别在于:1、有名管道的内容被读取之后就不存在了,2、假如有一个进程以只读的方式打开有名管道的话,必须要有另外一个进程以写的方式打开这个有名管道,否则进程将会阻塞在open处。当然如
2012-12-06 15:02:09 430
原创 linux查找包含关键字的文件命令 syetem获取返回值
1 find ./ -name *.conf -exec grep "devclass" {} \; -print 命令解释: 关键在于括号后面的 \; 是挨着的并且与括号有一个空格,-print与分号有一空格!2 select函数的使用select (maxfd+1,fd_set &fdset,NULL ,NULL,struct timeval &ti
2012-11-22 17:51:54 1080
原创 C复习
1.在C代码中调用shell命令或者二进制执行程序获取返回值 在C中调用二进制执行文件或者shell命令时,都有自己对应的返回值。如果是shell脚本调用C执行文件,那么直接$?就可以获取c文件的返回值。如果在C中调用shell命令,或者二进制文件,怎么获取它的返回值呢。如果用system函数,则返回值只有1或者0,(待测)。在这种情况下,想获取返回值,可以通过popen函数。此函数返
2012-11-15 18:01:52 484
原创 大容量硬盘录像存储总结
硬盘录像存储涉及到硬盘的识别,硬盘的分区,硬盘的卸载挂载,以及硬盘信息的获取。如果是多硬盘的话,应该考虑到正在录像的硬盘出现故障时,应该把录像存到别的硬盘上! 硬盘的识别: 在系统启动之后/dev/目录下面会根据检测到的硬盘生成相应的设备节点,依次命名为sda、sdb、sdc等。因此只有重启系统硬盘的设备节点才会可能被修改。检测到有硬盘设备之
2012-10-25 10:54:55 834
原创 kernel panic - not syncing: no init found
1、uboot参数setenv bootargs mem=64M console=ttyAMA0,115200 root=/dev/mtdblock3 rootfstype=jffs2 mtdparts=physmap-flash.0:1M(boot),2M(kernel),6M(slave),6M(rootfs),1M(mtd)此参数的意思是为内核分配64m内存空间,使用串口,根文件系统
2012-09-28 17:34:13 657
原创 关于mount、umount函数以及命令的区别
在C函数中,加入mount或者umount去挂载卸载一个硬盘,加入硬盘不存在的话,函数会返回错误。而如果是用mount或者umnout命令去挂载或者卸载的话,可以正常调用。并且对于大容量的硬盘来说,用命令而非函数效率更高。正如前面文章提到的,用命令可以加各种参数,比如-O USEFREE.提高挂载卸载效率。
2012-09-21 15:34:38 2687
原创 statfs函数获取大容量磁盘信息速度慢的解决过程
statfs函数在调用之前,磁盘已经挂载上,因此在利用在挂载的时候加上 -o -usefree参数,使得磁盘信息被写到磁盘上面,statfs函数在调用的时候,直接读取,就可以提高函数调用效率,从而减少反应时间。(mount -o usefree -t vfat /a /b)此命令执行的时候很快,不会有明显的延迟。
2012-05-11 16:02:04 2324
转载 转载--大内高手—常见内存错误
大内高手—常见内存错误 转载时请注明出处:http://blog.csdn.net/absurd 随着诸如代码重构和单元测试等方法引入实践,调试技能渐渐弱化了,甚至有人主张废除调试器。这是有道理的,原因在于调试的代价往往太大了,特别是调试系统集成之后的BUG,一个BUG花了几天甚至数周时间并非罕见。 而这些难以定位的BUG基本上可以归为两类:内存错误和并发问题。而又以内存错
2012-05-07 15:43:23 381
转载 多线程编程
http://blog.csdn.net/eroswang/article/details/1675657使用pthread库进行多线程编程分类: Linux开发c/c++ 2007-07-02 15:30 615人阅读 评论(0)收藏 举报11 Threads1 Introduction不用介绍了吧…2 Thread Concepts1
2012-05-07 13:59:24 381
转载 linux 进程间通信
http://blog.csdn.net/eroswang/article/details/1772350详细的讲述进程间通信在这里绝对是不可能的事情,而且笔者很难有信心说自己对这一部分内容的认识达到了什么样的地步,所以在这一节的开头首先向大家推荐著 名作者Richard Stevens的著名作品:《Advanced Programming in the UNIX Environment》,它
2012-05-07 13:47:58 373
转载 比较详细的GDB用法说明
http://blog.csdn.net/eroswang/article/details/2425242gdb主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,必须要把调试信息加到可执行文件中。使用编译器(cc/gcc/g++)的 -g 参数即可。如:[david@DAVID david]$ gcc -g hello.c -o hello[david@DAVID d
2012-05-07 13:38:06 375
转载 常用位运算总结
http://blog.csdn.net/eroswang/article/details/3009185 位运算应用口诀 清零取反要用与,某位置一可用或 若要取反和交换,轻轻松松用异或 移位运算 要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。 2 " 3 ">>"右移:右边的位被挤掉。对于左边移出的空位,如果是正数则空位补0,若
2012-05-07 13:26:55 302
转载 (转)从底层的角度看一下malloc和free的细节
事实上,仔细看一下free()的函数原型,也许也会发现似乎很神奇,free()函数非常简单,只有一个参数,只要把指向申请空间的指针传递给free()中的参数就可以完成释放工作!这里要追踪到malloc()的申请问题了。申请的时候实际上占用的内存要比申请的大。因为超出的空间是用来记录对这块内存的管理信息。先看一下在《UNIX环境高级编程》中第七章的一段话: 大多数实现所分配的存储空间比所
2012-05-07 10:56:17 429
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人