
Linux
文章平均质量分 74
ZDF0414
这个作者很懒,什么都没留下…
展开
-
信号未决与阻塞(二)
/**************************************************************************************************************/一、几个基本的概念信号递达(Delivery) :实际执行信号的处理动作;信号未决(Pending) :信号从产生到递达之间的状态;进程可以选择阻塞(Block原创 2016-03-31 11:57:02 · 1136 阅读 · 0 评论 -
读写锁
说读写锁之前,先解释一下什么是自旋锁?自旋锁就是,若P不到资源,它不会被挂起,而是一直去看是否有资源就绪。读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。这种锁相对于自旋锁而言,能提高并发性,因为在多处理器系统中,它允许同时有多个读者来访问共享资源,最大可能的读者数为实际的逻辑CPU数。写原创 2016-06-10 18:31:55 · 430 阅读 · 0 评论 -
线程的创建、等待与终止
LWP:轻量级进程,因为Linux下的线程是用进程模拟的,所以它比线程大一点,比进程小一点在Linux上线程函数位于libpthread共享库中,因此在编译时要加上-lpthread选项。********************************************************************************************原创 2016-06-08 14:36:59 · 583 阅读 · 0 评论 -
进程间通信---管道
为什么进程间需要通信?1、数据传输 一个进程需要将它的数据发送给另一个进程。2、资源共享 多个进程之间共享同样的资源。3、通知事件 一个进程需要向另一个或一组进程发送消息,通知它们发生了某种事件。4、进程控制 有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有操作,并能够及时知道它的原创 2016-06-08 13:03:25 · 477 阅读 · 0 评论 -
进程间通信----命名管道
命名管道是一个设备文件,即使不存在血缘关系,只要可以访问该路径,就可以实现进程间的通信*********************************************************************************************************************************一、创建管道 (mkfifo)(1)创建管道原创 2016-06-08 12:21:16 · 514 阅读 · 0 评论 -
进程等待与终止
僵尸进程:一个子进程在其父进程没有调用 wait()或waitpid()的情况下退出。这个子进程就是僵尸进程。如果其父进程还存在而一直不调用wait,则该僵尸进程将无法回收,等到其父进程退出后该进程将被init回收。孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并原创 2016-06-08 11:59:17 · 635 阅读 · 0 评论 -
进程创建方式与exec函数簇
进程的两个基本元素:1、程序代码;2、与代码相关联的数据集**********************************************************************************************************一、要创建一个子进程可以执行fork()系统调用。 返回值:成功的话,有原创 2016-06-08 11:30:13 · 639 阅读 · 0 评论 -
简易HTTP服务器的实现
基于HTTP协议实现简易服务器完成提交静态网页和CGI的功能,当方法为POST时,执行CGI功能;当方法为GET时,根据请求是否具有可执行权限,判断服务器应执行哪种功能。CGI的功能是它可以在服务器上执行相关的代码对数据进行处理,最后再将执行结果返回给浏览器。对于POST方法,要完成CGI功能,需要先从HTTP的请求报头中的消息内容里拿到浏览器的请求,经过CGI处理,再将处理结果交给浏览器原创 2016-04-09 11:57:58 · 603 阅读 · 0 评论 -
缓冲方式、文件描述符及文件操作
**********************************************************************************************************************************************三种缓冲方式:进程退出时,要刷新缓冲区以清空缓冲区 ,这时就相当于修改缓冲区,这时父子进程会各有一份缓冲区里原创 2016-04-01 22:45:34 · 1427 阅读 · 0 评论 -
竞态条件与sigsuspend函数(四)
*******************************************************************************************************************************************************一、可重入函数:拿单链表的insert函数来举例(不带头结点的),单链表的insert完成原创 2016-03-31 14:27:44 · 624 阅读 · 0 评论 -
信号捕捉(三)
信号捕捉 :如果信号的处理动作是用户自定义函数,在信号递达时就调用这个函数的种种行为。/*************************************************************************************************************/一、sigaction 函数(功能与 signal()函数功能一样,都是捕捉信号原创 2016-03-31 14:22:43 · 559 阅读 · 0 评论 -
信号的产生以及处理方式(一)
/*************************************************************************************************************/为了理解信号,先从我们最熟悉的场景说起:1.用户输入命令,在Shell下启动一个前台进程。2.用户按下Ctrl-C,这个键盘输入产生一个硬件中原创 2016-03-31 11:45:26 · 1808 阅读 · 0 评论 -
进程组、作业、会话
********************************************************************************************************************************************************一、进程组进程组:一个或多个进程的集合。每个进程都可以有一个组长进程;组长进程的原创 2016-06-11 13:55:36 · 553 阅读 · 0 评论