fundamentos de los computadores ii 0 (sistemas operativos) fundamentos de los computadores ii...

Download Fundamentos de los Computadores II 0 (Sistemas Operativos) FUNDAMENTOS DE LOS COMPUTADORES II (Sistemas Operativos) Curso 2002-2003

Post on 22-Jan-2016

214 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • FUNDAMENTOS DE LOS COMPUTADORES II(Sistemas Operativos)Curso 2002-2003

    Flix Garca Carballeira (1999)

  • Captulo 1 Conceptos arquitectnicos

    Flix Garca Carballeira (1999)

  • ContenidoEstructura y funcionamiento del ordenadorModelos de programacinInterrupcionesRelojJerarqua de memoriaMemoria virtualEntrada/SalidaProteccinMultiprocesador y multicomputadora

    Flix Garca Carballeira (1999)

  • 1. Estructura y funcionamiento del ordenador

    Flix Garca Carballeira (1999)

  • Estructura y funcionamiento del ordenador (I) Estructura general a alto nivel

    Flix Garca Carballeira (1999)

  • Estructura y funcionamiento del ordenador (II) MonoprocesadorMultiprocesadorArquitectura von NeumannMulticomputador

    Flix Garca Carballeira (1999)

  • Estructura y funcionamiento del ordenador (III) Funciones de la Unidad de control:lectura instrucciones mquinainterpretacin de las instruccioneslectura datos de memoriaejecucin instruccionesalmacenamiento de resultados

    Registros asociados a la Unidad de control:contador de programa (PC: program counter): direccin de la siguiente instruccin a ejecutarpuntero de pila (SP: stack pointer)registro de instruccin (IR: instruction register):instruccin a ejecutarregistro de estado (SR: status register): informacin producida en la ejecucin de las instrucciones ms recientes (bits de estado aritmtico, bits de interrupcin, nivel de ejecucin, etc.....)

    Flix Garca Carballeira (1999)

  • Estructura y funcionamiento del ordenador (IV) RECORDAR:

    Procesador: unidad central de proceso, unidad aritmtica + unidad de control

    Sistemas operativos: relacionados con el funcionamiento interno, y no con los componentes fsicos.

    Arquitectura: componentes fsicos del ordenador y sus relaciones

    Ya que el funcionamiento interno depende de los componentes disponibles, ambos enfoques son interdependientes

    Flix Garca Carballeira (1999)

  • 2. Modelos de programacin

    Flix Garca Carballeira (1999)

  • El modelo de programacin, a bajo nivel, se basa en:

    Elementos de almacenamiento disponibles en la ejecucin de las instrucciones mquina:registros generalescontador de programapuntero de la pilaregistro de estadomemoria principalmapa de E/S

    Modelos de programacin (I)

    Flix Garca Carballeira (1999)

  • Modelos de programacin (II) Juego de instrucciones: operaciones que puede realizar el ordenador (diferentes modos de direccionamiento)Secuencia de funcionamiento: modo en que se van ejecutando las instrucciones mquina. Consta de una secuencia sencilla que se repite a altsima velocidad; se compone de las siguientes tareas (repetidas en un bucle infinito):Lectura de la instruccin apuntada por CPIncremento del CPEjecucin de la instruccinsecuencia lineal: ejecuta instrucciones consecutivasbucle infinito

    Flix Garca Carballeira (1999)

  • Niveles de ejecucin: generalmente los SSOO disponen de varios niveles de ejecucin:nivel usuario: algunos recursos no estn disponibles, para evitar que algn programa de algn usuario pueda interferir en la ejecucin de otros programas o hacer uso de recursos que no le pertenecen (archivos, por ejemplo)nivel de ncleo: no hay restriccionesModelos de programacin (III)

    Flix Garca Carballeira (1999)

  • Modelos de programacin (IV)

    Flix Garca Carballeira (1999)

  • Modelos de programacin (V)

    Flix Garca Carballeira (1999)

  • Modelos de programacin (VI) Repercusiones:

    Este modo de funcionamiento se produce siempre que haya un programa cargado en memoria y el PC apunte a su primera instruccinSe necesitan mecanismos para romper la linealidad del modo de funcionamiento visto (bucles, bifurcaciones...). Se basan en modificar el contenido del PCLos mecanismos bsicos de ruptura de secuencia son:instrucciones mquina de salto o bifurcacininterrupciones externas o internas (es la CPU quien modifica el PC)instruccin TRAP

    Importancia de instrucciones y bifurcaciones para el SO: permiten cambiar el modo de ejecucin.

    Flix Garca Carballeira (1999)

  • 3. Interrupciones

    Flix Garca Carballeira (1999)

  • Una interrupcin se solicita activando una seal que llega a la unidad de control. El elemento que necesita ser atendido y genera la seal se denomina agente generador.

    Ante la solicitud (si esta interrupcin est habilitada) se realiza un ciclo de aceptacin de interrupcin por parte de la UC. Este ciclo se produce al terminar la ejecucin de la instruccin en curso, y consiste en:Salva algunos registros del procesador (CP y registro de estado)Eleva el nivel de ejecucin del procesador (nivel de ncleo)Salta al SO, cargando un nuevo valor en CP

    El SO dispone de rutinas de tratamiento de las interrupcionesInterrupciones (I)

    Flix Garca Carballeira (1999)

  • Interrupciones (II) Mecanismo usual para determinar la direccin de salto:El agente que interrumpe suministra un vector, que identifica la direccin del programa que desea que le atienda (programa de tratamiento de la interrupcin)La UC toma dicha direccin y la carga en CP, con lo que comienza a ejecutarse el programa de tratamiento

    Flix Garca Carballeira (1999)

  • Interrupciones (III) Causas de generacin de interrupciones:Excepciones de programas por problemas de ejecucin (desbordamiento, operaciones aritmticas no permitidas, etc)Interrupciones de relojInterrupciones de E/SExcepciones del HW; por ejemplo, error de paridad en la memoriaInstrucciones de TRAP

    Los ordenadores disponen de una instruccin RETI (instruccin para retorno de interrupcin). Esta instruccin restituye los registros de estado y CP, para volver al punto de ejecucin donde se gener la interrupcin

    Hay diferentes seales que solicitan interrupciones, con diferentes prioridades. Algunas de las seales se pueden inhibir explcitamente (por lo que no sern atendidas)

    Flix Garca Carballeira (1999)

  • 4. Reloj

    Flix Garca Carballeira (1999)

  • Tres visiones del reloj

    Oscilador que gobierna las fases de las instrucciones de mquina: 1000 MHZ (frecuencia)

    Interrupcin peridica. La seal de oscilador se divide para generar interrupciones cada cierto periodo de tiempo. Objetivo: conseguir que el SO pase a ejecutar de forma sistemtica cada cierto intervalo de tiempo, evitando as que algn programa acapare los recursos del sistema

    Contador fecha y horaContabiliza unidades de tiempo (p.e. segundos) desde un instante (p.e. 0 h del 1 de enero de 1990)Esta cuenta la puede hacer:HW especial con bateraSOReloj (I)

    Flix Garca Carballeira (1999)

  • Reloj (II) Esquema general con las tres visiones del reloj

    Flix Garca Carballeira (1999)

  • 5. Jerarqua de memoria5.1. Introduccin5.2. Migracin de la informacin5.3. Direccionamiento5.4. Proximidad

    Flix Garca Carballeira (1999)

  • Jerarqua de memoria (I) Objetivo: conseguir tiempos de acceso aceptables a costes razonables

    Elementos de informacin replicados en varios niveles de la jerarqua. Cuando los datos van a ser usados se promueven a niveles ms rpidos (hacia arriba). Cuando se modifica o crea informacin en niveles rpidos y quiere hacerse permanente, se promueve a niveles inferiores

    Problema de coherencia: necesidad de actualizar las diferentes copias de los mismos datos, de forma que se asegure que siempre que se use se tomarn los valores correctos

    Traduccin de direcciones: las copias de la misma informacin, en niveles distintos, tendrn direcciones diferentes. Necesidad de traducir5.1. Introduccin

    Flix Garca Carballeira (1999)

  • + RapidezCoste+ CapacidadJerarqua de memoria (II)

    Flix Garca Carballeira (1999)

  • Jerarqua de memoria (III) 5.2. MigracinObjetivo: que la informacin est en el nivel adecuado cuando se necesite

    Migracin de la informacin realizada de forma:

    Automtica: se realiza de forma transparente al programa. Se produce en las memorias cach y en la memoria virtual

    Por demanda explcita: el programa solicita explcitamente el movimiento de la informacin. Por ejemplo, un editor de textos cuando solicita partes del documento a medida que se va visualizando

    Flix Garca Carballeira (1999)

  • El mecanismo de migracin se basa en los siguientes aspectos:

    tamao de bloques transferidos: cantidad de informacin movida entre niveles. Disminuye a medida que nos acercamos a la cspide

    poltica de extraccin: qu informacin sube al nivel k desde el nivel k+1 y cundo. Solucin ms comn: por demanda. Se promueva aquella informacin solicitada por el programa y cuando se referencia. Se aprovecha la proximidad espacial, por lo que no slo se promueve el dato solicitado, sino tambin las direcciones cercanas (bloque, lnea, pgina, ....)

    poltica de reemplazo: el nivel k tiene menor tamao que el nivel k+1, por lo que estar lleno cuando se quiera llevar informacin a l, y habr que extraer datos ya presentesJerarqua de memoria (IV)

    Flix Garca Carballeira (1999)

  • Jerarqua de memoria (V) poltica de ubicacin: dnde se coloca la nueva informacin. Hay situaciones en que se puede optar por ubicarla en diferentes niveles

    Flix Garca Carballeira (1999)

  • Jerarqua de memoria (VI)5.3. DireccionamientoEl programa en ejecucin genera la direccin X relativa al dato A. Esta direccin X se refiere al nivel k+1. Sin embargo, hay una copia del dato en el nivel K, por lo que se desear acceder a la copia en este nivel. Este dato tiene direccin Y en el nivel K.

    Se trata de un problema no trivial, ya que puede haber notables diferencias de tamao entre niveles:k+1 (2GB, n=31)k (8M, m=23)

    Flix Garca Carballeira (1999)

  • Jerarqua de memoria (VII) Para simplificar la traduccin y aprovechar la