Avances, Diario de...

Started by SplinterGU, April 17, 2008, 03:00:51 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

kim-elet-o

Bien, bien, bien, esto pinta muy bien.

|/
|\im-elet-o el yayo programador.

SplinterGU

Ummm... ahora recuerdo uno de los motivos importantes por los que quite eso de los procesos huerfanos... en principio me acordaba del tema de no poder ver la lista total de procesos con el debugger, ahora me acuerdo que tampoco habia forma de mandar signals en tree a los procesos huerfanos...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

kim-elet-o

Ahora recaera en nosotros la responsabilidad de tener controlados los procesos huerfanos, no?

|/
|\im-elet-o el yayo programador.

SplinterGU

Estoy trabajando en eso.
Por ejemplo, ahora la signal, puede recibir como parametro 0, y de esta forma afecta a todos los ids de todos los procesos, huerfanos o no, menos el nuestro. De esta forma, puedo por ejemplo, mandar a freezar todos los procesos. Tambien existe el get_id(type ...) con lo que trae a los procesos de un tipo determinado, por ejemplo, enemigos.
Estoy pensando quizas en agregar un parametro de runtime, o ciertas variables, que definan el comportamiento que puede tomar el sistema, solo que en el caso de heredar procesos huerfanos, la performance decae mucho.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

kim-elet-o

Lo ultimo de poder definir el comportamiento del sistema, lo encuentro muy interesante, aunque supongo que es el camino mas dificil, pero creo es el mas idoneo, lo facil (y supongo que chapuzero), seria definir un estado mas (por ejemplo: Orphan) para los procesos.

|/
|\im-elet-o el yayo programador.

SplinterGU

Pero ser huerfano no significa que un proceso este muerto, congelado, dormido, etc... solo significa que no tiene padre... asi que eso no puede ir como un estado.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

kim-elet-o

Si tienes toda la razon, es que ayer te escribi a las 0:30, y tenia mucho sueño, por cierto haciendo un poco Offtopic, no estoy muy seguro, pero me parece que no hay una funcion que sea inversa a SIGNAL, una funcion a la cual introduzcas el Id de un proceso y esta te devuelva el estado de el, vuelvo a repetir que probablemente este yo equivocado, ya que hace tiempo que no programo, pero si no fuera asi, seria interesante incluir una funcion de este tipo.

|/
|\im-elet-o el yayo programador.

SplinterGU

Es una variable... reserved.status
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

kim-elet-o

Bien, bien, bien, me gustan que los planes salgan bien. :D :D :D 

|/
|\im-elet-o el yayo programador.

SplinterGU

- Se mejora rutinas de strings internas, se replantea la logica de creacion/borrado de strings con lo que se logra un incremento en el rendimiento. Se reduce tambien el consumo de memoria.
- Se mejora la performance en rutinas internas file (fgets)
- Se mejora el manejo de modulos (cambios internos)
- Varias mejoras internas en strings.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

l1nk3rn3l

genial que se pueda cambiar el rendimiento
desde codigo

esperare la beta

SplinterGU

#71
Ummm... bueno, cambiar desde el codigo, no... cambiar el rendimiento del codigo, si...

Nuevos avances...

- Se sigue mejorando el rendimiento del manejador de procesos y acceso a los mismas desde otros procesos.
- Se mejora agregan nuevos tipos de hooks.
- Se agrega la posibilidad ignorar señales y tambien la posibilidad de forzar envio de estas (señal ignorada o no).
- Funciones para obtener el estado actual de un proceso
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Si se aceptan sugerencias, te sugiero que mires en el foro de Fenix el hilo de Gemix, por si te ineteresa algo de lo dicho sobre "priority_signals".
Lo escribiría aqui, pero ando justo de tiempo, y ya me he calentado las neuronas escribiendo cierto pseudo-código-chapucero-horrible :D:D:D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

Ya vi ese hilo, no me parece logico... mi idea de Bennu es hacerlo un lenguaje profesional, preferente "like C", que al tener una logica similar a un sistema operativo con seudo-procesos, se comporte casi como tal... por otro lado, no tiene sentido teniendo estas funciones, se puede implementar facilmente desde codigo con la nueva funcion y nuevo comportamiento adicional de las existentes...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

#74
SplinterGU estas muy activo últimamente :D.
¿Como va el tema de la pantalla y el teclado?
¿Se puede ya poner una imagen y moverla con las teclas dentro de un fondo?:).
Por cierto he hecho unas muchas pruebas de prioridades de operadores y no le he visto comportamiento errático a ninguna.
Por otro lado, tienes pensado implementar algo como fscanf(stdout,"%s",cadena), para poder optener datos del usuario, sería interesante.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/