当前位置: 首页 > wzjs >正文

如何做网页推广的网页网站搜索引擎优化方案的案例

如何做网页推广的网页,网站搜索引擎优化方案的案例,网站制作价格 上海,钓鱼网站制作方法我们知道,我们启动一个进程时,当他执行的过程中,我们叫运行状态,当结束运行程序终止时就是停止状态。但进程的状态可不是仅仅只有运行和停止,比如如果我们在代码中写scanf/cin等输入函数时,当代码运行到该行…

我们知道,我们启动一个进程时,当他执行的过程中,我们叫运行状态,当结束运行程序终止时就是停止状态。但进程的状态可不是仅仅只有运行和停止,比如如果我们在代码中写scanf/cin等输入函数时,当代码运行到该行我们却不输入,此时就是等待的状态,此时CPU并没有调度代码运行,而是等我们输入后再交给CPU继续执行。本篇内容我们讲解一下进程的相关状态和性质。

 一、进程的状态

我们先解释一下图中的各个状态运作流程:首先一个进程被创建时称为新建状态,当创建完毕等待CPU调度运行时称就绪状态,CPU调度运行的状态称为运行状态,但当进程因某些原因,比如scanf/cin等待键盘输入时称为阻塞状态,结束该行为由重新称为就绪状态,知道终止进程。

但这张图里并未给我们更多的信息,比如阻塞状态具体还有什么原因,我们会逐一深入。在此之前,我们需要有一些知识储备:

1.并行与并发

我们的CPU执行进程代码时,不是把进程代码执行完毕,才开始执行下一个,而是给每一个进程预分配一个时间片,基于时间片进行调度的轮转。就单核CPU来讲(单核指一次只能调度一个进程运行),按理来说一次只能运行一个进程,但为什么我们实际使用过程中,却总能感觉多个进程同时运行呢?这是因为CPU切换运行的速度非常非常非常块,我们是无法用感官分析出差别的。这就是并发。

至于并行,就是多个进程再多个CPU下分别同时运行。

2.时间片

时间片,就是分配给每一个进程在CPU上运行所消耗的时间,不同的进程可能有不同长短的时间片,但调度任务追求公平,这也是分时操作系统,适用于Linux和windows的民用级别。

3.进程具有独立性

4.等待的本质

CPU中也有一个类似结构体runqueue运行队列,其中记录着各种属性,以及task_struct的指针,当CPU开始调度时,这个指针就会一个个遍历,遍历的间隔时间也就是分配个每个程序的时间片,也就是在不停地调度轮转,只要进程在运行队列中排队等待被调度或正被调度,就称为运行状态。

同时,我们的硬件被操作系统管理的方法也是先描述再组织的原理形成了一个个结构串起来, 当某一个进程需要键盘等输入操作时,造成了阻塞,这个进程就不会在runqueue里循环排队了,而是放在该硬件所在的结构上,也是类似一种排队的管理方法,等待输入操作完毕再重新排队等待CPU调度,所以我们不输入时造成的卡顿是因为CPU一直没有调度进程。因此,等待的本质是进程连入目标外部设备,CPU没调度。

二、Linux中进程的状态

我们想查看进程的信息,除了在/proc文件夹中查找,也可以用指令

ps axj | head -1 && ps axj | grep name

 其中的STAT下的字母就是我们要说的各种状态

r(running)模式:指的是运行状态

s:休眠状态,也是阻塞等待的状态,虽然在进行运行中我们看着好像是r状态,但一旦有输入输出函数时,运行时间的大部分都是和不断的和外设交互,很少是被CPU调度(因为CPU太快了)。而且他是一种可中断睡眠,浅睡眠,在运行过程中可以被指令终止。

D:深度休眠状态,是阻塞等待状态的一种,这种睡眠是不可被中断的深睡眠,一般很少出现,一般都是由操作系统控制,出现情况一般为磁盘空间不够了,但我们还是想把数据写入磁盘,需要腾出空间等待,和浅睡眠的等待键盘等外设不一样,可以得到是否成功写入磁盘的结果,也就尽量避免大量数据丢失的问题。

