1. 1.4.1 Llamadas al sistema para la administración de procesos
1.4.2 Llamadas al sistema para señalización
FORK
Esta llama crea un duplicado exacto del proceso original
Incluidas todas las descriptores de un
archivo,registros.El proceso Original y Copia (padre e
hijo )
Todas las variables tienen valores idénticos en el momento
de FORK, pero dado que los datos del padre se copian para
crear el hijo, los cambios subsecuentes en uno de ellos no
afectan.
Con base en el PID (identificador de proceso) devuelto dos
procesos pueden saber cuál es el padre y cuál es el proceso
hijo.
El hijo tendrá que ejecutar un código diferente al de su
padre
NOTA: Solo se proporcionaba el PID hijo al padre. Si el hijo
desea conocer su propio PID, deberá usar GEDPID.Esta
llamada devuelve el PID del grupo de procesos del
invocador.
El padre ejecuta una llamada al sistema WAITPD (esperar
PID) espera a que el hijo termine este proceso , hijo debe
ejecutar el comando del usuario: utiliza una llamada al
sistema EXEC
SIGACTION
Un proceso puede utilizar una llamada al sistema sigaction
para anunciar que está preparada para aceptar algún tipo de
señal y proporcionar la dirección del procedimiento que
maneja la señal.
Así como un lugar para almacenar la dirección del manejador actual,
esta genera una señal de tipo pernitente (P.eje tecla del) el estado
de proceso se mete en su propia pila luego se invoca el manejador
de señales el cual puede ejecutarse durante el tiempo que desee y
emitir todas las llamadas que quiera
Cuando el procedimiento de manejo de señales termina
llama a SIGRETURN para que el proceso continúe donde
estaba antes.
Las señales pueden bloquearse
Una señales bloqueada se mantiene pendiente hasta que se
desbloquee
La llamada SIGPROCNASK permite a un proceso
SIGPENDINGD :señales bloqueadas
SIGSUSPEND:
2. Tiene 3 parámetros:
1. El nombre del archivo que va a ejecutar
2. Un apuntador al arreglo de argumentos
3. Un apuntador Al arreglo entorno
1.4.3 llamadas al sistema para administración de archivos 1.4.4 llamadas al sistema para administración de directorios
CREAT (archivos específicos)
Llamadas que operan sobre archivos individuales usamos
una llamada CREAT para crear un nuevo archivo y el modo
protección
EJEMPLO: ID=creat (“ abc”,0751);
CREAT no solo se crea un archivo nuevo sino que también lo
abre para escritura, sea cual sea el modo de archivo.
Los archivos especiales se crean usando MKNOD, en lugar de
CREAT.
ID= mknod (“ /dev/++yc2”,020744,0x0402);
Crea un archivo llamado y se le asigna un modo actual un
archivo especial de caracteres con bits de protección El
tercer parámetro contiene el dispositivo principal.
Llamadas que están relacionadas con directorios las dos primeras
llamadas.
MRDIR Y RMDIR
Crean y eliminan directorios vacíos
La llamada LINK su propósito es hacer posible que el mismo
archivo aparezca con uno o más nombres.
Un uso típico es permitir que varios miembros del mismo
equipo de programación comporte un archivo común y que
cada uno aparezca en su propio directorio tal vez con nombre
distinto:
Compartir un archivo no es lo mismo que dar a cada miembro
del equipo una copia privada.
NOTA: todos los archivos Minix Tiene numero único, su
número –i que lo identendifica. Este número –i es un índice
3. La llamada LSEEK cambia el valor del apuntador
normalmente apunta al sig. Byte que se leerá o escribirá
La llamada al sistema DUP para asignar un nuevo descriptor
de archivo.
de una tabla de nodos –i Un par de archivos, que indican que
es el dueño del archivo.
Con la llamada al sistema MOUNT permite funcionar dos
sistemas de archivos para formar solo uno.
1.4.5 llamadas al sistema para protección 1.4.6 llamadas al sistema para la administración del tiempo
Todos los archivos tienen un modo 11 bits que se utilizan para
protección.
° Nueve de estos bits son para leer escribir ejecutar para el
propietario.
° La llamada al sistema CHMOD hace posible cambiar el modo de un
archivo por ejemplo:
Para hacer un archivo sea solo de lectura para todo excepto su
propietario
CHMOD (“archivo”,0644);
Los otros dos bits de protección,02000 4 0.4000 son los bits SETGID
(establecer un identificador de grupo ) y STUNO (establecer un
identificador de usuario)
El vid efectivo de ese usuario se cambia al del propietario del
archivo durante la ejecución de procesos
Esta capacidad se utiliza mucho para a los usuarios ejecutar
programas que realizan funciones exclusivas de super
usuario
Minix Tiene cuatro llamadas al sistema relacionadas con el
reloj de hora del día
TIME. Simplemente devuelve el tiempo actual en segundos
Donde O corresponde al 1° de enero de 1970 a la media
noche justo en el momento de comenzar el día, No al
terminar
La llamada STIME que permite al super usuario establecer el
reloj
La tercera llamada relacionada con el tiempo es UTIME que
permite al propietario de un archivo (o al super usuario
alterar el tiempo almacenado en el nodo –i de un archivo )
TIMES : esta llamada devuelve la información de contabilidad
a un proceso a fin de que pueda saber cuánto tiempo de la
CPU uso directamente y cuanto tiempo de la CPU gasto el
sistema a su nombre (manejando sus llamadas al sistema )
4. Para crear un directorio se usa MKNOD que es solo para el
super usuario
NOTA: si se hace que el propietario del programa MKDIR sea
el super usuario y que este programa tenga el modo 04755
podrá otorgar a los usuarios ejecutar pero de forma
restringida