Se puede dañar el hardware utilizando C/C++ ?

Iniciado por Blaster, 9 Octubre 2012, 16:18 PM

0 Miembros y 5 Visitantes están viendo este tema.

Blaster

 Bueno esa es la duda, que tengo desde que me he iniciado en
C y C++  :rolleyes: me pregunto si se podria dañar el disco o el
microprocesador o tambien la memoria.
Ejecutando algun tipo de codigo en estos lenguajes, he leido en
algunos sitios que con ASM se puede hacer esto mediante determinadas
instrucciones

Espero que alguien me aclare esto gracias.

0xDani

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

Blaster

#2
Ejecutado por ejemplo un bucle infinito y provocar que el microprocesador
o algun otro dispositivo se sobrecaliente y se queme  :rolleyes:

0xDani

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

Blaster

#4
He encontrado esto al respecto:
Los sistemas operativos tienen proteccion contra este tipo de instrucciones,
al recalentarse el procesador el sensor de temperaturas saltaría
y el ordenador se apagaría de golpe o se reiniciaria.

yoxter

Si no esta overclockeado no es posible crear un bucle que dañe el processador, talvez puedas dañar el disco duro por exceso de uso.


system("dd if=/dev/zero of=/dev/sdX ");



Posiblemente soy el intento de programador mas fracaso de la historia !!

Blaster

#6
Ya veo, no comprendo   :rolleyes: el codigo que acabas poner
podrias explicarme gracias

yoxter

Cita de: Neo_System en  9 Octubre 2012, 18:26 PM
ya veo, no comprendo  :huh: el codigo que acabas poner
podrias explicarme gracias

Se ejecuta una comando en el sitema y lo que hace este comando es borrar y sobreescrivir con ceros
en los hdd puede generar algo desgaste y reducir la vida la util del mismo pero un usb, sd, sdd's no deberia hacer nada

no lo probe personalmente pero escuche que se tarda 6 horas y media.  en 4 GB's



Posiblemente soy el intento de programador mas fracaso de la historia !!

Blaster

#8
Ya endiendo te agradeszco la aclaracion, y si definitivamente al hacer
esto acortaria la vida util de tu hdd ni en broma lo ejecuto  :laugh:

Foxy Rider

Cita de: yoxter en  9 Octubre 2012, 18:20 PM
Si no esta overclockeado no es posible crear un bucle que dañe el processador, talvez puedas dañar el disco duro por exceso de uso.


system("dd if=/dev/zero of=/dev/sdX ");

De hecho el mayor impacto es en SSDs, por que es una operación de escritura justamente ... si pensás "dañar" un disco de esa manera (vía shell con dd), lo ideal es usar un ionice para que el sistema más o menos responda y no se note tan lento (quizá un script que analize el uso y en base a eso estrese al disco?), así no levanta alerta ... por que 6 horas puede tomar "una pasada" (depende del ancho de banda, yo estimo que MUCHO menos), pero en la práctica necesitás MUCHAS pasadas de operaciones que no sean secuenciales (en la medida de lo posible, y si hablamos de medios con piezas mecánicas) para generar un desgaste que sea evidente.

Y si vas a usar dd (un comando *nix) vía system() en C/C++ ... yo diría que vayas por ramas más estándares y por un código mejor pensado que eso.

Sobre overclockear es posible también ... pero requiere escalar privilegios y saber qué hardware vas a overclockear y como.
Dependiendo el sistema, vas a generar un degaste, pero no necesariamente un daño (muchos chips traen mecanismos de seguridad, algunos no, algunos traen pero son de dudoso funcionamiento)

No sé, esto de pensar "romper máquinas" me resulta desde gracioso a patético y preocupante.

Saludos.