我正在学习 Linux 进程调度程序并一直在阅读 pthread_setsched 函数:https ://man7.org/linux/man-pages/man3/pthread_setschedparam.3.html
让我感到惊讶的一件事是允许线程修改自己的优先级/类。我可以看到这对于配置某些多线程应用程序(例如生产者和消费者)有什么意义,但是,任何进程都可以请求设置自己的优先级,这似乎是一个系统稳定性风险。是什么阻止了我的 helloworld.out 以最高优先级请求 SCHED_FIFO?这可能会完全锁定系统。
那么有哪些机制可以防止进程完全控制调度程序呢?似乎可以设置系统错误 EPERM,但是,这是在哪里配置的?