sistemas operativos arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware...

40
SISTEMAS OPERATIVOS Arquitectura Amilcar Meneses Viveros [email protected]

Upload: others

Post on 24-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

SISTEMAS OPERATIVOSArquitectura

Amilcar Meneses [email protected]

Page 2: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

• Objetivos

• Arquitectura de computadoras

• Funcionamiento de los sistemas de computación

• Estructura de E/S

• Protección por hardware

Presentación

Page 3: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

• Conocer los elementos que componen un SO

• Conocer la arquitectura moderna de las computadoras

• Conocer la arquitectura de los SO

Objetivos

Page 4: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

• Familiarizarse con el shell de Unix

• Conocer el manejo de procesos en UNIX, a nivel de linea de comandos como de llamados a sistema

• Conocer los algoritmos para el manejo de procesos

Objetivos

Page 5: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Arquitectura de computadoras

CPU

E/S

MEMORIA

Page 6: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Arquitectura de computadoras

CPU

E/S

MEMORIA

DMA

Page 7: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Arquitectura de computadoras

Controladorde discoCPU Controlador

de impresora

Controladorde unidad de

cinta

Controladorde memoria

Memoria

Bus del sistema

Page 8: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Arquitectura de computadoras

Ejemplo: IBM PC-Junior

Page 9: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Ejemplo: iMac 15”

Arquitectura de computadoras

Page 10: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

• Los dispositivos de E/S se pueden ejecutar concurrentemente

• Cada controlador de dispositivo atiende a un tipo de dispositivo en particular

• Cada controlado de dispositivo tiene su buffer local

Funcionamiento de los sistemas de computación

Page 11: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

• El CPU mueve datos hacia o desde la memoria principal hacia o desde los buffers locales de los controladores

• La E/S es entre el dispositivo al buffer local del controlador

• El controlador informa al CPU cuando a terminado su operacion generando una interrupción

Funcionamiento de los sistemas de computación

Page 12: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

1. Proceso de arranque

Sistema básico de entrada y salida (BIOS, OpenBoot, etc.)

Proceso init

2. Ejecuta procesos del usuario o atiende eventos o interrupciones

Funcionamiento de los sistemas de computación

Page 13: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Funcionamiento de los sistemas de computación

Evento o interrupción: acciones que interrumpen la ejecución de un programa de usuario

El SO detecta

una excepción

1

Page 14: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Funcionamiento de los sistemas de computación

Evento o interrupción: acciones que interrumpen la ejecución de un programa de usuario

El SO detecta

una excepción

Detiene el proceso que se está

ejecutando y guarda su

estado

21

Page 15: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Funcionamiento de los sistemas de computación

Evento o interrupción: acciones que interrumpen la ejecución de un programa de usuario

El SO detecta

una excepción

Detiene el proceso que se está

ejecutando y guarda su

estado

Se ejecuta el manejador de la

excepción correspondiente

321

Page 16: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Funcionamiento de los sistemas de computación

Evento o interrupción: acciones que interrumpen la ejecución de un programa de usuario

El SO detecta

una excepción

Detiene el proceso que se está

ejecutando y guarda su

estado

Se ejecuta el manejador de la

excepción correspondiente

Se carga el proceso

“interrumpido” y se reanuda su

ejecución

4321

Page 17: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

• Tipos de eventos o interrupciones

1. Por hardware

2. Por software (llamados al sistema)

Funcionamiento de los sistemas de computación

Page 18: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

• Eventos o interrupciones por hardware: mecanismo de comunicación entre el CPU y los dispositivos de entrada y salida

Funcionamiento de los sistemas de computación

CPU E/STecladoDisco DuroPuerto serial

