Publicidad

miércoles, 7 de enero de 2009

Llamadas al sistema

Hola, una felicitación por el inicio de año a todos mis amigos y compañeros.

Durante el curso hicimos uso de una que otra llama al sistema, y bueno, ya que tenemos este espacio, hay que hacer de él un lugar en el cual se encuentre de todo.

Una llamada al sistema es normalmente una demanda al sistema operativo (núcleo) para que haga una operación de hardware/sistema especifica o privilegiada. Algunas de las llamadas al sistema son las siguientes:

_exit . . . . . . . . . . . . . como exit pero con menos acciones.
accept . . . . . . . . . . . . . aceptar conexiones en un socket.
access . . . . . . . . . . . . . comprobar permisos de usuario en un archivo.
acct . . . . . . . . . . . . . . . no implementada aun.
adjtimex . . . . . . . . . . obtener/ajustar variables de tiempo internas.
afs_syscall . . . . . . . . . reservada para el sistema de archivos Andrew.
alarm . . . . . . . . . .. . . . . envio de SIGALRM tras un tiempo especificado.
bdflush . . . . . . . . . . . .. vuelca buffers modificados al disco.
bind . . . . . . . . . . . . . . . . nombrar un socket para comunicaciones.
break . . . . . . . . . . . . . . . no implementada aun.
brk . . . . . . . . . . . . . . . . . cambiar el tamaño del segmento de datos.
chdir . . . . . . . . . . . . . . . cambiar el directorio de trabajo.
chmod . . . . . . .. . . . . . . cambiar permisos en un archivo.
chown . . . . . . . . . . . . . cambiar propietario de un archivo.
chroot . . . . . . . . . . . . . . cambiar el directorio raíz.
clone . . . . . . . . . . . . . . vease fork.
close . . . . . . . . . . . . . . . . cerrar un archivo.
connect . . . . . . . . . . . . enlazar dos sockets.
creat . . . . . . . . . . . . . . crear un archivo.
create module . . . . . . reservar espacio para un módulo del núcleo.
delete module . . . . . .descargar módulo del núcleo.
dup . . . . . . . . .. . . . . . . crear un duplicado de un descriptor de archivo.
dup2 . . . . . . . . . . . . . . duplicar un descriptor.
execl , execlp , execle . . . vease execve.
execve . . . . . . . . . . . . . . ejecutar un archivo.
exit . . . . . . . . . . . . . . . . . terminar un programa.
fchdir . . . . . . . . . ... . . . cambiar directorio de trabajo por referencia.
fchmod . . . .. . . . ... . . . .vease chmod.
fchown . . .. . . . ... . . . . . cambiar propietario de un archivo.
fclose . . . . .. . . . . . . . . cerrar un archivo por referencia.
fcntl . . . . . . . . . . . . . . . control de archivos/descriptores.
flock . . . . . . . . . . . . . . . cambiar bloqueo de archivo.
fork . . . . . . . . . . .. . . . . crear proceso hijo.
fpathconf . . . . . . . . .. obtener información de archivo por referencia.
fread , . . . . . . . . . . . . . leer matriz de datos de un archivo.
fstat . . . . . . . . . . . . . . . obtener estado del archivo.
fstatfs . . . . . . . . . . . . . obtener estado del sistema de archivos por referencia.
fsync . . . . . . . . . . . . . . escribir bloques modificados del archivo a disco.
ftime . . . . . . . . . . . . . . obtener fecha del archivo en segundos desde 1970.
ftruncate . . . . . . . . . cambiar tamaño del archivo.
fwrite . . . . . . . . . . . . . escribir matriz de datos binarios a un archivo.
get kernel syms . . . obtener tabla de símbolos del kernel o su tamaño.
getdomainname . . . obtener nombre de dominio del sistema.
getdtablesize . . . . . obtener tamaño de la tabla de descriptores de archivo.
getegid . . . . . . . . . . . . obtener id. de grupo efectivo.
geteuid . . . . . . . . . . . .obtener id. de usuario efectivo.
getgid . . . . . . . . . . . obtener id. de grupo real.
getgroups . . . . . . . . . obtener grupos adicionales.
gethostid . . . . . . . . . obtener identificador del huesped.
gethostname . . . . . obtener nombre del huesped.
getitimer . . . . . . . . . obtener valor de temporizador.
getpagesize . . . . . . obtener tamaño de pagina.
getpeername . . . . . obtener direccion remota de un socket.
getpgid . . . . . . . . . . obtener id. del grupo de procesos padre.
getpgrp . . . . . . . . . . obtener id. del grupo padre del proceso.
getpid . . . . . . . . . . . obtener id. del proceso (pid).
getppid .. . . . . . . . . obtener id. del proceso padre.
getpriority . . . . . . . obtener prioridades de usuario/grupo/proceso.
getrlimit . . . . . . . . . obtener limites de recursos.
getrusage . . . . . . . . obtener uso de recursos.
getsockname . . . . . obtener dirección de un socket.
getsockopt . . . . . . . obtener opciones ajustadas en un socket.
gettimeofday . . . . obtener segundos pasados desde 1970.
getuid . . . . . . . . . . . obtener id. de usuario real (uid).
gtty . . . . . . . . . . . . . . no implementada aun.
idle . . . . . . . . . . . . . . hacer candidato a expulsión al disco a un proceso.
init module . . . . . . incluir un módulo cargable.
ioctl . . . . . . . . . . . . . manipulación de un dispositivo de caracter.
ioperm . . . . . . . . . . ajusta algunos permisos de e/s.
iopl . . . . . . . . . . . . . ajusta permisos de e/s.
ipc . . . . . . . . . . . . . . comunicación entre procesos.
kill . . . . . . . . . . . . . . enviar una señal a un proceso.
killpg . . . . . . . . . . . enviar una señal a un grupo de procesos.
klog . . . . . . . . . . . . . vease syslog.
link . . . . . . . . . . . . . crear un enlace físico a un archivo.
listen . . . . . . . . . . . escuchar conexiones en un socket.
llseek . . . . . . . . . . . lseek para archivos grandes.
lock . . . . . . . . . . . . . no implementada aun.
lseek . . . . . . . . . . .. cambia el puntero de un archivo abierto.
lstat . . . . . . . . . . . . obtiene estado de un archivo.
mkdir . . . . . . . . . . . crea un directorio.
mknod . . . . . . . . . . crea un dispositivo.
mmap . . . . . . . . . . . mapea un archivo en memoria.
modify_ldt . . . . . . lee o escribe tabla de descriptores locales.
mount . . . . . . . . . . montar un sistema de archivos.
mprotect . . . . . . . . controla permisos de acceso a una zona de memoria.
mpx . . . . . . . . . . . . . no implementada aun.
msgctl . . . . . . . . . . . control de mensajes ipc.
msgget . . . . . . . . . . obtiene un id. de cola de mensajes.
msgrcv . . . . . . . . . . recibe un mensaje ipc.
msgsnd . . . . . . . . . . envia un mensaje ipc.
munmap . . . . . . . . desmapea un archivo de memoria.
nice . . . . . . . . . .. . . . cambia prioridad del proceso.
oldfstat . . . . . . . . . . a extinguir.
oldlstat . . . . . . . . . . a extinguir.
oldolduname . . . . a extinguir.
oldstat . . . . . . . . . . a extinguir.
olduname . . . . . . . . a extinguir.
open . . . . . . . . . . . . . abrir un archivo.
pathconf . . . . . . . . . obtener información de un archivo.
pause . . . . . . . . . . . . dormir hasta la llegada de una señal.
personality . . . . . . cambiar dominio de ejecución en iBCS.
phys . . . . . .. . . . . . . no implementada aun.
pipe . . . . . . . . . . . . . crea una tuberia.
prof . . . . . . . . . . . . . . no implementada aun.
profil . . . . . . . . . . . . perfil de ejecución.
ptrace . . . . . . . . . . . traza proceso hijo.
quotactl . . . . . . . . . no implementada aun.
read . . . . . . . . . . . . . . lee datos de un archivo.
readv . . . . . . . . . . . . . lee bloques de un archivo.
readdir . . . . . . . . . . . lee un directorio.
readlink . . . . . . . . . . obtener contenido de un enlace simbólico.
reboot . . . . . . . . . . . . reiniciar o controlar combinacion CTRL-ALT-DEL.
recv . . . . . .. . . . . . . . . recibir mensaje de socket conectado.
recvfrom . . . . . . . . . recibir mensaje de socket.
rename . . . . . .. . . . . mover/renombrar archivo.
rmdir . . . . .. .. . . . . . borrar directorio vacio.
sbrk . . . . . . . . . . . . . . vease brk.
select . . . . . . . . . . . . dormir hasta actividad en un descriptor de archivo.
semctl . . . . . . . . . . . control de semáforos ipc.
semget . . . . . . . . . . . obtener id. de semáforo ipc.
semop . . . . . . . . . . . operaciones en conjunto de semáforos ipc.
send . . . . . . . . . . . . . enviar mensaje a un socket conectado.
sendto . . . . . . . . . . . enviar mensaje a un socket.
setdomainname . . ajustar dominio del sistema.
setfsgid . . . . . . . . . . ajustar id. grupo del sistema de archivos.
setfsuid . . . . . . . . . . ajustar id. usuario del sistema de archivos.
setgid . . . . . . . . . . . . ajustar id. real de grupo (gid).
setgroups . . . . . . . . ajustar grupos adicionales.
sethostid . . . . . . . . . ajustar identificador de huesped.
sethostname . . . . . ajustar nombre de huesped.
setitimer . . . . . . . . . ajustar temporizador.
setpgid . . . . . . . . . . . ajustar id. de grupo padre.
setpgrp . . . . . . . . . . . sin efecto.
setpriority . . . . . . . . ajustar prioridad de proceso/usuario/grupo.
setregid . . . . . . . . . . ajustar id. de grupo real/efectivo.
setreuid . . . . . . . . . . ajustar id. de usuario real/efectivo.
setrlimit . . . . . . . . . ajustar limites para los recursos.
setsid . . . . . . . . . . . . crear sesión.
setsockopt . . . . . . . cambiar opciones del socket.
settimeofday . . . . . poner la hora en segundos desde 1970.
setuid . . . . . . . . . . . . ajustar id. de usuario real.
setup . . . . . . . . . . . . . iniciar dispositivos y montar la raíz.
sgetmask . . . . . . . . . vease siggetmask.
shmat . . . . . . . . . . . . enganchar memoria a un segmento de memoria compartida.
shmctl . . . . . . . . . . . . manipulacion de memoria compartida ipc.
shmdt . . . . . . . . . . . . liberar memoria compartida en un segmento.
shmget . . . . . . . . . . . obtener/crear segmento de memoria compartida.
shutdown . . . . . . . . desconectar socket.
sigaction . . . . . . . . . obtener/ajustar manejador de señales.
sigblock . . . . . . . . . . bloquear señales.
siggetmask . . . . . . . obtener señales bloqueadas.
signal . . . . . . . . . . . . poner manejador de señal.
sigpause . . . . . . . . . usar nueva máscara de señales hasta la proxima señal.
sigpending . . . . . . . obtener señales bloqueadas pendientes.
sigprocmask . . . . . . obtener/ajustar mascara de bloqueos de señales.
sigreturn . . . . . . . . . no usada aun.
sigsetmask . . . . . . . ajustar máscara de bloqueos de señales.
sigsuspend . . . . . . . reemplaza a sigpause.
sigvec . . . . . . . . . . . . vease sigaction.
socket . . . . . . . . . . . . crea un extremo de comunicacion para socket.
socketcall . . . . . . . . llamada general de sockets.
socketpair . . . . . . . . crea dos sockets conectados.
ssetmask . . . . . . . . . vease sigsetmask.
stat . . . . . . . . . . . . . . . obtener estado del archivo.
statfs . . . . . . . . . . . . . obtener estado del sistema de archivos.
stime . . . . . . . . . . . . . obtener segundos desde 1970 .
stty . . . . . . . . . . . . . . . no implementada aun.
swapoff . . . . . . . . . . . detener el intercambio con un dispositivo o archivo.
swapon . . . . . . . . . . . iniciar el intercambio con un dispositivo o archivo.
symlink . . . . . . . . . . crear un enlace simbólico.
sync . . . . . . . . . . . . . . volcar bloques modificados a disco.
syscall . . . . . . . . . . . ejecutar llamada al sistema.
sysconf . . . . . . . . . . . obtener valor de una variable del sistema.
sysfs . . . . . . . . . . . . . . obtener información sobre sistemas de archivos usados.
sysinfo . . . . . . . . . . . obtener información sobre el sistema.
syslog . . . . . . . . . . . . manipulación del registro.
system . . . . . . . . . . . ejecutar un comando de shell.
time . . . . . . . . . . . . . obtener segundos desde 1970.
times . . . . . . . . .. . . . obtener tiempos del proceso.
truncate . . . . . . . . . cambiar tamaño de un archivo.
ulimit . . . . . . . . . . . . obtener/ajustar limites de archivo.
umask . . . . . . . . . . . ajustar máscara de creación de archivos.
umount . . . . . . . . . . desmontar un sistema de archivos.
uname . . . . . . . . . . . obtener información del sistema.
unlink . . . . . . . . . . . borrar un archivo no bloqueado.
uselib . . . . . . . . . . . . usar libreria compartida.
ustat . . . . . . . . . .. . . no implementada aun.
utime . . . . . . . . . . . . motificar información de tiempo en nodo-i.
utimes . . . . . . . . . . . vease utime.
vfork . . . . . . . . . . .. . vease fork.
vhangup . . . . . . . . . . colgar virtualmente el terminal actual.
vm86 . . . . . . .. . . . . . . entrar en modo vm86.
wait . . . . . . . . . . . . . . esperar terminación de proceso.
wait3 . . . . . . . . . . . . espera terminación de un proceso (bsd).
wait4 . . . . . . . . . . . . . espera terminación de un proceso (bsd).
waitpid . . . . . . . . . . . espera terminación de un proceso.
write . . . . . . . . . . . . . escribir datos a un archivo.
writev . . . . . . . . . . . . . escribir bloques de datos a un archivo.

Ojalá que les sean útiles ... y si pueden aportar algo mas ADELANTE