Menu
Woocommerce Menu

基于版本4,win10双系统开机系统引导

0 Comment


问题六:CFS调度器中的min_vruntime有什么作用?

 

同时也可以用msconfig设置

  runnable_avg_yN_inv表是为了避免CPU做浮点计算,提前计算了公式2^32*实际衰减因子(第32ms约为0.5)的值,有32个下标,对应过去0~32ms的负载贡献的衰减因子。

 

 

  load_avg_contrib=runnable_avg_sum*weight/runnable_avg_period。

-v  显示详细的处理信息

银河国际网址手机版 1银河国际网址手机版 2

问题十:如果一个普通进程在就绪队列里等待了很长时间才被调度,那么它的平均负载该如何计算?

-c  显示最后c个字符

bcdedit管理工具  管理员运行命令提示符可以看到当前启动选项

问题七:CFS调度器对新创建的进程和刚唤醒的进程有何关照?

1)插入模式

 

  vruntime=(delta_exec*nice_0_weight)/weight。其中,delta_exec为实际运行时间,nice_0_weight为nice为0的权重值,weight表示该进程的权重值。在update_curr()函数中,完成了该值的计算,此时,为了计算高效,将计算方式变成了乘法和移位vruntime=(delta_exec*nice_0_weight*inv_weight)>>shift,其中inv_weight=2^32/weight,是预先计算好存放在prio_to_wmult中的。

27.gunzip
| 解压缩

 银河国际网址手机版 3

建议阅读博文理解linux
cfs调度器

-w<字符位置>或–check-chars=<字符位置>:指定要比较的字符。

银河国际网址手机版 4

  runnable_avg_sum为调度实体的可运行状态下总衰减累加时间。

-num/-n (-)num  
   显示最后num行内容

win+R打开运行 里面输入 msconfig  win7设置成默认启动

问题八:如何计算普通进程的平均负载load_avg_contrib?runnable_avg_sum和runnable_avg_period分别表示了什么含义?

23.locate
| 通过搜寻数据库快速搜寻档案

安装一个easybcd
然后里面添加引导选项(添加新条目—->编辑引导菜单(选择倒计时30秒)把use metro
bootloader勾去掉就是默认的Windows启动管理器了—>我的电脑–属性–高级系统设置—启动和故障恢复—默认操作系统设置为win7即可)

  prio_to_weight表记录的是nice值对应的权重值。

-a
 将档案的所有特性都一起复制

银河国际网址手机版 5银河国际网址手机版 6

  调度器是按一定的方式对进程进行调度的一种机制,需要为各个普通进程尽可能公平地共享CPU时间。

-b t
空行则不列行号(默认) 

以win7启动管理器引导作为启动引导

  runnable_avg_sum越接近runnable_avg_period,则平均负载越大,表示该调度实体一直在占用CPU。

  「#yy」:例如,「6yy」表示拷贝从光标所在的该行”往下数”6行文字。

  对于新创建的进程,需要加上一个调度周期的虚拟是时间(sched_vslice())。首先在task_fork_fair()函数中,place_entity()增加了调度周期的虚拟时间,相当于惩罚,se->vruntime=sched_vslice()。接着新进程在添加到就绪队列时,wake_up_new_task()->activate_task()->enqueue_entity()函数里,se->vruntime+=cfs_rq->min_vruntime。

 
 -f filename
-f 后面要立刻接要被处理的档名!

  对于睡眠进程,其vruntime在睡眠期间不增长,在唤醒后如果还用原来的vruntime值,会进行报复性满载运行,所以要修正vruntime,具体在enqueue_entity()函数中,计算公式为vruntime+=min_vruntime,vruntime=MAX(vruntime,
min_vruntime-sysctl_sched_lantency/2)。

 
 灰色:表示其它文件

  创建新进程,加入就绪队列,调度tick等都会更新当前vruntime值。

root管理员动作:

