DE102019215295A1 - Data structure, storage means and device - Google Patents
Data structure, storage means and device Download PDFInfo
- Publication number
- DE102019215295A1 DE102019215295A1 DE102019215295.3A DE102019215295A DE102019215295A1 DE 102019215295 A1 DE102019215295 A1 DE 102019215295A1 DE 102019215295 A DE102019215295 A DE 102019215295A DE 102019215295 A1 DE102019215295 A1 DE 102019215295A1
- Authority
- DE
- Germany
- Prior art keywords
- segment
- storage means
- application
- data structure
- identifier
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0261—Garbage collection, i.e. reclamation of unreferenced memory using reference counting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
- G06F12/1475—Key-lock mechanism in a virtual system, e.g. with translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1012—Design facilitation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/17—Embedded application
- G06F2212/173—Vehicle or other transportation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/656—Address space sharing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
Abstract
Datenstruktur (1) für ein Speichermittel (11, 21), insbesondere für ein gemeinsam genutztes Speichermittel (11), in einem Anwendungssystem zur Speicherung von einem Datum (3, 13), wobei das Datum (3, 13) in einem Segment (12a, 12b) des Speichermittels (11, 21) abgelegt ist, dadurch gekennzeichnet, dass dem Segment (12a, 12b) eine in dem Anwendungssystem eindeutige Kennung (id, segmentld) zugeordnet ist und dass ein Zeigerobjekt (3) auf das Datum (3, 13) in Abhängigkeit von der Kennung (id, segmentld) des Segments (12a, 12b) und einem Versatz (offset) des Datums (3, 13) in Relation zu dem Segment (12a, 12b) verweist.Data structure (1) for a storage means (11, 21), in particular for a shared storage means (11), in an application system for storing a date (3, 13), the date (3, 13) in a segment (12a , 12b) of the storage means (11, 21), characterized in that the segment (12a, 12b) is assigned an identifier (id, segmentld) that is unique in the application system and that a pointer object (3) points to the date (3, 13) depending on the identifier (id, segmentld) of the segment (12a, 12b) and an offset of the date (3, 13) in relation to the segment (12a, 12b).
Description
Die vorliegende Erfindung schafft eine Datenstruktur, ein Speichermittel sowie eine Vorrichtung.The present invention provides a data structure, a storage means and an apparatus.
Systeme für das zumindest teilweise automatisierte Fahren, insbesondere das hochautomatisierte Fahren, erfordern nach heutigem Stand der Kenntnis Multi-ECU, Multi-Prozessor und Multi-Prozess-Topologien, die auf eine Middlewarezentrische Umsetzung ausgerichtet sind.According to current knowledge, systems for at least partially automated driving, in particular highly automated driving, require multi-ECU, multi-processor and multi-process topologies that are geared towards middleware-centric implementation.
Stand der TechnikState of the art
In einem Betriebssystem nach dem Portable Operating System Interface (POSIX) Standard, wie bspw. Linux oder QNX, ist es bekannt gemeinsam genutzte Speichermittel zur Kommunikation zwischen Prozessen (Interprozesskommunikation) einzusetzen. Dazu wird derselbe Teil eines physikalischen Speichers in die jeweiligen virtuellen Adressräume der beteiligten Prozesse eingeblendet (eng. Memory Mapping).In an operating system based on the Portable Operating System Interface (POSIX) standard, such as Linux or QNX, it is known to use shared storage means for communication between processes (interprocess communication). For this purpose, the same part of a physical memory is displayed in the respective virtual address spaces of the processes involved (memory mapping).
Offenbarung der ErfindungDisclosure of the invention
Die virtuelle Adresse, an der ein bestimmter Teil eines physikalischen Speichers eingeblendet wird, wird typischerweise vom Betriebssystem bestimmt. Das kann dazu führen, dass derselbe Teil eines physikalischen Speichers in verschiedenen Prozessen eines Multi-Prozess-Systems unterschiedliche virtuelle Adresse erhältThe virtual address at which a certain part of a physical memory is displayed is typically determined by the operating system. This can lead to the same part of a physical memory being given different virtual addresses in different processes of a multi-process system
Wenn eine Middleware für die Interprozesskommunikation (Kommunikations-Middleware) gemeinsam genutzte Speichermittel einsetzt, so werden in der Regel Zeigerobjekte (Referenzen, Zeiger, eng. Pointer) auf Datenstrukturen zwischen den Prozessen ausgetauscht. Dadurch kann ein Kopieren der Daten vermieden werden. Dies spart Systemressourcen. Die Komplexität der Datenstruktur ist derzeit aufgrund von Einschränkungen bzgl. der Verwendung von Zeigerobjekten innerhalb einer solchen Datenstruktur begrenzt. Ein Grund dafür ist, dass ein Zeigerobjekt, das von einem Prozess in die Datenstruktur geschrieben wird, aufgrund der unterschiedlichen virtuellen Adressen nur in dem Adressraum dieses Prozesses gültig ist.If a middleware uses shared storage means for interprocess communication (communication middleware), pointer objects (references, pointers, pointers) to data structures are usually exchanged between the processes. This avoids copying the data. This saves system resources. The complexity of the data structure is currently limited due to restrictions with regard to the use of pointer objects within such a data structure. One reason for this is that a pointer object that is written into the data structure by a process is only valid in the address space of this process due to the different virtual addresses.
Vor diesem Hintergrund schafft die vorliegende Erfindung eine Datenstruktur für ein Speichermittel in einem Anwendungssystem zur Speicherung von einem Datum.Against this background, the present invention creates a data structure for a storage means in an application system for storing data.
Das Datum ist in einem Segment des Speichermittels abgelegt.The date is stored in a segment of the storage means.
Die Datenstruktur zeichnet sich dadurch aus, dass dem Segment eine in dem Anwendungssystem eindeutige Kennung, mit anderen Worten eine ID, zugeordnet ist und dass ein Zeigerobjekt, mit anderen Worten eine Referenz (eng. Pointer), auf das Datum in Abhängigkeit von der Kennung des Segments und einem Versatz, mit anderen Worten einem Offset, des Datums in Relation zum Start des Segments verweist.The data structure is characterized in that the segment is assigned an identifier that is unique in the application system, in other words an ID, and that a pointer object, in other words a reference (pointer), points to the date as a function of the identifier of the Segment and an offset, in other words an offset, of the date in relation to the start of the segment.
Unter einem Anwendungssystem kann vorliegend ein System bestehend aus einer Menge von Anwendungsprogrammen, d. h. automatisierten Abläufen, die teilweise auf eine gemeinsame Hardware zurückgreifen verstanden werden. Ein Teil der gemeinsamen Hardware kann dabei ein gemeinsam genutztes Speichermittel sein. Das Anwendungssystem kann eingerichtet sein, um ein Fahrzeug zumindest teilweise automatisiert, bevorzugt hochautomatisiert, zu betreiben.In the present case, an application system can be a system consisting of a set of application programs, i. H. automated processes, some of which are based on common hardware. Part of the common hardware can be a shared storage means. The application system can be set up to operate a vehicle at least partially in an automated manner, preferably in a highly automated manner.
Unter einem Datum kann vorliegend eine Menge von Werten verstanden werden, die im Rahmen des Anwendungssystems eine Information repräsentieren. Ein solcher Wert kann ein Teil eines Eingabewerts, wie bspw. ein Sensorwert, ein Teil eines Ausgabewerts, wie bspw. ein Stellbefehl für einen Aktor oder ein Zwischenergebnis bei der Verarbeitung des Eingabewertes zu einem Ausgabewert darstellen. Insbesondere kann das Datum ein Zeigerobjekt bzw. eine Referenz, mit anderen Wort ein Zeiger (eng. Pointer), auf ein weiteres Datum darstellen.In the present case, a datum can be understood to mean a set of values that represent information in the context of the application system. Such a value can represent part of an input value such as a sensor value, part of an output value such as a control command for an actuator or an intermediate result when processing the input value to form an output value. In particular, the date can represent a pointer object or a reference, in other words a pointer, to another date.
Die Datenstruktur gemäß der vorliegenden Erfindung ermöglicht komplexe Systemtopologien basierend auf gemeinsam genutzten Speichermitteln, bei denen sowohl Daten als auch Zeiger in verschiedenen Segmenten eines gemeinsam genutzten Speichermittels abgelegt werden und dementsprechend Zeiger von einem Segment in ein anderes Segment verweisen.The data structure according to the present invention enables complex system topologies based on shared storage means, in which both data and pointers are stored in different segments of a shared storage means and accordingly pointers from one segment to another.
Dies ist dadurch möglich, da ein Zeiger der Datenstruktur sowohl die Kennung des Zielsegments als auch den Versatz des Datums in dem Zielsegment umfasst.This is possible because a pointer of the data structure includes both the identifier of the target segment and the offset of the date in the target segment.
Durch die Datenstruktur der vorliegenden Erfindung ist es nunmehr möglich auf ein Datum an einer physikalischen Adresse eines gemeinsam genutzten Speichermittels aus unterschiedlichen Prozessen zu verweisen, obwohl das Zeigerobjekt und das Datum nicht notwendigerweise im selben Segment des physikalischen Speichers abgelegt sind.The data structure of the present invention now makes it possible to refer to a datum at a physical address of a shared storage means from different processes, although the pointer object and the datum are not necessarily stored in the same segment of the physical memory.
Ferner ist es mit der Datenstruktur der vorliegenden Erfindung möglich aus den Speichermitteln, die nicht gemeinsam genutzt werden, auf ein Datum in einem gemeinsam genutzten Speichermittel zu verweisen.Furthermore, with the data structure of the present invention, it is possible to refer to a datum in a shared storage means from the storage means which are not used jointly.
Bei dem Speichermittel kann es sich um ein gemeinsam genutztes Speichermittel handeln. Unter einem gemeinsam genutzten Speichermittel (eng. Shared Memory) kann vorliegend ein Teil eines physikalischen Speichers verstanden werden, der von mehreren Prozessen eines Anwendungssystems mit Multi-Prozess-Topologie genutzt wird.The storage means can be a shared storage means. In the present case, a shared memory means can be understood as a part of a physical memory that is used by several processes of an application system with a multi-process topology.
Mittels eines gemeinsam genutzten Speichermittels lässt sich auf einfache Art und Weise eine hoch performante Datenkommunikation zwischen mehreren Prozessen umsetzen.Using a shared storage medium, high-performance data communication between several processes can be implemented in a simple manner.
In Kombination mit sog. Memory Pools, die bspw. in dem gemeinsam genutzten Speichermittel angelegt werden können, ermöglich die Datenstruktur der vorliegenden Erfindung die Konstruktion komplexer verlinkter Strukturen wie Listen oder Bäume und deren effiziente Übertragung zwischen Anwendungen (Interprozesskommunikation) mit verschiedenen virtuellen Adressräumen.In combination with so-called memory pools, which can be created in the shared storage means, for example, the data structure of the present invention enables the construction of complex linked structures such as lists or trees and their efficient transfer between applications (interprocess communication) with different virtual address spaces.
Nach einer Ausführungsform der Datenstruktur ist dem Segment für eine Nutzung durch eine Anwendung des Anwendungssystems eine virtuelle Adresse zugeordnet. Die Anwendung weist dazu eine Zuordnung der Kennung zu der virtuellen Adresse auf.According to one embodiment of the data structure, a virtual address is assigned to the segment for use by an application of the application system. For this purpose, the application has an assignment of the identifier to the virtual address.
Ein solche Zuordnung kann vorliegend in Form einer Nachschlagtabelle (eng. Look-up Table) vorliegen. Die Nachschlagtabelle befindet sich dabei typischerweise im Adressraum der Anwendung bzw. muss zumindest in diesem verfügbar sein.Such an assignment can be present in the form of a look-up table. The look-up table is typically located in the address space of the application or must at least be available in this.
Nach einer Ausführungsform der Datenstruktur ist dem Segment eine Größe zugordnet. Die Anwendung weist dazu eine Zuordnung der Kennung zu der Größe auf.According to one embodiment of the data structure, a size is assigned to the segment. For this purpose, the application has an assignment of the identifier to the size.
Ein solche Zuordnung kann vorliegend in Form einer Nachschlagtabelle (eng. Look-up Table) vorliegen. Die Nachschlagtabelle befindet sich dabei typischerweise im Adressraum der Anwendung bzw. muss zumindest in diesem verfügbar sein.Such an assignment can be present in the form of a look-up table. The look-up table is typically located in the address space of the application or must at least be available in this.
Anhand der Information über die Größe des Segments kann bei Verweisen in gewissen Rahmen eine Plausibilitätsprüfung vorgenommen werden. So kann mittels Abgleich der Größe und des Versatzes überprüft werden, ob ein Verweis über die Größe des Segments hinausreichen würde. Ist das der Fall, so läge eine Speicherverletzung vor, die mittels dieser Ausführungsform bereits auf Anwendungsebene erkannt werden kann.Based on the information about the size of the segment, a plausibility check can be carried out in the event of links within certain limits. By comparing the size and the offset, it can be checked whether a reference would extend beyond the size of the segment. If this is the case, then there would be a memory violation which can already be recognized at the application level by means of this embodiment.
Nach einer Ausführungsform der Datenstruktur ist dem Segment für eine Nutzung durch eine Anwendung ein Nutzungsrecht zugeordnet. Die Anwendung weist dazu eine Zuordnung der Kennung zu der Größe auf.According to one embodiment of the data structure, a usage right is assigned to the segment for use by an application. For this purpose, the application has an assignment of the identifier to the size.
Ein solche Zuordnung kann vorliegend in Form einer Nachschlagtabelle (eng. Look-up Table) vorliegen. Die Nachschlagtabelle befindet sich dabei typischerweise im Adressraum der Anwendung bzw. muss zumindest in diesem verfügbar sein.Such an assignment can be present in the form of a look-up table. The look-up table is typically located in the address space of the application or must at least be available in this.
Anhand der Information über ein Nutzungsrecht kann bereits auf Anwendungsebene die Berechtigung eines Speicherzugriffs geprüft werden. Ein unberechtigter Speicherzugriff kann dann komplett untersagt werden. Um die Vertrauenswürdigkeit dieser Ausführungsform weiter zu erhöhen kann diese Funktionalität mittels einer authentifizierten Programmbibliothek bereitgestellt werden. Ferner kann die Zugriffskontrolle derart gestaltet werden, dass die Adressen der Segmente für nicht-autorisierte Anwendungen nicht transparent, d. h. opak, mit anderen Worten nicht-sichtbar, sind.On the basis of the information about a right of use, the authorization of a memory access can already be checked at the application level. Unauthorized memory access can then be completely prohibited. In order to further increase the trustworthiness of this embodiment, this functionality can be provided by means of an authenticated program library. Furthermore, the access control can be designed in such a way that the addresses of the segments are not transparent for unauthorized applications, i. H. are opaque, in other words not visible.
Die vorstehenden Zuordnungen können in beliebiger Kombination gemeinsam vorliegen und dazu in einer gemeinsamen Nachschlagtabelle eingetragen sein.The above assignments can be present together in any combination and for this purpose they can be entered in a joint look-up table.
Die Bereitstellung einer gemeinsamen Nachschlagtabelle, mit anderen Worten eines zentralen Look-up-Mechanismus, kann die Vergabe von in dem Anwendungssystem eindeutigen Kennungen für die Segmente des gemeinsam genutzten Speichers gewährleisten. Mittels eines solchen Look-Up Mechanismus kann die Auflösung der jeweiligen virtuellen Basisadresse für die jeweilige Kennung erfolgen.The provision of a common look-up table, in other words a central look-up mechanism, can ensure the allocation of identifiers that are unique in the application system for the segments of the shared memory. Such a look-up mechanism can be used to resolve the respective virtual base address for the respective identifier.
Nach einer Ausführungsform der Datenstruktur gibt der Versatz eine relative Verschiebung des Datums zu der virtuellen Adresse des Segments an.According to one embodiment of the data structure, the offset indicates a relative shift of the date to the virtual address of the segment.
Mittels der Datenstruktur der vorliegenden Erfindung ist es möglich eine Referenzzählung (eng. Reference Counting) durchzuführen. Unter einer Referenzzählung wird vorliegend verstanden, dass die Anzahl der Zeigerobjekte, die auf ein Datum verweisen, gezählt wird. Fällt die Anzahl der verweisenden Zeigerobjekte auf null, so kann der Speicherplatz für das Datum freigegeben werden, da kein Prozess des Anwendungssystems mehr auf das Datum verweist und demnach das Datum nicht mehr benötigt wird.Using the data structure of the present invention, it is possible to carry out a reference counting. In the present case, reference counting is understood to mean that the number of pointer objects that refer to a datum is counted. If the number of referring pointer objects falls to zero, the memory space for the date can be released, since no process in the application system refers to the date and the date is therefore no longer required.
Zur Umsetzung einer Referenzzählung mit der Datenstruktur der vorliegenden Erfindung wird angenommen, dass ein Zeigerobjekt dann auf das gleiche Datum verweist, wenn die Kennung und der Versatz identisch sind.In order to implement a reference count with the data structure of the present invention, it is assumed that a pointer object refers to the same datum if the identifier and the offset are identical.
Unter dieser Annahme kann beim Erstellen, Kopieren und Zerstören (d. h. Aufgeben bzw. Löschen) eines Zeigerobjekts der Zähler der Referenzzählung entsprechend angepasst werden.Under this assumption, creating, copying and destroying (i.e. giving up or Delete) of a pointer object, the counters of the reference counting can be adapted accordingly.
Dazu können die Daten für die Referenzzählung im gemeinsam genutzten Speichermittel abgelegt werden und die Anwendungen eines Anwendungssystems können über eine entsprechende Datenstruktur bspw. über ein Zeigerobjekt gemäß der Datenstruktur der vorliegenden Erfindung auf die Daten zur anwendungsübergreifenden Verwaltung der Referenzzählung zugreifen.For this purpose, the data for the reference count can be stored in the shared storage means and the applications of an application system can access the data for the cross-application management of the reference count via a corresponding data structure, for example via a pointer object according to the data structure of the present invention.
Ein weiterer Aspekt der vorliegenden Erfindung ist ein Speichermittel. Das Speichermittel weist eine Datenstruktur gemäß der vorliegenden Erfindung auf.Another aspect of the present invention is a storage means. The storage means has a data structure according to the present invention.
Bei dem Speichermittel kann es sich um ein gemeinsam genutztes Speichermittel handeln.The storage means can be a shared storage means.
Ein weiterer Aspekt der vorliegenden Erfindung ist eine Vorrichtung. Die Vorrichtung weist ein Speichermittel gemäß der vorliegenden Erfindung auf.Another aspect of the present invention is an apparatus. The device has a storage means according to the present invention.
Bei der Vorrichtung kann es sich bspw. um ein Steuergerät für eine Maschine handeln. Denkbar ist dabei, dass es sich bei der Maschine um ein Fahrzeug handelt. Denkbar ist dabei ferner, dass es sich bei dem Fahrzeug um ein zumindest teilweise automatisiert betriebenes Fahrzeug handelt.The device can be, for example, a control device for a machine. It is conceivable that the machine is a vehicle. It is also conceivable that the vehicle is an at least partially automated vehicle.
Unter einem Fahrzeug kann vorliegend ein mobiles Verkehrsmittel verstanden werden, das dem Transport von Personen (Personenverkehr), Gütern (Güterverkehr) oder Werkzeugen (Maschinen oder Hilfsmittel) dienen kann. Je nach Anwendungsfall wird von:
- - Landfahrzeugen;
- - Wasserfahrzeugen;
- - Luftfahrzeugen gesprochen.
- - land vehicles;
- - watercraft;
- - Aircraft spoken.
Nachfolgend werden Ausführungsformen der Erfindung anhand von Zeichnungen näher erläutert.Embodiments of the invention are explained in more detail below with reference to drawings.
Es zeigen:
-
1 eine schematische Darstellung eines Anwendungssystems mit einer Datenstruktur gemäß der vorliegenden Erfindung; -
2 eine weitere schematische Darstellung eines Anwendungssystems mit einer Datenstruktur gemäß der vorliegenden Erfindung.
-
1 a schematic representation of an application system with a data structure according to the present invention; -
2 a further schematic representation of an application system with a data structure according to the present invention.
Ein gemeinsam genutztes Speichermittel
Aus der Perspektive der ersten Anwendung
Für den Zugriff auf ein Datum
Der Anwendung
Ein Zeigerobjekt
In der dargestellten Ausführungsform liegt die Nachschlagtabelle
Das gemeinsam genutzte Speichermittel
Damit werden zwei Aspekte der vorliegenden Erfindung deutlich. Aus der Perspektive der jeweiligen Anwendung
Ein Zeigerobjekt
In den dargestellten Ausführungsformen liegt die Nachschlagtabelle
Bei einer Änderung der virtuellen Basisadresse (baseAddress) bspw. bei einer Re-Initialisierung oder beim Kopieren bzw. Verschieben (eng. Move) des Zeigerobjekts
Dadurch, dass die Nachschlagetabellen
Zum Aufbau von komplexen verlinkten Strukturen, wie bspw. Listenknoten, können von einem Allokator in dem gemeinsam genutzten Speichermittel
In den
Nicht dargestellt in den
Anhand der Information über die Größe (size) des jeweiligen Segments
Denkbar wäre es auch die Nachschlagtabelle
Claims (7)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019215295.3A DE102019215295A1 (en) | 2019-10-04 | 2019-10-04 | Data structure, storage means and device |
PCT/EP2020/077852 WO2021064241A1 (en) | 2019-10-04 | 2020-10-05 | Data structure, storage means and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019215295.3A DE102019215295A1 (en) | 2019-10-04 | 2019-10-04 | Data structure, storage means and device |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102019215295A1 true DE102019215295A1 (en) | 2021-04-08 |
Family
ID=72852616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102019215295.3A Pending DE102019215295A1 (en) | 2019-10-04 | 2019-10-04 | Data structure, storage means and device |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102019215295A1 (en) |
WO (1) | WO2021064241A1 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5845331A (en) * | 1994-09-28 | 1998-12-01 | Massachusetts Institute Of Technology | Memory system including guarded pointers |
US6314501B1 (en) * | 1998-07-23 | 2001-11-06 | Unisys Corporation | Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory |
US6345276B1 (en) * | 1998-09-18 | 2002-02-05 | Microsoft Corporation | Representing base pointers in a shared memory heap |
US7380086B2 (en) * | 2003-12-12 | 2008-05-27 | International Business Machines Corporation | Scalable runtime system for global address space languages on shared and distributed memory machines |
-
2019
- 2019-10-04 DE DE102019215295.3A patent/DE102019215295A1/en active Pending
-
2020
- 2020-10-05 WO PCT/EP2020/077852 patent/WO2021064241A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2021064241A1 (en) | 2021-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69635865T2 (en) | ADDRESS TRANSFORMATION IN A CLUSTER COMPUTER SYSTEM | |
DE102013022405B3 (en) | Protection of global registers in a multithreaded processor | |
DE3805107A1 (en) | METHOD AND DEVICE FOR CONTROLLING VIRTUAL ADDRESS SPACES OF A VIRTUAL STORAGE | |
DE102014201682A1 (en) | Method for coexistence of software with different security levels in a multicore processor system | |
EP3364257A1 (en) | Method for operating an engineering system for an industrial process automation system and control program | |
DE102015119202A1 (en) | Interface unit for forwarding prioritized input data to a processor | |
DE102019215295A1 (en) | Data structure, storage means and device | |
DE102013016114B3 (en) | Bus system and method for protected memory accesses | |
DE2837241C2 (en) | Device for securing data against unauthorized access | |
EP3475819B1 (en) | Method for automatically and dynamically assigning the responsibility for tasks to the available computing components in a highly distributed data-processing system | |
DE60026847T2 (en) | PROCESS TO ASSIGN AN IDENTITY TO AN OBJECT IN A DATABASE | |
DE102017220068A1 (en) | Method and on-board control unit for controlling and / or monitoring components of a rail vehicle | |
DE102012007321A1 (en) | Method for operating a diagnostic system and diagnostic system | |
DE102020113758A1 (en) | COMPARISON OF ELECTRONIC CONTROL UNITS | |
WO2020078835A1 (en) | Control unit for controlling an information system | |
DE102018123563A1 (en) | Method for inter-core communication in a multi-core processor | |
DE102017007022A1 (en) | Programmable control device | |
DE102007050642A1 (en) | Electronic network | |
DE102020214362A1 (en) | Method for managing data from a variety of entities and apparatus for data processing | |
DE102016216821A1 (en) | Method and device for operating an internal combustion engine | |
WO2024046731A1 (en) | Method for the computer-supported restricting of persistent memory for a container-based application | |
DE102021108263A1 (en) | Procedure for configuring an access control system | |
DE102021210547A1 (en) | Control unit for vehicles with better memory utilization | |
WO2020182544A1 (en) | Data structure for an embedded system, corresponding system, and vehicle | |
DE102022208322A1 (en) | Method for authenticating a message from a computing unit, computing unit, computer program and vehicle |