{

Page 19: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

• Eventos o interrupciones por hardware: el CPU necesita de una arquitectura de trampa para atrapar las interrupciones

Funcionamiento de los sistemas de computación

Ejemplo: interrupciones por hardware del 8086/8088

0x00: División por cero0x01: Paso sencillo0x02: 0x03:0x04: Sobreflujo

Page 20: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

• Eventos o interrupciones por hardware:

Funcionamiento de los sistemas de computación

CPU

Disp.E/S

{{

• Ejecuta proc. usuario• Atiende interrupción

• Oscioso

• Transfiriendo

Solicitud de E/S

Transferencia lista

Solicitud de E/S

Transferencia lista

Page 21: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

• Eventos o interrupciones por hardware:

Funcionamiento de los sistemas de computación

CPU

Disp.E/S

{{

• Ejecuta proc. usuario• Atiende interrupción

• Oscioso

• Transfiriendo

Solicitud de E/S

Transferencia lista

Solicitud de E/S

Transferencia lista

Page 22: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

• Eventos o interrupciones por software: es un mecanismo de comunicación entre el CPU y lo programas que se están ejecutando: Peticiones al SO

Funcionamiento de los sistemas de computación

Page 23: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Funcionamiento de los sistemas de computación

Prog. A Prog. B

Envía

información

Disp.E/S

Page 24: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Funcionamiento de los sistemas de computación

Prog. A Prog. B

Envía

información

Disp.E/S

Enví

a in

form

ació

n

Page 25: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Funcionamiento de los sistemas de computación

Prog. A Prog. B

Envía

información

Disp.E/S

Enví

a in

form

ació

n

Prog. A Prog. B

Sistema Operativo

Disp.E/S

Envía información

Llamado al sistema

Envía información

Llamado al sistema

Page 26: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Estructura del sistema de E/S

• Forma de accesar (leer o escribir) a los dispositivos de entrada y salida

1. Interrupciones de E/S

2. Acceso directo a memoria: DMA

Page 27: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Estructura del sistema de E/S

Interrupciones de E/S

Síncrono Asíncrono

Page 28: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Estructura del sistema de E/S

Interrupciones de E/S

Page 29: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Estructura del sistema de E/S

• Aumenta la velocidad de transmisión entre la memoria principal y los dispositivos de E/S

• Controlador de dispositivo transfiere bloques de datos del buffer de almacenamiento directamente a la memoria principal

• Sólo se genera una interrupción por bloque

Page 30: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Estructura del sistema de almacenamiento

• Memoria principal

• Discos magnéticos

• Cintas magnéticas

Page 31: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Estructura del sistema de almacenamiento

Mecanismo del movimiento de cabeza del disco

Page 32: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Jerarquías de almacenamiento

• Almacenamiento por velocidad y costo

REGISTROS

MEM. CACHÉ

MEM. PRINCIPAL

DISCO ELECTRONICO

DISCO MAGNETICO

DISCO OPTICO

CINTA MAGNETICA

Page 33: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Jerarquías de almacenamiento

Memoria caché: páginas de memoria asociadas al CPU con un bus dedicado

CPUMem

oria

Prin

cipa

l

E/S

Cachédatos ycódigo

CPUMem

oria

Prin

cipa

lE/S

Cachédatos

Cachécódigo

a) Caché compartido b) Caché dedicado

Page 34: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Protección por hardware

• Operación en modo DUAL

1. Modo usuario

2. Modo monitor (supervisor, sistema, privilegiado)

••• Protección de entrada y salida

• Protección de memoria

monitor usuario

Interrupt/fault

volver modousuario

Page 35: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Protección por hardware

• Protección de entrada y salida

Ejemplo: IOPL de los procesadores Intel 80x86

Instruccionessensitivas al IOPL

INTIRETCLISTIPUSHFPOPFINOUT

Page 36: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Protección por hardware

• Ejecución de entrada y salida desde el proceso de usuario

Programa de usuario

1. El monitoratrapa la

excepción

2. Se ejecuta laoperacion de E/S

3. Regresa el controlal usuario

Page 37: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Protección por hardwareProtección de memoria

1. Uso de dos registros para determianr el rango de direccionamiento legal de un programa

• Registro Base

• Registro Límite

2. Memoria fuera del rango es protegida

3. Dos modos principales

• Espacio sencillo de direccionamiento

• Espacio múltiple de direccionamiento

Page 38: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Protección por hardwareProtección de memoria

Page 39: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario

Protección por hardwareProtección de memoria

Page 40: SISTEMAS OPERATIVOS Arquitecturacomputacion.cs.cinvestav.mx/~ameneses/pub/notas/02... · hardware • Ejecución de entrada y salida desde el proceso de usuario Programa de usuario