- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
32个系统调用
unix环境多进程编程--32个系统调用详解(1)
一.多进程程序的特点??? 由于UNIX系统是分时多用户系统, CPU按时间片分配给各个用户使用, 而在实质上应该CPU按时间片分配给各个进程使用, 每个进程都有自己的运行环境 以使得在CPU做进程切换时不会忘记该进程已计算了一半的半成品. 以DOS 的概念来说, 进程的切换都是一次DOS中断处理过程, 包括三个层次:??? (1)用户数据的保存: 包括正文段(TEXT), 数据段(DATA,BSS), 栈段 (STACK), 共享内存段(SHARED MEMORY)的保存.??? (2)寄存器数据的保存: 包括PC(program counter,指向下一条要执行的指 令的地址), PSW(processor status word,处理机状态字), SP(stack pointer,栈指针), PCBP(pointer of process control block,进程控 制块指针), FP(frame pointer,指向栈中一个函数的local变量的首地 址), AP(augument pointer,指向栈中函数调用的实参位置), ISP( interrupt stack pointer,中断栈指针), 以及其他的通用寄存器等.??? (3)系统层次的保存: 包括proc,u,虚拟存储空间管理表格,中断处理栈. 以便于该进程再一次得到CPU时间片时能正常运行下去. 既然系统已经处理好所有这些中断处理的过程, 我们做程序还有什么要担 心的呢? 我们尽可以使用系统提供的多进程的特点, 让几个程序精诚合作, 简单而又高效地把结果给它搞出来. 另外,UNIX系统本身也是用C语言写的多进程程序,多进程编程是UNIX的特点,当我们熟悉了多进程编程后,将会对UNIX系统机制有一个较深的认识. 首先我介绍一下多进程程序的一些突出的特点:??? 1.并行化??????? 一件复杂的事件是可以分解成若干个简单事件来解决的, 这在程序员的大脑中早就形成了这种概念, 首先将问题分解成一个个小问题, 将小问 题再细分, 最后在一个合适的规模上做成一个函数. 在软件工程中也是这 么说的. 如果我们以图的方式来思考, 一些小问题的计算是可以互不干扰的, 可以同时处理, 而在关键点则需要统一在一个地方来处理, 这样程序的运行就是并行的, 至少从人的时间观念上来说是这样的. 而每个小问题的计算又是较简单的.??? 2.简单有序??????? 这样的程序对程序员来说不亚于管理一班人, 程序员为每个进程设计好相应的功能, 并通过一定的通讯机制将它们有机地结合在一起, 对每个进程的设计是简单的, 只在总控部分小心应付, 就可完成整个程序的施工.??? 3.互不干扰??????? 这个特点是操作系统的特点, 各个进程是独立的, 不会串位.??? 4.事务化??????? 比如在一个数据电话查询系统中, 将程序设计成一个进程只处理一次查询即可, 即完成一个事务. 当电话查询开始时, 产生这样一个进程对付这次查询; 另一个电话进来时, 主控程序又产生一个这样的进程对付, 每个进程完成查询任务后消失. 这样的编程多简单, 只要做一次查询的程序就可以了. 二.常用的多进程编程的系统调用1.fork()??????? 功能:创建一个新的进程.??????? 语法:#include ???????????? #include ???????????? pid_t fork();??????? 说明:本系统调用产生一个新的进程, 叫子进程, 是调用进程的一个复制品. 调用进程叫父进程, 子进程继承了父进程的几乎所有的属性:???????????? . 实际UID,GID和有效UID,GID.???????????? . 环境变量.???????????? . 附加GID.???????????? . 调用exec()时的关闭标志.???????????? . UID设置模式比特位.???????????? . GID设置模式比特位.???????????? . 进程组号.???????????? . 会话ID.???????????? . 控制终端.???????????? . 当前工作目录.???????????? . 根目录.???????????? . 文件创建掩码UMASK.???????????? . 文件长度限制ULIMIT.???????????? . 预定值, 如优先级和任何其他的进程预定参数, 根据种类不同决定是否可以继承.???????????? . 还有一些其它属性.但子进程也有与父进程不同的属性:????????????
您可能关注的文档
- 2016-2021年男士公文包市场前景预测及投资规划分析报告(目录).doc
- 2016-2021年软盘驱动器市场前景预测及投资规划分析报告(目录).doc
- 2016-2021年硅片市场前景预测及投资规划分析报告(目录).doc
- 2016-2021年适配器市场前景预测及投资规划分析报告(目录).doc
- 2016年北京理工大学翻译硕士考研真题,考研参考书,考研经验,考研大纲.pdf
- 2017年浙江师范大学全日制专业学位硕士研究生招生专业目录.pdf
- 2017年省考面试热点:共享单车,畅行背后的“死结”.docx
- 2017年经济类联考-逻辑部分真题综合详解.pdf
- 2018武汉大学招生简章、招生目录汇总.docx
- 20E-H 2011年8月..pdf
最近下载
- 武汉市2025届高中毕业生四月调研考试 英语试卷(含答案详解).pdf
- 硕士研究生论文的选题与写作.ppt
- 2019年7月安徽省砀山县事业单位幼儿教师招聘考试《幼儿保教知识与能力》真题试卷(含答案).pdf VIP
- 确保室内空气质量的施工方案与技术措施.pdf
- 中小银行上云趋势研究分析报告 2024.pptx
- 证券从业人员证券投资基金基础知识题库与答案.doc
- 小学家长会英语老师课件.pptx VIP
- 第七单元《红楼梦》薛宝钗、林黛玉人物形象赏析 公开课一等奖创新教案统编版高中语文必修下册.docx VIP
- 最新部编版五年级下册语文单元教材分析(全册) .pdf VIP
- 春季学期《工业控制网络》试题.doc
文档评论(0)