Schrift
[thread]7818[/thread]

open()

Leser: 2


<< >> 7 Einträge, 1 Seite
Froschpopo
 2006-03-22 21:15
#63953 #63953
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
gibts auch ne möglichkeit, mit open eine datei im arbeitsspeicher zu öffnen?
Aber nicht als Pipe, sondern eine einfache Datei die sich unter Linux in /tmp befindet.
Ist die Datei dann wirklich im RAM ?
Durchblick das alles noch nicht so richtig.
esskar
 2006-03-22 21:34
#63954 #63954
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
du kannst sie öffnen und dann den gesamten inhalt in einer variablen speichern. ob die dann komplett im ram oder geswaped wird, entscheidet das Betriebssystem.
Linuxer
 2006-03-22 21:37
#63955 #63955
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
Hi,

wo soll die Datei denn nun liegen, im /tmp oder im Arbeitsspeicher.

Eine Datei ist etwas, das im Dateisystem liegt. Wenn Du Deinen Arbeitsspeicher mit einem Dateisystem erreichen kannst, kannst Du auch eine Datei im Arbeitsspeicher mit open öffnen.

Es gibt beispielsweise die Variante, in /dev/shm/ Arbeitsspeicher als Dateisystem zur Verfügung zu stellen (nennt sich tmpfs); der Mountpoint /dev/shm ist abhängig von dem, was in der /etc/fstab für das tmpfs definiert wurde.\n\n

<!--EDIT|Linuxer|1143056302-->
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
Linuxer
 2006-03-22 21:39
#63956 #63956
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
[quote=esskar,22.03.2006, 20:34]du kannst sie öffnen und dann den gesamten inhalt in einer variablen speichern. ob die dann komplett im ram oder geswaped wird, entscheidet das Betriebssystem.[/quote]
Hmm, OK, so könnte man die Frage auch verstehen :D
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
Froschpopo
 2006-03-22 21:46
#63957 #63957
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
die datei wird beim starten des betriebssystems angelegt und mit daten gefüllt ! Einen Daemon zu schreiben erlaubt mir der admin merkwürdiger weise nicht... keine ahnung warum. Mit sicherheit scheint das aber nichts zu tun zu haben, sonst hätte ich kein root.
Bisher lese ich die datei immer wieder von der platte ein.
Ist aber teilweise ziemlich belastend und wirkt sich bei häöufigen anfragen auf die rechnergeschwindigkeit aus.
Also was linuxer wohl meint, ein eigenes kleines filesystem zu mounten welches nur quasi virtuel ist? Oder habe ich das falsch verstanden?
Linuxer
 2006-03-22 22:05
#63958 #63958
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
[quote=Froschpopo,22.03.2006, 20:46]die datei wird beim starten des betriebssystems angelegt und mit daten gefüllt...
Bisher lese ich die datei immer wieder von der platte ein.
Ist aber teilweise ziemlich belastend und wirkt sich bei häöufigen anfragen auf die rechnergeschwindigkeit aus.
...
Also was linuxer wohl meint, ein eigenes kleines filesystem zu mounten welches nur quasi virtuel ist? Oder habe ich das falsch verstanden?[/quote]
Hi,

nein, hast Du nicht falsch verstanden.
Evtl. muss dieser Support in den Kernel kompiliert werden, aber ansonsten ist diese Unterstützung eine feine Sache...

Schau mal, ob Du in der /etc/fstab solche Zeilen wiederfindest:
/etc/fstab,,
...
# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for
# POSIX shared memory (shm_open,shm_unlink).
# (tmpfs is a dynamically expandable/shrinkable ramdisk, and will
# use almost no memory if not populated with files)
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
...


Wenn ja, ist bereits ein solches Dateisystem vorhanden.
Dann sollte es ausreichen, die Datei dort erstellen zu lassen und von dort einzulesen.

Bei mir schaut es beispielsweise so aus:
[quote=df -h | grep shm,, ]
sysname $df -h | grep shm
shm 252M 0 252M 0% /dev/shm
sysname $
[/quote]\n\n

<!--EDIT|Linuxer|1143057991-->
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
ptk
 2006-03-22 23:21
#63959 #63959
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Immer wieder das gleiche Thema ... hast du eigentlich unsere Vorschläge aus den letzten Threads befolgt?
<< >> 7 Einträge, 1 Seite



View all threads created 2006-03-22 21:15.