问题九:内核代码中定义了若干个表,请分别说出它们的含义,比如prio_to_weight、prio_to_wmult、runnable_avg_yN_inv、runnable_avg_yN_sum。

-l
filename 报告行数

《奔跑吧linux内核》3.2笔记,不足之处还望大家批评指正

-A
 通-a,但不列出”.”和”..”

  min_vruntime在CFS就绪队列数据结构中,单步递增,用于跟踪该就绪队列红黑树中最小的vruntime。

主选项:

  内核使用0~139的数值表示进程的优先级,数值越低优先级越高。优先级0~99给实时进程使用,100~139给普通进程使用。在用户空间由一个传统的变量nice值映射到普通进程的优先级(100~139)。

 
 蓝色:表示目录

  prio_to_wmult表记录的是nice值对应的权重值倒转后的值inv_weight=2^32/weight。

-s
 只显示总和的大小

  4种调度类通过next指针串联在一起,用户空间程序可以使用调度策略API函数(sched_setscheduler())来设定用户进程的调度策略。

-k
 选择以哪个区间进行排序。

   一个进程等待很长时间之后(过了很多个period),原来的runnable_avg_sum和runable_ave_period值衰减后可能变成0,相当于之前的统计值被清0。

 
     FIFO (p)

问题二:请简述进程优先级、nice和权重之间的关系。

 

  runnable_avg_yN_sum表为1024*(y+y^2+…+y^n),y为实际衰减因子,n取1~32。(实际衰减因子下图所示)

85.crontab
| 定时任务调度

  CFS调度器抛弃以前固定时间片和固定调度周期的算法,采用进程权重值的比重来量化和计算实际运行时间。引入虚拟时钟的概念,每个进程的虚拟时间是实际运行时间相对nice值为0的权重的比例值。进程按照各自不同的速率比在物理时钟节拍内前进。nice值小的进程,优先级高且权重大,其虚拟时钟比真实时钟跑得慢,但是可以获得比较多的运行时间;反之,nice值大的进程,优先级低,权重也低,其虚拟时钟比真实时钟跑得快,获得比较少的运行时间。CFS调度器总是选择虚拟时钟跑得慢的进程,类似一个多级变速箱,nice值为0的进程是基准齿轮,其他各个进程在不同变速比下相互追赶,从而达到公正公平。

回车
 :返回主目录

  O(1)调度器用于Linux2.6.23内核之前,它为每个CPU维护一组进程优先级队列,每个优先级一个队列,这样在选择下一个进程时,只要查询优先级队列相应的位图即可知道哪个队列中有就绪进程,查询时间常数为O(1)。

67.unset
删除一个环境变量

问题五:vruntime是何时更新的?

-c
:将压缩的过程产生的数据输出到屏幕上!

  进程大致可以分为交互式进程批处理进程实时进程。对于不同的进程采用不同的调度策略,目前Linux内核中默认实现了4种调度策略,分别是deadline、realtime、CFS和idle,分别适用struct
sched_class来定义调度类。

d
  删除

问题三:请简述CFS调度器是如何工作的。

-t
 根据文件修改时间排序

  nice值从-20~19,进程默认的nice值为0。这可以理解为40个等级,nice值越高,则优先级越低,反之亦然。(nice每变化1,则相应的进程获得CPU的时间就改变10%)。

-B
  指定搜索可执行文件的路径。

银河国际网址手机版 7
实际衰减因子

或者
 

  权重信息即为调度实体的权重,为了计算方便,内核约定nice值为0的权重值为1024,其他的nice值对应相应的权重值可以通过查表的方式来获取,表即为prio_to_weight。

  按「ctrl」+「f」:屏幕往”前”移动一页。

  O(N)调度器发布与1992年,从就绪队列中比较所有进程的优先级,然后选择一个最高优先级的进程作为下一个调度进程。每一个进程有一个固定时间片,当进程时间片使用完之后,调度器会选择下一个调度进程,当所有进程都运行一遍后再重新分配时间片。这个调度器选择下一个调度进程前需要遍历整个就绪队列,花费O(N)时间。

