电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Linux下的多进程编程初步VIP免费

Linux下的多进程编程初步_第1页
1/20
Linux下的多进程编程初步_第2页
2/20
Linux下的多进程编程初步_第3页
3/20
Linux 下的多进程编程初步 Linux 系统下实现多线程客户/服务器 Linux 下的多线程编程 1 Linux 下的多进程编程初步 1 引言 对于没有接触过 Unix/Linux 操作系统的人来说,fork 是最难理解的概念之一:它执行一次却返回两个值。fork 函数是 Unix 系统最杰出的成就 之一,它是七十年代 UNIX 早期的开发者经过长期在理论和实践上的艰苦探索后取得的成果,一方面,它使操作系统在进程管理上付出了最小的代价,另一方面, 又为程序员提供了一个简洁明了的多进程方法。与 DOS 和早期的 Windows 不同,Unix/Linux 系统是真正实现多任务操作的系统,可以说,不使用 多进程编程,就不能算是真正的 Linux 环境下编程。 多线程程序设计的概念早在六十年代就被提出,但直到八十年代中期,Unix 系统中才引入多线程机制,如今,由于自身的许多优点,多线程编程已经得到了广泛的应用。 下面,我们将介绍在 Linux 下编写多进程和多线程程序的一些初步知识。 2 多进程编程 什么是一个进程?进程这个概念是针对系统而不是针对用户的,对用户来说,他面对的概念是程序。当用户敲入命令执行一个程序的时候,对系统而言,它将启动一 个进程。但和程序不同的是,在这个进程中,系统可能需要再启动一个或多个进程来完成独立的多个任务。多进程编程的主要内容包括进程控制和进程间通信,在了 解这些之前,我们先要简单知道进程的结构。 2.1 Linux 下进程的结构 Linux 下一个进程在内存里有三部分的数据,就是"代码段"、"堆栈段"和"数据段"。其实学过汇编语言的人一定知道,一般的 CPU 都有上述三种段寄存器,以方便操作系统的运行。这三个部分也是构成一个完整的执行序列的必要的部分。 "代码段",顾名思义,就是存放了程序代码的数据,假如机器中有数个进程运行相同的一个程序,那么它们就可以使用相同的代码段。"堆栈段"存放的就是子程 序的返回地址、子程序的参数以及程序的局部变量。而数据段则存放程序的全局变量,常数以及动态数据分配的数据空间(比如用 malloc 之类的函数取得的空 间)。这其中有许多细节问题,这里限于篇幅就不多介绍了。系统如果同时运行数个相同的程序,它们之间就不能使用同一个堆栈段和数据段。 2.2 Linux 下的进程控制 在传统的 Unix 环境下,有两个基本的操作用于创建和修改进程:函数 fork( )用来创建一个新的进程,该进程几乎是当前进程的一个完全拷贝;函数族 exec( )用来...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Linux下的多进程编程初步

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部