Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eternal Idol

#1391
ASM / Re: Dudas sobre direccionamiento
19 Mayo 2014, 23:24 PM
Cita de: Vaagish en 19 Mayo 2014, 23:09 PMTa.. pero vuelvo al problema de si entonces tengo 16GB de ram,, que negocio? Si se va a direccionar un DWORD.

x64  ::) Windows de 32 bits no puede direccionar mas que 4 GB (a menos que use PAE).

Cita de: Vaagish en 19 Mayo 2014, 23:09 PMSi, entendí que cuando se termina la RAM, se cambia/rotan las paginas de la RAM por nuevas leídas del disco..

Hay algoritmos complejos, pero asi a lo bruto se mete en el disco la memoria mas vieja (la que hace mas tiempo fue accedida por ultima vez) y se la recupera desde el disco si el programa intenta leerla nuevamente.

Cita de: Vaagish en 19 Mayo 2014, 23:09 PMAunque cada proceso trabajase como el único en la ram, es guardado secuencialmente (o no) en paginas de 4096 bytes verdad? Por eso todos los procesos pueden arrancar en la misma dirección VIRTUAL, pero claro que en disco están en cualquier dirección, y si no me equivoco se puede realizar un calculo para obtener la dirección FISICA (lo que hace la ram).

Si. No es por eso, es por ser virtual y no necesariamente estan en disco, estan cuando es necesario por falta de espacio en RAM. Si, el calculo se hace en base a el contexto del proceso (hay un registro que guarda la base de las tablas). Lee de nuevo todo el hilo y la documentacion que te dimos ...
#1392
ASM / Re: Dudas sobre direccionamiento
19 Mayo 2014, 21:59 PM
Paginacion.

4 GB es el espacio de direccionable por un DWORD (en x64 es mucho mas), normalmente se parten 2 GB para Modo Usuario y 2 GB para Modo Kernel, y no, no hay memoria RAM suficiente para 2 GB de memoria para cada proceso, cuando se acaba la RAM se usa el disco (eso tambien es paginacion, pagefile.sys en Windows).

http://en.wikipedia.org/wiki/X86_memory_segmentation

Lo elemental: todas las direcciones que vos ves en Windows (o cualquier S.O. moderno en modo protegido) son VIRTUALES. Esas direcciones (incluso las del Kernel que maneja el S.O. normalmente y los drivers) son traducidas a direccion FISICAS (en la RAM).
#1393
A comerla yankees, estan en decadencia.



Y no tienen vergüenza:

16:37 › GRAN HERMANO
Cisco System exigió a Obama "estándares de conducta" para espiar en la web

En una carta enviada el 15 de mayo al presidente de los Estados Unidos, Barack Obama, después de que trascendiera que la Agencia Nacional de Seguridad (NSA) interceptó envíos de la compañía para hackear los routers, el CEO de la compañía de infraestructura informática, John Chambers, advirtió que "no podemos operar de esta manera, nuestros clientes confían en que nosotros seamos capaces de enviar los productos a sus casas dentro de los más altos estándares de integridad y seguridad".

En la misiva, el ejecutivo de Cisco reclamó a Obama "estándares de conducta" para frenar a la vigilancia gubernamental, con el fin de que los objetivos de seguridad nacional no interfieran con la posición de liderazgo que Estados Unidos mantiene en el mercado global de tecnología, según informó el diario estadounidese Financial Times. "Si las acusaciones son verdaderas, estas acciones debilitarán la confianza en nuestra industria y en la capacidad de las compañías tecnológicas en enviar productos de forma global", señaló Chambers.

Un día antes de que el CEO de Cisco enviara la carta, comenzaron a circular en medios de prensa especializados en tecnología fotos en la que se ve a supuestos agentes de la NSA abriendo cajas con productos de la empresa para implantar herramientas de rastreo en los routers. Las imágenes dieron crédito a las denuncias del periodista Glenn Greenwald, quien advirtió que la Agencia Nacional de Seguridad estadounidense interceptaba envíos al exterior de de routers, servidores y otros dispositivos de computación, les instalaba "puertas traseras" (para facilitar el rastreo de información), los volvía a empaquetar con el sello de fábrica y los reenviaba a los clientes.

Greenwald, quien entró en contacto con el extécnico de inteligencia Edward Snowden y reveló los programas de espionaje masivo en el diario inglés The Guardian, describió el procedimiento en su libro "No place to hide" ("No hay lugar para esconderse"), publicado la semana pasada, y en él se describe la operatoria en palabras de la propia Agencia: "Los envíos de dispositivos de red informáticos (servidores, routers, etc.) que se envían a nuestros objetivos en todo el mundo son interceptados. Luego son redirigidos a una ubicación secreta donde empleados de la Tailored Access Operations/Access Operations (AO-S326), con el apoyo del Remote Operations Center (S321) habilitan la instalación de implantes directamente en los dispositivos electrónicos. Estos dispositivos se reempaquetan y se vuelven a poner en tránsito hacia su destino original. Todo ello ocurre con los socios de la Comunidad de Inteligencia y los gurús técnicos del TAO".

En su carta, Chambers le expresó a Obama su preocupación "de que el liderazgo tecnológico mundial de nuestro país se vea perjudicado". La semana anterior, el CEO de Cisco ya había señalado que clientes de países emergentes estaban "retrasando sus compras". Por su parte, ante las sospechas de que la firma pudo haber colaborado con la NSA, el director general de Cisco, Mark Chandler, se encargó de despegar a la empresa del espionaje gubernamental. "Cisco no trabaja con ningún gobierno, incluyendo al gobierno de los Estados Unidos, para debilitar nuestros productos", sostuvo en un posteo en el blog de la compañía.

