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
Application number
ES00903507T
Other languages
English (en)
Inventor
Gerhard Spitz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Application granted granted Critical
Publication of ES2203421T3 publication Critical patent/ES2203421T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program 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.
ES00903507T 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. Expired - Lifetime ES2203421T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) 다중 버스 마스터 시스템에서 교착 상태 방지 장치