70.ulimit
限制使用者的某些系统资源

  runnable_avg_period记录的是上一次更新时的总周期数(一个周期是1024us),即调度实体在调度器中的总衰减累加时间。

 

问题四:CFS调度器中的vruntime是如何计算的?

  「#X」:例如,「20X」表示删除光标所在位置的”前面”20个字符。

问题一:请简述对进程调度器的理解,早起Linux内核调度器(包括O(N)和O(1))调度器是如何工作的?

date
+%Y%m%d –date=”+1 day/month/year”  //显示前一天/月/年的日期

-L
 冻结密码

-n number  
若number为负数,则显示除最后number行数据的所有内容

-n
 后面接天数,shadow 的第 4 字段,多久不可修改密码天数

date
+%Y%m%d –date=”-1 day/month/year”  //显示后一天/月/年的日期

95.paste
合并文件,需确保合并的两文件行数相同

-r
  以相反的顺序来排序。

24.find
find [PATH] [option] [action] |
在文件树种查找文件,并作出相应的处理

-h
 文件大小友好显示

-g
 后面接初始群组,修改 /etc/passwd 的第四个字段,亦即是GID的字段!

 
 eg:

第1个指定了用户名,命令执行后需要输入用户密码;
 

-s
 生成快捷方式

79.kill
[参数] [进程号] | 杀死进程

55.groupdel
[groupname] | 删除群组

-c  只输出匹配行的计数。

 
 -v  在压缩/解压缩的过程中,将正在处理的文件名显示出来!

-a  显示同一终端下的所有程序

-s
 (默认)星期天为第一天

%M
分钟(以00-59来表示)。 

 
 -t  察看打包档案的内容含有哪些档名,重点在察看『档名』就是了;

61.sort

或者
 

usage: rcp –r remote_hostname:remote_dir local_dir

-M  不建立用户家目录!(系统账号默认值)

72.du
[选项] [文件] | 显示每个文件和目录的磁盘使用空间

-H
 显示树状结构

86.ifconfig
[网络设备] [参数] | 查看和配置网络设备

38.wall
给所有登录再本机的用户发消息

 

16.less
| 可前后移动地逐屏查看文章内容,在查看前不会加载整个文件

48.chage
[-ldEImMW] 账号名 | 修改用户密码的相关属性

 

-l  只显示文件名

-g
 修改既有的 GID 数字

11.rm
[选项] 文件… | 一个或多个文件或目录

9)跳至指定的行

 
 -perm +mode :搜寻档案权限『包含任一 mode 的权限』的档案,举例来

 
 从 远程 复制到 本地

-p 除了不显示.plan文件和.project文件以外,与-l选项相同

2.mv
[选项] 源文件或目录 目录或多个源文件 | 移动或重命名文件

 

file  
 载入crontab

-s<字符位置>或–skip-chars=<字符位置>:忽略比较指定的字符;

 
 解压缩:tar -jxvf filename.tar.bz2 -C 欲解压缩的目录

-o<输出文件>  
将排序后的结果存入指定的文件。

 
 -name filename:搜寻文件名为 filename 的档案(可使用通配符)

29.bzcat
读取数据而无需解压

-s
 按行合并,单独一个文件为一行

-r  建立一个系统的账号,这个账号的 UID 会有限制 

-r
 删除文件夹

-G
 后面接次要群组,修改这个使用者能够支持的群组

 
 按「i」切换进入插入模式「insert mode」,按”i”进入插入模式后是从光标当前位置开始输入文件;

 

-u
 后面接 UID 数字啦!即
/etc/passwd 第三栏的资料;

 

?
  字符串:向上搜索“字符串”的功能

银河国际网址手机版,%U
该年中的周数。

 

-r
 将列出的目录及其子目录递归删除

 
 从 本地 复制到 远程

-k
 :保留源文件

 
 -t time [[CC]YY]MMDDhhmm[.SS],C:年前两位

