por
pobrecito hablador
el Jueves, 21 Febrero de 2008, 00:25h
(#1017827)
Pues estaría muy bien para máquinas de consulta para bibliotecas, polideportivos y tal. Cuanto más limitado, menos oportunidades tienen los malditos usuarios para hacer daño.
por
pobrecito hablador
el Jueves, 21 Febrero de 2008, 02:00h
(#1017847)
Ahora ya incluyen hasta su propio gestor de memoria. Para cuándo un Firefox standalone sin sistema operativo?
Incluye su propio reemplazo de las funciones malloc() y free(), igual que hacen muchos otros proyectos como glib, jabberd, postgresql, apache y seguramente muchos más con cuyo código fuente no he tenido el placer:-)
La novedad es que han cogido los nuevos malloc() y free() de la biblioteca de C de BSD y que lo han hecho para corregir cierto comportamiento de las versiones de esas funciones en Windows. No es la primera vez que un proyecto multiplataforma tiene que ofrecer su propia versión de una función estándar porque en la plataforma destino no funciona como se espera (además que para eso son las autotools)
El uso de un gestor de memoria propio es una práctica "estandar" en c++, de hecho en la stl está soportado definirle tu propio allocator, de un pool, haciendo tu las llamadas al S.0. (HeapAlloc(), etc...) o de donde te de la gana.
Todo esto no quiere decir que te bajes a nivel de RING0 y manejes tu la paginación de memoria a bajo nivel, sino que puedas, por ejemplo reutilizar bloques de memoria sin necesidad de hacer llamadas al SO o a la crt. En la msvcrt, las llamadas a new y delete son (¿eran?) bloqueantes, lo que puede causar problemas de rendimiento cuando tienes varios hilos en ejecución.
Todo esto no quiere decir que necesariamente tengas que sobrecargar new y delete, piensa más bien en ello como un "patrón de diseño" para reducir la fragmentación en las zonas donde más se produce.
No se concretamente el uso que le dan en Firefox, pero yo en el curro he tenido que escribir software para procesar TB de datos ( de acceso aleatorio ) y la gestión de memoria es algo que tienes que hacer si o si.
--
# Software development isn't just a process of creating software; it's also a process of learning how to create it
Firefox = Emacs
(Puntos:3, Divertido)Re:Firefox = Emacs
(Puntos:0)Re:Firefox = Emacs
(Puntos:2)( http://charlieman.net/ )
A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos de leer manuales.
Re:Firefox = Emacs
(Puntos:2, Informativo)La novedad es que han cogido los nuevos malloc() y free() de la biblioteca de C de BSD y que lo han hecho para corregir cierto comportamiento de las versiones de esas funciones en Windows. No es la primera vez que un proyecto multiplataforma tiene que ofrecer su propia versión de una función estándar porque en la plataforma destino no funciona como se espera (además que para eso son las autotools)
Re:Firefox = Emacs
(Puntos:3, Informativo)( http://barrapunto.com/ )
Todo esto no quiere decir que te bajes a nivel de RING0 y manejes tu la paginación de memoria a bajo nivel, sino que puedas, por ejemplo reutilizar bloques de memoria sin necesidad de hacer llamadas al SO o a la crt. En la msvcrt, las llamadas a new y delete son (¿eran?) bloqueantes, lo que puede causar problemas de rendimiento cuando tienes varios hilos en ejecución.
Todo esto no quiere decir que necesariamente tengas que sobrecargar new y delete, piensa más bien en ello como un "patrón de diseño" para reducir la fragmentación en las zonas donde más se produce.
No se concretamente el uso que le dan en Firefox, pero yo en el curro he tenido que escribir software para procesar TB de datos ( de acceso aleatorio ) y la gestión de memoria es algo que tienes que hacer si o si.
# Software development isn't just a process of creating software; it's also a process of learning how to create it