21、Linux 系统高级进程管理与实时系统解析

Linux 系统高级进程管理与实时系统解析

1. I/O 优先级

Linux 除了调度优先级,还允许进程指定 I/O 优先级,该值会影响进程 I/O 请求的相对优先级。内核的 I/O 调度器会优先处理 I/O 优先级高的进程请求。

默认情况下,I/O 调度器使用进程的 nice 值来确定 I/O 优先级,设置 nice 值会自动改变 I/O 优先级。不过,Linux 内核还提供了两个系统调用用于独立设置和获取 I/O 优先级:

int ioprio_get (int which, int who)
int ioprio_set (int which, int who, int ioprio)

遗憾的是,glibc 未为这些系统调用提供用户空间接口,使用起来较为繁琐。在有支持之前,可通过 nice 值或 ionice 实用工具(属于 util - linux 包)来操作进程的 I/O 优先级。

并非所有 I/O 调度器都支持 I/O 优先级,例如完全公平排队(CFQ)I/O 调度器支持,而其他标准调度器目前不支持,若当前调度器不支持,I/O 优先级会被忽略。

2. 处理器亲和性

Linux 支持单系统中使用多个处理器,除启动过程外,支持多处理器的大部分工作由进程调度器承担。在多处理机上,调度器需决定每个 CPU 运行哪些进程,这带来两个挑战:
- 充分利用所有处理器,避免一个 CPU 空闲而进程等待运行。
- 尽量让进程在同一 CPU 上运行,因为进程在处理器间迁移有成本,主要是缓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值