/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