Resumen De Instrucciones Posix
* Shm_open = shm_unlink
shm_open, shm_unlink - Crear / abrir o POSIX desvincular objetos de memoria compartida. shm_open () crea y abre una nueva o abra una existente, POSIX objeto de memoria compartida. Un objeto POSIX de memoria compartida es en efecto puede ser utilizado por procesos no relacionados con mmap de la misma región de memoria compartida. El shm_unlink ()realiza la operación inversa, la eliminación de un objeto previamente creado por shm_open ().
La operación de shm_open () es análoga a la de abierto el nombre especifica el objeto de memoria compartida que se crea o se abre. Para uso portátil, un objeto de memoria compartida debe ser identificado por un nombre de la forma / algún nombre, es decir, una cadena terminada en nulo de hasta NAME_MAX (esdecir, 255) caracteres formados por una barra inicial, seguido de uno o más caracteres , ninguno de los cuales son barras.
* Ftruncate
truncar, ftruncate - truncar un archivo a una longitud especificada.
El truncate () y ftruncate funciones () hace que el archivo normal nombrado por camino o referenciado por fd sea truncado a un tamaño de exactamente la longitud bytes.
Si el archivo yafue mayor que este tamaño, los datos adicionales se pierde. Si el archivo antes era más corto, se extiende, y la parte ampliada se lee como bytes nulos .
También el desplazamiento de archivo no se cambia.
Con ftruncate (), el archivo debe estar abierto para escritura, con truncate (), el archivo debe tener permisos de escritura.
* Mmap = munmmap
mmap, munmap - archivos de mapas devincular o desvincular o dispositivos en la memoria.
mmap () crea una nueva asignación del espacio de direcciones virtual del proceso de llamada. La dirección de comienzo para la nueva asignación se especifica en addr .La longitud argumento especifica la longitud de la cartografía.
Si addr es NULL, entonces el núcleo decide la dirección en la que desea crear el mapeo, éste es el método más portátilde crear una nueva asignación. Si addr no es NULL, entonces el núcleo lo toma como un indicio acerca de dónde colocar el mapeo. La dirección de la nueva asignación se devuelve como el resultado de la llamada.
SEMAPHORE
Semáforos POSIX permiten que los procesos y subprocesos puedan sincronizar sus acciones.
Un semáforo es un entero cuyo valor nunca se deja caer por debajo de cero. Dosoperaciones se pueden realizar en los semáforos: incrementar el valor del semáforo por uno ( sem_post ), y disminuir el valor del semáforo por uno ( sem_wait ). Si el valor del semáforo está en cero, entonces un sem_wait() la operación se bloqueará hasta que el valor llega a ser mayor que cero.
Semáforos POSIX vienen en dos formas: semáforos con nombre y sin nombre semáforos.
* Sem_initsem_init - inicializar un semáforo sin nombre en la dirección apuntada por sem .El valor de argumento especifica el valor inicial del semáforo.
El pshared argumento indica si este semáforo es para ser compartido entre los hilos de un proceso, o entre procesos.
La inicialización de un semáforo que ya se ha inicializado resultados de un comportamiento indefinido.
* Sem_wait
sem_wait,sem_timedwait, sem_trywait - bloquear un semáforo
sem_wait () decrementa el semáforo apuntado por sem . Si el valor del semáforo es mayor que cero, entonces el valor de reducción procede, y la función retorna, inmediatamente. Si el semáforo actualmente tiene el valor cero, entonces la llamada se bloquea hasta que se hace posible realizar el decremento (es decir, el valor del semáforo se eleva porencima de cero), o un controlador de señal interrumpe la llamada.
* Sem_post
sem_post - desbloquear un semáforo
sem_post incrementos () (desbloquea) el semáforo apuntado por sem . Si el valor del semáforo por consiguiente se hace mayor que cero, entonces otro proceso o subproceso bloqueado en un sem_wait() llamada será despertado y proceder a bloquear el semáforo.
* Sem_destroy...
Regístrate para leer el documento completo.