Feb 28
GNU/Linux
    La memoria compartida es otro de los métodos utilizados para la comunicación entre procesos (IPC) en donde 2 o más procesos comparten un segmento de memoria. Básicamente existen 2 tipos diferentes disponibles en la mayoría de sistemas GNU/Linux. Los nombres de estas implementaciones son System V IPC y BSD mmap.

La utilización de memoria compartida en ambos sistemas involucra lo siguiente:

La asignación de un nombre único para el segmento
, de manera que otras aplicaciones puedan acceder a él. Al mismo tiempo contienen métodos para producir segmentos anónimos o privados.

Especificación de los permisos de acceso, siguiendo el esquema lectura/escritura/ejecución

Condiciones de carrera (Race conditions), métodos para tratar de evitar estas situaciones.

Continua leyendo "Memoria compartida bajo Linux"

Publicado por Abraham Covelo

Feb 28
Noticias internacionales La violencia en la franja de Gaza y en el sur de Israel ha vuelto a repuntar hoy, miércoles, con la muerte de al menos trece palestinos y un israelí en ataques a ambos lados de la frontera, que parecen conducir a una nueva escalada de violencia en la región.

Otro palestino, un miliciano de las Brigadas de los Mártires de Al Aksa, murió hoy en la ciudad cisjordana de Naplusa en una redada del Ejército israelí, que alegó que la víctima, así como otros cuatro individuos que fueron detenidos, 'preparaban un atentado para los próximos días', según un comunicado oficial.

Testigos relataron que policías y soldados disfrazados de árabes bajaron de un minibús y abrieron fuego contra un taxi en el que se hallaban los cinco militantes.

Pero la nota dominante de la jornada estuvo a ambos lados de la frontera entre Gaza e Israel, donde se produjeron incesantes ataques aéreos sobre la franja y continuos disparos de cohetes Kasam sobre las localidades del sur de Israel.

El último ataque israelí esta noche fue contra la sede del Ministerio del Interior, el organismo desde el que Hamás dirige a los cuerpos de seguridad en Gaza, la llamada Fuerza Ejecutiva, creada por los islamistas en 2006.

El bombardeo, en el que murió un bebé de cinco meses y otras cuatro personas resultaron heridas, fue ordenado por el ministro de Defensa israelí, Ehud Barak, tras la caída en Israel de decenas de cohetes horas antes.

Uno de esos proyectiles mató hoy a un estudiante de 47 años, y padre de cuatro hijos, en una academia universitaria en la zona fronteriza con Gaza.

Publicado por Abraham Covelo

Feb 27
GNU/Linux     Para los que no deseen emplear fifos para la comunicación entre procesos php, la otra solución es compartir un segmento de memoria. Esta tarea se puede realizar con los comandos shmop.

Estas funciones no precisan la instalación de extensiones especificas pero si la compilación de tu php con el parámetro --enable-shmop

Esta opción nos permite tener disponibles los siguientes comandos

- shmop_close — Cierra un segmento de memoria compartida
-shmop_delete — Borra un segmento de memoria compartida
- shmop_open — Crea o abre un segmento de memoria compartida
- shmop_read — Lee un segmento de memoria compartida
- shmop_size — Obtiene el tamaño de un segmento de memoria compartida
- shmop_write — Escribe datos en un segmento de memoria compartida

Se emplean de manera analoga a como lo hariamos con un fichero o con un socket

Primero abrimos el segmento compartido con chmop_open, luego leemos o escribimos (las dos opciones son posibles a diferencia de los fifos en GNU/Linux donde o abrimos el fifo para lectura o para escritura) con shmop_read o shmop_write. Y finalmente cerramos el segmento de memoria compartido con chmop_close.

Este seria un ejemplo sencillo


<?php

//0xff3 - identificador segmento, se debe utilizar en todos los segmentos a compartir
// "c" - Opciones: c para crear, a para acceder, w acceder lectura/escritura y n crear nuevo segmento
// 0644 - Permisos GNU/Linux
// 100 - Tamaño en bytes
if(!$sh = shmop_open(0xff3, "c", 0644, 100))
{
die('Error creando segmento de memoria compartido');
}

// El 0 es el offset sobre el segmento de memoria, para leer desde el principio 0
shmop_write($sh, "mi segmento de memoria compartida",0);

$my_string = shmop_read($sh, 0, strlen("mi segmento de memoria compartida"));

echo $my_string;
shmop_close($sh);

?>

Publicado por Abraham Covelo

Feb 27
Noticias internacionales La operación humanitaria para liberar a los cuatro rehenes que liberará la guerrilla colombiana de las FARC ha arrancado con la salida de los helicópteros desde el aeropuerto venezolano de Santo Domingo. El destino exacto de las aeronaves se desconoce aunque se sabe que las coordenadas facilitadas por las FARC a las autoridades de Venezuela corresponden a un punto de la geografía colombiana en mitad de la selva.

Publicado por Abraham Covelo

(Página 1 de 2, en total 7 entradas)