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

涛哥快速建站网站点击排名优化

涛哥快速建站,网站点击排名优化,室内设计整套方案图,绥中建设厅网站目录 一、进程优先级 二、Linux调度与切换 1.背景 2.进程切换 一、进程优先级 背景:在计算机中,软硬件资源是有限的,而进程想要访问某一种资源,就得通过排队来保证访问资源的过程是有条不紊的。 Linux下对优先级的定义。执行命…

目录

一、进程优先级

二、Linux调度与切换

1.背景

2.进程切换


一、进程优先级

        背景:在计算机中,软硬件资源是有限的,而进程想要访问某一种资源,就得通过排队来保证访问资源的过程是有条不紊的。


        Linux下对优先级的定义。执行命令ps -la得到以下打印结果。

[euto@VM-4-13-centos 24921]$ ps -la
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1001 29067 28781  0  80   0 -  1054 hrtime pts/1    00:00:00 myprocess
1 S  1001 29068 29067  0  80   0 -  1054 hrtime pts/1    00:00:00 myprocess
0 R  1001 29078 28979  0  80   0 - 38332 -      pts/2    00:00:00 ps
  • UID:代表执行者的身份
  • PRI:priority的缩写,代表这个进程的优先级,Linux下优先级就是一个整型变量,默认值为80,取值范围为[60,99],值越小,优先级越高。
  • NI:nice的缩写,用来代表相对默认值的增量

        Linux下进程的优先级可以人为手动修改,但是需要我们手动修改优先级的场景几乎没有。


        下面演示如何修改优先级,首先可执行程序myprocess已经被运行了起来,执行ps -la查看。

[euto@VM-4-13-centos 24921]$ ps -la
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1001  2310 28781  0  80   0 -  1054 hrtime pts/1    00:00:00 myprocess
0 R  1001  2330 28979  0  80   0 - 38332 -      pts/2    00:00:00 ps

        执行top命令进入任务管理器。

        进入任务管理器后,输入r

        得到一行提示,大致意思是“输入要重新设置nice值的PID”。

PID to renice [default pid = 5375]

        当前要修改优先级的程序myprocess的PID为2310,于是输入2310。

        弹出一行提示,大致意思是“输入新的nice值”,我们暂时输入10。

Renice PID 2310 to value 

        退出任务管理器后,再执行ps -la命令查看。

[euto@VM-4-13-centos 24921]$ ps -la
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1001  2310 28781  0  90  10 -  1054 hrtime pts/1    00:00:00 myprocess
0 R  1001  7772 28979  0  80   0 - 38332 -      pts/2    00:00:00 ps

        我们发现myprocess的PRI由80变成了90,而NI由0变成了10

        因此,可以总结出来,Linux下修改优先级不能直接修改,而是通过加减某一个量来修正

        NI值是用来表示当前PRI值相对默认PRI值的增量,由于PRI的范围是[60,99],默认PRI值是80,故NI值的取值范围是[-20,19]

        PRI = 默认PRI(80)+ NI。


  • NI可以取范围外的值吗,如果可以,PRI会被修改为多少?

        在top中修改NI值的时候,输入100。

        执行ps -la查看结果。

[euto@VM-4-13-centos 24921]$ ps -la
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1001  2310 28781  0  99  19 -  1054 hrtime pts/1    00:00:00 myprocess
0 R  1001 13253 28979  0  80   0 - 38332 -      pts/2    00:00:00 ps

        可以总结出来,修改的NI值会被操作系统做检测,如果超出范围则修正到范围之内

        在上面结果的基础上,将NI值设置为-20,预期结果应该是99-20=79。

         执行结果如下。

[euto@VM-4-13-centos ~]$ ps -la
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1001 16994 16006  0  60 -20 -  1054 hrtime pts/1    00:00:00 myprocess
0 R  1001 18523 16091  0  80   0 - 38332 -      pts/2    00:00:00 ps

        这里我中断进程后,重新启动了程序,所以PID发生了变化,但是前提条件是一样的,不难看出来,NI值变成了-20,说明NI值是覆盖原来的值,但是PRI并不是我们预期的79,而是60。原因是每次调整优先级的NI值都是在默认的PRI值80上做加减


  • 为什么要让优先级的修改受限?

        操作系统中,存在很多必要的常规进程,如果进程的优先级可以无限大,必然会造成多数用户进程的优先级常规进程的优先级高,导致常规进程获取资源的优先度下降,造成系统卡顿。

        而把一个进程获取资源优先度不高的情况称为进程饥饿。 

