Tema POSIX Win32 Comentarios

Activan los distintos GID de un archivo en UNIX. Seguridad getgroups, setgroups, initgroups. OpenProcessToken. Grupos suplementarios. Seguridad chmod ...
81KB Größe 11 Downloads 65 vistas
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