Hola me Presento Xerver

Moderators: elhoir, HUMA2000

xerver
Posts: 25
Joined: Thu Apr 24, 2008 8:15 pm

Hola me Presento Xerver

Post by xerver »

Hola, acudo a este forum para presentarme, me he descargado el código fuente de ReactOS, he querido hacer un seguimiento de los archivos desde el boot hasta que levanta la GUI pero es perderse, pense que seria la mejor forma para conocer el sistema, al menos básicamente, para uno tener una idea de por donde empezar a estudiar el código, pero se me hace imposible, ¿no es esta una buena forma de empezar?, tengo otra pregunta ¿existen mentores en español?, soy estudiante de 4to año ingenieria en informática, acá son 6 años, y me gustaria graduarme con algo hecho para ReactOS, saludos.

Xerver
vicmarcal
Test Team
Posts: 2733
Joined: Mon Jul 07, 2008 12:35 pm

Re: Hola me Presento Xerver

Post by vicmarcal »

Muy buenas Xerver, ante todo bienvenido.
Al igual que tú, intenté comenzar a estudiar el código de ReactOS desde el momento que éste es booteado.Sin embargo no es el mejor camino para una aplicación tan compleja como un Sistema Operativo donde varios ejecutables se interelacionan entre sí. Tras varios años en este proyecto, puedo aconsejarte el camino que parece haber dado "mejores resultados", aunque por supuesto eres muy libre de seguirlo o no. :)
La mejor manera es empezar por nuestro TestMan: reactos.org/testman
A cada revision (nightly build) se le somete a mas de 10 millones de tests y el TestMan nos muestra los test fallidos en cada Suite.
(Por ejemplo: http://reactos.org/testman/detail.php?id=1755824 )
Los tests (realmente llamados WineTests) se encargan de comprobar los resultados devueltos por las APIs de ReactOS.En otras palabras, comprobamos que los valores devueltos por las funciones implementadas de ReactOS coincidan con los valores que devuelve las funciones de Windows. Las APIs de ReactOS (como la API CreateWindowEX) deben comportarse idénticamente igual a las de Windows, en MSDN encontrarás información para cada API (por ejemplo http://msdn.microsoft.com/en-us/library ... 85%29.aspx )
Así pues busca un par de tests fallidos y descubre porqué están fallando.
A medida que vayas cogiendo soltura te darás cuenta que pueden ser mas o menos fáciles.
Si tienes algunda duda simplemente tienes que preguntar. :)
xerver
Posts: 25
Joined: Thu Apr 24, 2008 8:15 pm

Re: Hola me Presento Xerver

Post by xerver »

Muchas gracias Vicmarcal, he probado ReactOS desde el 2008, y estoy registrado desde esa fecha pero nunca se me ocurrió postear, me parece que esperé demasiado, no me gusta andar por ahí de preguntón, valoro mucho el tiempo de las personas, cuando uno comienza algo si pasa mucho tiempo sin enteder lo que hace se aburre y se va, aunque pienso que ha regresado el hijo pródigo, tengo un par de años para graduarme.

Sigo preguntando si existen mentores en español, sino existen bueno tendré que avanzar algo más el inglés.

Tengo amigos que son excelentes desarrolladores pero solo usan linux, ¿pueden ellos ayudar en este magnífico proyecto implementado funcionalidades o arreglando fallos, aunque no usen windows?.

Otra vez gracias, voy a probar tu consejo Vicmarcal, y te diré como me va, tu consejo me ha dado una guía que no encontraba en ningún libro en español, ¿existe una guía para novatos?, sino existe la hacemos, es importante para introducir a nuestros amigos, saludos a todos.

Xerver
vicmarcal
Test Team
Posts: 2733
Joined: Mon Jul 07, 2008 12:35 pm

Re: Hola me Presento Xerver

Post by vicmarcal »

xerver wrote: Sigo preguntando si existen mentores en español, sino existen bueno tendré que avanzar algo más el inglés.
En Español hay dos mentores posibles: elhoir, y yo :) Somos los más antiguos por aquí y podemos ayudarte en "casi" todo. Seguro que para guiarte hasta que vueles solo te servimos.
Por lo general nos encontraras en IRC pero también por aquí.
xerver wrote: Tengo amigos que son excelentes desarrolladores pero solo usan linux, ¿pueden ellos ayudar en este magnífico proyecto implementado funcionalidades o arreglando fallos, aunque no usen windows?.
En realidad la forma de desarrollar ambos sistemas operativos tienen muchas partes comunes.Es cierto que a medida que "bajas" hacia el Kernel la cosa se torna bastante mas compleja, pero las capas superiores(las APIs)están en MSDN muy bien documentadas. Tenemos muchisimos fallos en las APIs que sin conocimientos de arquitectura NT pueden ser resueltos.Las APIs no dejan de ser funciones que han sido llamadas por otras funciones y estas a su vez por otras. A la hora de ayudarnos existen dos posibilidades: 1)Encontrar en cual de esas funciones de la cadena de llamadas está el Bug(por ejemplo una concatenación de cadenas que luego es almacenado en otra variable con espacio insuficiente, buffler overflow) 2)Ser capaz de resolver el buffer overflow
Seas de Windows o Linux la etapa 1) es facil de encontrar por cualquiera, la 2) depende de tus habilidades pero en el IRC (#reactos, #reactos-dev) solemos comunicarnos para resolver cualquier duda.
xerver wrote: Otra vez gracias, voy a probar tu consejo Vicmarcal, y te diré como me va, tu consejo me ha dado una guía que no encontraba en ningún libro en español, ¿existe una guía para novatos?, sino existe la hacemos, es importante para introducir a nuestros amigos, saludos a todos.
Existe un blog que por desgracia desde hace 2 meses casi no actualizo donde podéis encontrar muchas cosas: reactosnews.blogspot.com y reactos.wordpress.com
Tengo ganas de crear videotutoriales en español/ingles desde el ppio(e ir subiendolo a los blogs y a la web) pero por desgracia no tengo demasiado tiempo ya que estoy haciendo otras cosas para ReactOS.Por cierto, si conoces algun diseñador para remodelar la web (estamos deseando cambiarla y hacerla mas interactiva) solo tienes que ponerlo en contacto conmigo o mandarme su email por privado :) (aprovechando que es gerundio ;) y es que no solo de desarrolladores se nutre una Comunidad de Software Libre)
xerver
Posts: 25
Joined: Thu Apr 24, 2008 8:15 pm

