Algo que nos puede traer de cabeza como administradores de sistemas y, a veces como usuarios es el hecho de que un proceso se coma, devore y trate sin piedad la CPU de nuestro sistema. Ya no solo el hecho de que un programa deje inservible el ordenador, aunque a día de hoy con tantos núcleos de procesador, casi siempre tendremos algo de CPU para enviar una señal de parada a un proceso.… Leer artículo completo
Limitar el uso de CPU de nuestras aplicaciones o procesos en GNU/Linux (señales, nice, cpulimit/cputool, cgroups, systemd slices)
Ejecutando tareas desde consola simultáneamente con GNU Parallel
Los ordenadores cada día son más potentes. Y una de las formas de poder ejecutar tareas de forma más rápida, es simultanearlas. Por un lado, es lógico que si una tarea está esperando un dato (ese dato puede venir del disco, del usuario por medio del teclado o el ratón, o descargándoselo de Internet), es normal que el ordenador decida ejecutar otras cosas para no perder el tiempo. Y de hecho se ha aprovechado esto para tener varios programas en ejecución, constantemente dando y quitando el acceso al procesador.… Leer artículo completoMuseo informático: Procesadores Intel Pentium II y AMD K6-2 ¡Por la guerra de los Megahercios en la CPU!
Los que me sigáis en Instagram habréis podido ver las fotos que voy publicando de vez en cuando de mi museo informático. Muchas de esas fotos tienen ya mucho tiempo (siempre me ha gustado fotografiar el hardware), otras, en cambio corresponden a piezas que he encontrado buscando en casa, dentro de cajones y cajas que hace mucho tiempo que no se abren y ha tocado desempolvar.
En este caso, traigo dos procesadores, aproximadamente de la misma época, el AMD es un pelín más nuevo.… Leer artículo completo
Píldora: Modificar a mano la velocidad de los ventiladores de nuestro ordenador
Normalmente el control de los ventiladores que hace automáticamente el sistema está bien. Cuando la CPU se calienta mucho los ventiladores aumentan su velocidad y ésta disminuye cuando se enfrían. El objetivo es mantener el procesador a una temperatura estable y que no se rompan los componentes. Porque seguro que más de uno nos hemos cargado algún aparato cuando se ha sobrecalentado.
El caso es que no siempre está bien el control automático.… Leer artículo completo
Windows10 y los sistemas operativos modernos
Windows10 lleva casi un año entre nosotros y, sinceramente no lo he tocado hasta el viernes pasado, y tampoco tenía demasiado interés. Como muchos lectores sabrán no uso Windows como sistema operativo principal desde 2004, cuando dejé Windows2000 definitivamente.
Aunque más o menos, me vi obligado a utilizar WindowsXP en muchos ordenadores, incluso instalar máquinas virtuales de Windows para utilizar algún programa aislado, o revisar la configuración específica de algún software en particular sólo disponible en esa plataforma.… Leer artículo completoSingletons en C++. Intentando que sean seguros en hilos (thread safety) II
Ayer hablábamos de la creación de un sigleton y de que nuestro ejemplo no era «thread safe», vamos, que en un entorno con varios hilos de ejecución cabe la posibilidad de que el comportamiento esperado no siempre se cumpla.
Ahí encontrábamos diferencias entre C++ (<11) y C++11 ya que esta última revisión incluye tratamiento de threads y algunas cosas más que trataremos aquí.
Lo primero que podemos pensar, es que al traernos la instancia de nuestro singleton se crea una sección crítica, la cuál podemos regular con un mutex, provocando que siempre que vayamos a obtener una instancia de nuestro objeto pasemos por el semáforo, y aunque dos threads quieran pelearse por ver quién crea antes el recurso, sólo uno lo conseguirá finalmente.… Leer artículo completo
Tamaños de variables en Arduino
Si estamos acostumbrados a programar para procesadores de 32 ó 64bits, tal vez creamos que en un Arduino podemos almacenar números extremadamente grandes. ¡ pues no ! Estamos ante procesadores sencillos, de 8bit, puede que sean demasiado… de los 80 (más grandes en los 80), pero dado lo pequeño que puede llegar a ser, puede valernos para fabricar cualquier gadget/utensilio/aparato… e incluso para aprender… que para eso estamos aquí.
Para ver los tamaños de las variables aquí presentes podemos hacer el siguiente programa:
… Leer artículo completo1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29// Presentar en el serial el tamaño de una variable o un tipo
// de variable.¡ Siempre olvido la alineación de las variables ! GRR
Algo que pocas veces tenemos en cuenta es la alineación de las variables en la memoria RAM. Muchas veces, ni nos va, ni nos viene, aunque en ciertas ocasiones suele causar calentamientos de cabeza.
Tiene que ver con la forma que tiene la CPU para dialogar con la RAM y la arquitectura de éstas. Partimos del hecho de que pedir un dato a la memoria es algo lento, sí se hace muchos millones de veces por segundo, pero mientras viene o no viene el dato, la CPU simplemente espera. … Leer artículo completo
Últimos comentarios