[ TAG 101 ][31.07.2021] -Erfolgreich -IAP-20210601-20210722-1145

 Ich beginne die Worksession um [31.07.2021][2211]. Durch die Worksession von gestern, die bis früh in den heutigen Morgen verlief, habe ich gemessen, dass das auslesen des Shared-Memory in der selben Nanosekunde passiert.

Der ersten Frage, der ich nachgehen muss, besteht aus dem Wertebereich der C-Datentypen. Ich erinnere mich damals an C++ - Wertebereiche. Jedoch weiß ich zu diesen Zeitpunkt nicht, ob diese Wertebereiche auch für C-Datentypen gelten.

Ich beginne mit der Frage welcher C-Datentyp sich für den Timestamp eignet. Mit der Methode [time.time_ns()] wird der Timestamp seit der Beginn der Epoche in Nanosekunden gemessen. Bei den Messungen [ 2021-07-31 ][ 07:10:57 ] haben wir eine Zahl in Nanosekunden [1.627.683.608.686.257.400ns]. In Exponentieller Schreibweise sieht die Zahl vereinfacht so aus [1,6*10^18].Um so eine große Zahl speichern zu können, kommt nur ein Datentyp in Frage. Es ist der [ctypes.c_uint64]

Der C-Datentyp [ctypes.c_uint64] ist [8Byte] groß und ein Wertebereich von [0] bis [18.446.744.073.709.551.615]

Differenz:
18.446.744.073.709.551.615-1.627.683.608.686.257.400
= 16.819.060.465.023.294.215 ns


Umrechnungsfaktor:
1/(1.000.000.000*60*60*24*30*12)

Rechnungscode:
16.819.060.465.023.294.215*(1/(1.000.000.000*60*60*24*30*12))

16.819.060.465.023.294.215 Nanosekunden

16.819.060.465,023294216 Sekunden

4.671.961,2402842483933333333333333 Stunden

194.665,05167851034972222222222222 Tage

6.488,8350559503449907407407407407 Monate

540,7362546625287492283950617284 Jahre

Antwort: 
16.819.060.465.023.294.215 ns = 540 Jahre

In 540 Jahren sind die [8Bytes][64Bit] aufgebraucht. Somit sind die Ressourcen, die [ctype.c_unit64] bereit stellt zu meinen Lebzeiten nicht aufzubrauchen.

Für die Berechnung von DEON sind diese Datentypen jedoch zu klein.
Die nächste Frage besteht, wie sieht der Wertebereich von PID aus?
Dieser Quelle zufolge ist der Wertebereich zwischen [0] und [99.999]. Ein [16 Bit] unsigned Integer hat nur ein Wertebereich von [0] bis [65.535]. [16 Bit] sind somit für PID meiner Meinung nach zu wenig. 

Für die Speicherung der PID eignet sich [ctype.c_unit32][32 Bit][4 Byte]. Der Wertebereich von [ctype.c_unit32] liegt bei [0] bis [4.294.967.295].

Ich werde noch ein Sicherheitsmechanismus programmieren müssen, der überprüft ob alle Prozesse, die man initialisiert hat auch beendet werden. Ob der Prozess im Augenblick ausgeführt wird oder nicht liefert die [ is_alive() ]-Methode.

Kommentare

Beliebte Posts aus diesem Blog

[ TAG 38 ][29.05.2021] - Erfolgreich - Freelancer-Portale

[ TAG 747 ][07.04.2023] -Erfolgreich -BNKTRS -Google Code -Objekt und Methodenliste

[ TAG 52 ][12.06.2021] - Erfolgreich - IAP-20210601-20210609-2325