Colas de mensajes, semáforos, memoria compartida.
El principio del funcionamiento de los semáforos es inicializar un contador, llevar la cuenta del mismo, y notificar al proceso interesado cuando el contador cambia. El contador debe ser inicializado en un valor tal que simbolice el número de recursos disponibles
Las primitivas de acceso a los semáforos son wait()y notify(). La operación wait() decrementa en uno el valor del contador del semáforo, y en caso que el contador valga cero, el proceso que haya llamado al wait() se queda en espera hasta que haya recursos. La operación notify() incrementa en uno el valor del contador del semáforo, y notifica a los procesos que estén en espera que hay recursos disponibles.
Solaris 10 implementa los semáforos siguiendo tanto los estándares establecidos en UNIX System V como los establecidos en POSIX.
La memoria compartida constituye uno de los mecanismos más eficientes para compartir datos entre múltiples procesos, ya que éstos no requieren ser movidos del espacio de direcciones de un proceso al de otro. Consiste en implementar el uso compartido de las mismas páginas de memoria física (RAM) por múltiples procesos, donde cada proceso tiene mapeadas dichas páginas físicas de memoria que son acezadas a través de apuntadores referenciados en el código de cada proceso.
Para hacer uso de memoria compartida, los procesos deben utilizar las siguientes llamadas de sistema
El acceso a memoria compartida por lo general debe ser coordinado mediante mecanismos de sincronización, para evitar que varios procesos escriban simultáneamente en las mismas posiciones de memoria, o que un proceso escriba mientras otro está leyendo.
Solaris 10 introdujo una mejora al manejo de memoria compartida, mediante la implementación de Intimate Shared Memory (ISM). ISM ofrece las siguientes ventajas:
Hey! Quick question that’s completely off topic. Do you know how to make your site mobile friendly? My blog looks weird when browsing from my iphone 4. I’m trying to find a theme or plugin that might be able to resolve this issue. If you have any suggestions, please share. Thank you!