[Return to Top] [Kernel Objects]

EROS Object Reference

Kernel Objects

Schedule Creator

D R A F T

Description

The Schedule Creator key conveys the authority to create and modify processor reserves. Its holder is able to alter the scheduling attributes of any process, and is necessarily part of the trusted computing base.

A more complete discussion of the EROS scheduling mechanism can be found on the Scheduling page of the concepts section.

The schedule creator key is not rescindable.


Operations

Check Alleged Key Type (OC = KT)

Returns the alleged type of the key.
ReplyR1AKT_SchedCre: Key is a schedule creator key

Get Max Reserve (OC = 1)

Returns the number of kernel reserve structures.
ReplyWThe number of reserves supported by this kernel image. Reserves 0..15 are assumed to correspond to processes having no capacity reserve running at priorities 0 through 15 respectively.
ResultRC_OKSuccess. The returned offset is the offset of the object within the range.

Get Reserve Information (OC = 3)

Retrieves the active and inactive priorities for this schedule.

RequestWThe reserve to be fetched.
ReplyWThe index of the reserve.
LThe period of this reserve, in milliseconds.
LThe duration of this reserve, in milliseconds.
LThe scheduling quanta of this reserve, in milliseconds.
LThe start time for this reserve, in milliseconds.
IThe priority under which threads should run when this reserve is active.
IThe priority under which threads should run when this reserve is inactive.
ResultRC_OKSuccess. The returned record contains information concerning this reserve.
RC_RequestErrorThe specified reserve index exceeded the number of reserves supported by this kernel.

Set Reserve Information (OC = 4)

Sets the active and inactive priorities for this schedule.

RequestWThe index of the reserve to be modified.
LThe period of this reserve, in milliseconds.
LThe duration of this reserve, in milliseconds.
LThe scheduling quanta of this reserve, in milliseconds.
LThe start time for this reserve, in milliseconds.
IThe priority under which threads should run when this reserve is active.
IThe priority under which threads should run when this reserve is inactive.
ResultRC_OKSuccess. The provided values have been set. The reserve is deactivated.
RC_RequestErrorThe specified reserve index exceeded the number of reserves supported by this kernel, or corresponded to a strict priority reserve, or the specified active priority was less than 16.


Copyright 1998 by Jonathan Shapiro. All rights reserved. For terms of redistribution, see the GNU General Public License