Linux进程时间片的分配(调度策略和参数)
2016-03-06 16:32
363 查看
在多进程系统中,多个进程“同时”运行,这里并不是真正意义上的同时运行,而是多个进程在时间片上面交换运行(每个进程运行一个时间片,然后切换到下一个时间片运行)。
1.调度策略和参数
在Linux系统中,对于每个进程,需要设定一个相应的调度策略和参数,在系统中,处理多进程的方式为“抢占”式的(一个进程使用CPU直至系统抢占CPU给另一个进程使用)
设定和获取进程的调度策略和参数调用如下函数:
#incldude<sched.h>
int sched_setscheduler(pid_t pid,int policy,const struct sched_param *param);
int sched_getscheduler(pid_t pid);
sched_setscheduler
设置进程调度策略和参数
sched_getscheduler
获取进程调度策略和参数
pid 设置的进程ID
policy 所设置的调度策略
SCHED_OTHER
默认的调度策略,按通常方法分配时间片
SCHED_FIFO 对应于先进先出的规则,实时分配时间片
SCHED_RR 轮换规则,实时分配时间片,也可以抢占使用SCHED_OTHER的进程
param 是sched_param的指针,用于保存进程的调度参数
sched_setscheduler调用成功时,返回值为0;失败时,返回值为-1;
sched_getscheduler调用成功时,返回值为一个非负数;失败时,返回值为-1;
1.调度策略和参数
在Linux系统中,对于每个进程,需要设定一个相应的调度策略和参数,在系统中,处理多进程的方式为“抢占”式的(一个进程使用CPU直至系统抢占CPU给另一个进程使用)
设定和获取进程的调度策略和参数调用如下函数:
#incldude<sched.h>
int sched_setscheduler(pid_t pid,int policy,const struct sched_param *param);
int sched_getscheduler(pid_t pid);
sched_setscheduler
设置进程调度策略和参数
sched_getscheduler
获取进程调度策略和参数
pid 设置的进程ID
policy 所设置的调度策略
SCHED_OTHER
默认的调度策略,按通常方法分配时间片
SCHED_FIFO 对应于先进先出的规则,实时分配时间片
SCHED_RR 轮换规则,实时分配时间片,也可以抢占使用SCHED_OTHER的进程
param 是sched_param的指针,用于保存进程的调度参数
sched_setscheduler调用成功时,返回值为0;失败时,返回值为-1;
sched_getscheduler调用成功时,返回值为一个非负数;失败时,返回值为-1;
相关文章推荐
- linux 内核驱动开发
- Linux下 RabbitMQ的安装与配置-3
- linux 内核编译
- linux内核分析 第二周
- linux 最常用的安全措施
- Linux内核分析——操作系统进程调度
- Unix与Linux的历史
- linux内核分析作业:操作系统是如何工作的进行:完成一个简单的时间片轮转多道程序内核代码
- SRAM、SDRAM、nor flash、nand flash理解以及uboot在nor flash和nand flash启动
- linux经常使用命令:打包、复制等
- Linux 用户管理
- linux 查看端口号占用情况
- 操作系统是如何工作的--------Linux 实验二
- Linux内核第二节
- linux SSH互信配置详解
- 在CentOS上源码安装MySQL+安装问题解决+安全优化
- 在CentOS上源码安装MySQL+安装问题解决+安全优化 推荐
- linux(ubuntu)sudoers权限错误导致sudo无法使用
- 利用linuxkernel构建一个精简版的操作系统内核
- Linux是如何启动的