处理机管理之LINUX进程管理.pptxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

1张惠娟副教授Linux进程管理

2内容进程组成进程环境进程管理内容进程控制块进程状态进程调度进程控制进程通信

进程组成3Linux是一个多任务多用户操作系统,采用进程模型。进程都具有一定的功能和权限,运行在各自独立的虚拟地址空间,彼此独立,且通过通信机制实现同步互斥,通过调度程序实现合理调度。

进程组成4正文段存放进程要运行的程序,描述了进程要完成的功能系统数据段存放了进程的控制信息,其中最重要的数据结构是task_struct。进程组成用户数据段存放正文段在执行时所需要的数据和工作区

进程环境5核心态又称系统态Linux进程有两种状态:内核态和用户态用户态是进程的普通执行状态一个进程在运行过程中,总是在两种执行状态之间不断地转换。Linux在执行内核程序时是处于核心态下

进程环境6进程虚拟地址空间分为:用户空间和系统空间。用户空间用户进程本身的程序和数据(可执行映象)进程运行用户程序时使用的堆栈,即进程堆栈。系统对进程进行控制和管理的信息,如进程控制块等系统空间内核被映射到所有进程的系统空间中。只允许进程在核心态下访问。进程运行在用户态下时,不允许直接访问系统空间。进程只能通过系统调用转换为核心态后,才能访问系统空间

进程环境7进程上下文系统提供给进程处于动态变化的运行环境总和称为进程上下文系统上下文系统完成自身任务时的运行环境称为系统上下文内核在系统上下文中执行时不会阻塞。

进程管理内容901进程管理由进程控制块、进程调度、中断处理、任务队列、定时器,bottomhalf队列、系统调用、进程通信等部分组成。02进程管理是Linux存储管理,文件管理,设备管理的基础。

进程控制块10进程控制块是Linux系统最复杂的数据结构之一。Linux在内存空间中开辟了一个专门区域存放所有进程的进程控制块。系统初始化后,建立第一个task_struct数据结构INIT_TASK。新进程创建时,系统从内存分配新task_struct,占据1680个字节。

进程控制块11进程状态和标志进程标识

进程控制块12进程的族亲关系

进程控制块13进程间链接信息进程调度信息

进程控制块14进程的时间信息进程的虚存信息

进程控制块15进程的文件信息与进程间通信有关的信息

进程控制块16其它信息

进程状态定义了六种状态进程状态17#defineTASK_ZOMBIE 4#defineTASK_SWAPPING 16#defineTASK_INTERRUPTIBLE 1#defineTASK_STOPPED 8#defineTASK_UNINTERRUPTIBLE 2#defineTASK_RUNNING 0

进程调度19调度方法调度策略调度参数调度方法调度时机

进程调度调度方法20Linux进程调度方式采用抢占调度方式(内核不抢占)进程分为普通进程和实时进程,分别采用不同的调度策略,实时进程的优先级高于普通进程。

进程调度21调度策略

进程调度调度参数22policy进程调度策略,可通过系统调用sys_sched_setscheduler()更改(kernel/sched.c)。SCHED_OTHER非实时进程,基于优先级的轮转法SCHED_FIFO实时进程,用先进先出算法SCHED_RR实时进程,用基于优先权的轮转法

进程调度priority23No.1进程优先级(静态),给出进程每次获取cpu后可使用的时间(按jitty计算)。通过系统调用sys_setpriority()改变。No.2Linux的基准时间(kernel/timer.c)。系统初始化时清零,以后每隔10ms由时钟中断服务程序,do_timer增1。

进程调度24rt_priority实时进程的优先级,可通过系统调用sys_sched_setscheduler()改变.Counter进程动态优先级表示进程当前还可运行多久进程开始运行时被赋为priority值,以后,每隔一个tick(时钟中断)递减1,减到0时引起新一轮调度。重新调度将从run-queue队列中选出counter值最大的就绪进程获得cpu。

进程调度调度方法25采用动态优先级法,调度对象是可运行队列。进程在运行中,counter代表动态优先级。Linux采取了加权的方法来保证实时进程优先于普通进程。普通进程的权值就是它的counter的值,实时进程的权值是它的rt_priority的值加1000。调度过程中,调度程序检查可运行队列中所有进程的权值,选择其中权值最大的进程做为下一个运行进程。3214

进程调度26staticinlineintgoodness(structtask_struct*p,

文档评论(0)

135****1732 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档