viernes, julio 30, 2004

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

lunes, julio 05, 2004

Title + brief

Dynamic execution environment and code minimization for mobile and embedded devices under linux

On-demand code/code region/page minimization/management environment for mobile and embedded devices under linux


Power management and grow efficiency, decreasing recurses used on mobile and embedded devices by keeping only used memory pages. The goal is to create a enviroment where linux kernel and applications can on-demand download and load code regions. This code regions will be removed from physical memory when they won't be used in order to maximize battery times.
Code regions used together will be placed near in physical memory growing efficiency.



download kernel and application code regions.

Loading, linking, section, region

carrega sota demanda (on-demand)

(power management)
kernel+apis
control platform booting. Statistics evaluation --> optimization
minimitza recursos

----------------------------------
paper dinamic loading
PFC illinois