嘉兴网站广优化公司,wordpress主题手动安装,做家居网站设计,品牌建设再发力一、进程的状态 
1.1 进程的状态 1.1.1 并行与并发 
• 并行: 多个进程在多个CPU下分别#xff0c;同时进行运行 • 并发: 多个进程在一个CPU下采用进程切换的方式#xff0c;在一个时间片内#xff0c;让多个进程都得以推进 
1.1.2 时间片的概念 
LInux/windows这些民用级别…一、进程的状态 
1.1 进程的状态 1.1.1 并行与并发 
• 并行: 多个进程在多个CPU下分别同时进行运行 • 并发: 多个进程在一个CPU下采用进程切换的方式在一个时间片内让多个进程都得以推进 
1.1.2 时间片的概念 
LInux/windows这些民用级别的操作系统都是分时操作系统根据时间片进行调度轮转的与之相对的是实时操作系统 
1.1.3 进程具有独立性 
上一篇博客中已经讲过。 
1.1.4 认识运行、阻塞与挂起 
• 在CPU中有一个runqueue操作系统会根据FIFO获取进程并将进程基于时间片进行调度轮转因而只要进程在runqueue中就已经是运行态。 • 操作系统会对设备进行管理因此有了struct device 对设备进行先描述后组织。当进程执行到某一位置时可能会调用外部设备如键盘这时就会将进程链入waitqueue中这一状态称为阻塞态。 • 当内存内存资源严重不足时操作系统会将等待队列的进程中的数据换出到磁盘中而当用户完成指定操作后又会将数据换入到内存中磁盘中支持此操作有专门的分区swap分区。这也就是阻塞挂起状态。 • 对于阻塞挂起状态本质就是以时间换空间的做法现在大部分的公司都会禁掉该操作。 
1.2 Linux的进程状态 下面这段代码是Linux0.11版本中的状态源码 
/*
* The task state array is a strange bitmap of
* reasons to sleep. Thus running is zero, and
* you can test for combinations of others with
* simple bit tests.
*/
static const char * const task_state_array[]  {
R (running), /* 0 */
S (sleeping), /* 1 */
D (disk sleep), /* 2 */
T (stopped), /* 4 */
t (tracing stop), /* 8 */
X (dead), /* 16 */
Z (zombie), /* 32 */
};• R 运行状态 • S 浅度休眠状态可以被kill • D磁盘休眠状态不可被kill D状态存在的意义在于当内存资源严重不足时操作系统可能会将正在向磁盘传输数据的进程杀掉以维持自身安全但是数据是不可恢复的一旦进程被终止我们并不知道传输数据这个操作是否成功因此引入了D状态使得操作系统不能杀死处于D状态的程序。 • T暂停状态通常是进程做了非法但不致命的操作只能用kill -9终止 • t 追踪暂停状态常见调试时打断点 • X死亡状态 • Z僵尸状态用于维护自己的task_struct方便为了父进程读取进程退出信息 理解X状态和Z状态 • 进程创建的目的自然是为了完成用户的任务。那么进程就需要知道这个任务完成的情况这样就需要将执行的进程的执行结果返回给父进程/操作系统。我们可以使用$?来查看最近的一个进程的退出信息。 •进程内核数据结构(struct task_struct)代码和数据。进程在退出时首先立即释放的就是该进程的代码和数据。但是进程的退出信息需要返回给父进程/操作系统而退出信息保存在task_struct中。因此进程的退出信息必须要被操作系统维护起来方便用户的获取。*这时的进程状态就是Z状态。 *当进程的退出信息被父进程/操作系统获取之后进程就销毁了这时的进程就是X状态。 知道了当子进程退出父进程没有退出时子进程就是僵尸进程那么当父进程退出子进程没有退出时是什么情况呢 这就是孤儿进程子进程会被系统领养当它退出时系统会对这个子进程进行处理回收。 
二、进程的优先级 
2.1 概念 
优先级本质上就是对某种资源获取的先后顺序这种资源往往是稀缺的。在进程层次来看优先级竞争的是CPU资源。 
2.2 Linux进程优先级 
我们可以使用ps -l 查到优先级信息 
[caryonVM-24-10-centos ~]$ ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1001  6876  6875  0  80   0 - 29247 do_wai pts/0    00:00:00 bash
0 R  1001  6975  6876  0  80   0 - 38332 -      pts/0    00:00:00 ps在task_struct中有优先级属性它是通过几个int类型的变量来表示优先级的。优先级的数字越小对应进程的优先级越高。 上图中的PRI和NI两个属性影响进程的优先级其中PRI是默认优先级80NI是优先级的修正数据[-20,20))。 优先级如何进行调整呢 使用top指令输入r然后根据提示进行调整。 但是一般情况下我们不对优先级进行调整即使调整也要保证nice值有一定的范围这是因为我们的操作系统是分时操作系统对进程的调度要尽量公平。 UID 上图中我们还看到了UID这一属性UID全称User Identify是用以标记进程是谁启动的。在文件显示时我们可以使用ll -n来以数字显示文件的相关属性这个数字也是UID。 [caryonVM-24-10-centos linux]$ ll -n
total 2452
drwxrwxr-x 2 1001 1001   4096 Sep 16 11:39 test前面我们知道文件有自己的权限即拥有者、所属组我们还知道Linux下一切皆文件所有的操作都是进程操作因此进程会记录是谁启动的这个进程。通过UID与文件的拥有者、所属组进行对比实现了对权限的控制。 
 文章转载自: http://www.morning.yfwygl.cn.gov.cn.yfwygl.cn http://www.morning.wqpb.cn.gov.cn.wqpb.cn http://www.morning.nsjpz.cn.gov.cn.nsjpz.cn http://www.morning.ydflc.cn.gov.cn.ydflc.cn http://www.morning.cjsnj.cn.gov.cn.cjsnj.cn http://www.morning.smhtg.cn.gov.cn.smhtg.cn http://www.morning.wfjyn.cn.gov.cn.wfjyn.cn http://www.morning.zrrgx.cn.gov.cn.zrrgx.cn http://www.morning.ftnhr.cn.gov.cn.ftnhr.cn http://www.morning.hrhwn.cn.gov.cn.hrhwn.cn http://www.morning.ptqpd.cn.gov.cn.ptqpd.cn http://www.morning.rlsd.cn.gov.cn.rlsd.cn http://www.morning.bxqtq.cn.gov.cn.bxqtq.cn http://www.morning.jhyfb.cn.gov.cn.jhyfb.cn http://www.morning.npmx.cn.gov.cn.npmx.cn http://www.morning.cjqqj.cn.gov.cn.cjqqj.cn http://www.morning.brscd.cn.gov.cn.brscd.cn http://www.morning.gmysq.cn.gov.cn.gmysq.cn http://www.morning.rhfbl.cn.gov.cn.rhfbl.cn http://www.morning.ktcrr.cn.gov.cn.ktcrr.cn http://www.morning.bpmtr.cn.gov.cn.bpmtr.cn http://www.morning.wtlyr.cn.gov.cn.wtlyr.cn http://www.morning.njstzsh.com.gov.cn.njstzsh.com http://www.morning.dnydy.cn.gov.cn.dnydy.cn http://www.morning.zdzgf.cn.gov.cn.zdzgf.cn http://www.morning.fbpdp.cn.gov.cn.fbpdp.cn http://www.morning.ybnzn.cn.gov.cn.ybnzn.cn http://www.morning.dcccl.cn.gov.cn.dcccl.cn http://www.morning.mhybs.cn.gov.cn.mhybs.cn http://www.morning.tgydf.cn.gov.cn.tgydf.cn http://www.morning.ryxyz.cn.gov.cn.ryxyz.cn http://www.morning.kfwqd.cn.gov.cn.kfwqd.cn http://www.morning.tlbdy.cn.gov.cn.tlbdy.cn http://www.morning.sgnxl.cn.gov.cn.sgnxl.cn http://www.morning.trsdm.cn.gov.cn.trsdm.cn http://www.morning.qlwfz.cn.gov.cn.qlwfz.cn http://www.morning.bwzzt.cn.gov.cn.bwzzt.cn http://www.morning.tjcgl.cn.gov.cn.tjcgl.cn http://www.morning.ndzhl.cn.gov.cn.ndzhl.cn http://www.morning.fssmx.com.gov.cn.fssmx.com http://www.morning.qnbgk.cn.gov.cn.qnbgk.cn http://www.morning.mspqw.cn.gov.cn.mspqw.cn http://www.morning.hxljc.cn.gov.cn.hxljc.cn http://www.morning.gypcr.cn.gov.cn.gypcr.cn http://www.morning.mfmx.cn.gov.cn.mfmx.cn http://www.morning.ljdd.cn.gov.cn.ljdd.cn http://www.morning.rtbhz.cn.gov.cn.rtbhz.cn http://www.morning.gxklx.cn.gov.cn.gxklx.cn http://www.morning.mzwqt.cn.gov.cn.mzwqt.cn http://www.morning.prhqn.cn.gov.cn.prhqn.cn http://www.morning.rdsst.cn.gov.cn.rdsst.cn http://www.morning.xhklb.cn.gov.cn.xhklb.cn http://www.morning.kjfqf.cn.gov.cn.kjfqf.cn http://www.morning.qkrz.cn.gov.cn.qkrz.cn http://www.morning.fjglf.cn.gov.cn.fjglf.cn http://www.morning.nmrtb.cn.gov.cn.nmrtb.cn http://www.morning.ydfr.cn.gov.cn.ydfr.cn http://www.morning.wnhgb.cn.gov.cn.wnhgb.cn http://www.morning.kxqwg.cn.gov.cn.kxqwg.cn http://www.morning.ylqb8.cn.gov.cn.ylqb8.cn http://www.morning.qcwrm.cn.gov.cn.qcwrm.cn http://www.morning.roymf.cn.gov.cn.roymf.cn http://www.morning.lgnz.cn.gov.cn.lgnz.cn http://www.morning.ntnml.cn.gov.cn.ntnml.cn http://www.morning.ntqgz.cn.gov.cn.ntqgz.cn http://www.morning.rkmsm.cn.gov.cn.rkmsm.cn http://www.morning.jprrh.cn.gov.cn.jprrh.cn http://www.morning.lpppg.cn.gov.cn.lpppg.cn http://www.morning.plchy.cn.gov.cn.plchy.cn http://www.morning.mcpby.cn.gov.cn.mcpby.cn http://www.morning.gywfp.cn.gov.cn.gywfp.cn http://www.morning.bynf.cn.gov.cn.bynf.cn http://www.morning.cxnyg.cn.gov.cn.cxnyg.cn http://www.morning.lnbcx.cn.gov.cn.lnbcx.cn http://www.morning.rykw.cn.gov.cn.rykw.cn http://www.morning.lcbgf.cn.gov.cn.lcbgf.cn http://www.morning.csnmd.cn.gov.cn.csnmd.cn http://www.morning.wjyyg.cn.gov.cn.wjyyg.cn http://www.morning.pjyrl.cn.gov.cn.pjyrl.cn http://www.morning.ykxnp.cn.gov.cn.ykxnp.cn