sop502 u5 signals&systemcall 2015

19
UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA Ing. Sergio Omar Aguilera Unidad 5:SysCall & Signals 1 UNIDAD 5 SISTEMAS DE LLAMADAS Y SEÑALES SISTEMAS OPERATIVOS La Victoria de la búsqueda, es la búsqueda en si misma. (Paul Auster)

Upload: others

Post on 30-Jul-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SOp502 U5 Signals&SystemCall 2015

UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA

Ing. Sergio Omar Aguilera

Unidad 5:SysCall &

Signals 1

UNIDAD 5

SISTEMAS DE LLAMADAS Y SEÑALES

SISTEMAS OPERATIVOS

La Victoria de la búsqueda, es la búsqueda en si misma.

(Paul Auster)

Page 2: SOp502 U5 Signals&SystemCall 2015

UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA

Ing. Sergio Omar Aguilera Unidad 5:SysCall & Signals 2

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.

ATRIBUTOS

�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)

PROCESO

SYSTEM CALL

Page 3: SOp502 U5 Signals&SystemCall 2015

UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA

Ing. Sergio Omar Aguilera Unidad 5:SysCall & Signals 3

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 d e 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,…

SYSTEM CALL

Page 4: SOp502 U5 Signals&SystemCall 2015

UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA

Ing. Sergio Omar Aguilera Unidad 5:SysCall & Signals 4

LOS PROCESOS TIENEN

FILE DESCRIPTOR

STDIN_FILENO (0) – Entrada Standard

STDOUT_FILENO (1) – Salida Standard

STDERR_FILENO (2) – Error Standard

SYSTEM CALL

Page 5: SOp502 U5 Signals&SystemCall 2015

UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA

Ing. Sergio Omar Aguilera Unidad 5:SysCall & Signals 5

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

Page 6: SOp502 U5 Signals&SystemCall 2015

UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA

Ing. Sergio Omar Aguilera Unidad 5:SysCall & Signals 6

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

Page 7: SOp502 U5 Signals&SystemCall 2015

UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA

Ing. Sergio Omar Aguilera Unidad 5:SysCall & Signals 7

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.

Page 8: SOp502 U5 Signals&SystemCall 2015

UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA

Ing. Sergio Omar Aguilera Unidad 5:SysCall & Signals 8

INTERRUPCIONES

EVENTO QUE ALTERA LA FRECUENCIA/SECUENCIA DE EJECUCION DE

INSTRUCCION

ZONA DE USR

ZONA PROTEGIDA

DEL SOP

VI 256

0

IRQ

TDI

APP INTERRUMP

XX

PRG DIR

ROM/HD

SP

UMC

Page 9: SOp502 U5 Signals&SystemCall 2015

UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA

Ing. Sergio Omar Aguilera Unidad 5:SysCall & Signals 9

PIC 8259 MICROPROCESADOR

UMC E/S

BUS DE DATOS

RD (LECT)

INTA (ACEP)

INTR (PEDIDO)

BUS DE DIRECCIONES

INTERRUPCIONES POR HW

Page 10: SOp502 U5 Signals&SystemCall 2015

UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA

Ing. Sergio Omar Aguilera Unidad 5:SysCall & Signals 10

IRQ EN SISTEMAS NO PC

SVC (SUPERVISOR CALL)

I/O (HW DE I/O)

EXTERNAS (SW DE I/O)

RE-BOOT

VERIF. DE PRG (SW DE APP)

VERIF. DE HW)

SVC (SUPERVISOR CALL)

IRQ SEGUN SU ORIGEN

IRQ (EXTERNAS AL PROC.)

EXCEPCIONES (INT. AL PROC.)

IRQ SEGUN PRIORIDAD

NMI (NO MASK IRQ)

MI (MASK IRQ)

INTERRUPCIONES: CLASIFICACION

Page 11: SOp502 U5 Signals&SystemCall 2015

UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA

Ing. Sergio Omar Aguilera Unidad 5:SysCall & Signals 11

INICIO

Ciclo de lectura Ciclo de ejecución Ciclo de interrupción

Leer la instrucción siguiente

Ejecutar la instrucción

Comprobación de interrupción;

interrupción del proceso

FIN

Interrupciones inhabilitadas

Interrup- ciones

Figura 1.7. Ciclo de instrucción con interrupciones.

habilitadas

Williams Stallings SISTEMAS OPERATIVOS. Principios de diseño e interioridades. 4ta ed. Pearson Eduación S.A. Madrid, 2001 ISBN: 84-205-3177-4

INTERRUPCIONES: ALGORITMO FUNCIONAL

Page 12: SOp502 U5 Signals&SystemCall 2015

UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA

Ing. Sergio Omar Aguilera Unidad 5:SysCall & Signals 12

Programa de usuario

Programa de usuario

Programa de usuario

Programa de E/S

Programa de E/S

Programa de E/S

Orden de E/S

Orden de E/S

Orden de E/S

FIN

ESCRIBIR

ESCRIBIR

ESCRIBIR

ESCRIBIR

ESCRIBIR

ESCRIBIR ESCRIBIR

ESCRIBIR

ESCRIBIR

FIN FIN

Rutina de tratamiento de interrup-

ciones

Rutina de tratamiento de interrup-

ciones

(a) Sin interrupciones

(b) Con interrupciones y corta espera de E/S

(c) Con interrupciones y larga espera de E/S