Re: Hola me Presento Xerver

Post by xerver »

Gracias vicmarcal, te pido formalmente que seas mi mentor, espero ser tu discipulo y que no tengas que traer de la mano por todo el camino, sino que me indiques - no, no camines por ahí, el norte es por este otro lado - , como te dije antes no me gusta cargar a nadie con preguntas que tal vez hoy no pueda resolver pero si me esfuerzo un poco en tres o cuatro días pueda solucionar, asi que no te asustes si me paso una semana sin dar señales de vida. :lol: . (a menos que me pase un auto por encima) :lol:

Revisare los bugs en las API, no sueño con comenzar escribiendo el próximo planificador de tarea de Reactos .. :lol: ... soy un novato pero con los pies en la tierra.
vicmarcal
Test Team
Posts: 2733
Joined: Mon Jul 07, 2008 12:35 pm

Re: Hola me Presento Xerver

Post by vicmarcal »

xerver wrote:Gracias vicmarcal, te pido formalmente que seas mi mentor, espero ser tu discipulo y que no tengas que traer de la mano por todo el camino, sino que me indiques - no, no camines por ahí, el norte es por este otro lado - , como te dije antes no me gusta cargar a nadie con preguntas que tal vez hoy no pueda resolver pero si me esfuerzo un poco en tres o cuatro días pueda solucionar, asi que no te asustes si me paso una semana sin dar señales de vida. :lol: . (a menos que me pase un auto por encima) :lol:

