【思维导图】linux-进程管理
- 格式:xmin
- 大小:753.49 KB
- 文档页数:1
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文件。
几乎所有的应用程序都需要用到这些共享库。
Linux进程管理Linux是一个多用户多任务的操作系统。
多用户是指多个用户可以在同一时间使用计算机系统;多任务是指Linux可以同时执行几个任务,它可以在还未执行完一个任务时又执行另一项任务。
操作系统管理多个用户的请求和多个任务。
大多数系统都只有一个CPU和一个主存,但一个系统可能有多个二级存储磁盘和多个输入/输出设备。
操作系统管理这些资源并在多个用户间共享资源,当您提出一个请求时,给您造成一种假象,好象系统只被您独自占用。
而实际上操作系统监控着一个等待执行的任务队列,这些任务包括用户作业、操作系统任务、邮件和打印作业等。
操作系统根据每个任务的优先级为每个任务分配合适的时间片,每个时间片大约都有零点几秒,虽然看起来很短,但实际上已经足够计算机完成成千上万的指令集。
每个任务都会被系统运行一段时间,然后挂起,系统转而处理其他任务;过一段时间以后再回来处理这个任务,直到某个任务完成,从任务队列中去除。
一,进程及作业Linux系统上所有运行的东西都可以称之为一个进程。
每个用户任务、每个系统管理守护进程,都可以称之为进程。
Linux用分时管理方法使所有的任务共同分享系统资源。
我们所关心的是如何去控制这些进程,让它们能够很好地为用户服务。
进程的一个比较正式的定义是∶在自身的虚拟地址空间运行的一个单独的程序。
进程与程序是有区别的,进程不是程序,虽然它由程序产生。
程序只是一个静态的指令集合,不占系统的运行资源;而进程是一个随时都可能发生变化的、动态的、使用系统运行资源的程序。
而且一个程序可以启动多个进程。
进程和作业的概念也有区别。
一个正在执行的进程称为一个作业,而且作业可以包含一个或多个进程,尤其是当使用了管道和重定向命令。
作业控制指的是控制正在运行的进程的行为。
比如,用户可以挂起一个进程,等一会儿再继续执行该进程。
shell将记录所有启动的进程情况,在每个进程过程中,用户可以任意地挂起进程或重新启动进程。
作业控制是许多shell(包括bash和tcsh)的一个特性,使用户能在多个独立作业间进行切换。
进程管理架构图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。
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命令,我在之前的章节⽤曾⽤过,当时是查看当前⽤户信息,当然也可以查看到系统相关的信息。