"Ofrecemos a nuestros clientes herramientas sólidas para defender su medio ambiente contra los ataques y detectarlos cuando están sucediendo. Al hacer estas cosas, hemos construido y mantenido la confianza de nuestros clientes. Esperamos que nuestro gobierno valore y respete esa confianza", agregó Chambers, cuyas críticas a la política de espionaje estadounidense se suman a las de otros CEOs de grandes empresas tecnológicas, como las del jefe de Facebook, Mark Zuckerberg, y el de Google, Larry Page.
#1394
ASM / Re: Dudas sobre direccionamiento
19 Mayo 2014, 21:00 PM
Cita de: Vaagish en 19 Mayo 2014, 20:18 PMIgual no capto.. sigo leyendo del libro y de la wikipedia pero no.. No hay una forma sencilla de explicarlo?

No, tal vez alguien mas didactico que yo pueda, proba con el Windows Internals tambien ... igual si queres saber algo a fondo no hay nada mejor que aprenderlo mediante la practica: agarra un depurador.

Eso es segmentacion no paginacion ... es la misma RAM si, por eso dice ILUSION, el hardware, la memoria FISICA es una sola, pero por ejemplo la direccion base de un PE suele ser 0x00400000 y el O.S. te crea la ilusion de tener muchos programas cargados en esa direccion, cuando en realidad mediante unas tablas en el contexto de cada proceso esa direccion VIRTUAL equivale a una direccion FISICA diferente.
#1395
Programación C/C++ / Re: Duda con threads
19 Mayo 2014, 12:32 PM
Tal vez un experto en .NET pueda resolver con facilidad este "problema". Es posible que no exista ninguna optimizacion ni en Java ni en C# como para resolver algo tan sencillo como que una variable temporal (todas las que no son variable que deberia poder ser liberada en cada iteracion con un cambio de ambito, cosa que podria ser aplicada a las demas variables temporales tambien llegado el caso) sea destruida inmediatamente pero me resulta dificil creerlo.




EDITO: acabo de probar tu codigo con el framework v2.0.50727 (el mas antiguo en mi maquina) el uso de memoria no aumenta ni siquiera por cada iteracion de i. "ALGO" no es un objeto segun ildasm.
#1396
Programación C/C++ / Re: Duda con threads
19 Mayo 2014, 12:03 PM
eferion: me debo estar perdiendo algo otra vez, ya que no se hace uso intensivo de la memoria dinamica (son unas cadenas de tamaño infimo) en tu ejemplo y se podria solventar facilmente usando una variable definida fuera del bucle en C# (acudo a la logica simplemente, no trabajo en .NET pero como el framework este medio bien hecho - tambien queda la JVM - al asignarle un nuevo puntero a variable deberia liberar la memoria anterior sin necesidad de recolectar basura posteriormente).

amchacon: por eso, si los punteros son el pasado ...
#1397
Programación C/C++ / Re: Duda con threads
19 Mayo 2014, 11:14 AM
Cita de: eferion en 19 Mayo 2014, 10:48 AM
Si yo hago un bucle con strings sin usar punteros... en C++ tendré un uso bastante estable de la memoria.

Código (c++) [Seleccionar]
string p;
for (int x = 0; x < 500; ++x)
  p.insert(p.end(), 1024 * 1024, '.');


Tal vez se me pierde el objetivo y/o sentido del bucle pero si hace algo que no se pierde inmediatamente ...
#1398
Programación C/C++ / Re: Duda con threads
19 Mayo 2014, 10:35 AM
Cita de: eferion en 19 Mayo 2014, 10:23 AM
Depende del uso... como necesites un algoritmo iterativo o recursivo con reservas de memoria en cada iteración... aunque luego las "liberes", te puedes encontrar con el caso de que el equipo se queda sin memoria en menos de un minuto... la razón es sencilla, al no tener tu control sobre el ciclo de vida sobre los objetos, éstos se quedan en estado latente esperando a ser eliminados por el recolector de basura... si tu aplicación no le da tiempo al recolector para trabajar, los objetos no se eliminan y la memoria se acumula hasta que te quedas sin nada.

Y no lo digo por decir, al menos en la versión 2.0 del framework de .Net es absurdamente sencillo... se puede hacer con bucles y clases de tipo string... no creo que las versiones posteriores hayan avanzado muchísimo en ese tema.

Moraleja: si el algoritmo o la aplicación hace un uso intensivo de memoria dinámica, .Net al menos ( y Java no creo que sea muy diferente ), no te sirven.

¿Y cual es la diferencia al fin y al cabo si pretendes no usar punteros en C++ tampoco? Entiendo que leiste a lo que respondi ...
#1399
ASM / Re: Dudas sobre direccionamiento
19 Mayo 2014, 10:32 AM
Entiendo que quiere decir que es el modo nativo moderno, el modo real esta solo para compatibilidad con un pasado ya bastante remoto.

Si; tenes que leer sobre segmentacion y memoria virtual (un DWORD puede direccionar 4 GB: de 0x0 a 0xFFFFFFFF).

http://en.wikipedia.org/wiki/Real_mode
http://en.wikipedia.org/wiki/Protected_mode
#1400
Programación C/C++ / Re: Duda con threads
19 Mayo 2014, 10:17 AM
Cita de: amchacon en 18 Mayo 2014, 19:19 PMLos punteros son del pasado ^^

Te recomiendo Java y C#.