Revisare los bugs en las API, no sueño con comenzar escribiendo el próximo planificador de tarea de Reactos .. :lol: ... soy un novato pero con los pies en la tierra.
Perfecto, siempre me encontraras por #reactos-es,pero tambien por aquí :)
Si no sabes por donde empezar contacta conmigo ;)
xerver
Posts: 25
Joined: Thu Apr 24, 2008 8:15 pm

Re: Hola me Presento Xerver

Post by xerver »

Muchas gracias vicmarcal ... muy contento.. te tendré que localizar por
aqui o por mensajes privados porque nuestra universidad tiene doble
firewall para que no haya IRC. :oops: ... espero que no sea un problema... he
seguido tus orientaciones y he revisado el blog... si me puedes dar
orientaciones más especificas .. mucho mejor... algo fácil para un
novato.. algo asi como: Trabajar en el BUG 3210 e identificar el
problema X
si logro darme de cuenta al menos del problema que esta
ocurriendo.. pues eso es un paso grande.. grande de verdad... para mi. :P
xerver
Posts: 25
Joined: Thu Apr 24, 2008 8:15 pm

Re: Hola me Presento Xerver

Post by xerver »

Estoy convencido que la lógica para entender los bug ya me ha chocado las narices .. no la veo.. pero me ha chocado...estando por el testman he visto cositas como user32:dde .. user32:GetIconInfo ..en una de las columnas... después de haber escogido el último Results of automatically performed Regression Tests.. si doy click me sale algo con

Test Suite: advapi32:cred
Total Tests: 50
Failed Tests: 4
Skipped tests: 1
Log:
con varias cosas interesantes...que no comprendo claro

¿Hay alguna forma de leer estos LOG humanamente posible?
elhoir
Test Team
Posts: 404
Joined: Thu Sep 13, 2007 7:01 pm
Location: Madrid, Spain
Contact:

Re: Hola me Presento Xerver

Post by elhoir »

Hola xserver.

Lo primero de todo, bienvenido.

Para "leer" los logs del gestor de tests (test manager, testman) solo tienes que hacer click sobre los resultados del test que quieras.
xerver
Posts: 25
Joined: Thu Apr 24, 2008 8:15 pm

Re: Hola me Presento Xerver

Post by xerver »

Gracias por la Bienvenida elhoir, disculpeme por mi simplesa pero creo que todo el que empieza es un poco así.

He echo esto que me has comentado de pinchar sobre los LOGS, por ejemplo el Test Suite: gdiplus:font que segun los datos tienen unos 18 test fallidos,
en el log aparece:

(dll/ntdll/ldr/utils.c:2181) Relocating (76230000 -> 007A0000) C:\ReactOS\system32\comdlg32.dll
(dll/ntdll/ldr/utils.c:2181) Relocating (76100000 -> 00867000) C:\ReactOS\system32\shlwapi.dll
(dll/ntdll/ldr/utils.c:2181) Relocating (77a40000 -> 008D8000) C:\ReactOS\system32\version.dll
(dll/ntdll/ldr/utils.c:2181) Relocating (76610000 -> 00F50000) C:\ReactOS\System32\msacm32.drv

y debajo 18 entradas del tipo archivo:linea de código

font.c:49: Test failed: Expected 0000000e, got 00000000
font.c:132: Test failed: Expected 00000000, got 00000001
font.c:162: Test failed: Expected 00000000, got 00000001
font.c:170: Test failed: Expected , got 15
font.c:193: Test failed: Expected 0000000e, got 00000000
font.c:197: Test failed: Expected 0000000e, got 00000000
font.c:244: Test failed: Expected 2355, got 20
font.c:252: Test failed: Expected 1854, got 15
font.c:255: Test failed: Expected 434, got 4
font.c:267: Test failed: Expected 2355, got 27
font.c:275: Test failed: Expected 1825, got 21
font.c:278: Test failed: Expected 443 got 5
font.c:378: Test failed: Expected 34.50, got 0.29
font.c:386: Test failed: Expected 34.50, got 0.29
font.c:394: Test failed: Expected 46.00, got 0.39
font.c:402: Test failed: Expected 3311.72, got 28.13
font.c:410: Test failed: Expected 11.04, got 0.09
font.c:418: Test failed: Expected 130.38, got 1.11

