




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安陆市2024-2025学年七年级上学期语文期中测试试卷
- 阿勒泰地区2024-2025学年七年级下学期语文期中测试试卷
- 安徽省阜阳市太和县2023-2024学年高三下学期高考第一模拟考试(一模)化学题目及答案
- 2025 年小升初上海市初一新生分班考试数学试卷(带答案解析)-(沪教版)
- 以专病护士为主导的帕金森病全周期照护模式案例分享课件
- 甘肃省高台县2025年春学期期中九年级化学试卷(无答案)
- 湖北省武汉市九师联盟2025-2026学年高三上学期8月开学考地理试题
- 社区档案管理课件
- 供销合同范本茶叶
- 收购成品金属合同范本
- 第三届全国技能大赛竞赛-工业机器人系统操作赛项选拔赛备考试题库(附答案)
- 外贸合伙人合同协议书
- 登销记以及运统46系统运用21课件
- 湖南省长沙市长郡芙蓉中学2025届物理八下期末质量检测模拟试题含解析
- 《电磁感应现象解析》课件
- 职业技术学院旅游管理专业《智慧旅游技术应用》课程标准
- 《新型冠状病毒肺炎诊治要点》课件
- 门诊分诊知识培训课件
- 2024年全球及中国抗血栓涂层行业头部企业市场占有率及排名调研报告
- 2025年新闻记者职业资格题库带分析
- 行政执法三项制度培训课件
评论
0/150
提交评论