Tema
POSIX
Señales Señales Señales
pause kill sigemptyset,sigfillset,sigaddset,sigdelse t,sigismember sigprocmask sigpending sigaction sigsetjmp,siglongjmp sigsuspend mmap
CreateFileMapping
Consulta o modificación de la máscara de señales Obtiene que señales están pendientes de entregar Gestión detallada de señales Realizan saltos no-locales Especifica máscara y suspende proceso hasta señal Proyecta en memoria un archivo. En Win32 requiere el uso
mmap
MapViewOfFile
de dos funciones (CreateFileMapping y MapViewOfFile)
munmap
UnmapViewOfFile
Desproyecta un archivo
shmget
CreateFileMapping
Crea o asigna un segmento de memoria compartida
shmat
MapViewOfFile
Proyecta un segmento de memoria compartida
shmdt
UnmapViewOfFile
Desproyecta un segmento de memoria compartida
fcntl (cmd = F_SETLK, ...)
LockFile,LockFileEx
Establece un cerrojo a un archivo
fcntl (cmd = F_SETLK, ...)
UnlockFile,UnlockFileEx
Elimina un cerrojo de un archivo
fork () y después exec () _exit
CreateProcess ExitProcess
Crea proceso (CreateProcess equivale a fork + exec) Termina el proceso
Señales Señales Señales Señales Señales Gestión de Memoria Gestión de Memoria Gestión de Memoria Memoria Compartida Memoria Compartida Memoria Compartida Cerrojos de archivos y Cerrojos de archivos y Procesos Procesos
Win32
Comentarios Suspende proceso hasta recepción de señal Manda una señal Manipulación de conjuntos de señales
1
Procesos
getpid
GetCurrentProcess,GetCurrentPr ocessId GetExitCodeProcess
Procesos Procesos Procesos Procesos Procesos Procesos Procesos
wait, waitpid execl, execv, execle, execve, execlp, execvp fork getppid getgid, getegid kill waitpid
Procesos
wait, waitpid
Comunicación
close
Comunicación Comunicación Comunicación
mq_open mq_open mq_close
Comunicación Comunicación
mq_send mq_receive
Comunicación
mq_unlink
Comunicación
mq_getattr
CloseHandle (manejador de mailslot) GetMailslotInfo
Comunicación
mq_setattr
SetMailSlotInfo
Comunicación Comunicación
mkfifo pipe
CreateNamedPipe CreatePipe
TerminateProcess WaitForMultipleObjects (manejadores de procesos) WaitForSingleObject (manejador de proceso) CloseHandle (manejador de tubería) CreateFile (mailslot) CreateMailslot CloseHandle (manejador de mailslot) WriteFile (manejador de mailslot) ReadFile (manejador de mailslot)
Obtiene identificador del proceso Obtiene información de proceso ya terminado Ejecuta un programa (no hay equivalente en Win32) Crea proceso duplicado (no hay equivalente en Win32) Obtiene id. del padre (en Win32 no hay relación padre/hijo) Obtiene id. del grupo (en Win32 no hay grupos de procesos) Fainaliza la ejecución de un roceso Espera la terminación de un proceso (en Win32 de múltiples procesos) Espera la terminación de un proceso Cierra una tubería Abre una cola de mensajes en POSIX y un mailslot en Win2 Crea una cola de mensajes en POSIX y un mailslot en Win32 Cierra una cola de mensajes en POSIX y un mailslot en Win32 Envía datos a una cola de mensajes en POSIX y a un mailslot en Win32 Recibe datos de una cola de mensajes en POSIX y de un mailslot en Win32 Borra una cola de mensajes en POSIX y un mailslot en Win32 cuando deja de estar referenciado Obtiene atributos de una cola de mensajes en POSIX y un mailslot en Win32 Fija los atributos de una cola de mensajes en POSIX y un mailslot en Win32 Crea una tubería sin nombre
2
Comunicación Comunicación Comunicación Comunicación Procesos Ligeros Procesos Ligeros Procesos Ligeros Procesos Ligeros Procesos Ligeros Procesos Ligeros Procesos Ligeros Procesos Ligeros
dup or dup2 or fcntl read (tubería) write (tubería) close pthread_create pthread_exit
Sincronización Sincronización
pthread_cond_init pthread_cond_broadcast
DuplicateHandle ReadFile (tubería) WriteFile (tubería) CloseHandle (tubería) CreateThread ExitThread GetCurrentThread GetCurrentThreadId GetExitCodeThread ResumeThread SuspendThread WaitForSingleObject (manejador de proceso ligero) WaitForMulipleObject (manejadores de proceso ligero) GetPriorityClass GetThreadPriority SetPriorityClass SetThreadPriority CloseHandle (manejador de evento) CreateEvent PulseEvent
Sincronización
pthread_cond_signal
SetEvent
Sincronización
pthread_cond_wait
Semáforos
pthread_mutex_destroy
WaitForSingleObject (manejador de evento) CloseHandle (manejador de
pthread_loin
pthread_join
Procesos Ligeros Procesos Ligeros Procesos Ligeros Procesos Ligeros Procesos Ligeros Sincronización
sched_getparam sched_setparam pthread_cond_destroy
Duplica un manejador de archivo Leer datos de una tubería Escribe datos en una tubería Cierra una tubería Crea un proceso ligero Finaliza la ejecución de un proceso ligero Devuelve el manejador del proceso ligero que ejecuta Devuelve el identificador del proceso ligero que ejecuta Obtiene el código de finalización de un proceso ligero Pone en ejecución un proceso ligero suspendido Suepene la ejecución de un proceso ligero Espera la terminación de un proceso ligero Espera la terminación de múltiples procesos ligeros en Win32 Devuelve la clase de prioridad de un proceso Devuelve la prioridad de un proceso ligero Fija la clase de prioridad de un proceso Fija la prioridad de un proceso ligero Destruye una variable condional en POSIX y un evento en Win32 cuando deja de estar referenciado Inicia una variable condicional y un evento Despiera a los procesos ligeros blqueados en una variable condicional o un evento Despierta a un proceso ligero bloqueado en una variable condicional o evento Bloquea a un proceso en una variable condicional o evento Destruye una mutex
3
Binarios Semáforos Binarios Semáforos Binarios Semáforos Binarios Semáforos Semáforos Semáforos Semáforos
pthread_mutex_init
mutex) CreateMutex
Inicia un mutex
pthread_mutex_unlcok
ReleaseMutex
Operación unlock sobre un mutex
pthread_mutex_lock
WaitForSingleObject (manejador de mutex) CreateSemaphore
Operación lock sobre un mutex
sem_open sem_init sem_open sem_close
Semáforos Semáforos
sem_post sem_wait
Manejo de Errores Tiempo Tiempo Tiempo Tiempo Tiempo Archivos y E/S Archivos y E/S Archivos y E/S Archivos y E/S Archivos y E/S Archivos y E/S Archivos y E/S
errno
OpenSemaphore CloseHandle (manejador de semáforo) ReleaseSemaphore WaitForSingleObject (manejador de semáforo) GetLastError
time localtime stime alarm times tcgetattr, tcsetattr read, write close open, creat unlink fsynch stat, fstat
GetSystemTime GetLocalTime SetSystemTime SetTimer GetProcessTimes SetConsoleMode ReadConsole, WriteConsole CloseHandle CreateFile DeleteFile FlushFileBuffers GetFileAttributes
Crea un semáforo con nombre Inicia un semáforo sin nombre Abre un semáforo con nombre Cierra un semáforo Operación signal sobre un semáforo Operación wait sobre un semáforo Almacena información sobre la última llamada al sistema Obtiene el tiempo de calendario Obtiene el tiempo de calendario en horario local Establace la hora y fecha Establece un temporizador Obtiene los tiempos del proceso Establece el modo de operación del terminal Lectura y escritura en el terminal No está limitada a archivos Crea o abre un archivo Borra un archivo Vuelca la cache del archivo a disco Obtiene los atributos de un archivo
4
Archivos y E/S Archivos y E/S Archivos y E/S Archivos y E/S Archivos y E/S Archivos y E/S Archivos y E/S Archivos y E/S Archivos y E/S Archivos y E/S Archivos y E/S Archivos y E/S Archivos y E/S Archivos y E/S Archivos y E/S Archivos y E/S Archivos y E/S Archivos y E/S Directorios Directorios Directorios Directorios Directorios Directorios Directorios Seguridad Seguridad
stat, fstat stat, fstat stat, fstat stdin, stdout, stderr link, symlink readv writev read truncate, ftruncate fcntl lseek utime write mmap munmap mkdir closedir opendir, readdir readdir getcwd rmdir, unlink chdir, fchdir stat, fstat, lstat
GetFileSize GetFileTime GetFileType GetStdHandle
ReadFile SetEndOfFile SetFileAttributes SetFilePointer SetFileTime SetStdHandle WriteFile CreateFileMapping MapViewOfFile OpenFileMapping UnmapViewOfFile CreateDirectory FindClose FindFirstFile FindNextFile GetCurrentDirectory RemoveDirectory SetCurrentDirectory DeleteAce GetAce
Longitud del archivo en bytes Fechas relevantes para el archivo Archivo o dispositovo de caracteres Devuelve un dispostivo de E/S estándar Win32 no proporciona enlaces Lectura múltiple Escritura múltiple Lee datos de un archivo Fija la longitud de un archivo Cambia los atributos de un archivo Devuelve el apuntador de posición del archivo Modifica las fechas de un archivo Define un manejador de E/S estándar Escribe datos a un archivo Define la proyeciión de un archivo en memoria Proyecta un archivo en memoria Abre un archivo proyectado en memoria Elimina la proyección de memoria de un archivo Crea un nuevo directorio Cierra un directorio Busca una entrada en un directorio Extrae la siguiente entrada de directorio Devuelve el nombre del directorio de trabajo Borra un directorio Cambia el directorio de trabajo Borra una entrada de control de acceso de una ACL Devuelve una entrada de control de acceso de una ACL
5
Seguridad Seguridad Seguridad Seguridad Seguridad Seguridad Seguridad Seguridad Seguridad Seguridad Seguridad Seguridad Seguridad Seguridad Seguridad
stat, fstat, lstat stat, fstat, lstat, access stat, fstat, lstat getlogin umask getpwnam, getgrnam getpwuid, getuid, geteuid setuid, seteuid, setreuid setgid, setegid, setregid getgroups, setgroups, initgroups chmod, fchmod umask chown, fchown, lchown
GetAclInformation GetFileSecurity GetSecurityDescriptor GetuserName InitializeAcl InitializeSecurityDescriptor LookupAccountName LookupAccountSid
OpenProcessToken SetFileSecurity SetPrivateObjectSecurity SetSecurityDescriptorDacl SetSecurityDescriptorGroup
Extrae la información de una ACL Devuelve el descriptor de seguridad de un archivo Devuelve el descriptor de seguridad de un usuario Devuelve el nombre de sistema de un usuario Inicia la información de una ACL Inicia el descriptor de seguridad de un usuario Devuelve el nombre de sistema de una cuenta Devuelve el identificador de sistema de una cuenta Activan los distintos UID de un archivo en UNIX Activan los distintos GID de un archivo en UNIX Grupos suplementarios Cambian permisos de archivos Cambian permisos de objetos privados Cambian máscara de protección por defecto Cambian el dueño de un archivo
6