T : 进程做了非法但不致命的操作时被操作系统暂停了,我们也可以用命令主动暂停

kill -19 name 暂停

kill -18 name  恢复

一旦我们用kill命令回复运行此时用ctrl+c就不能终止进程了(因为此时进程在后台运行),需要我们用kill命令终止。

t:当进程被追踪的时候,比如打断点停下,进程的状态 。

X:死亡状态,也就是程序终止时的状态,但在程序终止前,还会有一个过渡状态,即Z(zombie)僵尸状态。

z状态是用来诊断并记录程序终止的原因,使用户明确程序终止的问题所在。就像一个人死亡需要法医诊断死因然后才能被拉走。关于僵尸状态我们再深入一下。

5.Z状态从开始到消失

我们知道,一个程序如果进行到z或x状态,基本就是我们退出程序的时候,但如果退出了,怎么还会出现z状态检查退出信息呢?他的数据不应该被回收了吗,其实并不完全回收。我们知道进程是内核数据结构+代码和数据,但我们开启的一个进程的时候,是先构建出一个数据结构然后才存放信息。所以当我们退出进程时,刚开始退出的只是信息数据,而task_struct还并没有删去,而这个退出信息就保存在其内部,这个结构必须由操作系统起来,方便用户进行获取进程退出的信息。当我们的退出信息成功被获取处理了,此时才可以真正的退出进程称为X状态,在此之前都是Z状态。

当我们退出子进程时,同理也会保存退出信息,然后父进程获取信息并退出。但是一个程序进入Z状态以后,默认是没人去处理这个信息的,会导致这个进程一直处于Z状态,task_struct一直存在,就会消耗内存,造成内存泄漏问题。所以,一般都需要父进程读取子进程信息,子进程才会自动退出。

三、孤儿进程

字面意思,就是父子进程运行时,退出父进程,由上面的理论得知,父进程会被回收(此时是观察不到父进程的Z状态的,因为父进程由操作系统管理,被bash瞬时回收了),而子进程会处于一种领养的状态,我们还发现,当变成孤儿进程时,子进程的ppid变成了1,这个1也就说systemd,系统。也就是被系统领养了。再补充一句:孤儿进程一般会在后台运行,ctrl+c杀不掉。

————后续讲持续更新Linux进程相关内容,本篇就到这里

http://www.dtcms.com/wzjs/468340.html

相关文章:

  • vs做网站通过e浏览器全自动精准引流软件
  • 网站建设制作设计营销公司南宁青岛seo整站优化公司
  • 网站建设的具体过程百度竞价的优势和劣势
  • 手机网站 栏目定制媒介星软文平台官网
  • 织梦移动端网站怎么做网络营销型网站
  • 嘉兴企业网站推广郑州官网网站推广优化
  • 成都装修公司网站建设发布新闻稿
  • 大连网站备案最近的新闻热点
  • 怎么在境外做网站宁波网站推广优化公司电话
  • 网站建设方案文本模板2022双11各大电商平台销售数据
  • 网站推广需求要素网站推广的常用方法有哪些?
  • php做网站代码推广普通话手抄报内容简短
  • phpwind的代表网站著名的营销成功的案例
  • 用lls建设一个网站sem是什么仪器
  • 写作网站新手苏州seo营销
  • 安徽网站设计平台今日新闻最新消息50字
  • seo网站制作公司软文代写
  • 兰州最好的网站开发公司公司产品怎样网上推广
  • 小网站开发广告联盟平台排名
  • 静态网站挂马seo电商运营是什么意思
  • 兰州 网站建设公司哪家好查收录网站
  • wordpress微商模板360seo
  • 杭州网站建站公司公司做网站需要多少钱
  • 做外汇上什么网站看新闻产品seo标题是什么
  • 企业网站营销案例网络营销专业怎么样
  • ftp怎么修改网站优化网络搜索引擎
  • 网站后期维护怎么做上海网络推广团队
  • 建个简单网站长尾关键词挖掘词工具
  • 网站首页权重门户网站怎么做
  • 免费的网站模板哪里有网站首页不收录