DE102022203328A1 - Method and device for processing data associated with a computing device - Google Patents
Method and device for processing data associated with a computing device Download PDFInfo
- Publication number
- DE102022203328A1 DE102022203328A1 DE102022203328.0A DE102022203328A DE102022203328A1 DE 102022203328 A1 DE102022203328 A1 DE 102022203328A1 DE 102022203328 A DE102022203328 A DE 102022203328A DE 102022203328 A1 DE102022203328 A1 DE 102022203328A1
- Authority
- DE
- Germany
- Prior art keywords
- fifo
- queue
- memory
- data
- computing device
- 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.)
- Pending
Links
Images
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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- 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/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/542—Intercept
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
Verfahren, beispielsweise computerimplementiertes Verfahren, zum Verarbeiten von mit einer Recheneinrichtung assoziierten Daten, aufweisend: Bereitstellen wenigstens einer ersten Warteschlange in einem ersten Speicherbereich, auf den, beispielsweise ausschließlich, ein erster mit der Recheneinrichtung assoziierter Prozess und ein zweiter mit der Recheneinrichtung assoziierter Prozess zugreifen können.Method, for example computer-implemented method, for processing data associated with a computing device, comprising: providing at least a first queue in a first memory area which can be accessed, for example exclusively, by a first process associated with the computing device and a second process associated with the computing device .
Description
Stand der TechnikState of the art
Die Offenbarung betrifft ein Verfahren zum Verarbeiten von mit einer Recheneinrichtung assoziierten Daten.The disclosure relates to a method for processing data associated with a computing device.
Die Offenbarung betrifft ferner eine Vorrichtung zum Verarbeiten von mit einer Recheneinrichtung assoziierten Daten.The disclosure further relates to a device for processing data associated with a computing device.
Offenbarung der ErfindungDisclosure of the invention
Beispielhafte Ausführungsformen beziehen sich auf ein Verfahren, beispielsweise ein computerimplementiertes Verfahren, zum Verarbeiten von mit einer Recheneinrichtung assoziierten Daten, aufweisend: Bereitstellen wenigstens einer ersten Warteschlange in einem ersten Speicherbereich, auf den, beispielsweise ausschließlich, ein erster mit der Recheneinrichtung assoziierter Prozess und ein zweiter mit der Recheneinrichtung assoziierter Prozess zugreifen können. Dies ermöglicht bei weiteren beispielhaften Ausführungsformen eine effiziente Bereitstellung von Mitteln für einen Datenaustausch zwischen Prozessen, beispielsweise der Recheneinrichtung, beispielsweise in einem Shared-Memory (also z.B. einem „geteilten“) Speicherbereich, auf den die betreffenden Prozesse, beispielsweise nicht jedoch andere, weitere Prozesse, zugreifen können.Exemplary embodiments relate to a method, for example a computer-implemented method, for processing data associated with a computing device, comprising: providing at least a first queue in a first memory area to which, for example exclusively, a first process associated with the computing device and a second process associated with the computing device can access. In further exemplary embodiments, this enables an efficient provision of means for data exchange between processes, for example the computing device, for example in a shared memory (i.e., for example a “shared”) memory area to which the relevant processes, but not other, further processes, for example , can access.
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Verwenden der wenigstens einen ersten Warteschlange für einen Datenaustausch zwischen dem ersten Prozess und dem zweiten Prozess, wobei beispielsweise das Verwenden wenigstens eines der folgenden Elemente aufweist: a) Senden von Daten, beispielsweise in Form wenigstens einer ersten Nachricht, von dem ersten Prozess an den zweiten Prozess, b) Senden von Daten, beispielsweise in Form wenigstens einer zweiten Nachricht, von dem zweiten Prozess an den ersten Prozess.In further exemplary embodiments it is provided that the method comprises: using the at least one first queue for a data exchange between the first process and the second process, for example using at least one of the following elements: a) sending data, for example in the form at least one first message, from the first process to the second process, b) sending data, for example in the form of at least one second message, from the second process to the first process.
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, das die wenigstens eine erste Warteschlange bereitgestellt wird und wenigstens eine weitere, z.B. zweite, Warteschlange, wobei beispielsweise die wenigstens eine weitere, z.B. zweite, Warteschlange z.B. auch in dem ersten Speicherbereich bereitgestellt wird, auf den, beispielsweise ausschließlich, der erste mit der Recheneinrichtung assoziierte Prozess und der zweite mit der Recheneinrichtung assoziierte Prozess zugreifen können. Dadurch ist bei weiteren beispielhaften Ausführungsformen eine effiziente Datenkommunikation zwischen dem ersten Prozess und dem zweiten Prozess, beispielsweise in beiden Richtungen (z.B. von dem ersten Prozess zu dem zweiten Prozess und umgekehrt) ermöglicht. Beispielsweise kann die erste Warteschlange für eine erste Richtung der Datenkommunikation zwischen dem ersten Prozess und dem zweiten Prozess verwendet werden, und die zweite Warteschlange kann z.B. für eine zweite Richtung der Datenkommunikation zwischen dem ersten Prozess und dem zweiten Prozess verwendet werden.In further exemplary embodiments it is provided that the at least one first queue is provided and at least one further, for example second, queue, whereby, for example, the at least one further, for example second, queue is also provided in the first memory area, for example exclusively , the first process associated with the computing device and the second process associated with the computing device can access. In further exemplary embodiments, this enables efficient data communication between the first process and the second process, for example in both directions (e.g. from the first process to the second process and vice versa). For example, the first queue may be used for a first direction of data communication between the first process and the second process, and the second queue may be used, for example, for a second direction of data communication between the first process and the second process.
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Unterbinden, dass, beispielsweise außer dem ersten Prozess und dem zweiten Prozess, weitere mit der Recheneinrichtung assoziierte Prozesse auf den ersten Speicherbereich, beispielsweise auf die wenigstens eine erste Warteschlange (und/oder die zweite Warteschlange), zugreifen.In further exemplary embodiments it is provided that the method has: Preventing, for example, apart from the first process and the second process, further processes associated with the computing device from accessing the first memory area, for example on the at least one first queue (and/or the second queue).
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Zuweisen von Zugriffsrechten auf den ersten Speicherbereich und/oder auf die wenigstens eine erste Warteschlange (und/oder die zweite Warteschlange), beispielsweise ausschließlich, für den ersten Prozess und den zweiten Prozess.In further exemplary embodiments, it is provided that the method comprises: assigning access rights to the first memory area and/or to the at least one first queue (and/or the second queue), for example exclusively, for the first process and the second process.
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Plausibilisieren wenigstens einer Komponente der wenigstens einen ersten Warteschlange. Dies ermöglicht bei weiteren beispielhaften Ausführungsformen eine Steigerung bezüglich der Sicherheit z.B. der mit der wenigstens einen ersten Warteschlange assoziierten Daten. Beispielsweise können durch das Plausibilisieren in weiteren beispielhaften Ausführungsformen Situationen erkannt werden, in denen ein mit der wenigstens einen ersten Warteschlange assoziierter Speicherbereich z.B. versehentlich bzw. aufgrund eines Fehlers unerwünscht modifiziert worden ist, oder in denen eine andersartige, unerwünschte Änderung eines Inhalts des mit der wenigstens einen ersten Warteschlange assoziierten Speicherbereichs erfolgt ist (z.B. Kippen eines Bits in dem Speicherbereich).In further exemplary embodiments it is provided that the method comprises: plausibility check of at least one component of the at least one first queue. In further exemplary embodiments, this enables an increase in the security, for example, of the data associated with the at least one first queue. For example, the plausibility check in further exemplary embodiments can identify situations in which a memory area associated with the at least one first queue has been undesirably modified, for example accidentally or due to an error, or in which a different, undesirable change to the content of the at least one queue has been made a memory area associated with a first queue (e.g. flipping of a bit in the memory area).
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren wenigstens eines der folgenden Elemente aufweist: a) Verwenden wenigstens eines FIFO (first in first out)-Speichers für die wenigstens eine Warteschlange, wobei beispielsweise der wenigstens eine FIFO-Speicher eine erste Zustandsvariable, beispielsweise Tail-Variable, aufweist, die eine Leseposition charakterisiert, wobei beispielsweise der wenigstens eine FIFO-Speicher eine zweite Zustandsvariable, beispielsweise Head-Variable, aufweist, die eine Schreibposition charakterisiert, wobei beispielsweise jeweils ein Element des wenigstens einen FIFO-Speicher eine Sequenznummer und Nutzdaten aufweist, b) Vorgeben einer Größe eines bzw. des wenigstens einen FIFO-Speichers, beispielsweise Festlegen einer Anzahl von Elementen, c) statisches Allokieren einer bzw. der Anzahl von Elementen, d) Verwenden von Indexvariablen für die wenigstens eine Zustandsvariable, e) Nichtverwenden von Zeigervariablen für die wenigstens eine Zustandsvariable, f) Verwenden eines, beispielsweise statisch codierten, Modulo-Operators für einen Zugriff auf Elemente des wenigstens eines FIFO-Speichers, wobei beispielsweise der Modulo-Operator mit der Anzahl von Elementen des wenigstens einen FIFO-Speichers assoziiert ist, insbesondere Nichtverwenden einer Variable für den Zugriff auf Elemente des wenigstens eines FIFO-Speichers, g) Speichern wenigstens einer Komponente des wenigstens einen FIFO-Speichers, beispielsweise einer Größe des wenigstens einen FIFO-Speichers, mittels einer Variablen, die mit einem privaten Speicherbereich wenigstens eines Prozesses, beispielsweise eines High-ASIL-Prozesses, assoziiert ist, h) Modifizieren wenigstens einer Komponente des wenigstens einen FIFO-Speichers, beispielsweise einer Größe des wenigstens einen FIFO-Speichers, beispielsweise während einer Laufzeit des wenigstens einen Prozesses, beispielsweise Reduzieren der Größe des wenigstens einen FIFO-Speichers während der Laufzeit des wenigstens einen Prozesses.In further exemplary embodiments it is provided that the method has at least one of the following elements: a) using at least one FIFO (first in first out) memory for the at least one queue, for example the at least one FIFO memory has a first state variable, for example Tail variable, which characterizes a read position, for example, the at least one FIFO memory has a second state variable, for example head variable, which characterizes a write position, for example, each element of the at least one FIFO memory has a sequence number and useful data has, b) specifying a size of one or the at least one FIFO memory, for example determining a number of elements, c) statically allocating one or the number of elements, d) using index variables for the at least one state variable, e) not using pointer variables for the at least one state variable, f) using a, for example statically coded, modulo operator for accessing elements of the at least one FIFO memory, for example the modulo operator being associated with the number of elements of the at least one FIFO memory, in particular not using a variable for accessing elements of the at least one FIFO memory, g) storing at least one component of the at least one FIFO memory, for example a size of the at least one FIFO memory, by means of a variable that is associated with a private memory area of at least one process, for example a high ASIL process , is associated, h) modifying at least one component of the at least one FIFO memory, for example a size of the at least one FIFO memory, for example during a runtime of the at least one process, for example reducing the size of the at least one FIFO memory during the runtime of the at least one process.
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren wenigstens eines der folgenden Elemente aufweist: a) Speichern von Komponenten der wenigstens einen Warteschlange, beispielsweise des wenigstens einen FIFO-Speichers, zusammen mit einem Vergleichswert, b) Plausibilisieren wenigstens einer Komponente der wenigstens einen Warteschlange, beispielsweise des wenigstens einen FIFO-Speichers, basierend auf einem bzw. dem Vergleichswert, c) Ausführen einer bzw. der Plausibilisierung bei wenigstens machen, beispielsweise allen, Lesezugriffen auf die wenigstens eine Komponente der wenigstens einen Warteschlange, d) Einleiten einer Fehlerreaktion, beispielsweise Propagieren eines erkannten Fehlers, beispielsweise basierend auf einer bzw. der Plausibilisierung, wobei beispielsweise die Fehlerreaktion wenigstens eines der folgenden Elemente aufweist: d1) Initialisieren, beispielsweise Reinitialisieren, der wenigstens einen ersten Warteschlange, d2) erneutes Versenden einer Nachricht, z.B. im Falle defekter Nutzdaten, d3) Neustart wenigstens eines Prozesses, e) atomares Ausführen von Zugriffen auf wenigstens eine Komponente der wenigstens einen Warteschlange, beispielsweise des wenigstens einen FIFO-Speichers, f) lock-freies Ausführen von Zugriffen auf wenigstens eine Komponente der wenigstens einen Warteschlange, beispielsweise des wenigstens einen FIFO-Speichers.In further exemplary embodiments, it is provided that the method has at least one of the following elements: a) storing components of the at least one queue, for example the at least one FIFO memory, together with a comparison value, b) checking the plausibility of at least one component of the at least one queue , for example the at least one FIFO memory, based on one or the comparison value, c) carrying out a plausibility check for at least some, for example all, read accesses to the at least one component of the at least one queue, d) initiating an error reaction, for example Propagating a detected error, for example based on a plausibility check, for example the error reaction having at least one of the following elements: d1) initializing, for example reinitializing, the at least one first queue, d2) resending a message, for example in the case of defective user data , d3) restarting at least one process, e) atomically executing accesses to at least one component of the at least one queue, for example the at least one FIFO memory, f) lock-free executing accesses to at least one component of the at least one queue, for example the at least one FIFO memory.
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren wenigstens eines der folgenden Elemente aufweist: a) Ermitteln wenigstens eines Vergleichswerts für wenigstens eine Komponente der wenigstens einen Warteschlange, beispielsweise des wenigstens einen FIFO-Speichers, und, optional, Speichern der wenigstens einen Komponente der wenigstens einen Warteschlange, beispielsweise des wenigstens einen FIFO-Speichers, zusammen mit dem Vergleichswert.In further exemplary embodiments it is provided that the method has at least one of the following elements: a) determining at least one comparison value for at least one component of the at least one queue, for example the at least one FIFO memory, and, optionally, storing the at least one component of the at least one queue, for example of the at least one FIFO memory, together with the comparison value.
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Ermitteln des wenigstens einen Vergleichswerts wenigstens eines der folgenden Elemente aufweist: a) Bilden eines zu einem Wert der wenigstens einen Komponente der wenigstens einen Warteschlange inversen Werts, beispielsweise mittels Invertieren, b) Ausführen einer logischen Verknüpfung, beispielsweise einer XOR-Verknüpfung, mit dem Wert der wenigstens einen Komponente der wenigstens einen Warteschlange, c) Bilden einer Prüfsumme, beispielsweise vom CRC-Typ, beispielsweise dann, wenn eine mit der wenigstens einen Komponente assoziierte Datenmenge bzw. Größe einen vorgebbaren Schwellwert überschreitet.In further exemplary embodiments, it is provided that the determination of the at least one comparison value has at least one of the following elements: a) forming a value that is inverse to a value of the at least one component of the at least one queue, for example by inverting, b) executing a logical operation, for example an
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren wenigstens eines der folgenden Elemente aufweist: a) Inkrementieren der wenigstens einen Zustandsvariable, b) Zuweisen eines Werts der zweiten Zustandsvariable zu einer bzw. der Sequenznummer, beispielsweise bei einem Schreiben in die wenigstens eine Warteschlange, c) Vergleichen der Sequenznummer mit einem Wert der ersten Zustandsvariable, beispielsweise bei einem Lesen aus der wenigstens einen Warteschlange, d) basierend auf dem Vergleichen, beispielsweise gegebenenfalls, Einleiten einer Fehlerreaktion.In further exemplary embodiments it is provided that the method has at least one of the following elements: a) incrementing the at least one state variable, b) assigning a value of the second state variable to one or the sequence number, for example when writing to the at least one queue, c) comparing the sequence number with a value of the first state variable, for example when reading from the at least one queue, d) based on the comparison, for example if necessary, initiating an error reaction.
Weitere beispielhafte Ausführungsformen beziehen sich auf eine Vorrichtung zur Ausführung des Verfahrens gemäß den Ausführungsformen.Further exemplary embodiments relate to a device for carrying out the method according to the embodiments.
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Erzeugnis, beispielsweise ein Kraftfahrzeug oder ein Steuergerät, beispielsweise für ein Kraftfahrzeug, mit wenigstens einer Vorrichtung gemäß den Ausführungsformen.Further exemplary embodiments relate to a product, for example a motor vehicle or a control device, for example for a motor vehicle, with at least one device according to the embodiments.
Weitere beispielhafte Ausführungsformen beziehen sich auf ein computerlesbares Speichermedium, umfassend Befehle, die bei der Ausführung durch einen Computer diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.Further exemplary embodiments relate to a computer-readable storage medium comprising instructions that, when executed by a computer, cause the computer to carry out the method according to the embodiments.
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.Further exemplary embodiments relate to a computer program, comprising send commands that, when a computer executes the program, cause it to carry out the method according to the embodiments.
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Datenträgersignal, das das Computerprogramm gemäß den Ausführungsformen überträgt und/oder charakterisiert.Further exemplary embodiments relate to a data carrier signal that transmits and/or characterizes the computer program according to the embodiments.
Weitere beispielhafte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen und/oder der Vorrichtung gemäß den Ausführungsformen und/oder des Erzeugnisses gemäß den Ausführungsformen und/oder des computerlesbaren Speichermediums gemäß den Ausführungsformen und/oder des Computerprogramms gemäß den Ausführungsformen und/oder des Datenträgersignals gemäß den Ausführungsformen für wenigstens eines der folgenden Elemente: a) Verarbeiten von mit wenigstens einem Prozess für eine Recheneinrichtung assoziierten Daten, b) selektives Gewähren von Zugriff auf die wenigstens eine Warteschlange für eine vorgebbare Menge von mit der Recheneinrichtung assoziierten Prozessen, c) Sicherstellen einer Störfreiheit, beispielsweise Freedom from Interference, einer Kommunikation zwischen einer vorgebbaren Menge von mit der Recheneinrichtung assoziierten Prozessen, beispielsweise bezüglich Störungen durch andere, beispielsweise ebenfalls mit der Recheneinrichtung assoziierte, Prozesse, d) Ausschließen, beispielsweise konzeptionelles Ausschließen, von Out-Of-Bound Zugriffen, beispielsweise auf Komponenten der wenigstens einen Warteschlange, e) Erkennen von, beispielsweise ungewollten, Speicherüberschreibungen, beispielsweise bezüglich eines mit der wenigstens einen Warteschlange assoziierten Speicherbereichs, f) Verwenden eines geteilten Speicherbereichs zur Ermöglichung einer, beispielsweise störsicheren, beispielsweise effizienten, Inter-Prozess-Kommunikation, beispielsweise unabhängig von einem Betriebssystem, g) Ermöglichen eines Einsatzes des Verfahrens und/oder einer das Verfahren ausführenden Vorrichtung in sicherheitsrelevanten Anwendungen bzw. Systemen, beispielsweise in Mixed-ASIL Systemen, h) Einschränken von Zugriffsrechten für Prozesse auf die wenigstens eine Warteschlange.Further exemplary embodiments relate to a use of the method according to the embodiments and/or the device according to the embodiments and/or the product according to the embodiments and/or the computer-readable storage medium according to the embodiments and/or the computer program according to the embodiments and/or the Data carrier signal according to the embodiments for at least one of the following elements: a) processing data associated with at least one process for a computing device, b) selectively granting access to the at least one queue for a predeterminable set of processes associated with the computing device, c) ensuring freedom from interference, for example freedom from interference, communication between a predeterminable set of processes associated with the computing device, for example with regard to interference from other processes, for example also associated with the computing device, d) exclusion, for example conceptual exclusion, of out-of-bounds Accesses, for example to components of the at least one queue, e) detecting, for example unwanted, memory overwrites, for example with regard to a memory area associated with the at least one queue, f) using a shared memory area to enable an, for example fail-safe, for example efficient, inter-process -Communication, for example independently of an operating system, g) enabling use of the method and/or a device executing the method in security-relevant applications or systems, for example in mixed-ASIL systems, h) restricting access rights for processes to the at least one queue .
Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in den Figuren der Zeichnung dargestellt sind. Dabei bilden alle beschriebenen oder dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Ansprüchen oder deren Rückbeziehung sowie unabhängig von ihrer Formulierung bzw. Darstellung in der Beschreibung bzw. in der Zeichnung.Further features, possible applications and advantages of the invention result from the following description of exemplary embodiments of the invention, which are shown in the figures of the drawing. All features described or illustrated, individually or in any combination, form the subject matter of the invention, regardless of their summary in the claims or their relationship and regardless of their formulation or representation in the description or in the drawing.
In der Zeichnung zeigt:
-
1 schematisch ein vereinfachtes Flussdiagramm gemäß beispielhaften Ausführungsformen, -
2 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen, -
3 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen, -
4 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen, -
5 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen, -
6 schematisch ein vereinfachtes Flussdiagramm gemäß weiteren beispielhaften Ausführungsformen, -
7 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen, -
8 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen, -
9 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen, -
10 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen, -
11 schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen, -
12 schematisch Aspekte von Verwendungen gemäß weiteren beispielhaften Ausführungsformen.
-
1 schematically a simplified flowchart according to exemplary embodiments, -
2 schematically a simplified block diagram according to further exemplary embodiments, -
3 schematically a simplified block diagram according to further exemplary embodiments, -
4 schematically a simplified block diagram according to further exemplary embodiments, -
5 schematically a simplified block diagram according to further exemplary embodiments, -
6 schematically a simplified flowchart according to further exemplary embodiments, -
7 schematically a simplified block diagram according to further exemplary embodiments, -
8th schematically a simplified block diagram according to further exemplary embodiments, -
9 schematically a simplified block diagram according to further exemplary embodiments, -
10 schematically a simplified block diagram according to further exemplary embodiments, -
11 schematically a simplified block diagram according to further exemplary embodiments, -
12 schematic aspects of uses according to further exemplary embodiments.
Beispielhafte Ausführungsformen, s.
Beispielsweise ist die Recheneinrichtung 12 zur Ausführung der Prozesse P-1, P-2, P-3 ausgebildet und bildet, z.B. zusammen mit einer Speichereinrichtung 14, auf die sie zugreifen kann, eine Vorrichtung 10, z.B. für ein eingebettetes System oder dergleichen.For example, the
Bei weiteren beispielhaften Ausführungsformen ist die Recheneinrichtung 12 zur zumindest zeitweisen Ausführung von wenigstens manchen Aspekten des Verfahrens gemäß den Ausführungsformen ausgebildet.In further exemplary embodiments, the
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Verwenden 102 der wenigstens einen ersten Warteschlange WS-1 für einen Datenaustausch A1, A2 zwischen dem ersten Prozess P-1 und dem zweiten Prozess P-2, wobei beispielsweise das Verwenden 102 wenigstens eines der folgenden Elemente aufweist: a) Senden 102a von Daten, beispielsweise in Form wenigstens einer ersten Nachricht, von dem ersten Prozess P-1 an den zweiten Prozess P-2, b) Senden 102b von Daten, beispielsweise in Form wenigstens einer zweiten Nachricht, von dem zweiten Prozess P-2 an den ersten Prozess P-1.In further exemplary embodiments it is provided that the method comprises: using 102 the at least one first queue WS-1 for a data exchange A1, A2 between the first process P-1 and the second process P-2, for example using 102 at least one which has the following elements: a) sending 102a of data, for example in the form of at least a first message, from the first process P-1 to the second process P-2, b) sending 102b of data, for example in the form of at least a second message, from the second process P-2 to the first process P-1.
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, das die wenigstens eine erste Warteschlange WS-1 bereitgestellt wird und wenigstens eine weitere, z.B. zweite, Warteschlange WS-2, s. z.B. Block 100 gemäß
Beispielsweise kann die erste Warteschlange WS-1 für eine erste Richtung der Datenkommunikation zwischen dem ersten Prozess P-1 und dem zweiten Prozess P-2 verwendet werden, und die zweite Warteschlange WS-2 kann z.B. für eine zweite Richtung der Datenkommunikation zwischen dem ersten Prozess P-1 und dem zweiten Prozess P-2 verwendet werden.For example, the first queue WS-1 may be used for a first direction of data communication between the first process P-1 and the second process P-2, and the second queue WS-2 may be used, for example, for a second direction of data communication between the first process P-1 and the second process P-2 can be used.
Bei weiteren beispielhaften Ausführungsformen,
Bei weiteren beispielhaften Ausführungsformen,
Bei weiteren beispielhaften Ausführungsformen,
Bei weiteren beispielhaften Ausführungsformen,
Bei weiteren beispielhaften Ausführungsformen,
Bei weiteren beispielhaften Ausführungsformen,
Bei weiteren beispielhaften Ausführungsformen,
Bei weiteren beispielhaften Ausführungsformen,
Bei weiteren beispielhaften Ausführungsformen,
Weitere beispielhafte Ausführungsformen,
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass die Vorrichtung 200 (
Bei weiteren beispielhaften Ausführungsformen,
Weitere beispielhafte Ausführungsformen beziehen sich auf ein computerlesbares Speichermedium SM, umfassend Befehle PRG, die bei der Ausführung durch einen Computer 202 diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.Further exemplary embodiments relate to a computer-readable storage medium SM comprising instructions PRG that, when executed by a
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Computerprogramm PRG, umfassend Befehle, die bei der Ausführung des Programms PRG durch einen Computer 202 diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.Further exemplary embodiments relate to a computer program PRG, comprising instructions that, when the program PRG is executed by a
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Datenträgersignal DCS, das das Computerprogramm PRG gemäß den Ausführungsformen charakterisiert und/oder überträgt. Das Datenträgersignal DCS ist beispielsweise über eine optionale Datenschnittstelle 206 der Vorrichtung 200 empfangbar. Ebenfalls sind z.B. die Daten DAT über die optionale Datenschnittstelle 206 übertragbar (sendbar und/oder empfangbar).Further exemplary embodiments relate to a data carrier signal DCS that characterizes and/or transmits the computer program PRG according to the embodiments. The data carrier signal DCS can be received, for example, via an
Jedem der Prozesse P-a, P-b ist z.B. ein jeweiliger privater Adressraum pAS-a, pAS-b zugeordnet, auf den jeweils nur der jeweilige Prozess P-a, P-b Zugriff hat.For example, each of the processes P-a, P-b is assigned a respective private address space pAS-a, pAS-b, to which only the respective process P-a, P-b has access.
Element AS-ab symbolisiert einen zwischen den beiden Prozessen P-a, P-b geteilten Adressraum, auf den also jeder der beiden Prozesse P-a, P-b, z.B. lesend und schreibend, zugreifen kann, und der für einen z.B. sicheren und effizienten Datenaustausch A1, A2 (s. auch
Beispielhaft ist eine erste Warteschlange WS-1 für ein Senden von Daten, beispielsweise Nachrichten, von dem ersten Prozess P-a zu dem zweiten Prozess P-b und eine zweite Warteschlange WS-2 für ein Senden von Daten, beispielsweise Nachrichten, von dem zweiten Prozess P-b zu dem ersten Prozess P-a vorgesehen, wobei beispielsweise die erste Warteschlange WS-1 bei weiteren beispielhaften Ausführungsformen auch als erster Kanal ch_0 und wobei beispielsweise die zweite Warteschlange WS-2 bei weiteren beispielhaften Ausführungsformen auch als zweiter Kanal ch_1 für eine Datenkommunikation zwischen den beiden Prozessen P-a, P-b aufgefasst werden können.By way of example, a first queue WS-1 is for sending data, for example messages, from the first process Pa to the second process Pb and a second queue WS-2 for sending data, for example messages, from the second process Pb to the first process Pa is provided, for example the first queue WS-1 in further exemplary embodiments also being the first channel ch_0 and for example the second In further exemplary embodiments, queue WS-2 can also be understood as a second channel ch_1 for data communication between the two processes Pa, Pb.
Bei weiteren beispielhaften Ausführungsformen bilden die beiden Warteschlangen WS-1, WS-2 bzw. Kanäle ch_0, ch_1 z.B. einen Socket SOCKab für eine sichere Datenkommunikation zwischen den beiden Prozessen P-a, P-b.In further exemplary embodiments, the two queues WS-1, WS-2 or channels ch_0, ch_1 form, for example, a socket SOCKab for secure data communication between the two processes P-a, P-b.
E1 symbolisiert beispielhaft ein erstes Element einer Warteschlange WS, z.B. vom FIFO-Typ, Element E2 symbolisiert beispielhaft ein zweites Element der Warteschlange WS, Element E3 symbolisiert beispielhaft ein drittes Element der Warteschlange WS, und die Punkte E3' symbolisieren weitere mögliche Elemente der Warteschlange WS, die aus Gründen der Übersichtlichkeit nicht gesondert abgebildet sind.E1 symbolizes, for example, a first element of a queue WS, for example of the FIFO type, element E2 symbolizes, for example, a second element of the queue WS, element E3 symbolizes, for example, a third element of the queue WS, and the points E3 'symbolize further possible elements of the queue WS , which are not shown separately for reasons of clarity.
Die Elemente E1, E2, E3, ... weisen jeweils einen ersten Bereich B1 für Daten data und ggf. einen mit den Daten data assoziierten Vergleichswert -data auf, und einen zweiten Bereich B2 für eine Sequenznummer seq und ggf. für einen mit der Sequenznummer seq assoziierten Vergleichswert -seq. Die Vergleichswerte -data, ~seq sind bei weiteren beispielhaften Ausführungsformen z.B. gemäß
Es wird darauf hingewiesen, dass in
Nachfolgend ist ein erstes Pseudocode-Listing („Listing 1“) angegeben, das bei weiteren beispielhaften Ausführungsformen z.B. Aspekte eines Sendens von Daten, beispielsweise Nachrichten, gemäß dem Prinzip gemäß den Ausführungsformen beschreibt. Jeder Zeile des Listing 1 ist eine Zeilennummer vorangestellt.A first pseudocode listing (“
*** Beginn von Listing 1 ******Start of
- 1 send(const &msg):1 send(const &msg):
- 2 curHead= atomic_load(head);2 curHead= atomic_load(head);
- 3 if (corrupt(curHead)) return corruption;3 if (corrupt(curHead)) return corruption;
- 4 slot = slots[idx(curHead)];4 slot = slots[idx(curHead)];
- 5 slot.data.construct(msg);5 slot.data.construct(msg);
- 6 slot.seq= atomic_store(curHead);6 slot.seq= atomic_store(curHead);
- 7 head= atomic_store(curHead+1);7 head= atomic_store(curHead+1);
- 8 return OK;8 return OK;
*** Ende von Listing 1 ******End of Listing 1***
Zeile 1 von Listing 1 beschreibt das Senden einer Nachricht msg, z.B. mittels eines Funktionsaufrufs „send()“, wobei als Parameter eine Referenz &msg auf die zu sendende Nachricht msg übergeben wird. Zeile 2 beschreibt ein, beispielsweise atomares, Laden einer aktuellen Head-Variable (vgl. z.B. die zweite Zustandsvariable ZV-2 gemäß
Nachfolgend ist ein zweites Pseudocode-Listing („Listing 2“) angegeben, das bei weiteren beispielhaften Ausführungsformen z.B. Aspekte eines Empfangens von Daten, beispielsweise Nachrichten, gemäß dem Prinzip gemäß den Ausführungsformen beschreibt. Jeder Zeile des Listing 2 ist eine Zeilennummer vorangestellt.A second pseudocode listing (“
*** Beginn von Listing 2 ******Start of
- 1 receive(&msg):1 receive(&msg):
- 2 curTail= atomic_load(tail);2 curTail= atomic_load(tail);
- 3 if (corrupt(curTail)) return corruption;3 if (corrupt(curTail)) return corruption;
- 4 slot = slots[idx(curTail)];4 slot = slots[idx(curTail)];
- 5 curSeq= atomic_load(slot.seq));5 curSeq= atomic_load(slot.seq));
- 6 if (corrupt(curSeq)) return corruption;6 if (corrupt(curSeq)) return corruption;
- 7 if (corrupt(slot.data.copy(msg)) return corruption;7 if (corrupt(slot.data.copy(msg)) return corruption;
- 8 tail= atomic_store(curTail+1);8 tail= atomic_store(curTail+1);
- 9 return OK;9 return OK;
*** Ende von Listing 2 ******End of Listing 2***
Zeile 1 von Listing 2 beschreibt das Empfangen einer Nachricht, z.B. mittels eines Funktionsaufrufs „receive()“, wobei als Parameter eine Referenz &msg auf eine die zu empfangende Nachricht charakterisierende Variable msg übergeben wird. Zeile 2 beschreibt ein, beispielsweise atomares, Laden einer aktuellen Tail-Variable (vgl. z.B. die erste Zustandsvariable ZV-1 gemäß
Weitere beispielhafte Ausführungsformen,
Weitere beispielhafte Ausführungsformen,
Nachfolgend sind weitere beispielhafte Aspekte und Ausführungsformen beschrieben, die, bei weiteren beispielhaften Ausführungsformen, jeweils einzeln für sich oder in beliebiger Kombination miteinander mit wenigstens einem der vorstehend beschriebenen Aspekte und/oder mit wenigstens einer der vorstehend beschriebenen Ausführungsformen kombinierbar sind.Further exemplary aspects and embodiments are described below, which, in further exemplary embodiments, can each be combined individually or in any combination with one another with at least one of the aspects described above and/or with at least one of the embodiments described above.
Das Prinzip gemäß den Ausführungsformen kann beispielsweise für ein Verfahren zur Interprozesskommunikation A1, A2 verwendet werden, das z.B. sowohl performant als auch geeignet für den Einsatz in Mixed-ASIL Systemen ist. Vorteilhaft kann für das Prinzip gemäß den Ausführungsformen z.B. eine 64-bit Compare-And-Swap Operation einer bzw. der Recheneinrichtung 12, 202 verwendet werden.The principle according to the embodiments can be used, for example, for a method for inter-process communication A1, A2, which is, for example, both high-performance and suitable for use in mixed-ASIL systems. For example, a 64-bit compare-and-swap operation of a
Die Nutzung von Shared Memory, z.B. eines RAM 204a, bietet z.B. Geschwindigkeitsvorteile, und die Steuerung der Zugriffsrechte von Prozessen auf die jeweilige(n) Warteschlange(n) WS-1, WS-2 steigert eine Sicherheit bei der Kommunikation bzw. dem Datenaustausch zwischen Prozessen P-1, P-2.The use of shared memory, for example a
Bei weiteren beispielhaften Ausführungsformen erfolgen Zugriffe auf mit der wenigstens einen Warteschlange WS-1, WS-2 assoziierte Variablen und/oder ihre (optionalen) Vergleichswerte z.B. atomar und/oder lock-frei: Z.B. atomar, um einen konsistenten Zustand zu gewährleisten, z.B. lock-frei um die Möglichkeit einer Korruption der lock-Variablen zu unterbinden und somit z.B. ein konsistentes Lesen und Schreiben der Variablen durch Hardware-Mechanismen zu gewährleisten. Bei weiteren beispielhaften Ausführungsformen ist hierfür eine Nutzung einer 64-bit Compare-And-Swap Operation nützlich, welche z.B. auf der Recheneinrichtung 12, 202 verfügbar ist, wie vorstehend bereits erwähnt.In further exemplary embodiments, variables associated with the at least one queue WS-1, WS-2 and/or their (optional) comparison values are accessed e.g. atomically and/or lock-free: e.g. atomically to ensure a consistent state, e.g. lock -free to prevent the possibility of corruption of the lock variables and thus ensure, for example, consistent reading and writing of the variables by hardware mechanisms. In further exemplary embodiments, the use of a 64-bit compare-and-swap operation is useful for this, which is available, for example, on the
Bei weiteren beispielhaften Ausführungsformen ist, z.B. im Falle der Payload (Nutzdaten, vgl. z.B. Bezugszeichen data gemäß
Bei weiteren beispielhaften Ausführungsformen ist der Vergleichswert z.B. das Inverse des Originalwerts (z.B. erhaltbar durch bitweises Invertieren). Alternativ sind bei weiteren beispielhaften Ausführungsformen z.B. XOR-Verknüpfungen, z.B. mit einem benutzerdefinierten Wert oder, z.B. im Falle von größeren Daten wie der Payload, ein CRC-Wert denkbar.In further exemplary embodiments, the comparison value is, for example, the inverse of the original value (e.g. obtainable by inverting bit by bit). Alternatively, in further exemplary embodiments, for example XOR links, for example with a user-defined value or, for example in the case of larger data such as the payload, a CRC value are conceivable.
Bei weiteren beispielhaften Ausführungsformen kann, z.B. für einen seltenen Fall, dass eine Speicherkorruption einen vermeintlich richtigen Wert darstellt, ein Kreuzvergleich z.B. mithilfe der Sequenznummer seq der Payload Elemente data erfolgen: Head und Tail werden bei weiteren beispielhaften Ausführungsformen z.B. nicht mit dem Modulo abgespeichert, sondern z.B. lediglich inkrementiert. Der vollständige Wert der Head-Variable wird bei weiteren beispielhaften Ausführungsformen beim Schreiben in die Sequenznummer eingetragen, beim Auslesen kann bei weiteren beispielhaften Ausführungsformen geprüft werden, ob die Sequenznummer mit dem Wert der Tail-Variable übereinstimmt. Sollte die Head-Variable während des Betriebs vermeintlich korrekt überschrieben worden sein, würde bei weiteren beispielhaften Ausführungsformen die falsche Sequenznummer dazu führen, dass dieser Fehler während der Leseoperation erkannt wird.In further exemplary embodiments, for example in a rare case that a memory corruption represents a supposedly correct value, a cross-comparison can be carried out, for example using the sequence number seq of the payload elements data: In further exemplary embodiments, head and tail are, for example, not saved with the modulo, but rather e.g. just incremented. In further exemplary embodiments, the complete value of the head variable is entered into the sequence number when writing; when reading out, in further exemplary embodiments it can be checked whether the sequence number matches the value of the tail variable. Should the head variable appear to have been overwritten correctly during operation, in further exemplary embodiments the incorrect sequence number would result in this error being detected during the read operation.
Eine Fehlererkennung kann bei weiteren beispielhaften Ausführungsformen z.B. auf zwei Arten erfolgen: Eine erste Art besteht z.B. in der Plausibilisierung der Sequenznummer auf die zwei, z.B. legalen, Möglichkeiten. Sie beträgt im Falle eines bereits gelesenen Elements der Nummer der letzten Iteration, d.h. „Tail-N“ bei N FIFO Elementen, oder im Falle eines neuen lesbaren Elements dem Tail-Wert. Jeglicher andere Wert wäre bei weiteren beispielhaften Ausführungsformen ein Fehlerfall.In further exemplary embodiments, error detection can take place in two ways, for example: A first way consists, for example, in checking the plausibility of the sequence number in the two, for example legal, options. In the case of an element that has already been read, it is the number of the last iteration, i.e. “Tail-N” for N FIFO elements, or in the case of a new readable element, the tail value. Any other value would be an error case in further exemplary embodiments.
Die zweite Art kombiniert bei weiteren beispielhaften Ausführungsformen einen einfachen Abgleich der Sequenznummer bei Leseoperationen mit dem Tail-Wert und eine zyklische Funktionsprüfung zwischen beiden FIFOs FIFO-1, FIFO-2 zur Kommunikation der Kommunikationspartner. Die zyklische Funktionsprüfung besteht bei weiteren beispielhaften Ausführungsformen z.B. aus einem Versand von „Ping-Pong“ Nachrichten in regelmäßigen Abständen. Im Falle einer ungültigen Sequenznummer würden bei weiteren beispielhaften Ausführungsformen Leseoperationen in einem der beiden FIFOs nicht mehr stattfinden, sodass die zyklische Funktionsprüfung durch einen Stillstand der Kommunikation in einer Richtung fehlschlägt.In further exemplary embodiments, the second type combines a simple comparison of the sequence number during read operations with the tail value and a cyclic function test between the two FIFOs FIFO-1, FIFO-2 for communication between the communication partners. In further exemplary embodiments, the cyclic functional test consists, for example, of sending “ping-pong” messages at regular intervals. In the event of an invalid sequence number, in further exemplary embodiments, read operations would no longer take place in one of the two FIFOs, so that the cyclic function test fails due to communication stopping in one direction.
In beiden beschriebenen Möglichkeiten zur Fehlererkennung gemäß weiteren beispielhaften Ausführungsformen kann es zu einer gewissen Verzögerung zwischen dem Auftreten des Fehlers und dessen Detektion kommen: Bei der ersten Art wird der Fehler z.B. erst detektiert, wenn der Leser das erste Element mit der ungültigen Sequenznummer erreicht. Dies kann je nach Position des verschobenen Head-Indexes bis zu N-1 weitere Schreiboperationen bedeuten.In both described options for error detection according to further exemplary embodiments, there may be a certain delay between the occurrence of the error and its detection: In the first type, for example, the error is only detected when the reader reaches the first element with the invalid sequence number. Depending on the position of the moved head index, this can mean up to N-1 additional write operations.
Bei der zweiten Art gemäß weiteren beispielhaften Ausführungsformen erfolgt die Detektion mit der Latenz der gewählten Frequenz einer z.B. zyklischen Funktionsprüfung. Sollte dies, z.B. in manchen Zielsystemen, nicht ausreichend schnell sein, kann man bei weiteren beispielhaften Ausführungsformen die Fehlerkennung z.B. mit einem übergeordneten Mechanismus weiter verbessern: Ein Zähler, welcher bei Schreiboperationen inkrementiert und bei Leseoperationen dekrementiert wird, zeigt an, wie viele neue Elemente im FIFO liegen. In Multi-Producer Szenarien gemäß weiteren beispielhaften Ausführungsformen können Schreiboperationen dann z.B. mit einem Lock z.B. in einem privaten Adressbereich des schreibenden Prozesses, serialisiert werden, z.B. um False Positives in der Plausibilisierungslogik zu vermeiden.In the second type according to further exemplary embodiments, detection takes place with the latency of the selected frequency of, for example, a cyclic functional test. If this is not sufficiently fast, for example in some target systems, in further exemplary embodiments the error detection can be further improved, for example with a higher-level mechanism: A counter, which is incremented during write operations and decremented during read operations, shows how many new elements are in the FIFO. In multi-producer scenarios according to further exemplary embodiments, write operations can then be serialized, for example with a lock, for example in a private address area of the writing process, for example in order to avoid false positives in the plausibility check logic.
Claims (16)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022203328.0A DE102022203328A1 (en) | 2022-04-04 | 2022-04-04 | Method and device for processing data associated with a computing device |
PCT/EP2023/058280 WO2023194198A1 (en) | 2022-04-04 | 2023-03-30 | Method and device for processing data associated with a computing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022203328.0A DE102022203328A1 (en) | 2022-04-04 | 2022-04-04 | Method and device for processing data associated with a computing device |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102022203328A1 true DE102022203328A1 (en) | 2023-10-05 |
Family
ID=86006610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102022203328.0A Pending DE102022203328A1 (en) | 2022-04-04 | 2022-04-04 | Method and device for processing data associated with a computing device |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102022203328A1 (en) |
WO (1) | WO2023194198A1 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102012016539A1 (en) * | 2012-08-17 | 2014-05-15 | Elektrobit Automotive Gmbh | Configuration technique for a controller with inter-communicating applications |
WO2018094509A1 (en) * | 2016-11-25 | 2018-05-31 | Genetec Inc. | System for inter-process communication |
-
2022
- 2022-04-04 DE DE102022203328.0A patent/DE102022203328A1/en active Pending
-
2023
- 2023-03-30 WO PCT/EP2023/058280 patent/WO2023194198A1/en unknown
Non-Patent Citations (1)
Title |
---|
Chisnall, D.: The Definitive Guide to The Xen Hypervisor. Chap. "6.3 Understanding Shared Memory Ring Buffers" 21.03.2008<https://www.informit.com/articles/article.aspx?p=1160234&seqNum=3>(recherchiert am 16.03.2023) |
Also Published As
Publication number | Publication date |
---|---|
WO2023194198A1 (en) | 2023-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102014201682A1 (en) | Method for coexistence of software with different security levels in a multicore processor system | |
DE102015210651B4 (en) | Circuit and method for testing an error correction capability | |
DE102010037457A1 (en) | A method of data processing for providing a value for determining whether an error has occurred during execution of a program, methods of data processing for determining whether an error has occurred during execution of a program, method for generating program code, data processing arrangements for providing a program Value for determining whether an error has occurred during execution of a program, data processing arrangements for determining whether an error has occurred during execution of a program, and data processing arrangements for generating program code | |
DE19839680B4 (en) | Method and device for modifying the memory contents of control units | |
EP3811261B1 (en) | Cryptography module and method for operating same | |
DE102022203328A1 (en) | Method and device for processing data associated with a computing device | |
EP1611516A2 (en) | Program-controlled unit | |
WO2004090732A2 (en) | Program-controlled unit | |
DE102017124805B4 (en) | MEMORY ARRANGEMENT AND METHOD FOR INTERMEDIATELY STORING MEMORY CONTENT | |
DE102004051966A1 (en) | Method, operating system and computing device for executing a computer program | |
EP3797352B1 (en) | Method for exchanging a first executable program code and a second executable program code, and control unit | |
DE102009002786A1 (en) | Method for testing a memory and control device with means for a memory test | |
DE102018217969A1 (en) | Computing device and operating method therefor | |
WO2023222375A1 (en) | Transfer of data between control processes | |
DE102021202021A1 (en) | Method and device for processing data | |
DE102018219700B4 (en) | Control device | |
DE102007051061B4 (en) | Non-volatile semiconductor memory system and corresponding method for performing a programming operation | |
DE102016222691A1 (en) | Microcontroller system and method for controlling memory accesses in a microcontroller system | |
DE102022206298A1 (en) | Method and device for managing a memory for a vehicle and storage device | |
DE112015002881T5 (en) | Storage device, flash memory controller and program | |
DE102022209628A1 (en) | Method for checking data in a computing unit | |
DE10128996B4 (en) | Method and device for monitoring memory cells of a volatile data memory | |
DE102019208407A1 (en) | Method and device for processing data stored in a storage device | |
DE102017220708A1 (en) | Method and device for operating a memory device | |
DE10113319A1 (en) | Operating method for processor-controlled system e.g. for vehicle, detecting error in stored data when deviation is detected between compared data words |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified |