SISTEMAS OPERATIVOS

Unidad III Sistema de Llamadas y. Señales ... [ENOSPC] no hay suficiente espacio en el sistema de archivos. .... Williams Stallings SISTEMAS OPERATIVOS.
448KB Größe 8 Downloads 81 vistas
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 # include # include 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