ES2203421T3 - Procedimiento para el acceso asegurado al menos a una variable en un sistema de procesador controlado en modo de multitarea preemptiva. - Google Patents
Procedimiento para el acceso asegurado al menos a una variable en un sistema de procesador controlado en modo de multitarea preemptiva.Info
- Publication number
- ES2203421T3 ES2203421T3 ES00903507T ES00903507T ES2203421T3 ES 2203421 T3 ES2203421 T3 ES 2203421T3 ES 00903507 T ES00903507 T ES 00903507T ES 00903507 T ES00903507 T ES 00903507T ES 2203421 T3 ES2203421 T3 ES 2203421T3
- Authority
- ES
- Spain
- Prior art keywords
- task
- access
- information
- change
- bst
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
Abstract
Procedimiento para el acceso asegurado (gz) al menos a una variable en un sistema de procesador controlado por multitarea preemptiva, donde está previsto un planificador de tareas (BST) para el procesamiento de las tareas (T1, T2), en el que está prevista una memoria del estado de acceso (ZSE1), - en el que se inscribe una información de bloqueo (SI) por la tarea que realiza el acceso (T1), antes del acceso actual (gz) al menos a una variable, - en el que durante el acceso actual (gz), en el caso de un cambio de tarea (TW) pretendido por el planificador de tareas (BST), se verifica a través del planificador de tareas (BST) la memoria del estado de acceso (ZSE1) para determinar la presencia de una información de bloqueo (SI) inscrita y, en el caso de que esté inscrita la información de bloqueo (SI), el planificador de tareas (BST) retrasa el cambio de tarea (TWA) pretendido así como se inscribe con su ayuda una información de cambio de tarea (WI), y - en el que al final del acceso actual (gz) se inscribe, a través de la tarea (T1) que realiza el acceso actualmente, una información de liberación (FI) y, en el caso de que esté inscrita una información de cambio de tarea (WI), se inicia el cambio de tarea (TWA) pretendido a través de la tarea (T1) que realiza el acceso actualmente.
Description
Procedimiento para el acceso asegurado al menos a
una variable en un sistema de procesador controlado en modo de
multitarea preemptiva.
En las instalaciones existentes y futuras de
procesamiento de la información, por ejemplo ordenadores
personales, se administran, con la ayuda del sistema operativo,
objetos de software -designados habitualmente también como
procesos-, de tal forma que el sistema de hardware, especialmente
la instalación de procesamiento de los procesos, prevista en la
instalación de procesamiento de la información, por ejemplo el
procesador, es sometida a un grado de utilización uniforme con el
objetivo de una eficiencia general alta, Así, por ejemplo, los
módulos de software asignados al procesador a través del sistema
operativo -designados habitualmente también como tareas- son
procesados a través del procesador. En este caso, para las
instalaciones de procesamiento de la información que presentan un
monoprocesador, es decir, que la instalación de procesamiento de la
información posee solamente un procesador, están previstos sistemas
operativos especiales, por ejemplo Windows 95, que posibilitan
también en un monoprocesador un funcionamiento de usuarios múltiples
o un funcionamiento de procesos múltiples -ver a este respecto
especialmente "Architektur von Betriebssystemen", H.
Wetterstein, Hanser Studien Bücher, 1984, páginas 54 y siguientes.
El modo de funcionamiento necesario para el funcionamiento de
varios procesos de un procesador se conoce en el mundo técnico bajo
el concepto de "funcionamiento de varios programas"
("multiprogramming") o también "Multitasking". De esta
manera, a través de la instalación de procesamiento de la
información, durante la ejecución de una tarea se puede realizar
"casi en paralelo" también otra tarea, como por ejemplo la
lectura de datos de un medio de memoria de la instalación de
procesamiento de la información o, por ejemplo, la representación de
datos sobre una estación de visualización de datos.
Además, se distingue entre multitarea
"cooperativa " y "preemptiva". En la multitarea
"cooperativa", cada tarea individual realizada actualmente
determina la duración de tiempo de la demanda del procesador según
sus necesidades, es decir, que la tarea que se está desarrollando
actualmente decide sobre el instante de la liberación del procesador
para el procesamiento de otras tareas. En la multitarea
"preemptiva" se interrumpe a través de una tarea del sistema
operativo, conocido en el mundo técnico como "planificador" o
también "planificador de tareas", la tarea realizada
actualmente después de la terminación de una duración de tiempo
predefinida o asignada, es decir, que el instante de la asignación y
de la liberación del procesador se realiza con la ayuda del
planificador de tareas.
Para la realización de un cometido del sistema
operativo, es decir, por ejemplo de una tarea del sistema operativo
como el planificador de tareas, está previsto un modo de
funcionamiento especial del procesador para la protección de los
datos de la tarea del sistema operativo, que se llama supervisor o
modo Kernel -ver a este respecto especialmente Andrew S. Tanenbaum
"Betriebssysteme- Entwurf und Realisierung", Parte 1,
Prentice-Hall International, 1990, páginas 31/32. A
tal fin, se conmuta el procesador con la ayuda de una llamada del
supervisor desde un modo de usuario al modo de supervisor y de este
modo se transmite el control del procesador al sistema operativo o
bien a sus tareas. A diferencia del modo de supervisor, en el modo
de usuario no todas las instrucciones son admisibles, entre otras
tareas, en el modo de usuario está prohibida la utilización de
instrucciones de entrada y salida así como de algunas instrucciones
especiales. De la misma manera, en general, en el modo de usuario,
no es posible el acceso a todos los datos, es decir, por ejemplo
los datos del sistema operativo no pueden ser leídos ni modificados
para tareas que no son del sistema operativo.
Especialmente en las instalaciones de
procesamiento de información que actúan según el principio de
multitarea, deben protegerse variables o bloques de variables, a las
que se accede durante la ejecución de una tarea, contra accesos
concurrentes, por ejemplo a través de otras tareas. De esta manera
se asegura que, por ejemplo, los errores que aparecen durante el
acceso doble simultáneo a variables en la tarea que realiza el
acceso no puedan conducir a bloqueos de otras tareas o de toda la
instalación de procesamiento de la información. A continuación se
describe un mecanismo de protección de este tipo con la ayuda de la
formulación "acceso asegurado" al menos a una variable, donde
el concepto de variable puede designar tanto una variable
memorizada en una unidad de memoria de un módulo de software como
también una información de ajuste relacionada con el hardware,
memorizada en un registro de hardware. Tales accesos asegurados se
realizan con frecuencia en determinados planteamientos de
problemas, por ejemplo en instalaciones de información, que sirven
para el control de sistemas de tiempo real, pero que deben acceder
a datos administrables, y son de corta duración de tiempo en
comparación con la duración de tiempo media entre dos cambios de
tarea consecutivos. Por lo tanto, la probabilidad de un cambio de
tarea durante un acceso asegurado es muy pequeña, pero no se puede
excluir de ninguna manera.
La realización de un "acceso asegurado" a
través de una tarea se puede realizar con la ayuda de diferentes
mecanismos de protección. A ellos pertenece, entre otros, la
colocación de una barrera al cambio de tarea para evitar un acceso
concurrente a través de otra tarea a las variables, a las que se
accede a través de la tarea que se está ejecutando actualmente en el
procesador. A tal fin se conmuta el procesador al modo de
supervisor antes del acceso a las variables a leer con la ayuda de
una llamada del supervisor y se solicita al sistema operativo una
colocación de una barrera al cambio de tarea, para conseguir para
la tarea que está accediendo actualmente un acceso exclusivo al
procesador y, por lo tanto, a la variable deseada. A continuación
se conmuta el procesador de retorno al modo de usuario y a través
de la tarea interrumpida anteriormente se puede asegurar ahora el
acceso deseado a la variable, es decir, sin tener que realizar una
interrupción. Al término del acceso asegurado a través de la tarea
que se está ejecutando actualmente debe cambiarse de nuevo a través
de una llamada del supervisor al modo del supervisor y debe
reponerse en éste la barrera al cambio de tarea a través del sistema
operativo. Para el procesamiento adicional de la tarea que se está
ejecutando actualmente se repone a continuación el procesador al
modo de usuario y se desactiva la supervisión de tiempo activada al
colocar la barrera al cambio de tarea para evitar un bloqueo
discrecionalmente largo del procesador.
Otro método para la realización de un acceso
asegurado se emplea durante la sincronización de tareas, es decir,
durante la sintonización de varias tareas que realizan el acceso
alternativo al procesador, para evitar los conflictos que se
producen en el modo de multitarea. En este caso, se emplea con
frecuencia la técnica del semáforo para la sincronización de las
tareas individuales. De acuerdo con su definición teórica
matemática, un semáforo es una variable de número entero, no
negativa, combinada con una cola de espera. En este caso, el valor
inicial del semáforo establece cuántas tareas se pueden encontrar
al mismo tiempo en una sección asegurada controlada a través de un
semáforo. La cola de espera contiene las tareas que esperan una
entrada en la sección asegurada. A tal fin, se verifica un semáforo
desde la tarea que se está desarrollando actualmente, para la
realización del acceso asegurado a una variable por medio de un
ciclo de lectura y escritura que no se puede interrumpir, y se
modifica. Por ejemplo, si el semáforo es mayor que 0, entonces se
decrementa y a continuación se realiza, a través de la tarea que se
está desarrollando actualmente, el acceso asegurado a la variable
deseada. Si el semáforo es ya igual a cero, entonces se controla la
tarea que solicita un acceso asegurado en la cola de espera y no se
modifica la variable del semáforo. Al final del acceso asegurado a
la variable se verifica si esperan tareas en este semáforo y, dado
el caso, se activa una de las tareas que se encuentra en la cola de
espera, es decir, que se adjudica el procesador. En el caso de que
no espere ninguna tarea en el semáforo, se incrementa el semáforo de
nuevo por medio de un ciclo de lectura y escritura que no se puede
interrumpir. Estos accesos de lectura y escritura que no se pueden
interrumpir a la variable del semáforo se pueden realizar o bien de
una manera similar al método de la barrera al cambio de tarea a
través de una llamada del supervisor y el tratamiento siguiente a
través del sistema operativo o en el modo de usuario con apoyo
especial a través del hardware del procesador y del bus del
procesador. También aquí está previsto durante el tiempo del acceso
asegurado una supervisión del tiempo, cuyo cometido consiste en
evitar un bloqueo prolongado del procesador por encima de la
media.
En las realizaciones descritas anteriormente de
un acceso asegurado a variables, en cada acceso son necesarios
varios cambios de los modos de funcionamiento incluido el
procesamiento de tareas técnicas de funcionamiento correspondiente o
un apoyo especial a través de un hardware de procesador y de bus de
procesador, es decir, que los accesos asegurados a variables elevan
la carga del procesador o requieren hardware adicional y de soporte
especial.
El cometido en el que se basa la invención
consiste en mejorar la realización de un acceso asegurado al menos
a una variable en un sistema de procesador controlado de forma
preemptiva en el modo de multitarea. El cometido se soluciona a
través de las características de la reivindicación 1 de la
patente.
El aspecto esencial del procedimiento según la
invención se puede ver en que para el acceso asegurado al menos a
una variable en un sistema de procesador controlado de forma
preemptiva en el modo de multitarea, está prevista una memoria del
estado de acceso, en la que se registra una información de bloqueo
antes de un acceso actual al menos a una variable desde la tarea a
la que se accede. Además, en el caso de un cambio de tarea,
previsto por el planificador de tareas durante el acceso actual, a
través del planificador de tareas, la memoria del estado de acceso
verifica una información de bloqueo registrada y, en el caso de que
esté registrada una información de bloqueo, se retrasa el cambio de
tarea previsto a través del programador de tareas. Por último, con
su ayuda se registra en la memoria del estado de acceso una
información del cambio de tareas. Al final del acceso actual se
registra a través de la tarea (T1) a la que se accede actualmente
una información de liberación en la memoria del estado de acceso y,
en el caso de que esté registrada una información de cambio de
tarea, se inicia el cambio de tarea solicitado a través de la tarea
a la que se accede actualmente. La utilización de una memoria
adicional del estado de acceso lleva consigo la ventaja de que se
suprime la conmutación del procesador, requerida, por ejemplo, en
el método de la barrera al cambio de tarea, al modo de supervisor y
la ejecución siguiente de una tarea del sistema operativo y, por
lo tanto, se consigue una descarga dinámica considerable del
procesador, puesto que tienen lugar con mucha frecuencia accesos
asegurados a variables en determinados planteamientos de problemas
que aparecen durante el funcionamiento de una instalación de
procesamiento de la información. Adicionalmente, la inscripción de
la información de bloqueo, de la información de cambio de tarea o
de la información de liberación requiere solamente pocas
instrucciones máquina y, por lo tanto, se puede realizar fácilmente
según la técnica de programación. Por otra parte, en el
procedimiento según la invención, en oposición a la técnica del
semáforo, no es necesario ningún soporte adicional de hardware en
forma de hardware de procesador o de bus de procesador, lo que
conduce a una realización de coste favorable y no vinculada a
hardware especial del acceso asegurado a variables. Además, de
manera ventajosa, durante el acceso asegurado no se interrumpe la
tarea accedida a través de un cambio de tarea pretendido por otra
tarea y adicionalmente no se rechaza el cambio de tarea pretendido,
sino que se retrasa, de manera que después de la evaluación de la
información de cambio de tarea, al final del acceso asegurado, se
puede recuperar el cambio de tarea pretendido directamente a través
del programador de tareas.
Otro aspecto esencial del procedimiento según la
invención se puede ver en que adicionalmente al registro de la
información del cambio de tarea, se activa una supervisión del
tiempo con un periodo de tiempo que comprende al menos la duración
del acceso asegurado y en que al término del periodo de tiempo
definido se termina el acceso actual -reivindicación 2. De manera
ventajosa, la supervisión de tiempo no se activa, en general, en el
procedimiento según la invención, durante la inicialización de un
acceso asegurado, sino solamente en el caso de un cambio de tarea
pretendido durante el acceso actual y, por lo tanto, se suprime la
carga dinámica, que es necesaria habitualmente en el caso de
utilización de los procedimientos ya conocidos, como por ejemplo la
técnica del semáforo o la colocación de una barrera al cambio de
tarea. Esto conduce a una descarga dinámica adicional de la
instalación de procesamiento de la información o bien del
procesador.
De acuerdo con otra configuración del
procedimiento según la invención, al final del acceso asegurado y
antes de la inscripción de la información de liberación, se verifica
el contenido de la memoria del estado de acceso para que, en el
caso de presencia de una información de cambio de tarea, se
desactive la supervisión del tiempo activada y se transmita desde la
tarea que realiza el acceso actual una información técnica de
funcionamiento, que inicia el cambio de tarea pretendido, al
planificador de tareas - reivindicación 3. De manera ventajosa, a
través de la verificación del contenido de la memoria del estado de
acceso se asegura que inmediatamente después de la terminación del
acceso asegurado, se comunique al planificador de tareas el cambio
de tarea pretendido, indicado a través de la información del cambio
de tareas, puesto que sin la indicación de la información técnica de
funcionamiento, que indica el cambio de tarea pretendido, el
planificador de tareas no realizaría el cambio de tarea retrasado.
En su lugar, el cambio de tarea pretendido se realizaría en el
instante en el que se interrumpiese la tarea accedida actualmente
a través del planificador de tareas, es decir, que el cambio de
tarea pretendido se retrasaría en una medida innecesaria durante el
periodo de tiempo del acceso asegurado.
Otras configuraciones ventajosas del
procedimiento según la invención se pueden deducir a partir de las
otras reivindicaciones.
A continuación se explica en detalle el
procedimiento según la invención con la ayuda de una figura.
En la figura 1 se representa, a modo de ejemplo,
una primera y una segunda tarea de usuario T1, T2, así como una
tarea del sistema operativo BST según su procesamiento temporal a
través del procesador de una instalación de procesamiento de
información que actúa según el procedimiento de multitarea
preemptivo. Por otra parte, se indican un modo de supervisor SM y un
modo de usuario UM del procesador y las tareas correspondientes a
través de dos regiones separadas. En este caso, en el modo de
supervisor SM se representa a modo de ejemplo la tarea del sistema
operativo BST, designada, por otro lado, también como planificador
o planificador de tareas BST, y en el modo de usuario se
representan, a modo de ejemplo, una primera y una segunda tarea de
usuario T1, T2 para el procesamiento a través del procesador. En
este caso, se indican una tarea que se encuentra actualmente en el
estado de espera -por ejemplo en la figura 1 en el instante cero,
especialmente la tarea del sistema operativo BST y la segunda tarea
de usuario T2- con la ayuda de una línea de trazos, designada con
BST y T2, y una tarea realizada actualmente -en la figura 1 en el
instante cero la primera tarea de usuario T1- a través de una línea
continua designada con T1.
Para la representación del desarrollo temporal
del procedimiento según la invención de un acceso asegurado gz al
menos a una variable está previsto un eje de tiempo t, sobre el que
están marcados un primero, segundo, tercero, cuarto y quinto
instantes t1, t2, t2', t3, t3'. Por otra parte, se representa una
unidad de memoria SE1 con una unidad de memoria del estado de acceso
ZSE1 en el primero, tercero y cuarto instantes t1, t2', t3, siendo
registradas en la unidad de memoria ZSE1 informaciones con relación
a la primera tarea T1 que se está desarrollando actualmente,
pudiendo estar realizada la memoria, por ejemplo, como región
parcial de una memoria volátil. De acuerdo con el procedimiento
según la invención, en la unidad de memoria del estado de acceso
ZSE1, asignada a la primera tarea de usuario T1 que se está
desarrollando actualmente, se pueden inscribir, entre otras cosas,
una información de bloqueo SI, una información de cambio de tarea
WI y una información de liberación FI.
Por lo demás, la duración de tiempo de un acceso
asegurado gz al menos a una variable se representa a través de la
primera tarea de usuario T1, que se extiende desde el primer
instante t1 hasta el cuarto instante t3. En el instante cero, la
primera tarea de usuario T1 ya ha sido asignada actualmente al
procesador y la segunda tarea de usuario T2 así como la tarea del
sistema operativo BST se encuentran en el estado de espera. En el
instante t1, la primera tarea de usuario T1 inicializa un acceso
asegurado al menos a una variable, es decir, que en la unidad de
memoria del estado de acceso ZSE(t1) se inscribe a través de
la primera tarea e usuario T1, en lugar de la información de
liberación FI inscrita en ésta, la información de bloqueo SI. A
continuación, la primera tarea de usuario T1 realizada actualmente
se encuentra en un estado de realización que no puede ser
interrumpido y, por lo tanto, puede acceder de forma segura a las
variables deseadas.
En un segundo instante posterior t2, se indica al
planificador de tareas BST, por ejemplo, a través de un
acontecimiento externo EE, por ejemplo la presencia de mensajes
externos, o debido a que se ha excedido la duración de tiempo
asignada por el planificador de tareas BST a la primera tarea de
usuario T1, una solicitud de cambio de tarea TWA y se controla a
continuación a través del planificador de tareas BST la primera
tarea de usuario T1 realizada actualmente en un estado casi de
espera wz. A continuación, se verifica el contenido de la unidad de
memoria del estado de acceso TSE1(t2') a través del
planificador de tareas BST todavía antes de que provoque un cambio
de tarea TW después de la recepción de la solicitud de cambio de
tarea TWA. Si está inscrita una información de bloqueo SI en un
tercer instante t2' en la unidad de memoria de acceso
ZSE1(t2') para la primera tarea de usuario T1 realizada
actualmente, entones se retrasa a través del planificador de tareas
BST el cambio de tarea TWA solicitado y en lugar de la información
de bloqueo SI se inscribe una información de cambio de tarea WI en
la unidad de memoria del estado de acceso ZSE1(T2'). A
continuación se prosigue el procesamiento de la primera tarea de
usuario T1 realizada actualmente y, por lo tanto, se termina de
nuevo el estado de casi espera wz a través del planificador de
tareas BST. Por lo tanto, la primera tarea de usuario puede
continuar el acceso asegurado (gz) a las variables deseadas, sin
que sea forzada por el planificador de tareas BST a la liberación
del procesador. Adicionalmente se activa a través del planificador
de tareas BST, en el tercer instante t2', una supervisión del
tiempo TM para evitar un bloqueo inadmisiblemente largo del
procesador a través del acceso asegurado gz de la primera tarea de
usuario T1.
Al final del acceso asegurado gz -indicado en la
figura 1 a modo de ejemplo como cuarto instante t3- se verifica en
primer lugar el contenido de la unidad de memoria del estado de
acceso ZSE1(t3) para determinar la presencia de una
información de cambio de tarea WI. Si no está inscrita ninguna
información de cambio de tarea WI en la unidad de memoria del estado
de acceso ZSE1(t3), entonces se inscribe a través de la
primera tarea de usuario T1 que realiza el acceso actual, en lugar
de la presente información de bloqueo SI, la información de
liberación FI y, por lo tanto, se termina el acceso asegurado gz,
es decir, que se puede interrumpir de nuevo a continuación la
primera tarea de usuario T1 que realiza el acceso actual. La
primera tarea de usuario T1 que realiza el acceso actual puede
acceder a continuación al procesador hasta que esté previsto un
cambio de tarea TW asignado a través del programador de tareas BST,
es decir, hasta que ha expirado el tiempo de utilización del
procesador asignado a la primera tarea de usuario T1 a través del
planificador de tareas BST o hasta que se indica al planificador de
tareas BST a través de un acontecimiento externo EE una solicitud
de cambio de tarea TWA.
En cambio, si está inscrita una información de
cambio de tarea WI, entonces -como se representa en la figura
1-se indica al planificador de tareas BST
directamente una solicitud de cambio de tarea TWA, de manera que
con su ayuda se puede llevar a cabo un cambio de tarea TW después
de la ejecución de las tareas técnicas de funcionamiento
correspondientes. Adicionalmente se inscribe por la primera tarea
de usuario T1, en lugar de la información de cambio de tarea WI
inscrita, la información de liberación FI en la unidad de memoria
del estado de acceso ZSE1(t3) y al término del acceso
asegurado gz se desactiva la supervisión del tiempo TM. Además, se
retira el procesador de la primera tarea de usuario T1 a través del
planificador de tareas BST realizado en el modo de supervisor SM y
se controla en el estado de espera.
A continuación, en el intervalo entre el cuarto y
el quinto instantes t3, t3' se ejecutan a través del planificador
de tareas BST las tareas técnicas de funcionamiento, previstas para
el cambio de tarea TW, en el modo de supervisor, es decir, que se
lleva a cabo un cambio de tarea TW a través del sistema operativo.
Para la ejecución de la segunda tarea de usuario T2, a la que ha
sido asignado actualmente el procesador, se conmuta el procesador
al modo de usuario y de esta manera se puede asignar la segunda
tarea de usuario T2 al procesador a partir del quinto instante
t3'.
Claims (6)
1. Procedimiento para el acceso asegurado (gz) al
menos a una variable en un sistema de procesador controlado por
multitarea preemptiva, donde está previsto un planificador de
tareas (BST) para el procesamiento de las tareas (T1, T2), en el que
está prevista una memoria del estado de acceso (ZSE1),
- -
- en el que se inscribe una información de bloqueo (SI) por la tarea que realiza el acceso (T1), antes del acceso actual (gz) al menos a una variable,
- -
- en el que durante el acceso actual (gz), en el caso de un cambio de tarea (TW) pretendido por el planificador de tareas (BST), se verifica a través del planificador de tareas (BST) la memoria del estado de acceso (ZSE1) para determinar la presencia de una información de bloqueo (SI) inscrita y, en el caso de que esté inscrita la información de bloqueo (SI), el planificador de tareas (BST) retrasa el cambio de tarea (TWA) pretendido así como se inscribe con su ayuda una información de cambio de tarea (WI), y
- -
- en el que al final del acceso actual (gz) se inscribe, a través de la tarea (T1) que realiza el acceso actualmente, una información de liberación (FI) y, en el caso de que esté inscrita una información de cambio de tarea (WI), se inicia el cambio de tarea (TWA) pretendido a través de la tarea (T1) que realiza el acceso actualmente.
2. Procedimiento según la reivindicación 1,
caracterizado porque adicionalmente a la inscripción de la
información del cambio de tarea (WI) se activa una supervisión de
tiempo (TM) con un periodo de tiempo que comprende al menos la
duración del acceso asegurado (gz), y porque después de la
expiración del periodo de tiempo definido se termina el acceso
actual (gz).
3. Procedimiento según la reivindicación 2,
caracterizado porque al final del acceso asegurado (gz) y
antes de la inscripción de la información de liberación (FI), se
verifica el contenido de la memoria del estado de acceso (ZSE1), de
manera que, en el caso de presencia de una información de cambio de
estado (WI), se desactiva la supervisión de tiempo (TM) activada y
se transmite por la tarea (T1) que realiza el acceso actual una
información técnica de funcionamiento, que inicia el cambio de
tarea pretendido al planificador de tareas (BST).
4. Procedimiento según una de las
reivindicaciones 1 a 3, caracterizado porque a través de la
inscripción de una información (SI, WI, FI) en la memoria del estado
de acceso (ZSE1) se sobrescribe el contenido de la memoria del
estado de acceso (ZSE1).
5. Procedimiento según una de las
reivindicaciones 1 a 4, caracterizado porque la información
de bloqueo (SI), la información de cambio de tarea (WI) y la
información de liberación (FI) se forman a través de al menos una
información de un bit y la información de bloqueo (SI) y la
información de liberación (FI) son memorizadas en una unidad de
memoria del estado de acceso individual, común.
6. Procedimiento según una de las
reivindicaciones 1 a 5, caracterizado porque una variable
está representada o bien por una variable de un módulo de software
memorizada en una unidad de memoria o por una información de ajuste
relacionada con el hardware, memorizada en un registro de
hardware.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19903599 | 1999-01-29 | ||
DE19903599A DE19903599A1 (de) | 1999-01-29 | 1999-01-29 | Verfahren zum gesicherten Zugriff auf zumindest eine Variable in einem präemptiv Multitasking-gesteuerten Prozessorsystem |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2203421T3 true ES2203421T3 (es) | 2004-04-16 |
Family
ID=7895825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES00903507T Expired - Lifetime ES2203421T3 (es) | 1999-01-29 | 2000-01-11 | Procedimiento para el acceso asegurado al menos a una variable en un sistema de procesador controlado en modo de multitarea preemptiva. |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1151368B1 (es) |
CA (1) | CA2360040A1 (es) |
DE (2) | DE19903599A1 (es) |
ES (1) | ES2203421T3 (es) |
WO (1) | WO2000045236A2 (es) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10056046A1 (de) * | 2000-11-11 | 2002-05-23 | Bosch Gmbh Robert | Verfahren zur Realisierung einer Intertask-Kommunikation in einem Multitasking-Betriebssystem |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE37305E1 (en) * | 1982-12-30 | 2001-07-31 | International Business Machines Corporation | Virtual memory address translation mechanism with controlled data persistence |
EP0954780B1 (en) * | 1997-01-23 | 2002-04-10 | Sun Microsystems, Inc. | Locking of computer resources |
-
1999
- 1999-01-29 DE DE19903599A patent/DE19903599A1/de not_active Withdrawn
-
2000
- 2000-01-11 WO PCT/DE2000/000077 patent/WO2000045236A2/de active IP Right Grant
- 2000-01-11 CA CA002360040A patent/CA2360040A1/en not_active Abandoned
- 2000-01-11 DE DE50002996T patent/DE50002996D1/de not_active Expired - Fee Related
- 2000-01-11 EP EP00903507A patent/EP1151368B1/de not_active Expired - Lifetime
- 2000-01-11 ES ES00903507T patent/ES2203421T3/es not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1151368B1 (de) | 2003-07-23 |
DE50002996D1 (de) | 2003-08-28 |
DE19903599A1 (de) | 2000-08-03 |
CA2360040A1 (en) | 2000-08-03 |
WO2000045236A3 (de) | 2000-12-07 |
EP1151368A2 (de) | 2001-11-07 |
WO2000045236A2 (de) | 2000-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5761731A (en) | Method and apparatus for performing atomic transactions in a shared memory multi processor system | |
US7487305B2 (en) | Prioritized bus request scheduling mechanism for processing devices | |
ES2689125T3 (es) | Gestor físico de barrera de sincronización entre procesos múltiples | |
EP1163573B1 (en) | Arbitration methods and systems for arbitrating access to a disk controller memory | |
ES2265160T3 (es) | Sistema y metodo para controlar un bus. | |
EP3055863B1 (en) | Data processor with memory controller for high reliability operation and method | |
ES2284725T3 (es) | Procedimiento de securizacion que hace determinista la ejecucion en tiempo real de aplicaciones multitarea del tipo control-comando con confinamiento de error. | |
US5239631A (en) | Cpu bus allocation control | |
US5506968A (en) | Terminating access of an agent to a shared resource when a timer, started after a low latency agent requests access, reaches a predetermined value | |
JPS61199153A (ja) | データ処理装置 | |
JP2002530742A (ja) | 外部デバイスへのアクセスを優先順序付けるための方法および装置 | |
EP0071743A2 (en) | Refresh circuit for dynamic memory of a data processor employing a direct memory access controller | |
FI895740A0 (fi) | Kommunikationsprocessor foer paketfoermedlande naet. | |
JPH0690691B2 (ja) | 直接メモリ・アクセス装置 | |
KR102615693B1 (ko) | Dram을 위한 리프레시 관리 | |
US7380040B2 (en) | Software programmable dynamic arbitration scheme | |
ES2203421T3 (es) | Procedimiento para el acceso asegurado al menos a una variable en un sistema de procesador controlado en modo de multitarea preemptiva. | |
US6279066B1 (en) | System for negotiating access to a shared resource by arbitration logic in a shared resource negotiator | |
US5603061A (en) | Method for prioritizing memory access requests using a selected priority code | |
KR100899514B1 (ko) | 버스트 모드를 지원하는 외부 메모리에 프로세서를 인터페이스하는 방법 | |
JP4008307B2 (ja) | メモリインターフェース回路 | |
JPH08129883A (ja) | D−ramのリフレッシュ制御方式 | |
JPS63191397A (ja) | 情報処理装置 | |
JPH0271356A (ja) | マルチマスタバス制御回路 | |
KR100594130B1 (ko) | 다중 버스 마스터 시스템에서 교착 상태 방지 장치 |