linux操作系统原理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux操作系统原理相关的知识,希望对你有一定的参考价值。
linux:进程抢占,根据时间中断抢占
系统时钟:内部时钟频率,产生时钟中断
tick:时间解析度,中断次数Hz
100Hz 每秒100次时间中断
1000Hz
每次滴答都会产生可抢的时钟中断
A:5ms, 1ms
C:
进程类别:
交互式进程(I/O)
批处理进程(CPU)
实时进程(Real-time),立即响应,优先级最高
CPU密集型(批处理进程):时间片长,优先级低
IO密集型(交互式进程):时间片短,优先级高
[[email protected] ~]# ps -e -o class,rtprio,nice,pri,nice,cmd
CLS RTPRIO NI PRI NI CMD
TS (other) - 0 19 0 /sbin/init
TS - 0 19 0 [kthreadd] 凡是加了括号的都为内核线程
FF (fifo) 99 - 139 - [migration/0]
TS - 0 19 0 [ksoftirqd/0]
FF 99 - 139 - [migration/0]
Liunx优先级:priority
实时优先级:1-99,数字越小,优先级越低
静态优先级:100-139,数字越小,优先级越高
nice值 -20到19,对应100到139,nice值为0对应的为120,默认为0
实时优先级毕静态优先级高
nice值:调整静态优先级
调度类别;
实时进程:
SCHED FIFO:first in first out 调度fifo的进程
SCHED_RR: round robin 调度rr的实时调度进程
SCHED_Other:专门用来调度用户空间进程的,100-139之间的进程
红帽6上多2个:
SCHED_BATCH 调度批处理进程
SCHED_IDLE 调度空闲进程
动态优先级:
临时性的调高优先级,主要对100-139的进程,对用户空间进程,长时间没有获得时间片或长时间获得时间片,进行调整
dynamic priority = max (100,min ( static priority - bonus + 5,139)) 动态优先级等于 从100和 min ( static priority - bonus + 5,139)中取最大数
bonus(范围-10到10)
比如110的优先级 惩罚3级的措施后
110-(-3)+5 =118
等于118
手动调整进程优先级:
100-139 :nice值
nice N COMMAND
renice -n 指定新的nice值 指定PID号
1-99:
chrt:
-p 指定PID
-f 指定fifo类别
-r 指定 rr类别
-b 指定批处理进程
-i 空闲进程
chrt -f -p [prio] PID 调整fifo的优先级
chrt -r -p [prio] PID 调整rr的优先级
chrt -f -p [prio] COMMAND 启动命令时指定优先级
ps -e -o class,rtprio,nice,pri,nice,cmd 查看命令
chrt -p [prio] COMMAND 调整100-139进程的优先级
本文出自 “运维成长路” 博客,谢绝转载!
以上是关于linux操作系统原理的主要内容,如果未能解决你的问题,请参考以下文章