06进程与任务或作业管理.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《06进程与任务或作业管理.pptx》由会员分享,可在线阅读,更多相关《06进程与任务或作业管理.pptx(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章 进程与任务或作业管理 n程序、进程、作业和任务的概念nLinux操作系统的启动过程n进程状态及转换n进程调度、信号与软中断nsuid、sgid和sticky属性n进程调度命令n作业和任务管理n图形界面下的进程管理 6.1程序和进程的概念 n操作系统的重要任务之一是使用户充分、有效地利用系统资源,也就是在系统资源一定或有限的情况下,要同时执行更多程序,高效率地完成更多的任务。n进程、作业和任务调度是操作系统的重要任务之一。n本章的主要内容是从系统的外部来观察系统中与进程(process)和作业(job)或任务(task)相关的行为,并实施某些控制让系统工作的更好,或按照用户的意图来完成指
2、定工作。6.1.1程序、进程、作业和任务 n程序program是一个存储在存储介质上的文件。n进程proccess是一个程序的执行过程。n作业(job)或任务(task)是用户需要计算机完成某项任务时要求计算机所做工作的集合,一个作业可能需要几个程序联合完成。n作业和进程主要的区别与关系如下:n 作业是用户向计算机提交的任务实体;n一个进程是作业或任务的某个执行过程;n一个作业可由多个进程组成。6.1.2 三类进程 n前台进程:n是指用户直接控制的用于完成某个任务的进程,因此也叫终端交互式进程。它从标准输入读数据,向标准输出写数据,将错误信息输出到标准错误。也可以是用户直接交互控制的完成某种功
3、能的程序。n后台进程n是指在系统后台运行的、不与用户交互进程。n前台的进程也可放在后台运行,这时可能要用到输入输出的重定向。n守候进程也叫效劳器或精灵进程,它是后台进程的一种。n批处理进程n是用户按照某种意图将一批作业和任务通过编程的方法提交给系统,让系统在某个适宜的时间来调度和执行的进程。n批处理进程是在某个shell程序的控制下解释执行的。6.1.3 Linux操作系统的启动 nLinux的启动是通过加电和系统自检后,将主引导程序MBR装入内存并把控制权交给它。n在MBR的控制下装入Linux的引导程序LBR并把控制权交给它。n在LBR的控制下系统继续引导,核心装入内存。n系统开始进一步的
4、初始化过程:首先初始化系统内部数据结构比方构造空闲缓冲区、初始化区表结构、页表项等,然后将根文件系统安装到根“/下,并创立系统的0#进程、设置它的运行环境。至此内核启动完成。n接着继续创立1#进程,然后由1#进程做进一步的初始化工作。Linux操作系统的启动续n1#进程继续初始化过程,按照/etc/inittab文件的内容和规定启动效劳、管理进程,为每个终端生成一个子进程,等待用户在终端上注册,至此启动过程完毕。6.1.4 0#进程与1#进程 n在UNIX系统中0#进程是唯一只在核心态下执行的进程。它的功能有三:调度分配处理机;负责进程交换;初始化时创立1#进程。在Linux系统中,0#进程在
5、创立出1#进程后,变成了空闲进程Idler,当系统中没有其它进程就绪时运行。n1#(init)进程是系统启动时创立的创立进程的进程。它的主要作用是根据/etc/inittab的内容创立系统运行所需的进程。系统初始化完成后,1#进程了变成回收进程,专门领养没有父进程的孤儿进程或回收状态为ZOMBIE的僵尸进程。Linux的进程树n0#进程创立了1#进程,它是1#进程的父进程。1#进程在系统启动过程中创立了系统所需要的其它进程。而子进程又可创立属于自己的子进程。因此除0#进程外,1#进程是其它所有进程的祖先进程。6.1.5 进程及运行模式 n在UNIX/Linux系统中,进程可在用户态和核心态两种
6、执行模式下执行。n当用户进程需要系统核心提供效劳而由用户态转向核心态执行时,需要依靠中断或陷阱机制来实现,这时要切换处理机CPU的工作状态。两种状态之间的主要区别是,核心态下的进程具有较高的优先级,能够存取核心和用户数据。而用户态下的进程能存取它自己的指令与数据,但不能存取核心指令和数据。6.1.6 进程状态及转换 n在操作系统中,一个CPU上同时只能运行一个进程,但在多用户、多任务环境下,从宏观上来讲,同时运行着很多进程,因此在这些正在运行着的进程中,在任一时刻只能有一个进程占有处理机而真正运行。也就是说众多运行着的进程中,它们宏观上是并行的,但微观上是串行的。因此就存在着有的进程在运行,有
7、的进程在等待问题。n事实上进程的状态远不只执行和等待两个,还有用户态执行、核心态执行、等待、睡眠、就绪等状态。UNIX系统的进程状态及转换n进程在用户态运行。n进程在系统态运行。n 就绪状态。n进程因等待资源而在内存中睡眠。n进程在外存中睡眠。n 外存就绪。n进程从系统态返回。n进程刚被创立时的状态。n 僵尸状态。Linux系统的进程状态及转换n就绪状态(执行)n浅度睡眠n深度睡眠n停止状态n僵尸状态6.2 UNIX/Linux进程调度nUNIX/Linux系统是分时系统,系统给每个进程分一个时间片,每个进程在自己的时间片内执行,当时间片结束时或从系统效劳中返回时,动态计算进程的“优先级,假设
8、有优先级高于当前进程的内存就绪态进程时,系统设置调度标识,并在以后某个时刻剥夺当前进程的执行权,而让优先级高的进程执行。nUNIX/Linux的进程调度按时间片计算“优先级,并按“优先级的上下来调度进程,使优先级高的进程占有处理机而得到执行。n这里所说的“优先级不是一个具体的数字或变量,而是一个衡量优先程度的指标。6.2.1 调度策略与优先级的计算 nLinux把所有进程分成两类:实时进程和普通进程。n对普通进程采用时间片轮转法来调度进程的执行,所有就绪进程按先后排成队列,依次轮转,时间片用完而未完成任务者排在尾部,如此往复;对于实时进程则采用FIFO和时间片轮转进行调度。最后经调度模块综合计
9、算出各进程的优先级,优先级最高者获得执行权。Nice Level优先级n在优先级计算过程中有一个基本参数参与运算,这就是传统UNIX/Linux Nice Level优先级,按传统做法,把它记为NICE。n系统为每个进程设置了一个默认的NICE值0,通过命令nice用户或管理员可以调整进程的NICE值,从而到达调整优先级的目的。n在Red Hat Linux 9中它的调整范围为-2019,在其它UNIX中,NICE取值范围可能与此不同。n沿用UNIX的传统,NICE的值越大进程的优先级越低。nNICE值可以被作为nice命令的参数来调试进程的优先级。6.2.2 信号与软中断 nUnix/Lin
10、ux中使用很多信号,用于进程通信与控制。n进程通信时信号由主进程或系统或硬件等发送到目的进程,当目的进程收到信号后要进行相应的处理。假设在目的进程在用户级执行,则收到信号后立即处理,假设在内核级运行时,先将信号记下来,待返回到用户级时再处理。n用户可以向目的进程发送信号,而实现一定程度的通讯,完成指定的工作或到达某种指定的目的。用户可以对收到的信号采取系统指定的方法进行处理,也可采取自己的方法进行处理,也可忽略信号。Linux系统的中断nLinux系统常用的中断信号可用命令kill,killall和fuser来查询。如表6-1所示。n在信号中,有的是硬件发出,比方SIGILL、SIGSEGV等
11、,有的是可屏蔽的,比方SIGHUP、SIGQUIT等,而SIGKILL和SIGSTOP等是不可屏蔽。n我们通常处理的只是一些软中断信号:名称值默认动作意义和功能描述 SIGHUP 1终止运行挂机或断线信号SIGINT 2终止运行键盘收到Ctrl+CSIGQUIT 3写出映像键盘收到退出Ctrl+SIGKILL 9终止运行KILL,不可屏蔽SIGTERM 15同上进程终止信号6.3进程管理与调度命令 n可执行文件的setuid和setgid属性 n可执行文件和目录的sticky属性n查询进程状态(ps)n按名称终止进程的执行(killall)n确定使用指定文件或文件系统的进程(fuser)n让进
12、程抗终止运行(nohup)n改变进程的优先级(nice)n进程挂起或作业的前/后运行切换6.3.1 可执行文件的setuid和setgid属性 n在UNIX/Linux系统中,用户级别和执行权力是相关。n但是有些工作,比方修改/etc/passwd和/etc/shadow文件等,对于普通用户都是必须的,因为它要修改密码。但是系统中这些文件对于普通用户是不允许有写操作的。n于是就出现了普通用户通过某种机制行使超级用户权限的问题。1 可执行文件的setuid和setgid属性 n当一个程序具有suid属性时,它执行时的uid将是该程序所有者的uid即有效uid,记为euid,而执行者的原来uid叫
13、为真实uid,记为ruid。n当一个程序具有sgid属性时,它执行时的gid将是该程序的gid即有效gid,记为egid,而执行者的原来gid叫为真实gid,记为rgid。nsuid/sgid属性只对二进制可执行文件有效,对可执行的脚本文件无效。可执行文件的setuid和setgid属性(续)n当一个属于超级用户的可执行二进制程序具有suid属性时,则当一般用户执行它时,也就相当于有了超级用户的身份和权限。n同样当一个属于超级用户所在组的可执行二进制程序具有sgid属性时,则当一般用户执行它时,也就相当于有了该组员的身份和权限。nsuid和sgid权限的存在可能会给某些程序的执行带来了方便,因
14、为权限被放大了,但这也是一种危险。因此设置这种权限的可执行二进制程序不宜太多。n常用的设置suid的程序有:n/bin/ping、/usr/bin/passwd、/usr/bin/newgrp、/usr/bin/sudo、/usr/sbin/suexec和/usr/sbin/traceroutesetuid和setgid属性管理n按照文件的属性,假设用八进制表示,对应于suid和sgid的权限则为4000和2000。nsetuid和setgid属性设置n1.数字方法:nchmod 4755 myp1#为myp1设置suidnchmod 2775 myp2#为myp2设置sgidnchmod 6
15、777 myp3#为myp3同时设置suid和sgidn2.字符方式nchmod u+s myp1#为myp1设置suidnchmod g+s myp2#为myp2设置sgidnchmod ug+s myp3#为myp3同时设置suid和sgidn修改后权限分别为:-rwsr-xr-x,-rwxrwsr-x 和rwsrwsrwx 2.目录的sticky权限 nUNIX/Linux系统允许目录使用sticky位属性(粘着位)。n当一个目录设置了sticky位后,它内部的文件只能被文件主、目录主或超级用户删除、更名或移动。n设置sticky位的目录有/tmp、/usr/tmp和/var/spool
16、/uucppublic等。n在传统的UNIX系统中sticky对可执行文件还具有特殊意义略。sticky权限管理nsticky位是对目录执行权来说的,它的属性值为1000。sticky位也可用chmod命令通过root用户来设置。n设有目录mydir的权限为drwxr-xr-x(755),则可通过以下两种方法来设置它的sticky位:nchmod 1755 mydir#数字方式nchmod+t mydir#字符方式。n 设置后的权限为drwxr-xr-t或1755 6.3.2 进程管理与调度命令 1.查询进程状态(ps)n功能:n查询进程状态和信息,给出系统当前正在运行进程信息的快照。n用法n
17、ps options n说明:nps支持多种UNIX系统格式的个性化显示方式。且参数较多;n可以配合kill命令结束系统中失控或不必要的进程。ps参数n-A,-e:显示系统内的所有进程;-a:显示所有与终端相关的进程nA:显示当前终端的所有进程,也包括其它用户进程n-c:显示CLS和PRI栏;c:列出进程名,但不包含路径名n-C pname:显示进程名字为pname的同名进程信息n-f:显示进程信息时显示带有路径的进程名和进程参数nF:用ASCII字符显示树状结构的进程间关系ng,-g/-G gid:显示与进程组相关的信息,gid可以是组名或组号nH:不显示标题;-H:显示树状结构以表示进程间
18、的关系nJ,-j:以作业控制方式显示进程信息;l,-l:以长格式显示进程信息nL:显示标题栏目信息;p/-p pids:显示指定进程的信息nT,t/-t tty:显示终端相关进程信息,T只能用于显示当前终端进程信息nu,U/-U uid:显示与用户相关的信息,uid可以是用户名或用户号。nX:显示所有进程信息,不区分终端进程的状态 nR:Runable,进程在执行中nD:Dlaying,非中断性睡眠,通常是因为等待I/OnS:Sleep,正在睡眠nT:Traced or stopped,被跟踪或停止;nZ:Zombie,僵尸状态。进程已经终止,但父进程没有对它的结束作适当处理nW:Wait,无
19、内存页面被换出nN:低优先级进程nL:Locked,页面被锁进内存用于实时控制或用户控制的I/On:高优先级进程ps使用例如 n#查询与终端(tty1)相关的进程信息nps-t tty1n#查询与用户(gjshao)相关的信息nps f u gjshaon#查询整个系统内的进程信息情况 nps axj按名称终止进程的执行(killall)n功能:nkillall是另一个用来终止程序的命令,它不像kill使用进程的PID作为操作对象,而是使用进程名。n用法:nkillall-e-g-i-q-v-w-V-s signal-name nkillall-ln说明:nkillall发送的信号可以是信号的
20、名或值。n由于在系统可能有同名进程运行,因此使用killall终止进程时可能会有扩大化的倾向。参数与例如n参数:nname:进程名,被终止的对象n-g:终止指定所属组内的所有进程n-i:交互式工作,终止进程前需要用户确认n-l:列可用信号n-q:安静模式,当不存在指定进程时也不报错n-s:指定信号参见-l参数n-v:报告信号是否发送成功n-w:等待所有被杀进程结束。假设被杀进程忽略发送信号或处于僵尸状态会造成killall无限等待n例如:nkillall-l#查询可用信号nkillall man#终止所有名为man的进程3.确定使用指定文件或文件系统的进程(fuser)n功能:n确定使用指定文
21、件或文件系统的进程n用法:nfuser-a|-s-n namespace-signal-kimuv name.nfuser ln说明:n在fuser的默认输出中,进程号的后面可以跟有c、e、f、r、m等字符,意义如下:c:当前目录;e:进程正在执行;f:翻开文件,默认情况下不输出此标志;r:根目录;m:内存映像文件或共享库。fuser的参数n参数:n-k:终止所有使用设备或文件系统的进程n-i:在杀死进程前提示确认,假设无-k则忽略此参数n-l:列所使用的信号名;-m:安装的文件系统n-n namespace:在指定名字空间内搜索,名字空间可是文件、UDP和TCP等n-s:安静模式;-u:显示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 06 进程 任务 作业 管理
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内