![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
melanie327
这个作者很懒,什么都没留下…
展开
-
TCMalloc:线程缓存的Malloc [Webkit有其应用]
2012-05-23 10:00 239人阅读 评论(0)收藏 举报目录(?)[+]作者:Sanjay Ghemawat, Paul Menage原文翻译:ShiningRayTCMalloc要比glibc 2.3的malloc(可以从一个叫作ptmalloc2的独立库获得)和其他我测试过的malloc都快。ptmalloc在一台2.8GHz的P4机器上(对转载 2012-11-29 11:17:17 · 295 阅读 · 0 评论 -
线程控制--私有数据
在多线程环境下,进程内的所有线程共享进程的数据空间,因此全局变量为所有线程共有。在程序设计中有时需要保存线程自己的全局变量,这种特殊的变量仅在某个线程内部有效。如常见的变量errno,它返回标准的出错代码。errno不应该是一个局部变量,几乎每个函数都应该可以访问它;但它又不能作为一个全局变量,否则在一个线程里输出的很可能是另一个线程的出错信息,这个问题可以通过创建线程的私有数据(Thread-s转载 2013-01-04 21:35:10 · 337 阅读 · 0 评论 -
Domain Socket
socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个转载 2012-12-09 22:07:59 · 321 阅读 · 0 评论 -
unix系统中带缓存的I/O和不带缓存的I/O的区别
以 ssize_t write(int filedes, const void *buff, size_t nbytes)和size_t fwrite(const void *ptr, size_t size, size_t nobj, FILE *fp)来讲讲自己对unix系统下带缓存的I/O和不带缓存的I/O的区别。 首先要清楚一个概念,所谓的代缓存并不是指上面两个函数的buf转载 2012-12-09 21:49:54 · 362 阅读 · 0 评论 -
linux 常用命令
系统信息arch显示机器的处理器架构(1)uname -m显示机器的处理器架构(2)uname -r显示正在使用的内核版本dmidecode -q显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda罗列一个转载 2012-12-09 22:37:33 · 314 阅读 · 0 评论 -
Time_waitout是什么
在TCP断开的过程中会有四个状态变化过程,如下图所示:在连接撤销过程中,有如下过程: 1.HOST1上的应用程序关闭己方的连接导致TCP发送一个FIN消息给HOST2。2.HOST2发送一个确认消息给HOST1,并且HOST2把FIN作为EOF递交给HOST2上的应用程转载 2012-12-09 22:36:29 · 447 阅读 · 0 评论 -
Time_wait句柄
Socket中的TIME_WAIT状态在高并发短连接的server端,当server处理完client的请求后立刻closesocket此时会出现time_wait状态然后如果client再并发2000个连接,此时部分连接就连接不上了,用linger强制关闭可以解决此问题,但是linger会导致数据丢失,linger值为0时是强制关闭,无论并发多少多能正常连接上,如果非0会发生部分连接不上的情转载 2012-12-09 22:29:26 · 375 阅读 · 0 评论 -
不带缓存的I/O和标准(带缓存的)I/O
首先,先稍微了解系统调用的概念: 系统调用,英文名system call,每个操作系统都在内核里有一些内建的函数库,这些函数可以用来完成一些系统系统调用把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序,如果没有系统调用和内核函数,用户将不能编写大型应用程序,及别的功能,这些函数集合起来就叫做程序接口或应用编程接口(Application Pro转载 2012-12-09 22:02:45 · 2808 阅读 · 1 评论 -
spinlock 的很多线程抢占时的性能优化,补充 pthread
专注于音视频处理及流媒体开发!TAG标签站点地图RSS订阅流媒体论坛关于本站关于我罗索实验室主页流媒体开发音视频技术嵌入式开发基础技术杂项技术管理学院啰嗦IT大杂烩转载 2012-12-09 17:35:38 · 2664 阅读 · 0 评论 -
自旋锁和信号量
spinlock mutex语义上是一样的,都是对一临界区加锁保护,区别是mutex得不到锁会睡眠,因此不能在中断上下文中使用。另外,解锁的一定是上锁的那个 semaphore 得不到锁会睡眠,也不能用在中断中, 上锁的不一定负责解锁 。rwlock 很好理解了,可多个读,只有一个写者,同样会引起睡眠最重要的就是只有spinlock 可以用在中断上下文中.至于wait_qu转载 2012-12-09 17:29:42 · 363 阅读 · 0 评论 -
read 系统调用剖析
赵 健博 (zhaojianbo@ncic.ac.cn), 硕士, 中国科学院计算技术研究所简介: 大部分程序员可能会有这样的疑问:当在程序中调用库函数 read 时,这个请求是经过哪些处理最终到达磁盘的呢,数据又是怎么被拷贝到用户缓存区的呢?本文介绍了从 read 系统调用发出到结束处理的全过程。该过程包括两个部分:用户空间的处理、核心空间的处理。用户空间处理部分是系统调用从用户态切转载 2012-12-06 23:32:47 · 2602 阅读 · 0 评论 -
Linux阵列 RAID详解
主要内容:(笔记总结--会不定时补充、修改,如有错误,欢迎指正探讨) 一、 RAID详解 二、 mdadm工具介绍 三、 创建一个RAID的基本过程 四、 磁盘阵列的管理 五、 RAID优化RAID详解: 描述:RAID:(Redundant Array of indenpensive Disk) 独立磁盘冗余阵列: 磁盘阵列是把多个磁盘组成一个阵列,转载 2012-12-06 23:11:05 · 454 阅读 · 0 评论 -
epoll
开发高性能网络程序时,windows开发者们言必称iocp,linux开发者们则言必称epoll。大家都明白epoll是一种IO多路复用技术,可以非常高效的处理数以百万计的socket句柄,比起以前的select和poll效率高大发了。我们用起epoll来都感觉挺爽,确实快,那么,它到底为什么可以高速处理这么多并发连接呢?先简单回顾下如何使用C库封装的3个epoll系统调用吧。转载 2012-11-29 11:05:50 · 183 阅读 · 0 评论 -
sed 命令
1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。转载 2013-03-05 10:28:11 · 369 阅读 · 0 评论