二、Linux调度与切换

1.背景

  • CPU在执行一个进程的时候,是直接一次性把代码跑完吗?

        不是,现代操作系统设计的CPU执行代码,都是基于时间片轮转执行的。假设时间片大小是1ms,那么一个进程在CPU上执行1ms后,CPU会马上开始执行另外一个进程。

  1. 竞争性:系统进程数目众多,而CPU资源少量,甚至只有一个,所以进程之间是具有竞争性的,为了高效完成任务,合理竞争相关资源,便有了优先级。而为了保证优先级,便设计了调度器基于时间片轮转执行每一个进程
  2. 独立性:进程之间具备独立性,多个进程运行期间互不影响,这种不影响指的是一个进程不影响另一个进程的执行。
  3. 并行:多个进程在多个CPU下,同时运行,称为并行。
  4. 并发:多个进程在一个CPU下,通过高频进程切换的方式,让多个进程都得以推进运行,称为并发。

        如今多数人的个人电脑都只有一个CPU,因此多个进程之间是并发运行,如果把时间精确到CPU的一个时间单元上,那么CPU在这个时间单元上执行的指令是确定的只有一条,而用户感知到的是我们的电脑可以打游戏的同时听音乐,原因就在于我们的CPU非常快!!!(多核其实就是CPU内部有一个控制器,多个运算器)

2.进程切换

        CPU有一个运行队列,CPU要轮转切换多个进程。

  • CPU内部有大量寄存器,这些寄存器的种类不一。
  • 进程A正在CPU上被执行时,该时间片内,寄存器上会产生许多临时数据,这些临时数据是和当前的进程A相关的,这些大量临时数据称为进程的硬件上下文
  • 时间片结束,CPU要执行下一个进程B,在此之前,要把寄存器的数据拷贝到进程A的PCB内部(也有部分数据拷贝到了其他地方),这个过程称为保护上下文
  • CPU开始执行进程B,那么就有两种情况,如果进程B是首次被调度,那么进程B直接开始执行,在执行期间所产生大量临时数据直接覆盖寄存器原来的数据。如果进程B是非首次被调度,那么进程B会先把PCB保存的数据恢复到寄存器中,然后开始执行。这个过程称为恢复上下文。

        CPU的寄存器只有一套,但是寄存器要处理的数据有多套,这些大量临时数据不属于寄存器,而是属于进程!!!

http://www.yidumall.com/news/56649.html

相关文章:

  • 佛山门户网站建设世界杯最新排名
  • 列举常用动态网站开发技术seo站长
  • 百度上找不到网站竞价是什么工作
  • 广东哪家网站建宁波seo教程app推广
  • 大连个人做网站2023b站推广大全
  • 黄石做网站要多少钱中国企业网官方网站
  • 有没有便宜的注册代理如何优化网络连接
  • 制作网站的过程细节百度识图官网
  • 延安网站建设推广微信网站湖南seo优化公司
  • 有谁做过网站建设品牌策划方案怎么写
  • 在百度上做网站怎么做长沙网络营销学校
  • 个人建网站要花多少钱bt种子万能搜索神器
  • 滨州网站建设 远洋科技排名优化公司
  • 老域名查询网站seo去哪个网站找好
  • 免费网站建设教程百度seo优化规则
  • 郑州web网站建设公司怎么制作网站?
  • 网站优化的常见问题外汇交易平台
  • 有必要自建网站做导购吗刷百度关键词排名优化
  • 如何做微信朋友圈网站株洲发布最新通告
  • wordpress dux主题设置首页网站手机版排名seo
  • 为什么要建设应急管理网站有什么可以做推广的软件
  • 那些网站可以做h5沈阳seo排名收费
  • 不懂代码如何做网站百度搜索引擎seo
  • 正规的网站制作在哪里搜索引擎优化的主要手段
  • 在线酒店预定网站制作电子商务网站建设流程
  • 有什么网站可以做初中试题上海网站制作推广
  • 长沙优化网站哪家公司好百度推广网址
  • 国外做网站推广银川网站seo
  • html简单网页成品主题班级优化大师免费下载app
  • 政府部门网站建设对比方案网络软文范例