Los distintos tipos de recursos que pueden asociarse a un Shuttle se denominan propiedades de shuttles en Off. Candidatos a propiedades son pues espacios de direcciones, niveles de privilegio, etc. Las propiedades tienen valores de tal modo que el valor de una propiedad identifica un recurso (o valor) de un tipo de recurso (o propiedad) necesario para la ejecución de un Shuttle. Así, el espacio de direcciones en que ejecuta un Shuttle viene identificado por el valor de la propiedad ``virtual address space''. En lo que respecta a la implementación de los shuttles, una propiedad es, en efecto, el conjunto de valores posibles que puede adoptar. Podría pensarse que las propiedades son registros virtuales que extienden el estado del procesador.
En tiempo de arranque, existen algunas propiedades que siempre define el sistema. Otras sólo se definen opcionalmente, también en tiempo de arranque. En cualquier caso los usuarios pueden definir aún más una vez completo el arranque del sistema.
Las propiedades definidas por el sistema son:
. Indica si el shuttle está preparado para
ejecutar o, por el contrario no debe hacerlo (debido a razones
conocidas por el usuario que utiliza dicho shuttle como, por
ejemplo, debido a que el usuario está alterando el contenido de los
registros de procesador del shuttle,...). También especifica si
la ejecución del shuttle debería efectuarse en modo de traza. Nótese
que cuando hablamos de estado de ejecución nos referimos únicamente
a cómo deben los procesadores considerar el shuttle de cara a su
posible ejecución; no hablamos de estados de planificación (listo,
bloqueado, ejecutando, expulsado de memoria, etc.) que
corresponderían a las abstracciones implementadas por el SO que
ejecuta sobre Off.
esta
propiedad identifica el espacio de E/S (conjunto de puertos en que
puede hacerse E/S) en el que opera el shuttle.
Los usuarios son libres de definir dinámicamente, en cualquier momento de la vida del sistema, otras propiedades cualesquiera como podrían ser:
Para definir una propiedad, tanto si la define el sistema como si la define un usuario, es preciso suministrar dos elementos:
El servidor de Shuttles de Off invocará a la función de conmutación siempre que sea necesario preparar para su uso el recurso identificado por el valor de la propiedad (a modo de ejemplo, la función de conmutación de la propiedad ``espacio de direcciones'' instalará la correspondiente DTLB en el hardware).
Consecuentemente, cuando una conmutación de shuttles tiene lugar en un procesador (ver apartado 3.3.5) se ejecuta un algoritmo como el que sigue.
En los casos en que no es necesario preparar un recurso para su uso la función de conmutación puede quedar sin definir. Por supuesto, la información de los valores de la propiedad puede obtenerse siempre que sea necesario.