Figura 1.5. Flujo de control del programa con y sin interrupciones.

INTERRUPCIONES: SECUENCIA DE EJECUCION

Williams Stallings SISTEMAS OPERATIVOS. Principios de diseño e interioridades. 4ta ed. Pearson Eduación S.A. Madrid, 2001 ISBN: 84-205-3177-4

Page 13: SOp502 U5 Signals&SystemCall 2015

UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA

Ing. Sergio Omar Aguilera Unidad 5:SysCall & Signals 13

Programa de usuario Rutina X de tratamiento

de interrupciones

Programa de usuario

(a) Tratamiento secuencial de interrupciones

(b) Tratamiento de control con múltiples interrupciones

Figura 1.12. Transferencia de control con múltiple s interrupciones.

RutinaY de tratamiento de interrupciones

Rutina X de tratamiento de interrupciones

RutinaY de tratamiento de interrupciones

INTERRUPCIONES MULTIPLES

Williams Stallings SISTEMAS OPERATIVOS. Principios de diseño e interioridades. 4ta ed. Pearson Eduación S.A. Madrid, 2001 ISBN: 84-205-3177-4

Page 14: SOp502 U5 Signals&SystemCall 2015

UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA

Ing. Sergio Omar Aguilera Unidad 5:SysCall & Signals 14

Pedido y satisfacción de IRQ

Procesador Aritmético

Disco Flexible

Teclado

etc.

IRQ

IRQ

IRQ

IRQ

Señal de pedido de Atención de

Interrupción para el Procesador

?

?

?

si Reconocimiento

del Pedido

Programa de Respuesta

(tratamiento del Pedido)

EJECUCIÓN DEL PROGRAMA PRINCIPAL

No

No

No

? = ¿Está activa la Señal?

FIG. A

CANAL

de

ENTRADA

IRQ PAI

PAI = Pedido de Atención de Interrupción Ej.: 0 = Hay PapéI

1 = No Hay PapéI

PROCESADOR

MEMORIA

CENTRAL

DISPOSITIVO

(por ejemplo: Sistema sensor de existencia de papél de la impresora)

1 0

2

IRQs LINUX

Page 15: SOp502 U5 Signals&SystemCall 2015

UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA

Ing. Sergio Omar Aguilera Unidad 5:SysCall & Signals 15

PRODUCEN

UN CICLO DE MAQUINA (3 a 6)

DE MAQUINA

(1 a 5)

FIG. C

DE RELOJ

UN CICLO DE INSTRUCCIÓN

VARIOS CICLOS

VARIOS CICLOS PRODUCEN

Ciclos de Reloj

RST

Ciclo de máquina

Ciclo de Instrucción

Fig. D

IRQs LINUX

Page 16: SOp502 U5 Signals&SystemCall 2015

UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA

Ing. Sergio Omar Aguilera Unidad 5:SysCall & Signals 16

FIG. B1.39

Periférico 0

Periférico 7

Periférico 6

1

2

3

4

5

0

0

0

0

0

0

0

1

Cada Periférico provee

una señal: 0 = inactiva,

1 = activa,

CANAL "OR"

y

DECODIFICADOR

RST

DECODIFICADOR BUS DE DATOS

1

4 5 6

3

2

Int INTA

0

1

1

MICROPROCESADOR

JUMP al Programa de

tratamiento La señal de pedido

de RESTART (nnn)

identifica 110 en

base 2

IRQs LINUX

Page 17: SOp502 U5 Signals&SystemCall 2015

UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA

Ing. Sergio Omar Aguilera Unidad 5:SysCall & Signals 17

FIG. F

MEMORIA CENTRAL

Área de

Vector de Interrupciones

Programa Principal en Ejecución

Ocurrencia de la Interrupción del Periférico 6

Comienzo Subrutina SR6 Programa de

Tratamiento de

Interrupción 6

RETURN

Área del STACK Dirección de Retorno

JUMP SR6 S6=48

4

5

6

4

IRQs LINUX

Page 18: SOp502 U5 Signals&SystemCall 2015

UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA

Ing. Sergio Omar Aguilera Unidad 5:SysCall & Signals 18

Bibliografia

1. Programación en Linux, con ejemplos. Kurt Wall. QUE, Prentice Hall. Madrid. 2000.

2. Sistemas Operativos. 5ta Ed. William Stalling. Pe arson Prentice Hall. Madrid. 2006

3. Sistemas Operativos. 7ma Ed. William Stalling. Pe arson Prentice Hall. Madrid. 2012

4. Sistemas Operativos Modernos. Andrew. S. Tanenbaum. Prentice-Hall. Interamericana S.A. Madri d, 2009.

5. Unix, Sistema V Versión 4. Rosen,Rozinsky y Farber.McGraw Hill. NY 2000.

6. Lunix, Edición especial. Jack Tackett, David Gunt ery Lance Brown. Ed. Prentice Hall. 1998.

7. El Libro de Linux. Syed M. Sarwar, Robert Koretsk y y Syed. A. Sarwar. Ed. Addison Wesley. 2007. España.

Page 19: SOp502 U5 Signals&SystemCall 2015

UNIVERSIDAD DE BELGRANO – FAC. ING. Y TECNOLOGIA INFORMATICA

Ing. Sergio Omar Aguilera Unidad 5:SysCall & Signals 19

May the force be with you

FIN UNIDAD 5

SISTEMAS DE LLAMADAS Y SEÑALES