Linux 14.980 Themen, 106.331 Beiträge

tmp..filesystem..sticky bit

ghartl1 / 10 Antworten / Flachansicht Nickles

hallo,

hab wieder mal eine frage ...nona :-)

das sticky bit wird ja hauptsächlich im tmp-verzeichnis verwendet, um allgemeine daten nur vom besitzer verändern lassen zu können (vereinfacht ausgedrückt)
jetzt hab ich aber gelesen, dass das stickybit programme nicht aus dem arbeitsspeicher löscht, wenn sie nicht mehr gebraucht werden....wie kann man das zu seinem vorteil nutzen..oder wo macht man sowas?

2 frage: es gibt ein virtuelles filesystem tmpfs...das "angeblich" im tmp verzeichnis zum tragen kommt.
ist das auch so, auch wenn ich ext3 alles formatiert habe?
was wäre drer sinn von tmpfs??
wird tmpfs automatisch angelegt in /tmp??
programme legen ja auch einen teil ihres platzes auf tmp ab, falls ram zu klein ist
wieso brauch ich da ein "extra"dateisystem...

bei proc kapier ichs ja...schnittstelle zu kernelmeldungen..
swapfs..auslagerungsdatei...okay

heisst das jetzt ich hab unter linux tmpfs und swapfs zum auslagern??

gruss günter

bei Antwort benachrichtigen
KarstenW ghartl1 „tmp..filesystem..sticky bit“
Optionen

Das mit diesem sticky Bit stimmt. Das steht auch in der Wikipedia:

http://de.wikipedia.org/wiki/Sticky_Bit

Ich glaube aber nicht das es bei ausführbaren Dateien unter Linux eingesetzt wird. Der Linux Betriebsystemkern verwendet ohnehin einen sehr großen Teil des RAM als Puffer um Daten im RAM zu halten und nicht nochmal neu von Festplatte lesen zu müssen.

free
total used free shared buffers cached
Mem: 255952 246104 9848 0 1484 44340
-/+ buffers/cache: 200280 55672
Swap: 514040 167788 346252

Deshalb wundern sich Linuxneulinge immer warum der RAM komplett ausgenutzt wird, wohingegen bei Windows nur ein Teil des RAM verwendet wird (die Speicherverwaltung von Windows ist eh' Schrott) ;-).


Der Ausgabe von df zu Folge hat tmpfs nichts mit der swap Partition zu tun:

df

Dateisystem 1K-Blöcke Benutzt Verfügbar Ben% Eingehängt auf
/dev/hda1 8262036 1222996 6619344 16% /
tmpfs 127976 0 127976 0% /lib/init/rw
udev 10240 48 10192 1% /dev
tmpfs 127976 8 127968 1% /dev/shm
/dev/hda8 17299004 10876948 5543304 67% /home
/dev/hda7 8262036 1878160 5964180 24% /usr
/dev/hda6 4134900 1442276 2482576 37% /var

Ich wüßte auch nicht das die swap Partition irgendein Dateisystem hat. Der Betriebsystemkern lagert Speicherseiten nach swap aus, wenn der RAM nicht mehr reicht. Die Programme lagern überhaupt keinen Speicher nach swap aus. Die Speicherverwaltung ist Aufgabe des Betriebsystemkerns.
Die Daten werden in der swap Partition sequentiel (nacheinander ) gelesen und geschrieben. Daher glaube ich nicht das die swap Partition ein Dateisystem hat.
Deshalb ist auch eine Swap-Partition schneller als eine Swapdatei wie bei Windows, weil die Auslagerungs-Daten nicht fragmentiert werden.
tmpfs wird wahrscheinlich ein Dateisystem im RAM sein (wie /proc ./proc gibt es auch nicht auf der Festplatte).
Der Linuxkernel hat viel von Unix übernommen und bei Unix gibt es sechs Systemaufrufe , auf die die anderen Systemaufrufe (sind im POSIX Standard festgelegt) aufbauen:
-read, write
-open, close
-fork , execl

Man sagt auch das bei Unix alles eine Datei ist. Der Programmierer hat immer nur Dateioperationen zu programmieren ,die sich relativ einfach programmieren lassen.
Ich nehme mal an das tmpfs ein Dateisystem im RAM ist.
Eine Art RAM Disk eventuell, keine Ahnung .

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen