Llamadas al sistema POSIX

En este apéndice se incluye una tabla con las principales llamadas al sistema disponibles en POSIX. Además, se incluye un breve comentario de cada llamada.

La tabla no incluye todas las llamadas al sistema, sino sólo aquéllas que se han utilizado en el libro para programar los ejemplos, que constituyen el subconjunto más significativo y de uso más frecuente.

TemaPOSIXComentarios
SeñalespauseSuspende proceso hasta recepción de señal.
SeñaleskillManda una señal.
Señalessigemptyset,sigfillset,sigaddset,
sigdelset,sigismember
Manipulación de conjuntos de señales.
SeñalessigprocmaskConsulta o modifica la máscara de señales.
SeñalessigpendingObtiene las señales que están pendientes de entregar.
SeñalessigactionGestión detallada de señales.
Señalessigsetjmp,siglongjmpRealizan saltos no locales.
SeñalessigsuspendEspecifica máscara y suspende proceso hasta señal.
MemoriammapProyecta en memoria un fichero. En Windows requiere utilizar dos funciones  (CreateFileMapping y MapViewOfFile).
Memoriammap
MemoriamunmapDesproyecta un fichero.
M. CompartidashmgetCrea o asigna un segmento de me-moria compartida.
M. CompartidashmatProyecta un segmento de memoria compartida.
M. CompartidashmdtDesproyecta un segmento de memoria compartida.
Bibliotecasdlopen, dlsym, dlcloseCarga y montaje explícito de bibliotecas dinámicas.
Cerrojos de ficheros y E/Sfcntl(cmd = f_setlk, …)Establece un cerrojo a un fichero.
Cerrojos de ficheros y E/Sfcntl(cmd = f_setlk, …)Elimina un cerrojo de un fichero.
Procesosfork () y  exec ()Crea proceso (CreateProcess equivale a fork + exec).
Procesos_exitTermina el proceso.
ProcesosgetpidObtiene identificador del proceso.
Procesoswait, waitpidObtiene información de proceso ya terminado.
Procesosexecl, execv,execle, execve, execlp, execvpEjecuta un programa  (no hay equivalente en Windows).
ProcesosforkCrea proceso duplicado  (no hay equivalente en Windows).
ProcesosgetppidObtiene id. del padre (en Windows no hay relación padre/hijo).
Procesosgetgid, getegidObtiene id. del grupo (en Windows no hay grupos de procesos).
ProcesoskillFinaliza la ejecución de un proceso.
ProcesoswaitpidEspera la terminación de un proceso (en Windows de múltiples procesos).
Procesoswait, waitpidEspera la terminación de un proceso.
Planificaciónsched_setscheduler,niceControla aspectos de planificación de procesos y threads.
Planificaciónpthread_yieldCede el procesador.
Planificaciónsched_setaffinity,sched_setaffinityEstablece la asignación de procesos y threads a procesadores.
ComunicacióncloseCierra una tubería.
Comunicaciónmq_openAbre una cola de mensajes en UNIX y un mailslot en Windows.
Comunicaciónmq_openCrea una cola de mensajes en UNIX y un mailslot en Windows.
Comunicaciónmq_closeCierra una cola de mensajes en UNIX y un mailslot en Windows.
Comunicaciónmq_sendEnvía datos a una cola de mensajes en UNIX y a un mailslot en Windows.
Comunicaciónmq_receiveRecibe datos de una cola de mensajes en UNIX y de un mailslot en Windows.
Comunicaciónmq_unlinkBorra una cola de mensajes en UNIX y un mailslot en Windows cuando deja de estar referenciado.
Comunicaciónmq_getattrObtiene atributos de una cola de mensajes en UNIX y un mailslot en Windows.
Comunicaciónmq_setattrFija los atributos de una cola de mensajes en UNIX y un mailslot en Windows.
ComunicaciónmkfifoCrea una tubería con nombre.
ComunicaciónpipeCrea una tubería sin nombre.
Comunicacióndup, dup2, fcntlDuplica un manejador de fichero.
Comunicaciónread (tubería)Lee datos de una tubería.
Comunicaciónwrite (tubería)Escribe datos en una tubería.
ComunicacióncloseCierra una tubería.
Threadspthread_createCrea un proceso ligero.
Threadspthread_exitFinaliza la ejecución de un proceso ligero.
Threads Devuelve el manejador del proceso ligero que ejecuta.
Threads Devuelve el identificador del proceso ligero que ejecuta.
Threadspthread_joinObtiene el código de finalización de un proceso ligero.
Threads Pone en ejecución un proceso ligero suspendido.
Threads Suspende la ejecución de un proceso ligero.
Threadspthread_joinEspera la terminación de un proceso ligero.
Threads Espera la terminación de múltiples procesos ligeros en Windows.
Threads Devuelve la clase de prioridad de un proceso.
Threadssched_getparamDevuelve la prioridad de un proceso ligero.
Threads Fija la clase de prioridad de un proceso.
Threadssched_setparamFija la prioridad de un proceso ligero.
Sincronizaciónpthread_cond_destroyDestruye una variable condicional en UNIX y un evento en Windows cuando deja de estar referenciado.
Sincronizaciónpthread_cond_initInicia una variable condicional y un evento.
Sincronizaciónpthread_cond_broadcastDespierta los procesos ligeros bloqueados en una variable condicional o un evento.
Sincronizaciónpthread_cond_signalDespierta un proceso ligero bloqueado en una variable condicional o evento.
Sincronizaciónpthread_cond_waitBloquea un proceso en una variable condicional o evento.
Semáforospthread_mutex_destroyDestruye un mutex.
Semáforospthread_mutex_initInicia un mutex.
Semáforospthread_mutex_unlokOperación unlock sobre un mutex.
Semáforospthread_mutex_lockOperación lock sobre un mutex.
Semáforossem_openCrea un semáforo con nombre.
Semáforossem_initInicia un semáforo sin nombre.
Semáforossem_openAbre un semáforo con nombre.
Semáforossem_closeCierra un semáforo.
Semáforossem_postOperación signal sobre semáforo.
Semáforossem_waitOperación wait sobre semáforo.
Manejo de ErroreserrnoAlmacena información sobre la última llamada al sistema.
TiempotimeObtiene el tiempo de calendario.
TiempolocaltimeObtiene el tiempo de calendario en horario local.
TiempostimeEstablece la hora y fecha.
TiempoalarmEstablece un temporizador.
TiempotimesObtiene los tiempos del proceso.
Ficheros y E/Stcgetattr, tcsetattrEstablece el modo de operación del terminal.
Ficheros y E/Sread, writeLectura y escritura en el terminal.
Ficheros y E/ScloseNo está limitada a ficheros.
Ficheros y E/Sopen, creatCrea o abre un fichero.
Ficheros y E/SunlinkBorra un fichero.
Ficheros y E/SfsyncVuelca la caché del fichero a disco.
Ficheros y E/Sstat, fstatObtiene los atributos de un fichero.
Ficheros y E/Sstat, fstatLongitud del fichero en bytes.
Ficheros y E/Sstat, fstatFechas relevantes para el fichero.
Ficheros y E/Sstat, fstatObtiene el tipo de un fichero o dispositivo.
Ficheros y E/Sstdin, stdout, stderrDevuelve un dispositivo de E/S estándar.
Ficheros y E/Slink, symlinkWindows no proporciona enlaces.
Ficheros y E/SreadvLectura múltiple.
Ficheros y E/SwritevEscritura múltiple.
Ficheros y E/SreadLee datos de un fichero.
Ficheros y E/Struncate, ftruncateFija la longitud de un fichero.
Ficheros y E/SfcntlCambia los atributos de un fichero.
Ficheros y E/SlseekDevuelve el apuntador de posición del fichero.
Ficheros y E/SutimeModifica las fechas de un fichero.
Ficheros y E/S Define un manejador de E/S estándar.
Ficheros y E/SwriteEscribe datos a un fichero.
Ficheros y E/S Define la proyección de un fichero en memoria.
Ficheros y E/SmmapProyecta un fichero en memoria.
Ficheros y E/S Abre un fichero proyectado en memoria.
Ficheros y E/SmunmapElimina la proyección de memoria de un fichero.
DirectoriosmkdirCrea un nuevo directorio.
DirectoriosclosedirCierra un directorio.
Directoriosopendir, readdirBusca una entrada en un directorio.
DirectoriosreaddirExtrae la siguiente entrada de directorio.
DirectoriosgetcwdDevuelve el nombre del directorio de trabajo.
Directoriosrmdir, unlinkBorra un directorio.
Directorioschdir, fchdirCambia el directorio de trabajo.
Seguridad Borra una entrada de control de acceso de una ACL.
Seguridadstat, fstat, lstatDevuelve una entrada de control de acceso de una ACL.
Seguridadstat, fstat, lstatObtiene la información de una ACL.
Seguridadstat, fstat, lstat,accessDevuelve el descriptor de seguridad de un fichero.
Seguridadstat, fstat, lstatDevuelve el descriptor de seguridad de un usuario.
SeguridadgetloginDevuelve el nombre de sistema de un usuario.
Seguridad Inicia la información de una ACL.
SeguridadumaskInicia el descriptor de seguridad de un usuario.
Seguridadgetpwnam, getgrnamDevuelve el nombre de sistema de una cuenta.
Seguridadgetpwuid, getuid,geteuidDevuelve el identificador de sistema de una cuenta.
Seguridadsetuid, seteuid, setreuidActivan los distintos UID de un fichero en UNIX.
Seguridadsetgid, setegid,setregidActivan los distintos GID de un fichero en UNIX
Seguridadgetgroups,setgroups,initgroupsGrupos suplementarios.
Seguridadchmod, fchmodCambian permisos de ficheros.
Seguridad Cambian permisos de objetos privados.
SeguridadumaskCambian máscara de protección por defecto.
Seguridadchown, fchown, lchownCambian el propietario de un fichero.