Informe 30/07/2004
COSES A FER:
- Nom de la llibreria-utilitat: OK
Page Fault Trace (pftrace).
- Ordenar el codi i eliminar funcions obsoletes. OK.
- Cambiar nom de les variables (acronim utilitat + _ + nom), tipus (acronim utilitat + _ + nom + _ t),
funcions (acronim utilitat + _ + nom): OK.
- Provar si podem pasar-li al carregador opcions via variables d'entorn i que les agafi amb getenv():
SI es pot . OK
- Provar de linkar staticament les funcions de la libc.
No ho he aconseguit. Ok
- Començar la documentació.
- Afegir informació de control per al carregador a una secció NOVA PROPIA del executable utilitzant libelf i probablement objcpy.
---> analitzar la info a posteriori
- Tenir compte amb el paralelisme:
- treure el PID a les traces.Ok
- No utilitzar malloc --> mmap. 0x08048000???
- Controlar si es carreguen/descarreguen llibreries dinamicament i si es fan mmaps: (NOSE COMO HACERLO!!!)
- weak & strong symbols --> add_fork(), add_exec(), ...
- ld_open(), ld_close(), mmap()
OPTIMITZACIONS:
- Minimitzar les crides a libc i al sistema del programa.
- Escriure la sortida tot de cop per blocs de disc.
DECISIONS:
- La llibreria-utilitat no funcionara amb programes que redefineixin la funció d'atenció al signal SIGSEGV.
NOTES:
- ld_symbol (ld-linux.so) --> permet obtenir @ a simbols
DEDUCCIONS:
- Linux no colapsa diferents pàgines amb mateixes característiques. Es pot comprobar al veure que al protegir i desprotegir pagines crea noves
linees al archiu /proc/PID/maps i aquestes linees estan juntes i tenen les mateixes propietats.
COMPTE!!! --> aixo pasa a un linux 2.6.4 amb gcc 3.2.2, a linux 2.6.8 amb gcc 3.3.3 no pasa!
IDEES
0 Comments:
Publicar un comentario
<< Home