/proc/<PID>/mmap chapu to dobre?
Jan Kasprzak
kas na informatics.muni.cz
Čtvrtek Leden 29 17:22:33 CET 1998
Vojtech Bubnik pise:
: rwx[sp] se vyskytuje pouze p jako private, jako by nic nebylo sdilene.
: Mam jadro 2.0.30. Je to vlastnost toho jadra? Je to v novych jadrech jinak?
p znamena budto nesdilena nebo copy-on-write data. s znamena
data, ktera jsou sdilena (MAP_SHARED soubory, SysV sdilena pamet a podobne).
: Kdysi jsem cetl nejaky kernel hackers guide a tam byl popsan pridelovac
: pameti. Pochopil jsem z toho, ze kdyz budou 2 programy pouzivat tu samou
: sdilenou knihovnu, tak ze i data te knihovny, ktera jsou rw, bude kernel
: kopirovat teprve, kdyz se tam ten druhy proces pokusi zapsat. A ze to
: kopiruje po 4kb strakach.
Ano.
: Dale v mmap souboru muzu precist informace o inode a cislu zarizeni,
: ze ktereho je ten soubor namapovan. Existuje nejaky pokud mozno primocary
: zpusob, jak z techto informaci odvodit jmeno souboru? Me napada pouze
: prohlidnout vsechny soubory v /lib, /usr/lib, /usr/X11R6/lib ....
: a zkontrolovat inode. Ale to se mi zda dost pomale.
Linux 2.0: find <svazek> -inum <cislo> -ls
: Ani me nenapada, jak rozumnym zpusobem priradit namountovany svazek
: cislu zarizeni.
cat /proc/mounts + stat na zarizeni.
: Opet bych mohl precist /dev a tam najit cislo zarizeni,
: priradit tomu jmeno souboru a ten najit v /proc/mounts. Ale ani tot mi
: nepripada prilis elegantni.
Ve 2.1 je vsechno jednodussi, protoze jsou tam dentries.
Napriklad /proc/<pid>/maps vypada takto:
08048000-0804a000 r-xp 00000000 03:01 10292 /bin/cat
0804a000-0804b000 rw-p 00001000 03:01 10292 /bin/cat
0804b000-0804e000 rwxp 00000000 00:00 0
40000000-40009000 r-xp 00000000 03:01 16403 /lib/ld-2.0.5.so
40009000-4000a000 rw-p 00008000 03:01 16403 /lib/ld-2.0.5.so
4000a000-4000b000 rwxp 00000000 00:00 0
4000b000-4000e000 r--p 00000000 03:01 14478 /etc/ld.so.cache
4000e000-4009c000 r-xp 00000000 03:01 16410 /lib/libc-2.0.5.so
4009c000-400a1000 rw-p 0008d000 03:01 16410 /lib/libc-2.0.5.so
400a1000-400ad000 rw-p 00000000 00:00 0
400ad000-400b0000 r--p 00000000 03:01 104585 /usr/share/locale/cs/LC_CTYPE
bfffc000-c0000000 rwxp ffffd000 00:00 0
-Yenya
--
\ Jan "Yenya" Kasprzak <kas at fi.muni.cz> http://www.fi.muni.cz/~kas/
\\ PGP: finger kas at aisa.fi.muni.cz 0D99A7FB206605D7 8B35FCDE05B18A5E //
\\\ Czech Linux Homepage: http://www.linux.cz/ ///
|| I find that the algol60 interpreter, teco and jclsh (ibm JCL emulator ||
|| shell) are very good for teaching people that computing has moved on. ||
|| -- Alan Cox in redhat-devel ||
Další informace o konferenci Linux