摘要: 一、命名管道 如果我们想在不相关的进程之间交换数据,可以用FIFO文件来完成这项工作,它通常也被称为命名管道。命名管道是一种特殊类型的文件,它在文件系统中以文件名的形式存在,但是它的行为却和我们已经见过的没有名字的管道类似。我们可以在命令行上创建命名管道,也可以在程序中创建它。 命名管道(FIFO) 阅读全文
posted @ 2017-11-28 00:15 一缕残雪 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 一、管道 当从一个进程连接数据流到另一个进程时,我们使用术语管道(pipe)。我们通常是把一个进程的输出通过管道连接到另一个进程的输入。对于shell命令来说,命令的连接是通过管道字符来完成的,如:cmd1 | cmd2 1、进程管道 可能最简单的在两个程序之间传递数据的方法就是使用popen和pc 阅读全文
posted @ 2017-11-04 20:33 一缕残雪 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 一、什么是线程 在一个程序中的多个执行路线就叫做线程。更准确的定义是:线程是一个进程内部的一个控制序列。所有的进程都至少有一个线程。当进程执行fork调用时,将创建出该进程的一份新副本,这个新进程拥有自己的变量和自己的PID,它的时间调度也是独立的,它的执行几乎完全独立于父进程。当在进程中创建一个新 阅读全文
posted @ 2017-10-12 21:52 一缕残雪 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 一、进程结构 UNIX标准把进程定义为:“一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源。”正在运行的程序或进程由程序代码、数据、变量(占用着系统内存)、打开的文件(文件描述符)和环境组成。一般来说,Linux系统会在进程之间共享程序代码和系统函数库,所以在任何时刻内存中都只有代码 阅读全文
posted @ 2017-09-25 21:20 一缕残雪 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 1、程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分: 1、栈区(stack)— 由操作系统自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构 阅读全文
posted @ 2017-09-13 20:37 一缕残雪 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 读完邹欣老师的《构建之法》绪论之后,感觉对软件工程有了大概的了解,软件工程可以说是把系统的、有序的、可量化的方法应用到软件的开发、营运和维护管理上的过程,是一个复杂、需要长期经营的过程;软件工程涉及的领域更是广泛,计算机科学与工程、数学、管理学等学科交错其中,而软件的开发过程更是重要而漫长,软件... 阅读全文
posted @ 2015-11-30 00:01 一缕残雪 阅读(189) 评论(0) 推荐(0) 编辑