Clase2A - Campus Virtual

Anuncio
Estructura de los sistemas de
cómputo
●
Introducción
●
Elementos básicos de un computador
●
Registro del procesador
●
Ejecución de las instrucciones
●
Interrupciones
●
Hardware de protección
Introducción
Qué es un sistema operativo?
●
●
Un SO es un conjunto de programas que por medio
de abstracciones ponen el hw del computador, de
modo seguro, a disposición del usuario
Conjunto de programas que gestionan los recursos
del sistema, optimizan su uso y resuelven
conflictos
Introducción
Qué es un sistema operativo?
●
Es una máquina extendida
–
Esconde los detalles del hardware
–
Presenta una máquina virtual
–
Presenta abstracciones: fichero, proceso, I/O,
memoria
Introducción
Qué es un sistema operativo?
●
Es un gestor de recursos
–
Memoria, procesador, discos, impresoras, …
–
Dispositivos no compartidos
–
Protección de memoria
–
¿Quién utiliza qué recurso?
–
Multiplexar recursos en tiempo y espacio
Elementos básicos de un
computador
●
●
Procesador
–
Controla el computador. Lleva el control
–
Realiza funciones de procesamiento de datos y
ejecución de instrucciones
–
Si solamente un solo procesador -->CPU
Memoria Principal
–
Conocida como memoria real o memoria primaria
–
Almacena datos y programas; Es volátil
Elementos básicos de un
computador
●
●
Dispositivos de E/S
–
Transporta datos entre el computador y su entorno
exterior
–
Gran variedad de dispositivos (Memoria secundaria,
equipos para comunicaciones, terminales,
impresoras, etc.)
Bus del Sistema
–
Comunicación entre el procesador, la memoria, y
los dispositivos E/S
Registros del procesador
Registros del procesador
●
●
●
El procesador lleva el control
Una de sus funciones: intercambiar datos con la
memoria
Para esto hace uso de dos registros internos:
–
Registro de dirección de memoria (MAR):
Dirección de memoria donde va hacer la siguiente
lectura o escritura
–
Registro de intermedio (buffer) de memoria
(MBR): Datos que van a ser escritos en memoria
o que fueron leídos de ésta
Registros del procesador
●
Otros registros para la comunicación con disp. E/S:
–
I/O AR (Input Output Address Register):
especifica un dispositivo
–
I/O BR (Input Output Buffer Register): se utiliza
para intercambiar datos entre módulos de E/S y el
procesador
Registros del procesador
●
●
Hay un conjunto de registros que ofrecen un nivel de
memoria más rápido y pequeño que la memoria
principal
Registros Visibles para el Usuario
–
●
Permite al programador reducir al mínimo referencias
de memoria principal optimizando uso del registro
Registros de control y estado
–
Usados por el procesador para controlar la operación
del procesador
–
Usado por las rutinas del Sistema Operativo para
controlar la ejecución de programas
Registros del procesador
●
Registros Visibles para el Usuario
–
Puedes ser referenciados mediante código máquina o
ensamblador (ASM)
–
Disponibles para todos los programas (programas de
usuario y del sistema operativo)
–
Se pueden reducir accesos a memoria
–
Lenguajes de alto nivel optimizan código mediante la
selección de registros a utilizar.
–
Otros lenguajes como C permiten hacer referencia
implícita a registros
Registros del procesador
Tipo de registros
●
Registros de Datos
–
●
de propósito general y para uso de cualquier
instrucción que requiera realizar operaciones
sobre datos
Registros de Dirección
–
Registros Índice
●
Añadir un índice a una dirección base para
obtener una dirección
Registros del procesador
Tipo de Registros
●
Registros de Dirección
–
Puntero de segmento
●
–
Cuando la memoria está dividida en segmentos, la
memoria es referenciada por un segmento y un offset
(desplazamiento)
Puntero de Pila
●
●
Si hay direccionamiento de pila esta se encuentra en la
memoria principal
Hay un registro que apunta la cima de la pila.
Registros del procesador
Tipo de Registros
●
Otra categoría de registros
–
Registros que contienen códigos de condición
–
Parcialmente visibles para el usuario flags o bits
activados por el procesador como resultado de
determinadas operaciones
–
Conocidos como PSW (Program Status Word)
Registros del procesador
Registros de control y estado
●
●
Registros para controlar operaciones del procesador
Además de los registros MAR, MBR, IOAR, IOBR hay
otro conjunto de registros utilizados por el procesador
para la ejecución de programas:
–
Program Counter (PC)
●
–
Contiene la dirección de la instrucción siguiente
Instruction Register (IR)
●
Contiene la última instrucción leída
Registros del procesador
Registros de control y estado
–
Program Status Word (PSW)
●
●
●
●
Códigos de condición
Interrupciones Habilitadas/Deshabilitadas
Modo Supervisor/Usuario
Códigos o Flags de Condición (PSW)
–
Bits marcados por el procesador como resultado de las
operaciones
–
Puede ser accedido por cualquier programa, pero no
modificado
–
Ejemplos: Resultado positivo, Resultado negativo,
Cero, Overflow
Registros del procesador
Registros de control y estado
–
Program Status Word (PSW)
●
●
●
●
Códigos de condición
Interrupciones Habilitadas/Deshabilitadas
Modo Supervisor/Usuario
Códigos o Flags de Condición (PSW)
–
Bits marcados por el procesador como resultado de las
operaciones
–
Puede ser accedido por cualquier programa, pero no
modificado
–
Ejemplos: Resultado positivo, Resultado negativo,
Cero, Overflow
Registros del procesador
Ejecución de las instrucciones
●
●
●
●
●
Tarea básica de un computador: ejecución de
programas
Un programa consta de un conjunto de instrucciones
almacenadas en memoria
El procesador ejecuta las instrucciones especificadas
en el programa
Ejecución de instrucciones
–
el procesador trae las instrucciones desde la memoria
–
ejecuta cada instrucción
El procesamiento de una instrucción: ciclo de
instrucción
Ejecución de las instrucciones
●
Ciclo de instrucción simple:
–
El procesador trae la instrucción de la memoria
–
La instrucción actual es almacenada en el registro de
instrucción (IR)
–
El contador de programa (PC) almacena la dirección
de la siguiente instrucción
–
El contador de programa (PC) se incrementa después
de cada instrucción que trae
Ejecución de las instrucciones
●
Tipos de Instrucciones
–
Procesador-Memoria
●
–
Transfiere datos entre el procesador y la memoria
Procesador – E/S
●
Datos transferidos desde o hacia un dispositivo
periférico
–
Procesamiento de datos
–
Operaciones aritméticas o lógicas sobre los datos
Control
●
●
Modificar la secuencia de ejecución (saltos)
Ejecución de las instrucciones
Ejecución de las instrucciones
Funciones de E/S
●
●
●
●
●
Los intercambios de E/S ocurren directamente con
la memoria
El procesador permite a los módulos de E/S leer o
escribir en memoria directamente
El procesador cede la responsabilidad del
intercambio a los módulos de E/S
El procesador está libre para hacer otras
operaciones
Esta técnica se conoce como Direct Memory
Access (DMA)
Interrupciones
Definición de Interrupción:
●
●
●
●
Interrupción de la secuencia normal de una
ejecución
Mejora la eficiencia del proceso
Permite al procesador ejecutar otra instrucción
mientras una operación de E/S está en marcha
Una suspensión de un proceso causado por un
acontecimiento externo a ese proceso y realizado
de una manera tal que el proceso pueda ser
recuperado.
Interrupciones
Clases de Interrupciones
●
De programa
–
Desbordamiento aritmético, división por cero
–
Ejecución de una instrucción ilegal
–
Acceso fuera del espacio de memoria del usuario
●
Reloj – interno del procesador
●
E/S
–
●
Terminación normal. Diferentes cond de error
Fallos Hardware
Interrupciones
Manejador de Interrupciones (interrupt handler)
●
●
●
Un programa que determina la naturaleza de la
interrupción y realiza las acciones necesarias
El control es transferido a este programa
Tras la ejecución de este programa el control pasa
a la instrucción siguiente del programa
interrumpido
–
●
el manejador de instrucciones coloca en el PC la
dirección de la siguiente instrucción
Generalmente es parte del sistema operativo
Interrupciones
Interrupciones
Ciclo de interrupción:
●
●
●
●
El procesador comprueba si hay interrupciones
Si no hay interrupciones recoge la instrucción
siguiente del programa actual
Si hay una interrupción pendiente, suspende la
ejecución del programa actual, y cede el control al
manejador de interrupciones
Hay cierta sobrecarga en el proceso, pero mayor
es el desperdicio de tiempo por operaciones de
E/S.
Interrupciones
Interrupciones Múltiples
●
●
Es posible que se produzca una interrupción
cuando se está tratando otra
Dos enfoques:
–
Inhabilitar interrupciones cuando se está tratando
una interrupción. Tratamiento secuencial. No se
tienen en cuenta prioridades
–
Interrupciones por prioridad. Definir prioridades y
permitir que una interrupción de mayor prioridad
interrumpa el tratamiento de la interrupción actual.
Hardware de protección
●
●
●
Objetivo: Evitar la interferencia entre procesos de
usuario, y entre los procesos y el SO
Método: Definir como instrucciones “privilegiadas”
aquellas que pueden potencialmente dañar a otros
procesos o usuarios (operaciones de E/S,
actualización de reloj, deshabilitar interrupciones,
etc.)
Consecuencia: diferentes modos de
funcionamiento del hardware.
Hardware de protección
●
Mecanismo de protección
–
Compartición de recursos requiere mecanismos de
protección
–
Errores pueden ser detectados por hardware y
pueden ser manejados por el S.O
–
Errores generalmente generan una interrupción que
es atrapa por el S.O
–
Ejemplos:
Instrucción ilegal
● Violación del espacio de direcciones
●
Hardware de protección
●
Modo Dual de Operación
–
Dos modos de ejecución: usuario o supervisor (kernel,
monitor, privilegiado o del sistema)
–
Cuando el sistema arranca, parte en modo monitor
–
Cuando ocurre una interrupción, la CPU cambia a modo
supervisor (lo atiende el S.O)
–
El S.O debe velar siempre que cambie a modo usuario
cuando se transfiere el control al usuario
–
Instrucciones privilegiadas de máquina sólo pueden
ejecutarse en modo supervisor
–
La ejecución de una instrucción privilegiada en modo
usuario causa interrupción/excepción con error de
instrucción ilegal
Hardware de protección
●
Protección de la E/S
–
Un programa usuario puede causar daño si ejecuta
instrucciones ilegales de E/S
–
Se debe proteger el acceso a los dispositivos E/S
para evitar accesos concurrentes a dispositivos
–
Solución:
●
●
Usuario sólo puede realizar operaciones de E/S
indirectamente mediante una llamada al sistema
(modo supervisor)
Operaciones de E/S se definen como instrucciones
privilegiadas
Hardware de protección
●
Protección de Memoria
–
Se debe proteger la memoria del S.O (núcleo) (p.e:
vector de interrupciones y rutinas de manejo de
interrupciones)
–
Se debe proteger mutuamente los programas de los
usuarios (multiprogramación)
–
Técnica básica: registro base y registro límite
–
Estos registros deben ser posibles de modificar sólo
en modo privilegiado
Hardware de protección
●
Técnica de registro base y límite
Hardware de protección
●
Protección de la CPU
–
Uso de temporizador (timer) para impedir
monopolizar el procesador por parte de un
programa
–
Se aplican también en la programación de otros
eventos futuros
–
Timers se utilizan en sistemas de tiempo
compartido para definir ranuras de tiempo
–
Timeout (expiración de tiempo) causa una
interrupción
Descargar