处理机管理之linux进程管理

上传人:子 文档编号:52256419 上传时间:2018-08-19 格式:PPT 页数:37 大小:512KB
返回 下载 相关 举报
处理机管理之linux进程管理_第1页
第1页 / 共37页
处理机管理之linux进程管理_第2页
第2页 / 共37页
处理机管理之linux进程管理_第3页
第3页 / 共37页
处理机管理之linux进程管理_第4页
第4页 / 共37页
处理机管理之linux进程管理_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《处理机管理之linux进程管理》由会员分享,可在线阅读,更多相关《处理机管理之linux进程管理(37页珍藏版)》请在金锄头文库上搜索。

1、1Linux进程管理2内容 进程组成 进程管理内容 进程控制块 进程状态 进程调度 进程控制 进程通信3进程组成Linux是一个多任务多用户操作系统,采用进 程模型。进程都具有一定的功能和权限,运行在各自 独立的虚拟地址空间,彼此独立,且通过通 信机制实现同步互斥,通过调度程序实现合 理调度。4进程组成正文段存放进程要运行的程序,描述了进程要完成的功能用户数据段存放正文段在执行时所需要的数据和工作区系统数据段存放了进程的控制信息,其中最重要的数据结构 是task_struct。进程组成5进程管理内容进程管理由进程控制块、进程调度、中断处 理、任务队列、定时器,系统调用、进程通 信等部分组成。

2、进程管理是Linux存储管理,文件管理,设备 管理的基础。6进程控制块进程控制块是Linux系统最复杂的数据结构之一。Linux在内存空间中开辟了一个专门区域存 放所有进程的进程控制块。系统初始化后,建立第一个task_struct数据结构INIT_TASK。新进程创建时,系统从内存分配新 task_struct,占据1680个字节。7进程状态和标志进程标识进程控制块8进程的族亲关系进程控制块9进程间链接信息 进程调度信息进程控制块10进程的时间信息 进程的虚存信息进程控制块11 进程的文件信息 与进程间通信有关的信息进程控制块12其它信息 进程控制块13进程状态定义了六种状态进程状态 #de

3、fine TASK_RUNNING0 #define TASK_INTERRUPTIBLE1 #define TASK_UNINTERRUPTIBLE2 #define TASK_ZOMBIE4 #define TASK_STOPPED8 #define TASK_SWAPPING161415进程调度调度方法 调度策略 调度参数 调度方法 调度时机16调度方法 Linux进程调度方式采用抢占调度方式 (内核不抢占) 进程分为普通进程和实时进程,分别采 用不同的调度策略,实时进程的优先级 高于普通进程。进程调度17调度策略进程调度18调度参数 policy进程调度策略,可通过系统调用 sys_s

4、ched_setscheduler()更改 (kernel/sched.c)。 SCHED_OTHER 非实时进程,基于优先级的轮转 法 SCHED_FIFO 实时进程,用先进先出算法 SCHED_RR 实时进程,用基于优先权的轮转 法进程调度19priority 进程优先级,给出进程每次获取cpu后可使用 的时间。通过系统调用sys_setpriority()改 变。 Linux 的基准时间(kernel/timer.c)。系统 初始化时清零,以后每隔10ms由时钟中断服务 程序,do_timer增1。进程调度20rt_priority实时进程的优先级,可通过系统调用 sys_sched_s

5、etscheduler()改变. Counter 进程动态优先级表示进程当前还可运行多久 进程开始运行时被赋为priority值,以后,每 隔一个tick(时钟节拍)递减1,减到0时引起 新一轮调度。 重新调度将从run-queue队列中选出counter值 最大的就绪进程获得cpu。进程调度21进程调度调度方法 采用动态优先级法,调度对象是可运行队列。 进程在运行中,counter代表动态优先级。 Linux采取了加权的方法来保证实时进程优先于 普通进程。普通进程的权值就是它的counter的 值,实时进程的权值是它的rt_priority的值加 1000。 调度过程中,调度程序检查可运行队

6、列中所有进 程的权值,选择其中权值最大的进程做为下一个 运行进程。22 调度时机 时机1:进程状态发生变化时 处于运行态下的进程要等待某种资源 运行态下的进程在程序执行完毕后,通过 调用内核函数do_exit()终止运行并转入僵 死态。 处于等待态的进程被唤醒后,将加入到可 运行队列中时 进程从运行态转入暂停态时 进程从暂停态成为可运行态时进程调度23时机2当前进程时间片用完时 时机3进程从系统调用返回到用户态时 时机4中断处理后,进程返回到用户态时。进程调度24进程控制进程创建过程进程状态间转换25创建过程具体描述 系统启动时创建第一个进程(0号进程),也成 为 空闲进程。此时,系统只有这一

