forked from dmoisset/os-implementation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathproject1_extras.txt
22 lines (14 loc) · 1.12 KB
/
project1_extras.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
* Leer como se castean pedazos de memoria a estructuras.
Leer aritmética de punteros para cuando se apunta a una estructura.
* Leer la especificación de ELF en su parte de ejecución.
* Usar readelf y objdump para mirar por dentro build/user/a.exe.
Mirar como el Makefile genera este archivo.
* La implementación tiene que ser *robusta* para que acepte solo lo que se puede ejecutar y para el resto que devuelva error.
Pensar como hacer esto en C sin meter muchos nesting levels.
Notar que la implementación que no revisa nada, carga el struct Exe_Format y siempre devuelve 0, tiene nada más que alrededor de 10 líneas.
* Pensar en un hack si lo anterior no se hace de manera exhaustiva.
* Probar en este nuevo contexto programas que hagan abuso del stack (llamadas recursivas infinitas) y escritura fuera de los lugares permitidos.
¿Estamos igual que en el Proyect 0? ¿Qué cambió?
** GeekOS tiene un bug, no imprime "Hi ! This is the second string\n".
Resolverlo.
* Leer "A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux" <http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html>.