sched_getscheduler(3) — Subroutines
Digital
NAME
sched_getscheduler − return the scheduling policy of a process (P1003.4/D10)
SYNOPSIS
#include <sched.h>
int sched_getscheduler (
pid_t pid) ;
PARAMETERS
pid The ID of the process for which the scheduling policy is obtained. If pid is zero, the scheduling policy of the calling process is obtained.
DESCRIPTION
The sched_getscheduler function returns the current scheduling policy of a process. The values that can be returned are defined in the header file <sched.h>.
The sched_setscheduler function changes the scheduling policy and priority of a process. Changing the scheduling policy and priority ensures that an application can determine more effectively when a process will run.
The realtime scheduling policies are as follows:
•SCHED_FIFO − specifies the first-in, first-out (FIFO) scheduling policy
•SCHED_RR − specifies the round-robin scheduling policy
•SCHED_OTHER − specifies the standard timesharing scheduling policy
The SCHED_FIFO and SCHED_RR scheduling policies are fixed-priority scheduling policies. You can specify a priority for your process and the scheduler will not adjust it. Setting priorities, in conjunction with a SCHED_FIFO scheduling policy, allows a critical process to run as soon as it is ready, for as long as it needs to run because the process will preempt other lower priority processes.
The round-robin scheduling policy is similar to first in-first out, but also imposes a quantum on execution time. Use the sched_get_rr_interval function to determine the current quantum for process execution under the SCHED_RR scheduling policy.
The scheduler adjusts process priorities running under the timesharing scheduling policy.
No special privileges are needed to use the sched_getscheduler function.
RETURN VALUES
On a successful call to sched_getscheduler the scheduling policy of the process is returned. The call returns 0 if there is no error. If there is an error, −1 is returned and errno
is set to indicate the error.
ERRORS
The sched_getscheduler function fails under the following conditions:
[EPERM] The requesting process does not have permission to determine the scheduling policy of the specified process.
[ESRCH] No process can be found corresponding to that specified by pid.
[ENOSYS] P1003.4/D10 priority scheduling is not configured in this implementation. Refer to the DEC OSF/1 Realtime Installation Guide for information on how to install the realtime software.
RELATED INFORMATION
getpid(2), sched_get_sched_param(3), sched_setscheduler(3), sched_set_sched_param(3)