en las primeras 4 entradas no veo referencia a font.c, ni el archivo font.c tiene referencia a ninguno de los 4 arribas mencionado, lo único que entiendo es que los 18 problemas son por valores esperados que no llegan, llegan otros diferentes, ¿como rastreo esto si no tienen referencia entre si los archivos?.. yo pense que las 4 primeras entradas eran informativas.¿que hago?..
vicmarcal
Test Team
Posts: 2733
Joined: Mon Jul 07, 2008 12:35 pm

Re: Hola me Presento Xerver

Post by vicmarcal »

xerver wrote:Gracias por la Bienvenida elhoir, disculpeme por mi simplesa pero creo que todo el que empieza es un poco así.

He echo esto que me has comentado de pinchar sobre los LOGS, por ejemplo el Test Suite: gdiplus:font que segun los datos tienen unos 18 test fallidos,
en el log aparece:

(dll/ntdll/ldr/utils.c:2181) Relocating (76230000 -> 007A0000) C:\ReactOS\system32\comdlg32.dll
(dll/ntdll/ldr/utils.c:2181) Relocating (76100000 -> 00867000) C:\ReactOS\system32\shlwapi.dll
(dll/ntdll/ldr/utils.c:2181) Relocating (77a40000 -> 008D8000) C:\ReactOS\system32\version.dll
(dll/ntdll/ldr/utils.c:2181) Relocating (76610000 -> 00F50000) C:\ReactOS\System32\msacm32.drv

y debajo 18 entradas del tipo archivo:linea de código

font.c:49: Test failed: Expected 0000000e, got 00000000
font.c:132: Test failed: Expected 00000000, got 00000001
font.c:162: Test failed: Expected 00000000, got 00000001
font.c:170: Test failed: Expected , got 15
font.c:193: Test failed: Expected 0000000e, got 00000000
font.c:197: Test failed: Expected 0000000e, got 00000000
font.c:244: Test failed: Expected 2355, got 20
font.c:252: Test failed: Expected 1854, got 15
font.c:255: Test failed: Expected 434, got 4
font.c:267: Test failed: Expected 2355, got 27
font.c:275: Test failed: Expected 1825, got 21
font.c:278: Test failed: Expected 443 got 5
font.c:378: Test failed: Expected 34.50, got 0.29
font.c:386: Test failed: Expected 34.50, got 0.29
font.c:394: Test failed: Expected 46.00, got 0.39
font.c:402: Test failed: Expected 3311.72, got 28.13
font.c:410: Test failed: Expected 11.04, got 0.09
font.c:418: Test failed: Expected 130.38, got 1.11

en las primeras 4 entradas no veo referencia a font.c, ni el archivo font.c tiene referencia a ninguno de los 4 arribas mencionado, lo único que entiendo es que los 18 problemas son por valores esperados que no llegan, llegan otros diferentes, ¿como rastreo esto si no tienen referencia entre si los archivos?.. yo pense que las 4 primeras entradas eran informativas.¿que hago?..
Efectivamente las 4 primeras lineas puedes ignorarlas. Lo interesante está en las lineas de "test failed".
Si te das cuenta puedes hacer click sobre "font.c:xxx"(siendo xxx cualquier valor), hazlo y te llevará justo a la linea XXX del archivo font.c. Alli podras ver una funcioón del tipo:
ok(variable1==variable2, "Expected %xxx, got %xxx", variable 1, variable 2);
Esa linea comprueba si las dos variables son idénticas, si lo son, el test se considera pasado, si no lo son: el test es fallido. Normalmente una de las dos variables está hardcodeada(por ejemplo variable1)y la otra almacena(entonces variable2) lo que le devuelve la funcion a testear. Si ambos valores no coinciden entonces es que la funcion testeada tiene un Bug.
Simplemente tienes que buscar en nuestro código fuente dónde está escrita dicha función, y buscar pq ha fallado y arreglarlos(si puedes).

