Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

sched.h(3head) [debian man page]

sched.h(3HEAD)                                                        Headers                                                       sched.h(3HEAD)

NAME
sched.h, sched - execution scheduling SYNOPSIS
#include <sched.h> DESCRIPTION
The <sched.h> header defines the sched_param structure, which contains the scheduling parameters required for implementation of each sup- ported scheduling policy. This structure contains the following member: int sched_priority process execution scheduling priority Each process is controlled by an associated scheduling policy and priority. Associated with each policy is a priority range. Each policy definition specifies the minimum priority range for that policy. The priority ranges for each policy may overlap the priority ranges of other policies. The scheduling policies are indicated by the values of the following symbolic constants: SCHED_FIFO Processes are scheduled according to the First-In-First-Out (FIFO) policy. Processes scheduled to this policy, if not pre- empted by a higher priority or interrupted by a signal, will proceed until completion. SCHED_RR Processes are scheduled according to the Round-Robin (RR) policy. Processes scheduled to this policy, if not pre-empted by a higher priority or interrupted by a signal, will execute for a time period, returned by sched_rr_get_interval(3RT) or by the system. SCHED_IA Processes are scheduled according to the Inter-Active Class (IA) policy as described in priocntl(2). SCHED_OTHER Processes are scheduled according to another policy not described above. The values of these constants are distinct. Inclusion of the <sched.h> header will make visible symbols defined in the header <time.h>. SEE ALSO
priocntl(2), sched_rr_get_interval(3RT), time.h(3HEAD) SunOS 5.10 4 Oct 2001 sched.h(3HEAD)

Check Out this Related Man Page

sched_setscheduler(3)					     Library Functions Manual					     sched_setscheduler(3)

NAME
sched_setscheduler - Sets the scheduling policy and scheduling parameters of the specified process (P1003.1b) LIBRARY
Realtime Library (librt.so, librt.a) SYNOPSIS
#include <sched.h> int sched_setscheduler ( pid_t pid, int policy, const struct sched_param *param); PARAMETERS
pid Specifies the ID of the process for which scheduling policy and priority is to be set. If pid is zero, the scheduling policy and priority is set for the calling process. policy Specifies the scheduling policy to be set (SCHED_FIFO, SCHED_RR, or SCHED_OTHER). *param Specifies a pointer to a sched_param structure, which contains the scheduling parameters of the specified process. Currently, the sched_param structure contains only a priority field. The value of priority in the param structure indicates the priority level. DESCRIPTION
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. At run time, a process starts out with an initial priority of SCHED_PRIO_USER_MAX. A call to either the sched_setparam or sched_setsched- uler function can raise or lower the priority of a process. If you raise the priority higher than the initial priority, the new priority becomes the maximum for the process. This higher maximum priority exists for the life of the process or until the priority is set to a new, higher priority through another call to the sched_setparam function. The maximum priority cannot be adjusted downward, but subsequent calls to the sched_setparam or sched_setscheduler functions can specify that a process run at a lower priority. Three scheduling policies are supported: two fixed-priority scheduling policies (SCHED_FIFO and SCHED_RR) and one timesharing policy (SCHED_OTHER). Under a fixed-priority scheduling policy, only the user sets and adjusts process priorities. Under a timesharing scheduling policy, the scheduler automatically adjusts priorities according to system resource usage and other factors. The scheduling policies supported by the realtime interface are as follows: SCHED_FIFO Specifies a fixed-priority, first in-first out (FIFO) scheduling policy. Processes waiting at a specific priority level are selected from a process list that is ordered by the amount of time the processes have been on the process list without being executed. Generally, the process at the head of the list has waited the longest time; the process at the tail of the list has waited the shortest time. SCHED_RR Secifies a fixed-priority, round-robin (RR) scheduling policy. Processes waiting at a specific priority level are scheduled in much the same way as for SCHED_FIFO, scheduling with the additional condition that the length of time that a process executes is subject to a quantum. SCHED_OTHER Specifies the standard timesharing scheduling policy. Processes are scheduled in much the same way as for the SCHED_FIFO scheduling policy with the additional condition that the scheduler adjusts process priorities. Recalculation of process pri- orities results in preemption. Setting priorities in conjunction with a FIFO scheduling policy allows a critical process to run as soon as it is ready, for as long as it needs to run, because it will preempt other, lower-priority processes. This behavior is important in situations where scheduling a process must be as fast and as precise as possible. Use the sched_get_priority_max and sched_get_priority_min functions to determine the maximum and minimum values allowed for each scheduling policy. The value of the priority field in the sched_param structure pointed to by param can be any integer within the inclusive range for the current scheduling policy, as defined in <sched.h>. Higher numerical values for param represent higher priorities. The scheduling policy of a process is inherited across fork and exec calls. An application designed for portability must initialize all fields of the sched_param structure before making the function call. You must have superuser privileges to call the sched_setscheduler function. RETURN VALUES
On a successful call to sched_setscheduler, the former scheduling policy of the process is returned. On an unsuccessful call, a value of -1 is returned and errno is set to indicate that an error occurred and that the scheduling policy and parameters of the specified process are unchanged. ERRORS
The sched_setscheduler function fails under the following conditions: [EINVAL] An invalid value is specified for the policy argument or the param pointer is NULL. [EPERM] The requesting process does not have permission to set either the priority or the scheduling policy of the specified process. [ESRCH] No process can be found corresponding to that specified by pid. RELATED INFORMATION
getpid(2), sched_getparam(3), sched_getscheduler(3), sched_setparam(3) Guide to Realtime Programming delim off sched_setscheduler(3)
Man Page