- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux进程与线程课案
Linux系统中的PCB Linux系统中的PCB 在Linux中,任务和进程是同一概念 Linux中的PCB即任务数据结构:task_strcut,也称为进程描述符PD (Processor Descriptor) 定义在include/linux/sched.h中 Linux系统中的PCB Linux PCB(task_struct) 包含进程所有信息 task_struct数据结构很庞大,但并不复杂,按功能将所有域划分: 1、进程状态(State) 2、进程调度信息(Scheduling Information) 3、各种标识符(Identifiers) 4、进程通信有关信息(IPC:Inter_Process Communication) 5、时间和定时器信息(Times and Timers) 6、进程链接信息(Links) 7、文件系统信息(File System) 8、虚拟内存信息(Virtual Memory) 9、页面管理信息(page) 10、对称多处理器(SMP)信息 11、和处理器相关的环境(上下文)信息(Processor Specific Context) 12、其它信息 进程的创建 fork()函数返回后的处理 可依据父进程和子进程返回的值,做相应处理 一般程序架构如下: main() { int pid; //子进程的标识符PID while ( (pid=fork()) == -1) ;//直到子进程创建成功 if (pid == 0) //子进程返回,也称调度返回 { // 插入子进程返回时处理的程序段 } else // 父进程返回,也称调用返回 { // 插入父进程返回时处理的程序段 } } 小课验证 进程的终止 进程终止的时机 进程的正常结束 进程执行期间调用exit系统调用 在main函数中执行return语句 main函数执行完 进程的异常结束 进程运行时出现错误或故障被迫结束。如数组越界、除数为0、电源故障等 进程终止的过程 取得当前进程的PCB 归还进程所占的资源 进入进程调度程序 进程的终止 Linux中的进程终止 调用exit()、执行return语句、main函数执行完,最终都要调用内核函数do_exit() do_exit()需要做的工作如下: 根据PCB中的内容进行资源的归还和涉及信息的善后处理 将进程的状态改为TASK_ZOMBIE 设置exit_code 通知父进程和子进程“我即将结束” 调用内核函数schedule()重新调度 进程的阻塞和唤醒 阻塞和唤醒的时机 进程请求系统为它服务,系统不能马上为它服务,就进入阻塞状态; 启动了无法马上完成的操作(I/O),进入阻塞状态; 进程间相互合作时,需要等待其他进程的运算结果; 系统启动时创建的服务,如果没有其他进程的请求,处于阻塞。 进程的阻塞和唤醒 进程阻塞的过程 使当前进程停止执行 将状态改为阻塞态 插入适当的等待阻塞队列 调用schedule()重新进行进程调度 进程唤醒的过程 取出阻塞队列的第一个进程 将状态改为就绪态 插入到就绪队列 进程的阻塞和唤醒 Linux中的进程阻塞和唤醒 使当前进程停止执行若进程等待一个特定的事件发生,则调用函数来阻塞当前进程: sleep_on():进程状态被设置为TASK_INTERRUPTIBLE interruptible_sleep_on():进程状态被设置为TASK_UNINTERRUPTIBLE 当进程等待的事件发生时,调用内核函数来唤醒进程: wake_up(): wake_up_process(): 对某个睡眠进程的唤醒。将状态设置为TASK_RUNNING linux操作系统 华软软件学院电子系 P* Linux操作系统 华软软件学院电子系 P* 简要说明不同操作系统会扩展这几个状态 * 教学内容 进程的概念 进程的特性 进程的状态及其转换 进程的控制 Linux中的进程控制 线程 教学要求 掌握程序、进程、线程的区别 掌握进程的基本状态及状态转换 了解进程控制块(PCB)的内容 重点掌握linux系统中进程相关的命令、系统调用、库函数 单道与多道程序设计 多道程序设计的提出 单道程序设计 执行特点:静态的、孤立的 具体特性:顺序性、封闭性、可再现性、资源独占性 并发执行及“与时间有关的错误” 并发执行,是指多个程序段之间在执行时间上重叠。 多程序段同时在系统中运行 宏观上并行,微观上串行 资源共享 问题: 资源冲突,甚至死锁 “与时间有关的错误” 为了充分有效地利用计算机 的有限资源,提出了多道程序设计 单道与多道程序设计 多道程序设计 单道程序设计 进程的定义 进程的定义:进程是可
您可能关注的文档
- LINGO编程篇.docx
- Lesson6Chapter5PartI数词的翻译.ppt
- LinkMote楼宇智能监控方案.docx
- 农药的使用方法.ppt
- 农资销售技培训2.ppt
- Linux(CentOS)下安装Redis指南.docx
- 冠心病的中医治疗方案大全.doc
- LinuxIO数据通道分享.pptx
- linuxshell编程专题.doc
- LinkProof使用手册.docx
- 书面表达之建议信(讲义)-中考英语一轮复习(含答案).pdf
- 中考历史复习小众题型类:填空题、改错题、判断题(70题).pdf
- 2024年吉林省县乡教师选调考试《教育学》真题汇编带解析必背【基础题】.pdf
- 2025年中考语文备考之《朝花夕拾》名著导读及考题.pdf
- 小说标题的含义和作用(模拟突破)-2025年中考语文考点突破之小说阅读(解析版).pdf
- 阅读理解之应用文(练习)-中考英语一轮复习(含答案).pdf
- 小说情节作用(模拟突破)-2025年中考语文考点突破之小说阅读(原卷版).pdf
- 小说段落作用(模拟突破)-2025年中考语文考点突破之小说阅读(解析版).pdf
- 小说段落作用(试题专练)-2025年中考语文考点突破之小说阅读(解析版).pdf
- 2025年上海市16区初三语文一模试题汇编之现代文阅读二(记叙文)学生版.pdf
最近下载
- DB32T 3935-2020堤防工程技术管理规程.docx
- 危险性较大的分部分项工程交底记录(二)--塔吊安、拆工程及操作.docx
- 2018年RBA劳工和道德风险识别评估及应对措施报告.pdf
- 食材配送服务方案投标方案(技术方案).doc
- 2024-2025学年深圳市南山区四上数学期末试卷及答案.docx
- 血液透析患者心理及护理课件.pptx
- 三一桁架臂履带起重机SCC1000A-6_产品手册用户使用说明书技术参数图解图示电子版.pdf VIP
- 初中语文非连续性文本阅读试题专题训练常见题型及答题技巧及练习题(含答案).pdf VIP
- (完整)律师事务所投标书.docx VIP
- 关于小区装修建渣及废弃物规范管理的温馨提示.docx
文档评论(0)