【思维导图】linux-进程管理
linux思维导图期末知识点总结
linux思维导图期末知识点总结环境:虚拟机/云服务器许多程序需要开机启动,它们在win叫服务,在linux叫守护进程,init进去运行开机启动的程序。
正常情况下,很少遇到关机情况。
正确关机流程:sync > shutdown > reboot > halt区别于重启系统和关闭系统,都要运行sync,把内存中的数据写到磁盘中关机命令:shutdown –h now halt poweroff 和 init 0重启系统的命令:shutdown –r now reboot init 6内核版本cat /etc/issue系统版本cat /proc/version1、yum源进行备份进入到yum源的配置文件中执行命令如下:cd /etc/yum.repos.d将yum源进行备份:mv Centos-Base.repo Centos-Base.repo.bak2、获取阿里的yum源配置文件执行命令:wget -O Centos-Base.repo3、对yum源生成缓存执行命令:yum makecache4、更新yum源执行命令:yum -y install update执行完成之后就可以使用yum源了,到此yum源就更换成功了。
在 Linux 或 Unix 操作系统中,所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构。
文件系统的最顶层是由根目录开始的,系统使用 / 来表示根目录。
在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件。
如此反复就可以构成一个庞大的文件系统。
/boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。
/etc:存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动。
/lib:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。
几乎所有的应用程序都需要用到这些共享库。
王道操作系统第二章进程与线程思维导图脑图
用一个整数型的变量作为信号量,用来表示系统中某种资源的数量
与普通整型变量的区别:对信号量的操作只有三种,即初始化,P操作,V操作
整型信号量
存在的问题:不满足“让权等待”的原则,会发生“忙等”
P,V原语用于实现系统资源的“申请”和释放
S.value的初值表示系统中某种资源的数目
对信号量S的一次Р操作意味着进程请求一个单位的该类资源,因此需要执行 S.value--,表示资源数减1,当S.value<0时表示该类资源已分配完毕,因此进程 应调用block原语进行自我阻塞(当前运行的进程从运行态→阻塞态),主动放 弃处理机,并插入该类资源的等待队列S.L中。可见,该机制遵循了“让权等 待”原则,不会出现“忙等”现象。
进程的整个生命周期中,大部分时间都处于三种基本状态
进程的状态和转换
状态间的转换
就绪态→运行态
进程被调度
运行态→就绪态
时间片到,或CPU被其他高优先级的进程抢占
运行态→阻塞态
等待系统资源分配,或等待某事件发生(主动行为)
阻塞态→就绪态
资源分配到位,等待的事件发生(被动行为)
创建态→就绪态 运行态→终止态
系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个 进程访问该资源
互斥共享方式
基本概念
进程同步
系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问
同时共享方式
两种资源共享方式
把一个时间段内只允许一个进程使用的资源称为临界资源,对临界资源的访问, 必须互斥的进行
互斥,亦称间接制约关系,进程互斥指当一个进程访问某临界资源时,另一个想 要访问该临界资源的进程必须等待,当前访问临界资源的进程访问结束,释放该 进程之后,另一个进程才能去访问临界资源
Linux操作系统 进程管理PPT32页
10.1.4 进程的切换时机
当前进程放弃CPU的情况可以分为两种。 一、进程主动地放弃CPU
这种情况大体可以分为两类: 1.隐式地主动放弃CPU。往往是因为需要的资 源目前不能获取,如执行read( ),select( )等系 统调用的过程中,这种情况下的处理过程如下: 1)将进程加入合适的等待队列。 2) 把 当 前 进 程 的 状 态 改 为
3) nice 普通进程的优先级; 4) counter 进程目前的CPU时间配额。
2.对于普通进程来讲CPU时间的分配是典 型的时分策略。
在某个时刻,运行队列中的每个进程都有一个 counter值,当所有运行队列中的counter值都变 为0以后,表明一轮已经结束,每个进程的 counter根据其nice重新赋值,开始新的一轮执行 过程。拥有CPU的进程每次时钟中断counter值减 一。
例如,进程被动放弃CPU的情形。当进程 描述符的need_resched被置1时,并不立 即直接调用schedule()调度函数。而是 在随后的某个时刻,当进程从内核态返回用 户态之前检查need_resched是否为1,如 果为1,则调用schedule()调度函数。
10.1.5 进程的调度算法 核心函数是schedule( ),该函数的任务是
Linux操作系统 进程管理
21、静念园林好,人间良可辞。 22、步步寻往迹,有处特依依。 23、望云惭高鸟,临木愧游鱼。 24、结庐在人境,而无车马喧;问君 何能尔 ?心远 地自偏 。 25、人生归有道,衣食固其端。
第10章 Linux操作系统
本章内容:进程管理,存储管理,文件系统, 设备管理,中断、异常及系统调 用,进程通信。
Linux进程管理
Linux进程管理Linux是一个多用户多任务的操作系统。
多用户是指多个用户可以在同一时间使用计算机系统;多任务是指Linux可以同时执行几个任务,它可以在还未执行完一个任务时又执行另一项任务。
操作系统管理多个用户的请求和多个任务。
大多数系统都只有一个CPU和一个主存,但一个系统可能有多个二级存储磁盘和多个输入/输出设备。
操作系统管理这些资源并在多个用户间共享资源,当您提出一个请求时,给您造成一种假象,好象系统只被您独自占用。
而实际上操作系统监控着一个等待执行的任务队列,这些任务包括用户作业、操作系统任务、邮件和打印作业等。
操作系统根据每个任务的优先级为每个任务分配合适的时间片,每个时间片大约都有零点几秒,虽然看起来很短,但实际上已经足够计算机完成成千上万的指令集。
每个任务都会被系统运行一段时间,然后挂起,系统转而处理其他任务;过一段时间以后再回来处理这个任务,直到某个任务完成,从任务队列中去除。
一,进程及作业Linux系统上所有运行的东西都可以称之为一个进程。
每个用户任务、每个系统管理守护进程,都可以称之为进程。
Linux用分时管理方法使所有的任务共同分享系统资源。
我们所关心的是如何去控制这些进程,让它们能够很好地为用户服务。
进程的一个比较正式的定义是∶在自身的虚拟地址空间运行的一个单独的程序。
进程与程序是有区别的,进程不是程序,虽然它由程序产生。
程序只是一个静态的指令集合,不占系统的运行资源;而进程是一个随时都可能发生变化的、动态的、使用系统运行资源的程序。
而且一个程序可以启动多个进程。
进程和作业的概念也有区别。
一个正在执行的进程称为一个作业,而且作业可以包含一个或多个进程,尤其是当使用了管道和重定向命令。
作业控制指的是控制正在运行的进程的行为。
比如,用户可以挂起一个进程,等一会儿再继续执行该进程。
shell将记录所有启动的进程情况,在每个进程过程中,用户可以任意地挂起进程或重新启动进程。
作业控制是许多shell(包括bash和tcsh)的一个特性,使用户能在多个独立作业间进行切换。
Linux内核进程管理架构图
进程管理架构图LK 版本:2.6.20CPU 核:PowerPC E5002013年4月9日Linux 系统初始化RQ 、WQ 、task_struct{}初始化系统时钟中断处理程序schedule进程切换或返回原进程CPU 运行定时芯片PIC挂入WQ 中睡眠中断/异常处理中断/异常返回决定选择时间片用完自动放弃时间到中断信号唤醒就绪态运行态等待/阻塞态决策算法核心空间(内核进程;用户空间的核心空间,即系统调用):用户空间: 无论支不支持preemptible ,根据进程优先级, 选择进程获得cpu 资源不支持preemptible :返回原进程支持preemptible :据进程优先级,选择合适进程创建各类进程将进程放入RQ1、在linux系统中,当进程处于运行或就绪态时,task_struct{}.state均为TASK_RUNNING。
为了区分进程所处的状态为运行态或就绪态,Linux中使用了一个全局指针current,指向正在运行的进程描述符。
2、TASK_INTERRUPTIBLE:可被信号/中断事件唤醒TASK_UNINTERRUPTIBLE:只能被中断唤醒WQ信号/中断唤醒中断唤醒终结RQschedule如:kill命令、^+C中断、fg激活后台进程1、四类ID号PID号:用于管理进程PID号对应PID描述符对应进程描述符tgid:线程组ID号linux系统对不同进程及线程进行分组管理,signal->pgrp:组ID 每组一个组头,tgid用来保存这个组头signal->session:session ID,多用户编程用每一个进程都有一个唯一的标识,被称为PID,系统启动时“手动”建立的swapper进程的进程pid为0,以后创建新进程时,使用前一个进程的pid+1,作为新进程的pid。
pid 是32位的数字,但是为了兼容16为的代码,默认最大的pid为32768,用户可以通过/proc/sys/kernel/pid_max文件来设置最大的pid。
3 Linux进程管理PPT课件
2 查看系统进程信息
2.1 ps命令 (process status) 功能说明:报告程序状况。 语 法:ps [选项] 补充说明:ps是用来报告程序执行状况的指令,您可以搭配kill指 令随时中断,删除不必要的程序
# ps –aux a:选择列出所有的程序 u:列出所有用户的程序 x:列出所有tty(简单理解为终端)的程序
PRI
进程优先级。
PPID
父进程ID
WCHAN
进程等待的内核事件名
8
查看less进程是否在运行
9
2 查看系统进程信息
2.2 top命令
功能说明:显示,管理执行中的程序。 语 法:top [bciqsS][d <间隔秒数>][n <执行次数>] 补充说明:执行top指令可显示目前正在系统中执行的程
▪ 使用ps命令查看PID ▪ kill PID ▪ kill -9 PID 无条件地撤销一个进程 守护进程 守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程。 它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行 某种任务或等待处理某些发生的事件。守护进程常常在系统引导装入 时启动,在系统关闭时终止。Linux系统有很多守护进程,大多数服 务都是通过守护进程实现的,同时,守护进程还能完成许多系统任 务,例如,作业规划进程crond、打印进程lqd等(这里的结尾字母d 就是Daemon的意思)。
查看系统进程命令:#ps ax 分页查看:#ps ax|less 查看进程及所有者:#ps aux 查看某一进程(例:cupsd)是否运行:#ps ax|grep less
6
7
ps命令输出字段的含义
USER
进程所有者的用户名
linux进程管理PPT课件
12.05.2020
.
10
Linux kill命令的格式
kill [-s 信号|-p ] [-a] 进程号...
kill -l [信号]
12.05.2020
.
7
Linux的命令ps显示的信息项
UID 进程属主的用户ID号 PID 进程ID号 PPID 父进程的ID号 C 进程最近使用CPU的估算。 STIME 进程开始时间,以“小时:分:秒”的形式给出 TTY 该进程建立时所对应的终端,“?”表示该进程不占用终端 TIME 报告进程累计使用的CPU时间。注意,尽管觉得有些命令(如sh) 已经运转了很长时间,但是它们真正使用CPU的时间往往很短。所以, 该字段的值往往是0:00 CMD 是command(命令)的缩写,往往表示进程所对应的命令名
Linux进程管理
计算机系
2009.3
Linux操作系统
Linux是一个多用户、多任务的操作系统, 这就意味着多个用户可以同时使用一个操作 系统,而每个用户又可以同时运行多个命令。 在这样的系统中,各种计算机资源(如文件、 内存、CPU等)的分配和管理都以进程为单 位。为了协调多个进程对这些共享资源的访 问,操作系统要跟踪所有进程的活动,以及 它们对系统资源的使用情况,实施对进程和 资源的动态管理。
12.05.2020
.
3
Linux进程状态转换
停止态
TASK_STOPPED
进程跟踪系统调用 执行syscall_trace()
sys_exit() schedule()
未申请到所需资源
sleep_on() schedule()
正在运行态 拥有cpu
僵死态
TASK_ZOMBIE
Linux系统第6章进程管理
Linux 进程管理
与案例有关的内容分析
7-3 任务的自动化
1、at (后台运行一次)
# id # id -u
Linux 进程管理
6. cal
功能:显示日历
格式:# cal [参数] [CCYY]
参数:
-y //指定哪一年的日历
实例:
# cal
//默认显示本年本月
# cal -y 2000
Linux 进程管理
分组操作
…………………………
点评、操作演示:
………………………………………..
Linux 进程管理
▪ 注意: (1)/etc/at.deny和/etc/at.allow文件
用于控制用户运行at的任务可以通过 /etc/at.deny和/etc/at.allow文件控制执行at命令的 用户,at.deny存放禁止执行at命令用户名; at.allow存放允许at命令的用户名。//禁止user1用 户执行at命令安排调度任务
# pstree #pstree|grep dhcpd
Linux 进程管理
分组操作
…………………………
点评、操作演示:
………………………………………..
Linux 进程管理
案例二
Linux 进程管理
1. 把当前时间改为2008年8月8日16点30分30秒; 2. 利用at设置一个任务自动化,在当天17:00钟,在根目录
功能:安排系统在指定时间运行程序
计算机进程的描述与控制思维导图
软件同步机制:都没有解决让权等待,而且部分方 法还会产生死锁的情况
关中断
利用Tes - n -Se 指令实现互斥
硬件同步机制
利用 w 指令实现进程互斥
整型信号量
由于整型信号量没有遵循让权等待原则,记录型 允许负数,即阻塞链表
记录型信号量
进程同步机制
进程同步
D型信号量
进程控制
理解: D型号量的w i 和 i n 仅能对信号施 以加1或减1操作,意味着每次只能对某类临界 资源进行一个单位的申请或释放。当一次需要N 个单位时,便要进行N次w i 操作,这显然是低 效的,甚至会增加死锁的概率。此外,在有些情
进程是竞争计算机资源的基本单位,程序不是 进程是程序在数据集上的一次执行
程序是构成进程的组成部分,一个程序可对应多 个进程,一个进程可包括多个程序
进程的运行目标是执行所对应的程序
从静态看,进程由程序、数据和进程控制块( P B)组成
就绪状态 ea
进程的三种基本状态
执行状态 n n
阻塞状态 lo
进程的基本状态及转换
进程的阻塞与唤醒
互斥——竞争 同步——协作
间接相互制约关系 直接相互制约关系
un ac
进程的挂起与激活
两种形式的制约关系
临界资源
进入区 n ec i
临界区 i ic ec i 退出区 i ec i
分区
剩余区 m n
ec i
1.空闲让进
2.忙则等待 3.有限等待
同步机制应遵循的规则
4.让权等待
基本概念
三种基本状态的转换 创建状态和终止状态
五状态进程模型
注意
阻塞态->运行态和就绪态->阻塞态这二种状态 转换不可能发生
linux之进程管理详解
linux之进程管理详解|-进程管理进程常⽤命令|- w查看当前系统信息|- ps进程查看命令|- kill终⽌进程|- ⼀个存放内存中的特殊⽬录/proc|- 进程的优先级|- 进程的挂起与恢复|- 通过top命令查看进程计划任务|- 计划任务的重要性|- ⼀次性计划at和batch|- 周期性计划crontab进程管理的概念进程和程序区别1.程序是静态概念,本⾝作为⼀种软件资源长期保存;⽽进程是程序的执⾏过程,它是动态概念,有⼀定的⽣命期,是动态产⽣和消亡的。
2.程序和进程⽆⼀⼀对应关系。
⼀个程序可以由多个时程公⽤;另⼀⼀⽅⾯,⼀个进程在活动中有可顺序地执⾏若⼲个程序⽗⼦进程的关系1.⼦进程是由⼀个进程所产⽣的进程,产⽣这个⼦进程的进程称为⽗进程2.在linux系统中,使⽤系统调⽤fork创建进程。
fork复制的内容包括⽗进程的数据和堆栈段以及⽗进程的进程环境。
3.⽗进程终⽌⼦进程⾃然终⽌。
前台进程和后台进程前台进程在shell提⽰处理打⼊命令后,创建⼀个⼦进程,运⾏命令,Shell等待命令退出,然后返回到对⽤户给出提⽰符。
这条命令与Shell异步运⾏,即在前台运⾏,⽤户在它完成之前不能执⾏别⼀个命令很简单,我们在执⾏这个查找命令时,⽆法进⾏其它操作,这个查找就属于前台进程后台进程在Shell提⽰处打⼊命令,若后随⼀个&,Shell创建⼦进程运⾏此命令,但不等待命令退出,⽽直接返回到对⽤户给出提⽰。
这条命令与Shell同步运⾏,即在后台运⾏。
"后台进程必须是⾮交互式的"再来看这个命令就变成了后台进程,我们⽤同样的条件进⾏查找,把查找记过放到hzh/test/init.find这个⽂件中。
不影响我们前台其它的操作。
进程的状态学过操作系统原理的同学应该可以看得懂,不懂再去翻翻书,不知道你有没有想起当时教这门课的⽼师呢?呵呵常⽤进程命令w 查看当前系统信息w命令,我在之前的章节⽤曾⽤过,当时是查看当前⽤户信息,当然也可以查看到系统相关的信息。
3 Linux进程管理46页PPT
S 处于休眠状 T 停止或被追踪 Z 僵尸进 W 进入内存交换(从内核2.6开始无效) X 死掉的进程 < 高优先级 N 低优先级 L 有些页被锁进内存 s 包含子进程 + 位于后台的进程组; l 多线程,克隆线程
TIME
进程使用的总CPU时间
COMMAND 被执行的命令行
NI
进程的优先级值,较小的数字意味着占用较少的CPU时间
17
实例:1、查看各种不同的运行等级中各项服务的状况
18
2、启动Telnet服务并查看该服务的状态 chkconfig kudzu off chkconfig --list kudzu
19
3 chkconfig和service命令
service命令 功能说明:service命令用于对系统服务进行管理 。 语 法:service [系统服务] [start/stop/restart/status] start:启动服务 stop:停止服务 restart:重新启动服务 status:查看状态状态 例: service network restart
%MEM
进程使用内存的百分比
VSZ
进程使用的虚拟内存大小,以K为单位
RSS
驻留空间的大小。显示当前常驻内存的程序的K字节数。
TTY
进程相关的终端
STAT
进程状态,用下面的代码中的一个给出: D 不可中断 Uninterruptible sleep (usually IOR 正在运行,或在
队列中的进程
40、人类法律,事物有规律,这是不 容忽视 的。— —爱献 生
3 Linux进程管理
2
结束进程
前台进程 Ctrl+c 后台进程 kill命令