33.shutdown
-h now

-d
 进行解压缩

93.awk

-i
声明为整数

-e
 后面接日期,格式是 YYYY-MM-DD 也就是在 /etc/shadow
内的第八个字段数据啦!

 
 -exec command :command 为其他指令,-exec 后面可再接额外的指令来处理搜寻到的结果。

 
     -M  将某些账号加入这个群组当中

群组管理员动作:

 
 红色:表示压缩文件

15.more
| 按页查看文章内容,从前向后读取文件,因此在启动时就加载整个文件

 

或者
 

64.set
显示环境变量和普通变量 

-v
 显示执行过程

scp
local_file remote_username@remote_ip:remote_file  

-r
-R 递归复制该目录及其子目录内容

 

4.
额外可进行的动作:

-l
 后面接账号名称。亦即是修改账号名称, /etc/passwd 的第一栏!

 

-q
 只显示最后的结果

-c
 将压缩的数据输出到屏幕上

-c
 清屏再显示

第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名
  

77.ps
| 列出当前进程的快照

-t<分隔字符>  
指定排序时所用的栏位分隔字符。

-j
 显示当月是一年中的第几天的日历

30.tar
[主选项+辅选项] 文件或者目录 |
多个目录或档案打包、压缩成一个大档案

 

-m  自定义创建目录的权限
 eg:mkdir -m 777 hehe

-h
 不显示各栏位的标题信息列。

 
 -mtime -n :列出在 n 天之内(含
n 天本身)被更动过内容的档案档名。

 

(1)
复制文件:  

63.uniq
去除文件中相邻的重复行

3)移动光标

45.useradd
[-u UID] [-g 初始群组] [-G 次要群组] [-c 说明栏] [-d
家目录绝对路径] [-s shell] 使用者账号名 | 新增用户

89.netstat
| 显示与IP、TCP、UDP和ICMP协议相关的统计数据

 
 按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

-l  列出该账号的详细密码参数;

-m  后面接天数,修改 shadow 第四字段(密码最短保留天数)

:w filename
将文章以指定的文件名保存起来  

 

31.exit
退出当前shell 

– :返回上层目录

73.ln
[参数] [源文件或目录] [目标文件或目录] |
某一个文件在另外一个位置建立一个同步的链接

-e  遇到转义字符特殊处理
 

T
  显示当前终端的所有程序

-v
 详细显示输出的具体情况

-f
 后面接天数为 shadow 的第七字段。

 

-i
 不检查大小写

使用管道刘设置密码:echo “zeng” |
passwd –stdin zenghao

10.rmdir
删除空目录

-d或–repeated:仅显示重复出现的行列;

-E
 在结束行提示$

  按「ctrl」+「d」:屏幕往”前”移动半页。

 
     -A  将 groupname 的主控权交由后面的使用者管理(该群组的管理员)

+/String
   搜寻String字符串位置,从其前两行开始查看

n
  重复前一个搜索(与 / 或 ? 有关)

e  
显示环境变量

第2个没有指定用户名,命令执行后需要输入用户名和密码;

-u  与-l相对,用户解锁

 

-f
 删除不提示

 
 -gpasswd [-A
user1,…] [-M
user3,…] groupname

 
     k:
代表 1024bytes。所以,要找比 50KB还要大的档案,就是『 -size +50k 』

-b 

 
 -p  保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件

-i
 如存在则询问是否覆盖

90.telnet
[参数] [主机] | 用于远程登录,采用明文传送报文,安全性不好

辅选项:

  「yy」:复制光标所在行到缓冲区。

97.sudo
| 以特定用户的权限执行特定命令

-b
  定位可执行文件。

 

28.bzip2
| 压缩、解压缩

{}
 要执行的脚本内容 eg:cat /etc/passwd
|awk  -F ‘:’  ‘{print
$1″”$7}’

eg: diff a b >
parch.log 比较两个文件的不同并产生补丁

  vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。

标签:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图