
linux
文章平均质量分 82
猫已经找不回了
猫已经找不回了
展开
-
open和fopen的区别
open和fopen的区别:1.缓冲文件系统缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”, 装满后再从内存“缓冲区”依此读入接收的变量。执行写文件的操作时,先将数据写入内存“缓冲区”,待内存“缓冲区”装满后再写入文件。由此可以看出,内存 “缓冲区”的大小,影响着实际操作外存的次数,内存“缓冲区”越大,则转载 2009-05-05 00:01:00 · 53619 阅读 · 15 评论 -
(转)poll, select & epoll 原理比较分析
原文地址:http://www.cnblogs.com/sharra/archive/2010/12/30/1921287.html因为需要了解底层设备访问的原理,所以惯用高层应用语言的我,需要了解一下Linux的设备访问机制,尤其是处理一组非阻塞IO的原理方法,标准的术语好像是叫多路复用。以下文章部分句子有引用之处,恕没有一一指出出处。 <br /> <br />对于接触过Linux内核或设备驱动开发的读者,一定清楚poll和select系统调用,以及从2.5版本引入的epoll机制(epoll机制包含三转载 2011-04-21 10:05:00 · 4691 阅读 · 0 评论 -
一种固定内存池的实现(含代码)
所谓内存池,是指,应用程序可以通过系统的内存分配调用预先一次性申请适当大小的内存作为一个内存池,之后应用程序自己对内存的分配和释放则可以通过这个内存池来完成。只有当内存池大小需要动态扩展时,才需要再调用系统的内存分配函数,其他时间对内存的一切操作都在应用程序的掌控之中。应用程序自定义的内存池根据不同的适用场景又有不同的类型。从线程安全的角度来分,内存池可以分为单线程内存池和多线程内存原创 2009-09-10 12:31:00 · 7803 阅读 · 8 评论 -
其实Unix很简单
本文转自陈皓的博客:http://blog.csdn.net/haoel/article/details/1533720 其实Unix很简单 陈皓 很多编程的朋友都在网上问我这样的几个问题,Unix怎么学?Unix怎么这么难?如何才能学好?并且让我给他们一转载 2011-08-04 16:43:52 · 1849 阅读 · 2 评论 -
正则表达式30分钟入门教程
本文转自:http://www.oicto.com/html/regex.htm#resources 目录跳过目录本文目标 如何使用本教程 正则表达式到底是什么东西? 入门 测试正则表达式 元字符 字符转义 重复 字符类 分枝条件 反义 分组 后向引用 零宽断转载 2011-08-11 14:55:23 · 1493 阅读 · 0 评论 -
多线程和多进程的区别(小结)
很想写点关于多进程和多线程的东西,我确实很爱他们。但是每每想动手写点关于他们的东西,却总是求全心理作祟,始终动不了手。今天终于下了决心,写点东西,以后可以再修修补补也无妨。 一.为何需要多进程(或者多线程),为何需要并发?这个问题或许本身都不是个问题。但是对于没有接触过多进程编程的朋友来说,他们确实无法感受到并发的魅力以及必要性。我想,只要你不是整天都写那种int main原创 2009-06-19 09:33:00 · 228757 阅读 · 41 评论 -
pthread_cond_wait()用法分析
很久没看APUE,今天一位朋友问道关于一个mutex的问题,又翻到了以前讨论过的东西,为了不让自己忘记,把曾经的东西总结一下。先大体看下网上很多地方都有的关于pthread_cond_wait()的说明: 条件变量 条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出原创 2009-09-09 15:54:00 · 181781 阅读 · 31 评论 -
查看库中的符号nm
转自:http://my.opera.com/yangguangxiang/blog/show.dml/138851有时候可能需要查看一个库中到底有哪些函数,nm命令可以打印出库中的涉及到的所有符号。库既可以是静态的也可以是动态的。nm列出的符号有很多,常见的有三种,一种是在库中被调用,但并没有在库中定义(表明需要其他库支持),用U表示;一种是库中定义的函数,用T表示,这是最常见的;另外一转载 2012-10-17 17:16:17 · 7614 阅读 · 0 评论 -
sendfile优化文件拷贝
原文地址:http://www.vpsee.com/2009/07/linux-sendfile-improve-performance/现在流行的 web 服务器里面都提供 sendfile 选项用来提高服务器性能,那到底 sendfile 是什么,怎么影响性能的呢?sendfile 实际上是 Linux 2.0+ 以后的推出的一个系统调用,web 服务器可以通过调整自身的配置来决定是否转载 2011-06-16 19:16:00 · 7635 阅读 · 0 评论 -
(转)Linux服务器性能评估与优化
转载:http://www.517sou.net/Article/104.aspx一、影响Linux服务器性能的因素 1. 操作系统级Ø CPU Ø 内存Ø 磁盘I/O带宽Ø 网络I/O带宽2. 程序应用级二、系统性能评估标准影响性能因素 评判标准好 坏 糟糕CPU user% + sys% user% + sys%= 85% user% + sys% >=90% 内存 Swap In(si)=0Swap Out(so)=0 Per CPU wi转载 2011-05-16 16:40:00 · 1825 阅读 · 2 评论 -
linux静态链接库与动态链接库的区别及动态库的创建(转)
转的链接:http://www.cnblogs.com/zhoutian6214/archive/2008/11/11/1331646.html一、引言通常情况下,对函数库的链接是放在编译时期(compile time)完成的。所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(executable file)。程序在运行时,与函数库再无瓜葛,因为所有需要的函数已拷贝到自己门下。所以这些函数库被成为静态库(static libaray),通常文件名为“li转载 2010-09-03 11:02:00 · 2088 阅读 · 2 评论 -
关于分离线程的一种用法
讲到分离线程,先得从僵尸进程讲起(抱歉,确实不知道线程是否有僵尸一说)。 关于僵尸进程:一般情况下进程终止的时候,和它相关的系统资源也并不是主动释放的,而是进入一种通常称为“僵尸”(zombie)的状态。它所占有的资源一直被系统保留,直到它的父进程(如果它直接的父进程先于它去世,那么它将被init进程所收养,这个时候init就是它的父进程)显式地调用wait系列函数为其“收尸”原创 2009-05-01 13:27:00 · 6546 阅读 · 2 评论 -
关于硬链接和软连接(符号链接)的区别
linux系统下提供ln指令来进行文件链接。文件链接主要分为硬链接和软链接。 硬链接:由于linux下的文件是通过索引节点(Inode)来识别文件,硬链接可以认为是一个指针,指向文件索引节点的指针,系统并不为它重新分配inode。每添加一个一个硬链接,文件的链接数就加1。 可以用:ln命令来建立硬链接。语法: ln [options] existingfile ne原创 2009-05-11 16:32:00 · 44028 阅读 · 9 评论 -
Linux守护进程的编程实现
Linux 守护进程的编程方法 守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。 守护进程的编程本身并不复杂,转载 2009-05-17 15:29:00 · 63988 阅读 · 13 评论 -
内存池&经典的内存池技术
网上有一关于内存池的文章,拿来分享一下:内存池(MemPool)技术备受推崇。我用google搜索了下,没有找到比较详细的原理性的文章,故此补充一个。另外,补充了boost::pool组件与经典MemPool的差异。同时也描述了MemPool在sgi-stl/stlport中的运用。经典的内存池(MemPool)技术,是一种用于分配大量大小相同的小对象的技术。通过该技术可以极大加快内存分配/释转载 2009-08-27 17:28:00 · 2949 阅读 · 2 评论 -
(转)*Socket TIME_WAIT 问题Q&A
tcp/ip详解的卷1有详细介绍过tcp的相关内容,其中TIME_WAIT讲得有点晦涩,今日找到一篇不错的文章,特拿来分享一下。 netstat -n | awk /^tcp/ {++state[$NF]} END {for(key in state) print key,"/t",state[key]}会得到类似下面的结果,具体数字会有所不同:LAST_ACK 1SYN_转载 2009-09-09 22:56:00 · 3443 阅读 · 0 评论 -
(转)LINUX 信号机制【列表】
信号本质信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生了。信号机制经过POSIX实时扩展后,功能更加强大,除了基本通知功能外,还可以传递附加信息原创 2010-03-06 11:25:00 · 2098 阅读 · 0 评论 -
(转)vim编码方式设置
一般的,vim打开中文文件时会出现乱码,原因比较复杂,不罗嗦了。直接讲解决办法set fileencoding=gb18030set fileencodings=utf-8,gb18030,utf-16,big5想看这样设置的原因吗?请继续。下文在网络中广泛流传vim里面的编码主要跟三个参数有关:enc(encoding), fenc(fileencoding)和fencs(f转载 2010-04-20 11:20:00 · 8646 阅读 · 0 评论 -
(转)Linux下的CppUnit 的HelloWorld手记
转自:http://blog.csdn.net/panyuequn/archive/2009/12/07/4958454.aspx版权声明:本文版权所属 Tx7do@上海半丁,可以随意复制传播,但是表把版权给扔啦=。=操作系统系统:Ubuntu6,g++软件版本:cppunit-1.10.2.tar.gz(1)获得源码: 到cppunit.sourceforg转载 2010-05-25 11:19:00 · 3434 阅读 · 0 评论 -
(转)Linux下使用system()函数,谨慎使用
转自:http://my.oschina.net/renhc/blog/53580曾经的曾经,被system()函数折磨过,之所以这样,是因为对system()函数了解不够深入。只是简单的知道用这个函数执行一个系统命令,这远远不够,它的返回值、它所执行命令的返回值以及命令执行失败原因如何定位,这才是重点。当初因为这个函数风险较多,故抛弃不用,改用其他的方法。这里先不说我用了什么转载 2012-11-08 19:39:13 · 17307 阅读 · 1 评论