7、个进程:初 始化进程,运行在核心态 初始化结束时,初始进程启动一个用户进程: init进程,也称为1号进程。 系统空闲时,调度程序运行这个空闲进程。这个 空闲进程的task_struct是唯一一个不是动态分 配而是在核心连接时静态定义的,为了不至于混 淆,叫做init_task。进程控制26 开始Task_struct的初始化工作,如初始化进程时钟 、信号、时间等数据; 继承父进程所有资源: 拷贝父进程当前打开的文件; 拷贝父进程在VFS的位置; 拷贝父进程的信号量; 拷贝父进程运行的内存; 拷贝父进程的线程; 初始化工作结束,父进程将其将其唤醒,挂入running 队列中,返回子进程的pid

8、;进程控制2728进程状态间转换29转换说明 sleep_on():TASK_RUNNING-TASK_UNINTERRUPTIBLE 拥有CPU的进程申请资源无效时,通过sleep_on(),将 进程从TASK_RUNNING切换到TASK_UNINTERRUPTIBLE状态 。 sleep_on()函数作用就是将current进程的状态置成 TASK_UNINTERRUPTIBLE,并加到等待队列中。 一般来说引起状态变成TASK_UNINTERRUPTIBLE的资源申 请,都是对一些硬件资源的申请,如果得不到这些资源 ,进程将不能执行下去,不能由signal信号或时钟中断 唤醒回到TAS

9、K_RUNNING状态。进程状态间转换30 interruptible_sleep_on():TASK_RUNNING-TASK_INTERRUPTIBLE 拥有CPU的进程申请资源无效时,通过该函数将进程从 TASK_RUNNING切换到TASK_INTERRUPTIBLE状态。 interruptible_sleep_on()函数作用就是将current进程的 状态置成TASK_INTERRUPTIBLE,并加到等待队列中。 处于TASK_INTERRUPTIBLE状态的进程可在资源有效时被 wake_up()、wake_up_interruptible()或 wake_up_proces

10、s()唤醒,或收到signal信号以及时间中断 后被唤醒。进程状态间转换31sleep_on_timeout():TASK_RUNNING-TASK_UNINTERRUPTIBLE interruptible_sleep_on_timeout():TASK_RUNNING-TASK_INTERRUPTIBLE 虽然在申请资源或运行中出现了某种错误,但是 系统仍然给进程一次重新运行的机会。调用该函 数将进程从TASK_RUNNING切换到 TASK_INTERRUTIBLE状态,并等待规定的时间片长 度,再重新试一次。进程状态间转换32 wake_up()TASK_UNINTERRUPTIBLE

11、- TASK_RUNNINGTASK_INTERRUPTIBLE- TASK_RUNNING 处于TASK_UNINTERRUPTIBLE状态的进程不能由signal信号或时钟中断唤醒,只能由wake_up()或 wake_up_process()唤醒。 wake_up()函数的作用是将wait_queue中所有状态为TASK_INTERRUPTIBLE或TASK_UNINTERRUPTIBLE的进程状态置为TASK_RUNNING,并将它们都放running队列中去,即唤醒所有等待在该队列上的进程。进程状态间转换33进程通信机制支持大量的进程通信机制 UNIX通信机制: 锁机制 信号 管道

12、SYSTEM V通信机制: 消息队列 信号量 共享内存34信号 操作系统通过信号向进程发送异步事件信号。 当一个事件发生时,如果需要通知进程,则系 统就为其生成一个信号,进程在接受到信号后 ,可采取适当动作来处理信号。 在linux系统中,内核用一个字代表所有信号。 信号是内核不可分割的一部分,不象其他ipc, 是可选的。进程通信机制35进程对信号的操作 忽略信号 阻塞信号 由进程处理信号 由内核进行默认处理进程通信机制36管道(pipe) 有名管道一般为系统特殊文件方式,使用的进程之间不一 定要有父子关系或兄弟关系. 无名管道一般为内存方式,使用的进程之间一定要有父子 关系或兄弟关系. 无名管道实现方法两个file数据结构指向同一个临时VFS INODE节 点(本身指向内存中的一个物理页)实现。 进程通信机制37f_modef_inodef_opf_modef_inodef_op写操作读操作数据页面VFS inode进程1的file结构进程2的file结构进程通信机制

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号