- 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
- 2025届福建省建阳市东片达标名校中考生物对点突破模拟试卷含解析.doc
- 黑龙江省密山市实验中学2025届中考猜题生物试卷含解析.doc
- 直播技术服务合同书(2025版).docx
- 湖南长沙青竹湖湘一外国语校2025届中考冲刺卷生物试题含解析.doc
- 上海市文来中学2025届中考历史适应性模拟试题含解析.doc
- 重庆市綦江中学2025届中考适应性考试生物试题含解析.doc
- 2025届四川省都江堰市初市级名校中考冲刺卷生物试题含解析.doc
- 西藏自治区左贡县中学2025届中考生物猜题卷含解析.doc
- 精选公司借款合同书范本模板(2025版).docx
- 精选内外墙抹灰施工合同书2025年通用.docx
最近下载
- 淄博市2025年高三二模政治试卷(含标准答案).pdf
- 公路工程质量自检报告及施工总结.doc
- 材料表征技术PPT课件.pptx
- 第四单元 追求美好人生 大单元教学设计 七年级道德与法治上册2024.docx
- 思维导图丨高中历史必修丨中外历史纲要(上)丨第01课 中华文明的起源与早期国家(竖屏版).pdf
- 2025年贵州专业技术继续教育考试试题及答案公需科目 .pdf VIP
- 个人党性分析材料(党校中青班).doc VIP
- 2025年蓖麻种植行业分析报告及未来五到十年行业发展趋势报告.docx
- 软件开发合同--模板.doc VIP
- 现代餐饮运营与管理实务:中央厨房的运行与管理PPT教学课件.pptx VIP
文档评论(0)