Te recomiendo que te busques otras pues las funciones testeadas en font.c necesitan un total rewrite que se está produciendo en estos momentos.

Espero que elhoir pueda informarte mas, ahora salgo hacia Berlin. Nos vemos
xerver
Posts: 25
Joined: Thu Apr 24, 2008 8:15 pm

Re: Hola me Presento Xerver

Post by xerver »

Antes que nada gracias a elhoir y a vicmarcal por su tiempo ... antes que nada debo preguntar algo .. tengo un par de libros en casa PC Interno tomo 2 y 5 creo que tratan la programación de sistemas.. especificamente en dos y windows... ¿violaria las normas estudiar por este libro?.. lo he hojeado y me ha parecido muy bueno... con codigos en asm, pascal y c ... lo utilizo para estudiar o no... porque estudiar con el significará siempre tender a utilizar funciones y formas de hacer las cosas como ellos.. aunque use mi propia lógica...
vicmarcal
Test Team
Posts: 2733
Joined: Mon Jul 07, 2008 12:35 pm

Re: Hola me Presento Xerver

Post by vicmarcal »

xerver wrote:Antes que nada gracias a elhoir y a vicmarcal por su tiempo ... antes que nada debo preguntar algo .. tengo un par de libros en casa PC Interno tomo 2 y 5 creo que tratan la programación de sistemas.. especificamente en dos y windows... ¿violaria las normas estudiar por este libro?.. lo he hojeado y me ha parecido muy bueno... con codigos en asm, pascal y c ... lo utilizo para estudiar o no... porque estudiar con el significará siempre tender a utilizar funciones y formas de hacer las cosas como ellos.. aunque use mi propia lógica...
El problema es ver código C de Windows(eso sería ilegal).Los libros, incluso los de la propia MS, son productos legales y puedes hacer uso de ellos.Nunca verás código fuente de Windows en un libro ( o lo habrian retirado de las librerias).
Te recomiendo el libro "WinAPI" de Charles Petzold. Es muy bueno.Y ademas WinAPI es lo que necesitas.
Empezaría estudiando C y luego, su evolución, WinAPI.
xerver
Posts: 25
Joined: Thu Apr 24, 2008 8:15 pm

Re: Hola me Presento Xerver

Post by xerver »

Gracias Vicmarcal, siempre tan atentos, eso alienta mucho a continuar, ya habia abierto otro Post preguntando detalles sobre la Api de Reactos cuando caigo en la cuenta de que estan implementado las mismas Apis de Win32, lo que no estoy seguro si con el mismo nombre, buscare "WinAPI" de Charles Petzold, tengo una pequeña experiencia en c/c++ en proyectos para clase usando c_builder y Dev C++ para peqeños proyectos de gráficos usando open gl, a partir de la implementación de .NET creé un mínimo compilador en C# para este framework lo cual no es un gran logro porque la realidad es que existe mucha documentación y es realmente sencillo, pero la verdad es que en estas y otras cosas pequeñas que hecho y que he dejado la mitad de empezar es porque los programas se me hacen muy consumidores de memoria y muy malos, quiero cuando me gradue (dentro de 2 años) ser un mejor programador y espero que este proyecto me de la oportunidad de conocer mejor el desarrollo en comunidad, el desarrollo de sistemas operativos (que lo considero artilleria pesada), aprender de excelentes programadores y escelentes personas que hay en este proyecto, muchas gracias por el apoyo en preguntas tan sencillas.


Xerver
vicmarcal
Test Team
Posts: 2733
Joined: Mon Jul 07, 2008 12:35 pm

Re: Hola me Presento Xerver

Post by vicmarcal »

Las APIs de ReactoS tienen el mismo nombre que las de Windows. :)
Post Reply

Who is online

Users browsing this forum: No registered users and 11 guests