Unidad 3

Anuncio
SISTEMAS
OPERATIVOS
UNIDAD III
SISTEMA DE LLAMADAS Y SEÑALES
ING. AGUILERA SERGIO OMAR
UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA
SYSTEM CALL
CONJUNTO DE FUNCIONES QUE PERMITEN LA GESTION DE
LOS SERVICIOS EN MODO KERNEL POR PARTE DE LOS
PEDIDOS QUE SE REALIZAN DESDE EL MODO USUARIO.
PROCESO
ATRIBUTOS
Ing. Sergio Omar Aguilera
PID (ID del proceso)
PPID (ID del Padre)
UID (ID del Usuario Real)
EUID (ID del Usuario Efectivo)
GID (ID del Grupo Real)
EGIT (ID del Grupo Efectivo)
Unidad III Sistema de Llamadas y
Señales
2
UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA
SYSTEM CALL
FORMATO GENERAL:
CREAT(2)
crear un archivo nuevo.
SYNOPSIS
# include <sys/types.h>
# include <sys/stat.h>
# include <fcntl.h>
int creat (const char *pathname, mode_t mode);
DESCRIPTION
La función Creat crea un archivo regular nuevo, o prepara para volver
a escribir uno ya existente.
ERRORS
[ENOSPC] no hay suficiente espacio en el sistema de archivos.
[EACCES] no se tiene permiso de acceso.
RETURN VALUE
Si no hay error retorna el file descriptor, si hay error retorna -1, y se
guarda en la variable errno la causa del error.
SEE ALSO
chmod(2), close,…
Ing. Sergio Omar Aguilera
Unidad III Sistema de Llamadas y
Señales
3
UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA
SYSTEM CALL
LOS PROCESOS TIENEN
FILE DESCRIPTOR
STDIN_FILENO (0) – Entrada Standard
STDOUT_FILENO (1) – Salida Standard
STDERR_FILENO (2) – Error Standard
Ing. Sergio Omar Aguilera
Unidad III Sistema de Llamadas y
Señales
4
UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA
SYSTEM CALL
SYSTEM CALL PARA ACCESO A ARCHIVOS
open ( ) – Abrir archivo
read ( ) – Lectura archivo
close ( ) – Cerrar archivo
lseek ( ) – Posicionar un archivo
unlink ( ) – Destrucción enlace a directorio
SYSTEM CALL PARA CONTROL DE PROCESOS
exec ( ) – Ejecuta un proceso
main ( ) – Recibe argumentos desde linea de ejecución
fork ( ) – Crea un proceso
wait ( ) – Espera fin de un proceso
exit ( ) – Fin de un proceso
Ing. Sergio Omar Aguilera
Unidad III Sistema de Llamadas y
Señales
5
UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA
SYSTEM CALL
SYSTEM CALL PARA COMUNICACION ENTRE ARCHIVOS
dup ( ) – Redirección de mensajes
dup2 ( ) – idem.
pipe ( ) – Idem IPC
OTROS SYSTEM CALL
time ( ) – Retorna valor en sg desde 1/1/1970
gettimeofday ( ) – Hora actual, resolución en microsg
perror ( ) – Muestra info sobre error en proceso
chdir ( ) – Cambio de directorio de trabajo
getenv ( ) – Acceso al valor de una variable de entorno del proceso
setenv ( ) – Cambio en variables de entorno.
exit ( ) – Fin de un proceso
Ing. Sergio Omar Aguilera
Unidad III Sistema de Llamadas y
Señales
6
UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA
SYSTEM CALL
SYSTEM CALL PARA TRANSFERIR SEÑALES
signal ( ) – usa signal.h
LISTADO DE SEÑALES
SIGHUP – Colgar. Desconexión de terminal
SIGINT – Interrupción. Generada por el teclado
SIGILL – Instrucción ilegal. No capturable
SIGFPE - Excepción aritmética, de coma flotante o división por cero
SIGKILL – Matar proceso. No se captura ni se ignora.
SIGBUS – Error en el Bus
SIGSEGV – Violación de Segmentación.
SIGPIPE – Escritura en un pipe para el cual no hay lectores.
SIGALRM – Alarma de reloj
SIGTERM – Terminación de un programa.
Ing. Sergio Omar Aguilera
Unidad III Sistema de Llamadas y
Señales
7
UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA
INTERRUPCIONES
EVENTO QUE ALTERA LA
FRECUENCIA/SECUENCIA DE EJECUCION DE
INSTRUCCION
UMC
IRQ
ZONA DE
USR
SP
DIR
PRG
XX
APP
INTERRUMP
TDI
ZONA
PROTEGIDA
DEL SOP
ROM/HD
Ing. Sergio Omar Aguilera
256
VI
0
Unidad III Sistema de Llamadas y
Señales
8
UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA
INTERRUPCIONES POR HW
BUS DE DIRECCIONES
UMC
MICROPROCESADOR
E/S
BUS DE DATOS
PIC 8259
RD (LECT)
INTA (ACEP)
INTR (PEDIDO)
Ing. Sergio Omar Aguilera
Unidad III Sistema de Llamadas y
Señales
9
UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA
INTERRUPCIONES: CLASIFICACION
IRQ (EXTERNAS AL PROC.)
NMI (NO MASK IRQ)
IRQ SEGUN SU ORIGEN
IRQ SEGUN PRIORIDAD
EXCEPCIONES (INT. AL PROC.)
MI (MASK IRQ)
SVC (SUPERVISOR CALL)
I/O (HW DE I/O)
EXTERNAS (SW DE I/O)
IRQ EN SISTEMAS NO PC
RE-BOOT
VERIF. DE PRG (SW DE APP)
VERIF. DE HW)
SVC (SUPERVISOR CALL)
Ing. Sergio Omar Aguilera
Unidad III Sistema de Llamadas y
Señales
10
UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA
INTERRUPCIONES: ALGORITMO FUNCIONAL
Ciclo de lectura
Ciclo de ejecución
Ciclo de interrupción
Interrupciones
inhabilitadas
INICIO
Leer la
instrucción
siguiente
Ejecutar la
instrucción
Interrupciones
habilitadas
Comprobación
de interrupción;
interrupción
del proceso
FIN
Figura 1.7. Ciclo de instrucción con interrupciones.
Williams Stallings SISTEMAS OPERATIVOS. Principios de diseño e
interioridades. 4ta ed. Pearson Eduación S.A. Madrid, 2001 ISBN: 84-2053177-4
Ing. Sergio Omar Aguilera
Unidad III Sistema de Llamadas y Señales
11
UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA
INTERRUPCIONES: SECUENCIA DE EJECUCION
Programa
de usuario
Programa
de E/S
Orden
de E/S
ESCRIBIR
Programa
de usuario
Programa
de E/S
ESCRIBIR
Orden
de E/S
Programa
de usuario
Programa
de E/S
ESCRIBIR
Orden
de E/S
FIN
Rutina de
tratamiento
de interrupciones
ESCRIBIR
ESCRIBIR
Rutina de
tratamiento
de interrupciones
ESCRIBIR
FIN
ESCRIBIR
ESCRIBIR
(a) Sin
interrupciones
FIN
ESCRIBIR
(b) Con interrupciones y
corta espera de E/S
(c) Con interrupciones y
larga espera de E/S
Williams Stallings SISTEMAS OPERATIVOS. Principios de diseño e
interioridades. 4ta ed. Pearson Eduación S.A. Madrid, 2001 ISBN: 84-2053177-4
Figura 1.5. Flujo de control del programa con y sin interrupciones.
Ing. Sergio Omar Aguilera
Unidad III Sistema de Llamadas y Señales
12
UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA
INTERRUPCIONES MULTIPLES
Programa de usuario
Rutina X de tratamiento
de interrupciones
Williams Stallings SISTEMAS OPERATIVOS. Principios de diseño e
interioridades. 4ta ed. Pearson Eduación S.A. Madrid, 2001 ISBN: 84-2053177-4
RutinaY de
tratamiento de
interrupciones
(a) Tratamiento secuencial de interrupciones
Programa de usuario
Rutina X de tratamiento
de interrupciones
RutinaY de
tratamiento de
interrupciones
(b) Tratamiento de control con múltiples interrupciones
Figura 1.12. Transferencia de control con múltiples interrupciones.
Ing. Sergio Omar Aguilera
Unidad III Sistema de Llamadas y Señales
13
UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA
IRQs LINUX
Procesador
Aritmético
Disco Flexible
Teclado
etc.
EJECUCIÓN DEL
PROGRAMA PRINCIPAL
si
?
IRQ
Reconocimiento
del Pedido
No
IRQ
Señal de pedido
de Atención de
Interrupción para
el Procesador
IRQ
Programa de
Respuesta
(tratamiento del
Pedido)
?
No
IRQ
? = ¿Está activa
la Señal?
?
No
Pedido y satisfacción de IRQ
DISPOSITIVO
(por ejemplo:
Sistema sensor de
existencia de papél
de la impresora)
0
1
2
CANAL
MEMORIA
de
ENTRADA
PAI
IRQ
PROCESADOR
CENTRAL
PAI = Pedido de Atención de Interrupción
Ej.: 0 = Hay PapéI
1 = No Hay PapéI
Ing. Sergio Omar Aguilera
FIG. A
Unidad III Sistema de Llamadas y Señales
14
UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA
IRQs LINUX
VARIOS CICLOS
PRODUCEN
DE RELOJ
UN CICLO DE MAQUINA
(3 a 6)
VARIOS CICLOS
PRODUCEN
UN CICLO DE INSTRUCCIÓN
DE MAQUINA
(1 a 5)
FIG. C
Ciclos de Reloj
RST
Ciclo de máquina
Ciclo de Instrucción
Fig. D
Ing. Sergio Omar Aguilera
Unidad III Sistema de Llamadas y Señales
15
UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA
IRQs LINUX
MICROPROCESADOR
0
4
Periférico 0
1
0
2
0
3
INTA
1
CANAL "OR"
y
2
0
5
DECODIFICADOR
1
1
RST
3
1
0
Periférico 7
6
0
4
Periférico 6
Int
0
5
DECODIFICADOR
BUS DE DATOS
0
JUMP al Programa de
Cada Periférico provee
una señal: 0 = inactiva,
1 = activa,
Ing. Sergio Omar Aguilera
La señal de pedido
de RESTART (nnn)
tratamiento
identifica 110 en
base 2
Unidad III Sistema de Llamadas y Señales
FIG. B1.39
16
UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA
IRQs LINUX
Programa Principal en Ejecución
MEMORIA CENTRAL
4
JUMP SR6
Ocurrencia de
la Interrupción
del Periférico 6
S6=48
Área de
Vector de
Interrupciones
5
Comienzo
Programa de
Subrutina
SR6
Tratamiento de
Interrupción 6
4
RETURN
6
Dirección de Retorno
Área del STACK
FIG. F
Ing. Sergio Omar Aguilera
Unidad III Sistema de Llamadas y Señales
17
UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA
BIBLIOGRAFIA DE REFERENCIA
1.
Manual de Actualización y reparación de PCs, 12va. Ed. Scott
Mueller. Que. Pearson, Prentice Hall. Mexico, 2001.
2.
Sistemas de Computadoras, un enfoque estructurado. 7ma ed.
Andrew Tannenbaum. Prentice Hall, 1994.
3.
Operating Systems, 2da. Ed. William Stallings. Prentice Hall. 1995.
4.
Sistemas Operativos, 4ta ed. William Stallings. Pearson, Prentice
Hall. Madrid, 2001.
5.
Sistemas Operativos. 5ta Ed. William Stalling. Pearson Prentice
Hall. Madrid. 2006
6.
Unix, Sistema V Versión 4. Rosen,Rozinsky y Farber.McGraw Hill.
NY 2000.
7.
Lunix, Edición especial. Jack Tackett, David Guntery Lance Brown.
Ed. Prentice Hall. 1998.
8.
Linux, Guía del Administrador avanzado. Facundo Arena. MP
ediciones. BsAs. 2000.
Ing. Sergio Omar Aguilera
Unidad III Sistema de Llamadas y Señales
18
UNIVERSIDAD DE BELGRANO – FAC. TECNOLOGIA INFORMATICA
FIN UNIDAD III
SISTEMA DE LLAMADAS Y
SEÑALES
Ing. Sergio Omar Aguilera
Unidad III Sistema de Llamadas y
Señales
19
Descargar