Linux
snail0428
Talk is cheap, show me the code!
展开
-
【转载】XSI IPC机制的优缺点
转自ChinaUnix 作者:hfm_honey原地址:http://blog.chinaunix.net/uid-26983585-id-3365393.htmlIPC我们很清楚它是指进程间的通信,其中有三种我们称之为XSI IPC即消息队列、信号量以及共享存储器,他们之间有好多相似之处。相似之处:每个内核中的IPC结构都用一个非负整数的标识符加以引用。例如对一个消息队列发送或取消息转载 2016-07-22 21:11:00 · 366 阅读 · 0 评论 -
C语言中内存分配
在任何程序设计环境及语言中,内存管理都十分重要。在目前的计算机系统或嵌入式系统中,内存资源仍然是有限的。因此在程序设计中,有效地管理内存资源是程序员首先考虑的问题。第1节主要介绍内存管理基本概念,重点介绍C程序中内存的分配,以及C语言编译后的可执行程序的存储结构和运行结构,同时还介绍了堆空间和栈空间的用途及区别。第2节主要介绍C语言中内存分配及释放函数、函数的功能,以及如何调用这些转载 2016-09-24 16:15:06 · 266 阅读 · 0 评论 -
内核态与用户态的区别
http://blog.csdn.net/fatsandwich/article/details/2131707#http://jakielong.iteye.com/blog/771663当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态)。此时处理器处于特权级最高的(0级)内核代码中执行。当进程处于内核态时,执行的内核代码会使用当前转载 2016-09-21 11:13:45 · 518 阅读 · 0 评论 -
用户级线程和内核级线程的区别
转载于http://col1.blog.163.com/blog/static/1909775192012719114033352/1 .内核级线程:切换由内核控制,当线程进行切换的时候,由用户态转化为内核态。切换完毕要从内核态返回用户态;可以很好的利用smp,即利用多核cpu。windows线程就是这样的。 2. 用户级线程内核的切换由用户态程序自己控制内核切换,不需要内核干涉,转载 2016-09-21 11:09:14 · 482 阅读 · 0 评论 -
linux 进程创建clone、fork与vfork
转载自:http://blog.csdn.net/chenjiayi_yun/article/details/26242245 目录:1、clone、fork与vfork介绍2、fork说明3、vfork说明4、clone说明5、fork,vfork,clone的区别内容:1、clone、fork与vfork介绍转载 2016-09-17 13:51:25 · 301 阅读 · 0 评论 -
i节点(inode)和文件描述符(file descriptor)的区别和联系
inode 或i节点是指对文件的索引。如一个系统,所有文件是放在磁盘或flash上,就要编个目录来说明每个文件在什么地方,有什么属性,及大小等。就像书本的目录一样,便于查找和管理。这目录是操作系统需要的,用来找文件或叫管理文件。许多操作系统都用到这个概念,如linux, 某些嵌入式文件系统等。当然,对某个系统来说,有许多i节点。所以对i节点本身也是要进行管理的。 在linu转载 2016-09-17 11:22:07 · 431 阅读 · 0 评论 -
子进程复制了父进程的什么
如果你对代码段、数据段、栈、堆存放哪些数据还不是很清楚,请先看我写和Linux 内存管理。有时会出现父子进程变量的地址一样,但值不一样。看下面代码:#include#includestring.h>#include#includemain(){ char str[4]="asd"; pid_t pid=fork(); if(pid==0){转载 2016-09-17 11:03:12 · 509 阅读 · 1 评论 -
Linux 文件、内容查找(递归) ,grep ,find
Linux 文件、内容查找(递归) ,grep ,find 收藏内容查找(递归)grep /etc/httpd/modules/ -lr 'php' *文件名查找(递归,不适合查找modules)find /etc/httpd/ -name httpd.conf引用:grep 命令用于搜索由 Pattern 参数指定的模式,并将每个匹配的行写入标准输出中转载 2016-09-16 15:57:16 · 2024 阅读 · 0 评论 -
linux下socketopt用法
功能描述: 获取或者设置与某个套接字关联的选项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协议 号TCP。用法:#incl转载 2016-09-12 10:15:48 · 720 阅读 · 0 评论 -
【转载】信号与信号量的区别
信号量(Semaphore),有时被称为信号灯,是在多环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。为了完成这个过程,需要创建一个信号量VI,然后将Acquire Semaphore VI以及Release Sem转载 2016-07-23 09:57:44 · 248 阅读 · 0 评论 -
【转载】信号量
转自ChinaUnix 作者:graylocus原地址:http://blog.chinaunix.net/uid-23193900-id-3194924.html1.信号量的概念信号量的本质是一种数据操作锁,它本身不具有数据交换的功能,而是通过控制其他的通信资源(文件,外部设备)来实现进程间通信,它本身只是一种外部资源的标识。信号量在此过程中负责数据操作的互斥、同步等功能。当请转载 2016-07-22 22:07:49 · 215 阅读 · 0 评论 -
自旋锁spinlock剖析与改进
1, spinlock介绍 spinlock又称自旋锁,线程通过busy-wait-loop的方式来获取锁,任时刻只有一个线程能够获得锁,其他线程忙等待直到获得锁。spinlock在多处理器多线程环境的场景中有很广泛的使用,一般要求使用spinlock的临界区尽量简短,这样获取的锁可以尽快释放,以满足其他忙等的线程。Spinlock和mutex不同,spinlock不会导致线程的状态切换转载 2016-09-30 10:39:27 · 388 阅读 · 0 评论