- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统实验,实验的5 进程管理
实验五 Linux进程管理 进程的一生 实验目的 熟悉进程及进程控制等基本概念在Linux操作系统中的实现 利用Linux提供的系统调用函数/库函数实现进程管理 实验准备及预习 阅读讲义《附件6, Linux进程管理》,理解进程在其生命周期中的主要状态及有关操作命令和函数:ps、fork()、exit()、sleep()和wait() 进程简介 问题1:单CPU计算机上在一个时间片断内只能执行一条指令,那么Linux是如何实现多进程同时执行的呢? Linux使用了一种称为“进程调度(process scheduling)”的手段 为每个进程指派一定的运行时间(这个时间通常很短,通常以毫秒为单位),然后依照某种规则,从众多进程中挑选一个投入运行,其他的进程暂时等待 当正在运行的那个进程时间耗尽,或执行完毕退出,或因某种原因暂停,Linux就会重新进行调度,挑选下一个进程投入运行 每个进程占用的时间片都很短,从使用者的角度来看,就好像多个进程同时运行一样 在Linux中,每个进程在创建时都会被分配一个数据结构,称为进程控制块(Process Control Block,简称PCB),PCB中包含了很多重要的信息,供系统调度和进程本身执行使用,其中最重要的莫过于进程ID(process ID) 进程ID也被称作进程标识符,是一个非负的整数,在Linux操作系统中唯一地标志一个进程,在最常使用的i386架构(即PC使用的架构)上,一个非负的整数的变化范围是0-32767,这也是所有可能取到的进程ID 从进程ID的名字可看出,它是进程的身份证号码,每个进程的进程ID不会相同 ps命令 ps命令的常用选项 l:以长格式显示进程信息 ef:显示系统中所有进程的全面信息 aux:显示所有终端上所有用户进程的所有信息 ps命令各输出项的含义为: S(state):进程状态,其中R表示运行状态;S表示休眠状态;T表示暂停或终止状态;Z表示僵死状态 UID(User ID):进程启动者的用户ID PID(ProcessID):进程号 PPID:父进程的进程号 NI(Nice):进程的优先级值 SZ(Size):进程占用内存空间的大小,以KB为单位 TTY:进程所在终端的终端号,其中桌面环境的终端窗口表示为pts/0,字符界面的终端号为tty1~tty6. TIME:进程累计使用的CPU时间 CMD:启动进程的shell命令 fork 2.4.4版内核中,fork是第2号系统调用,函数库中的原型是: ???? #includesys/types.h /* 提供类型pid_t的定义 */ ???? #includeunistd.h /* 提供函数的定义 */? ???? pid_t fork(void);? 例1 在Linux系统中运行下面程序,最多可产生多少个进程?画出进程家族树。 int main() { fork(); fork(); fork(); } 例2 #include stdio.h int main() { int p1, p2, i; while((p1=fork())== -1); if(p1==0){ for(i=0;i3;i++) printf(“child %d\n”, p1); printf(“child %d is interrupted, press [enter] to continue:\n”,p1); getchar(); for(i=0;i3;i++) printf(“child %d\n”, p1); } else { while((p2=fork())== -1); if(p2==0){ for(i=0;i3;i++) printf(“child %d\n”, p2); printf(“child %d is interrupted, press [enter] to continue:\n”,p2); getchar(); for(i=0;i3;i++) printf(“child %d\n”, p2); }else{ for(i=0;i3;i++) printf(“parent\n”); printf(“father is interrupted, press [enter] to continue:\n”); getchar(); for(i=0;i3;i++) printf(“parent\n”);} } return 0; } getpid 2.4.4版内核中,getpid是第20号
您可能关注的文档
- 提高的调频炉炉衬寿命.ppt
- 提高配电自动化建设与运的行经济性.pptx
- 提高的成交率和转介绍率.pptx
- 搜索引擎的的使用技巧.ppt
- 搜索技巧和文件的的下载.ppt
- 搜索算法-B的FS.ppt
- 搜集的华三面试题的及答案整理.pdf
- 搪玻璃反应釜的URS.doc
- 提高院内危重病人转的运安全率.ppt
- 搜索技巧:资的料搜索.ppt
- 2025年金肯职业技术学院单招职业适应性测试题库带答案.docx
- 2025年钦州幼儿师范高等专科学校单招综合素质考试题库完美版.docx
- 2025年钟山职业技术学院单招职业适应性考试题库参考答案.docx
- 2025年金华职业技术学院单招职业技能测试题库附答案.docx
- 2025年闽南理工学院单招职业技能测试题库审定版.docx
- 2025年闽南理工学院单招综合素质考试题库审定版.docx
- 2025年闽南理工学院单招职业倾向性考试题库汇编.docx
- 2025年闽南理工学院单招职业倾向性考试题库推荐.docx
- 2025年闽北职业技术学院单招综合素质考试题库1套.docx
- 2025年长沙轨道交通职业学院单招职业技能考试题库一套.docx
文档评论(0)