- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8.1章 Linux编程—进程操作与同步函数PPT
Linux操作系统精讲 大连理工大学软件学院 邱铁 综合楼413,Tel:0411E_mail: qiutie@dlut.edu.cn 参考教材: 《Linux应用与开发典型实例精讲》 清华大学出版社. 2010.5 第8章 进程操作 学习本章要达到的目标: 1.了解Linux进程工作的原理。 2.掌握Linux进程操作函数的使用。 3.熟悉Linux信号量的相关知识。 4.掌握Linux信号量操作的函数,理解并掌握P、V操作。 8.1 Linux进程工作原理 Linux是一个多任务的操作系统,在Linux中采用进程作为任务调度的单位 进程与程序的区别 进程是一段运行的有生命力的程序,它是一个动态的概念; 程序是存储在磁盘或其他存储介质中的静态代码,是一种静态的概念 Linux进程有五种状态,Linux通过维护者五个状态来调度进程的运行。这五个状态分别为:运行、可中断、不可中断、僵死、停止 Linux的进程在宏观上是并行的,Linux可以同时运行多个进程 在微观上,各个进程是串行的,在同一时刻只能有一个进程处于“正在运行”的状态 Linux通过进程号PID来标识不同的进程的,Linux中每一个进程都有一个唯一的进程号 在新的环境变量下执行命令 #include unistd.h int execve(const char *filename, char * const argv[], char * const envp[]); 根据环境变量执行命令。 #include unistd.h int execvp(const char *filename, char * const argv[]); int execlp(const char *filename, const char *arg, ...); 取得当前进程的进程号 #include unistd.h pid_t getpid(void); 取得当前进程父进程的进程号 #include unistd.h pid_t getppid(void); 获取指定进程(getpgid)或当前进程(getpgrp)的组识别码 #include unistd.h pid_t getpgid(pid_t pid); pid_t getpgrp(void); 取得指定进程、进程组或用户的优先级 #include sys/time.h #include sys/resource.h int getpriority(int which, int who); 设置指定进程的组识别码 #include unistd.h int setpgid(pid_t pid, pid_t pgid); 设置指定进程、进程组、用户的优先级 #include sys/time.h #include sys/resource.h pid_t setpriority(int which, int who, int prio); 暂停当前进程的执行,等待子进程的中端或结束 #include sys/types.h #include sys/wait.h pid_t wait(int *status); 暂停当前进程的执行,等待子进程的中端或结束 #include sys/types.h #include sys/wait.h pid_t waitpid(pid_t pid, int *status, int options); 结束当前进程 #include unistd.h void _exit(int status); 设定当进程结束时需要运行的函数 #include unistd.h int atexit(void (*function)(void)); 设定当进程正常结束时需要运行的函数 #include unistd.h int on_exit(void (*function)(int ,void *), void *arg); 8.3 信号量 操作系统需要解决进程之间资源合理分配的问题 Linux采用信号量(Semaphore)来解决这一问题,一个信号量表示可用资源的数量 对信号量有两种操作 P(S):信号量的值S=S-1,如果S?0,则正常运行,如果S0,则进程暂停运行进入等待队列。 V(S):信号量的值S=S+1,如果S0,则正常运行,如果S?0,则从等待队列中选择一个进程使其继续运行,进程V操作的进程仍继续运行。 8.4 信号量操作的函数 创建并打开一个信号量集,或打开一个以创建的信号量集 #include sys/sem.h int semget(key_t key, int nsem
您可能关注的文档
- 第5章第3节 ATP的主要来源——细胞呼吸PPT.ppt
- 第5章平面构成形式骨骼PPT.ppt
- 第5章第3节 ATP的主要来源—细胞呼吸PPT.ppt
- 第5章.糖代谢PPT.ppt
- 第5章 酶化学PPT.ppt
- 第5章-2 基因的奥密PPT.ppt
- 第5章药物作用PPT.ppt
- 第5章纳米药学PPT.ppt
- 第5章软件生产过程经济分析PPT.ppt
- 第5章黄酮类化合物PPT.ppt
- 党员领导干部在理论学习中心组主题会议上的发言材料汇编(6篇).docx
- 2023年行政执法工作计划汇编(4篇).docx
- 国企领导干部学习董事长在新提任干部讲话精神心得汇编7篇.docx
- 学习《著作选读》第一卷、第二卷心得体会汇编(9篇).docx
- 关于切实做好国庆期间安全生产工作的通知汇编(5篇).docx
- 在2023年招商引资推介会上的推介词汇编(5篇).docx
- 医院年终工作总结汇编(共10篇)官方抖音号:笔尖耕耘.docx
- 2022年度镇和开发区书记抓基层党建工作述职报告汇编(7篇),提纲值得参考!1.docx
- 教育主题经验交流材料汇编(5篇).docx
- 在党内主题教育专题推进会议上的讲话汇编(3篇).docx
最近下载
- 2024中国甲状腺功能亢进症指南PPT .pdf
- 急性脑梗塞的溶栓治疗业务学习课件.pptx
- 人工智能在初中物理教学中的应用研究.docx VIP
- 现浇箱梁理论伸长计算表(Excel计算).xls VIP
- 飞利浦(PHILIPS) HTB5151K 93 安装说明.pdf
- T GXSES 0002—2025 广西甘蔗制糖行业清洁生产评价指标体系.pdf VIP
- 中央空调安装 投标方案(技术方案).docx
- 少年谢尔顿第四季章节台词Young Sheldon S04E07.docx
- 外国美术史考试资料共16页文档.pdf VIP
- 2025年中考语文总复习文言文阅读5.送东阳马生序.pptx VIP
文档评论(0)