已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章 进程管理 1 数据结构 了解重要数据结构的作用和主要信息 task struct结构 描述一个进程的所有信息 所有进程的task struct结构连成一个双向链表 policy 表示该进程的调度策略 priority 普通进程的调度优先数 rt priority 实时进程的调度优先数 counter 进程的运行时间片 向量表task 记录所有进程的task struct结构的位置 创建新进程时 将新task struct的指针加入task array freelist链表 记录task 中所有空槽位 创建进程时 从链表中摘下一个空槽位来用 撤销进程时 将它占用的槽位加入链表 pidhash表 通过pid值查找进程对应的task struct结构 pid散列后值相等的进程在该表的同一项中排队 建立task struct结构的两点说明 1 结构分配 每个进程的task struct结构和它的 系统堆栈合用8KB的物理地址空间 其中task struct结构 位于这8KB空间的开始 系统堆栈位于这8KB空间的结尾 2 线程 进程中指令的不同执行路线 与进程采用相同的管理机制和数据结构 2 进程的创建 1 进程创建时 拷贝父进程资源的方式 直接拷贝 为子进程创建独立的资源结构 拷贝父进程资源 共享 新老进程共享同一资源结构 将其引用计数加1 Copy on Write 仅拷贝各资源占用的数据结构 而真正对页面的拷贝推迟 到写该页的时候才进行 Linux中进程创建方法 克隆当前进程 进程创建的方式 fork vfork clone 都调用do fork函 数完成真正的进程创建 fork 用于普通进程的创建 采用Copy on Write方式 vfork 完全共享的创建 新老进程共享同样的资源 完全没有拷贝 clone介于两者之间 由用户自己指定创建的方式 需 要共享什么 需要拷贝什么等 2 进程的创建函数do fork 1 创建新进程的task struct 2 拷贝当前进程task struct的内容到新结构中 3 将新创建的task struct结构插入到任务表task 中 4 为新进程设置自己独特的信息 5 从父进程拷贝各类资源 并设置该结构中的相应域 6 继续设置新进程的task struct结构 7 将新task struct结构加入到各队列中 8 唤醒新进程 3 do fork函数的返回情况 1 函数返回值 新进程的pid 2 返回的位置 在父进程中的返回 在子进程中的返回 4 系统调用的返回值 父进程中 新进程pid 新进程中 0 3 进程调度 1 启动进程调用序的时机 2 进程调用程序 schedule函数 定义两个指针 prev和next 处理调度任务队列tq scheduler 有待处理的任务 则顺序处理其中的每个任务 检查是否在中断处理中 若是 则立即返回 检查是否有激活的底半处理 若有 则处理它们 调整当前进程在运行进程队列中的位置 从运行进程队列中找出一个最值得运行的进程 weight值 最大 切换新进程 若下一个要运行的进程就是当前进程 next prev 则不需要切换 简单返回 否则 切换 3 不同类型的进程被调度的优先次序 Linux把系统中所有的可运行进程 状态改 TASK RUNNING 都排在运行进程队列中 若当前进程为实时进程 policy 调度策略 是SCHED RR counter 0 时间片耗尽 重设counter为它的优 先级 移至运行进程队列最后 时间片还没有用完 不调整 policy不是SCHED RR 不调整 若当前进程为普通进程 根据当前进程状态来调整 TASK RUNNING TASK INTERRUPTIBLE且已收到等待的信号 将其状 态改为TASK RUNNING 移至队尾 TASK UNINTERRUPTIBLE TASK ZOMBIE TASK STOPPED或 1 从运行进程队列中摘除 4 Linux为每个可运行进程定义一个权重 weight weight值越大的可运行进程 其优先级越高 权重weight值的计算方法 即当前进程明确声明要放弃CPU 若是当前进程 则weight值再加1 不同调度算法 先来先服务调度算法 FIFO 非抢占式 按照进程到达可运行进程队列的时间次序使用CPU 优缺点 实现简单 但不能体现优先级 时间片轮转法 剥夺式 每次选择进程队列 按时间有序 队头的进程使用 CPU 并且运行一段 时间片 后停止运行 若还未执 行完毕 则插入队尾 等待下一个轮转周期 优缺点 适合于交互式分时系统 但系统开销较大 优先级调度算法 系统赋予每一个进程一个优先级 每次从可运行进程 队列中选择一个优先级最高的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建泉州德化县综合应急救援队人员招聘19人笔试考试参考试题及答案解析
- 2025下半年四川艺术职业学院考核招聘工作人员15人考试笔试模拟试题及答案解析
- 2025年东航股份西北分公司实习生招聘考试笔试模拟试题及答案解析
- 2025广东佛山市禅城实验高级中学招聘临聘政治教师1人笔试考试备考题库及答案解析
- 2025四川南部县党政机关考调工作人员16人笔试考试参考题库及答案解析
- 2026内蒙古鄂尔多斯市东胜区卫生健康系统事业单位招聘控制数工作人员34人考试笔试备考试题及答案解析
- 2025云南省大数据有限公司第二批招聘30人笔试考试参考题库及答案解析
- 2025西北工业大学软件学院项目助理招聘12人考试笔试备考题库及答案解析
- 2025广西华盛集团廖平糖业有限责任公司招聘合同制工人14人笔试考试参考题库及答案解析
- 中国安能建设集团有限公司2026年度校园招聘考试笔试备考题库及答案解析
- 机械基本知识培训课件
- 2025年跨座式单轨列车行业研究报告及未来发展趋势预测
- 重要环境因素控制情况检查表
- 行政办事员考试题库及答案
- 国网公司薪酬与管理制度
- DB31∕T 1553-2025 城市轨道交通设施设备日常维护与大修更新改造技术要求
- 调试间使用管理制度
- 2025版国际贸易合同范本下载
- 【借款协议】民间借款合同格式范本下载5篇
- 关键物料库存管理制度
- 老年肺炎临床诊断与治疗
评论
0/150
提交评论