Hogy lehet csinálni véletlenszám generátort?
Azt hallottam, hogy a legtöbb véletlenszám generátor, amit megírnak, ismétli önmagát az adott számokkal. Tehát nem véletlenek az adott számok.
De olyat, ami külső tényezőtől függ, tehát, pl. a hőmérséklettől, azt hogyan lehet csinálni?
Ami mindig véletlen számokat ad ki, valójában is, tehát független a számítógép számolásától.
Linux alatt : [link]
Saját szoftverrel ha 1 cpu van egyszerűen a /sys/class/thermal/thermal_zone0/temp fájolvasással lekérhető a kerneltől, ezred fokban adja vissza a kernel. Ténylegesen a hardver fokban vagy tized fokban adja vissza, így az utolsó 2 vagy 3 számjegy mindig 0 lesz, legalábbis eddig ezeket tapasztaltam több gépen is.
Illetve ha több cpu is van akkor cpu-nként külön külön (ha egy van akkor is) akkor bash-el egy tizedesjegyig fokban : paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t | sed 's/\(.\)..$/.\1°C/'
Elég gyenge entrópia forrás mint információ tartalom a cpu hőmérséklet önmagában. Bár nem foglalkoztam konkrétan a cpu hőmérséglet változás empírikus függvény Kolmogorov-komplexitásával. Tippre mondom csak, tömörítéssel és biztonságos ráhagyással : jó, ha 1 bit/sec sebességet átlagba, ha elérne belőle a random generátor.
Pontosítok : /sys/class/thermal/thermal_zone0/type a típus ami a zónainformáció a hardver erőforrások driverében van meghatározva, így nem feltétlen cpu-hoz tartozó érték lesz.
Így a mutatott egy soros bash kódra is igaz, ami zónainformációkkal együtt kiírja a fokokat. Viszont számítani kell rá, hogy egyes esetekben valami fals negatív értéket ad a hardver, ha nincs is ténylegesen olyan szenzor (vagy talán lehet a driver hiányossága).
Egyébként most néztem android 13-on is működik amit fentebb írtam, beleértve a bash kódot is.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!