2014年11月9日

UNIX环境编程学习笔记(26)——多线程编程(一):创建和终止线程

摘要: lienhua342014-11-08在进程控制三部曲中我们学习了进程的创建、终止以及获取终止状态等的进程控制原语。线程的控制与进程的控制有相似之处,在表 1中我们列出了进程和线程相对应的控制原语。表 1: 进程原语和线程原语的比较进程原语线程原语描述forkpthread_create创建新的控制... 阅读全文

posted @ 2014-11-09 00:51 lienhua34 阅读(1195) 评论(0) 推荐(1) 编辑

2014年11月5日

UNIX环境编程学习笔记(25)——信号处理进阶学习之 sigaction 函数

摘要: lienhua342014-11-05sigaction 函数跟 signal 函数一样,用于设置信号处理函数。此函数是用于取代 UNIX 早期版本使用的 signal 函数。UNIX 早期版本的 signal 函数在捕获到一个信号之后,就会自动将该信号的处理动作恢复为默认处理动作。于是,如果我们希... 阅读全文

posted @ 2014-11-05 23:19 lienhua34 阅读(885) 评论(0) 推荐(0) 编辑

2014年11月3日

UNIX环境编程学习笔记(24)——信号处理进阶学习之信号集和进程信号屏蔽字

摘要: lienhua342014-11-031 信号传递过程信号源为目标进程产生了一个信号,然后由内核来决定是否要将该信号传递给目标进程。从信号产生到传递给目标进程的流程图如图 1 所示,图 1: 信号产生、传递到处理的流程图进程可以阻塞信号的传递。当信号源为目标进程产生了一个信号之后,内核会执行依次执行... 阅读全文

posted @ 2014-11-03 22:51 lienhua34 阅读(3024) 评论(1) 推荐(0) 编辑

2014年10月30日

UNIX环境编程学习笔记(23)——信号处理初步学习

摘要: lienhua342014-10-291 信号的概念维基百科中关于信号的描述是这样的:在计算机科学中,信号(英语:Signals)是 Unix、类 Unix 以及其他 POSIX 兼容的操作系统中进程间通讯的一种有限制的方式。它是一种异步的通知机制,用来提醒进程一个事件已经发生。当一个信号发送给一个... 阅读全文

posted @ 2014-10-30 00:20 lienhua34 阅读(2483) 评论(2) 推荐(0) 编辑

2014年10月16日

UNIX环境编程学习笔记(22)——进程管理之system 函数执行命令行字符串

摘要: lienhua342014-10-15ISO C 定义了 system 函数,用于在程序中执行一个命令字符串。其声明如下,#include int system(const char *cmdstring);system 函数在其实现中调用了 fork、exec 和 waitpid 函数。syste... 阅读全文

posted @ 2014-10-16 22:49 lienhua34 阅读(1636) 评论(0) 推荐(0) 编辑

2014年10月12日

UNIX环境编程学习笔记(21)——进程管理之获取进程终止状态的 wait 和 waitpid 函数

摘要: lienhua342014-10-12当一个进程正常或者异常终止时,内核就向其父进程发送 SIGCHLD信号。父进程可以选择忽略该信号,或者提供一个该信号发生时即被调用的函数(信号处理程序)。对于这种信号的系统默认动作是忽略它。在文档“进程控制三部曲”中,我们讲的第三部曲是使用 wait 函数来获取... 阅读全文

posted @ 2014-10-12 23:30 lienhua34 阅读(3159) 评论(0) 推荐(1) 编辑

2014年10月7日

UNIX环境编程学习笔记(20)——进程管理之exec 函数族

摘要: lienhua342014-10-07在文档“进程控制三部曲”中,我们提到 fork 函数创建子进程之后,通常都会调用 exec 函数来执行一个新程序。调用 exec 函数之后,该进程就将执行的程序替换为新的程序,而新的程序则从 main 函数开始执行。UNIX 提供了 6 种不同的 exec 函数... 阅读全文

posted @ 2014-10-07 15:11 lienhua34 阅读(3366) 评论(0) 推荐(0) 编辑

UNIX环境编程学习笔记(19)——进程管理之fork 函数的深入学习

摘要: lienhua342014-10-07在“进程控制三部曲”中,我们学习到了 fork 是三部曲的第一部,用于创建一个新进程。但是关于 fork 的更深入的一些的东西我们还没有涉及到,例如,fork 创建的新进程与调用进程之间的关系、父子进程的数据共享问题等。fork 是否可以无限制的调用?如果不行的... 阅读全文

posted @ 2014-10-07 01:41 lienhua34 阅读(2899) 评论(0) 推荐(1) 编辑

2014年10月6日

装配线调度问题的算法解析和验证

摘要: lienhua342014-10-061 问题描述某个汽车工厂共有两条装配线,每条有 n 个装配站。装配线 i 的第 j个装配站表示为 Si,j ,在该站的装配时间为 ai,j 。一个汽车底盘进入工厂,然后进入装配线 i(i 为 1 或 2),花费时间为 ei 。在通过一条线的第 j 个装配站后,这... 阅读全文

posted @ 2014-10-06 15:56 lienhua34 阅读(3095) 评论(1) 推荐(0) 编辑

2014年10月5日

UNIX环境编程学习笔记(18)——进程管理之进程控制三部曲

摘要: lienhua342014-10-051 进程控制三部曲概述UNIX 系统提供了 fork、exec、exit 和 wait 等基本的进程控制原语。通过这些进程控制原语,我们即可完成对进程创建、执行和终止等基本操作。进程的控制可以划分为三部曲,• 第一部:fork 创建新进程。• 第二部:exec ... 阅读全文

posted @ 2014-10-05 19:26 lienhua34 阅读(2509) 评论(1) 推荐(1) 编辑

导航