Organizacin Estructurada de Computadoras 4 - PowerPoint PPT Presentation

1 / 53
About This Presentation
Title:

Organizacin Estructurada de Computadoras 4

Description:

Organizaci n Estructurada de Computadoras (4) Arquitectura de Microcomputadoras. 9 Sem IEK ... Stallings, W. Organizaci n y arquitectura ... Parado (halted) ... – PowerPoint PPT presentation

Number of Views:110
Avg rating:3.0/5.0
Slides: 54
Provided by: facultadpo
Category:

less

Transcript and Presenter's Notes

Title: Organizacin Estructurada de Computadoras 4


1
Organización Estructurada de Computadoras (4)
  • Arquitectura de Microcomputadoras
  • 9º Sem IEK
  • Cap. 2 Parte 5 SO
  • Lecturas recomendadas
  • Tanembaum, A. Organización de computadoras. Cap.
    6
  • Stallings, W. Organización y arquitectura de
    computadores. Cap. 7
  • Carter, N. Arquitectura de Computadores.
    Colección Schaum. Cap. 10

2
Sistema Operativo
  • Objetivos y funciones
  • Controla la ejecución de los programas de
    aplicación.
  • Actúa como interfaz entre el usuario y el
    hardware del computador.
  • Otorga comodidad y facilita el uso del
    computador.
  • Otorga eficiencia al uso de los recursos del
    computador.

3
Visión de un computador
Usuario final
Programas de aplicación
Programador
Utilidades
Sistema operativo
Diseñador del SO
Hardware del computador
4
Servicios que presta el SO
  • Creación de programas
  • Proporciona utilidades (variedad de servicios y
    medios para ayudar al programador en la
    elaboración de programas)
  • Ejecución de programas
  • Realiza tareas diversas en la ejecución de un
    programa
  • Ejemplos carga de datos e instrucciones en la
    memoria principal, inicialización de dispositivos
    E/S y ficheros.

5
Servicios que presta el SO (2)
  • Acceso a dispositivos E/S
  • Proporciona a cada dispositivo E/S el
    conjunto particular de instrucciones y señales de
    control que necesita para operar, liberando al
    programador de tales tareas
  • Acceso controlado a ficheros
  • Hace transparente para el programador la
    naturaleza del dispositivo (disco, cinta), el
    formato del fichero y del medio de almacenamiento
  • Proporciona mecanismos de protección en el caso
    de sistema con múltiples usuarios (controles de
    acceso a recursos compartidos)
  • Acceso al sistema
  • En el caso de un sistema compartido, controla el
    acceso al sistema como un todo y a los recursos
    específicos del sistema

6
Administración de recursos
  • SO es responsable de administrar los recursos de
    que dispone un computador para transferir,
    almacenar y procesar datos, y controlar estas
    funciones
  • Características del SO como mecanismo de control
  • Funciona como un programa más ejecutado por la
    CPU
  • Frecuentemente cede el control y depende de la
    CPU para recuperarlo
  • Recursos que administra
  • Memoria principal aquí reside el núcleo del SO,
    formado por las funciones más frecuentemente
    utilizadas
  • E/S el SO decide cuándo un programa en ejecución
    puede usar un dispositivo E/S
  • Ficheros controla el acceso y el uso de los
    ficheros

7
Tipos de SO
  • Sistema de colas (batch)
  • El programa de usuario se ubica en una cola,
    junto con programas de otros usuarios
  • Al término del programa, se devuelven al usuario
    los resultados
  • Actualmente, no se utiliza en forma pura
  • Interactivo
  • El usuario/programador interactúa directamente
    con el computador, usualmente a través de un
    terminal de pantalla y teclado

8
  • Uniprogramación
  • El procesador trabaja con un solo programa en
    cada momento
  • Multiprogramación
  • Se cargan varios programas en la memoria
  • El procesador conmuta rápidamente entre ellos
  • La filosofía es mantener ocupado al procesador
    tanto como sea posible

9
Los primeros SO
  • Planificación
  • Se utilizaba una lista de tiempo de reserva de la
    máquina
  • Periodos de tiempo fijos
  • Frecuentemente, se utilizaba mal el tiempo
  • Tiempo de preparación (setup)
  • Un único programa (job) se encargaba las tareas a
    ejecutar cargar en memoria el compilador y el
    lenguaje de alto nivel (programa fuente), el
    programa compilado (programa objeto)
  • Podía consumir mucho tiempo en preparar la
    ejecución del programa

10
Soluciones implementadas
  • Sistemas de colas simples (monitor)
  • El monitor controla la secuencia de eventos
    necesaria en la ejecución de los programas
  • El usuario ya no tiene acceso directo al
    computador
  • El monitor reside siempre en la memoria
    principal, listo para ejecutarse
  • Ejemplo de secuencia
  • El usuario envía el trabajo (en tarjetas o
    cinta), el cual es puesto en una cola
  • Se lee el trabajo en cuestión y se le cede el
    control
  • Cuando el trabajo termina, se produce una
    interrupción (interna a la CPU) y se devuelve el
    control al monitor
  • El monitor pasa al siguiente trabajo

11
  • Sistemas de colas multiprogramados
  • Resuelve el problema que se presenta en las colas
    simples procesador parado a menudo
  • Se denomina también multiprogramación o
    multitarea (multitasking)
  • Requiere memoria suficiente para albergar al
    monitor y a más de un programa de usuario
  • Requerimientos de hardware gestión de
    interrupciones y DMA
  • Sistemas de tiempo compartido
  • Requerido por sistemas interactivos
  • El tiempo del procesador se comparte entre varios
    usuarios
  • Usuarios acceden al sistema a través de
    terminales, el SO alterna entre ráfagas de
    cómputo de cada usuario

12
Diferencias entre multiprogramación y tiempo
compartido
  • Objetivo principal
  • Multiprogramación con colas
  • Maximizar la utilización del procesador
  • Tiempo compartido
  • Minimizar el tiempo de respuesta
  • Fuente de instrucciones para el SO
  • Multiprogramación con colas
  • Instrucciones de un lenguaje de control de
    trabajos que proporciona el propio trabajo
  • Tiempo compartido
  • Ordenes introducidas a través del terminal

13
Distribución de la memoria para un monitor
residente
Procesamiento de interrupciones
Controladores de dispositivos
Monitor
Secuenciador de trabajo
Intérprete de lenguaje de control
Area de programas de usuario
14
Características necesarias en el hardware
  • Protección de memoria
  • No se debe alterar el área de memoria que
    corresponde al monitor
  • Si se intentara, el hardware de la CPU debe
    detectar un error y transferir el control al
    monitor
  • El monitor aborta el trabajo, emite un mensaje de
    error y carga el siguiente trabajo
  • Temporización
  • Se debe evitar que un único programa monopolice
    el uso del sistema
  • El temporizador se actualiza al inicio de cada
    trabajo
  • Cuando el tiempo termina, se activa una
    interrupción y el control vuelve al monitor
  • Instrucciones privilegiadas
  • Sólo pueden ser ejecutadas por el monitor
  • Ejemplos instrucciones E/S
  • Si la CPU encuentra una instrucción privilegiada
    al ejecutar un programa de usuario, debe
    detectarlo como error y transferir el control al
    monitor

15
Planificación
  • Tarea principal de un SO moderno la
    multiprogramación
  • Definición de proceso programa en ejecución
  • Tipos de planificación
  • Planificación a largo plazo
  • Planificación a medio plazo
  • Planificación a corto plazo

16
Ejemplo de multiprogramación
Tiempo
Tiempo
17
Ejemplo de multiprogramación
Programa A
Programa B
Programa C
Combinado
Tiempo
18
Planificación a largo plazo
  • Función
  • Determinar qué programas se admiten para ser
    procesados en el sistema
  • Controlar el grado de multiprogramación (nº de
    procesos en memoria)
  • Cómo se realiza
  • Una vez admitido, un trabajo o programa pasa a
    ser un proceso
  • El Proceso se añade a la cola asociada al
    planificador a corto plazo
  • El planificador a largo plazo puede limitar el
    grado de multiprogramación
  • En el sistema de colas, los trabajos nuevos se
    envían al disco y se mantienen en línea de espera
  • El planificador a largo plazo toma trabajos de la
    cola cuando puede
  • Para ello debe decidir si acepta uno o más
    procesos adicionales, y qué trabajo o trabajos
    acepta y transforma en procesos

19
Planificación a medio plazo
  • Forma parte del intercambio (swapping)
  • La decisión de intercambio de procesos está
    ligada con el grado de multiprogramación
  • Debe tenerse en cuenta las necesidades de memoria
    de los procesos intercambiados

20
Planificación a corto plazo
  • Función
  • Decide en forma específica qué trabajo se
    ejecutará, para ello mantiene la información del
    estado de los procesos
  • Estado de los procesos
  • Nuevo (new)
  • Preparado (ready)
  • En ejecución (running)
  • En espera (waiting)
  • Parado (halted)
  • Representación de los estados de los procesos
    Mediante un bloque de control de proceso
  • Identificador
  • Estado
  • Prioridad
  • Contador de programa
  • Punteros a memoria
  • Datos de contexto
  • Información de estado de E/S
  • Información para contabilidad

21
Técnicas de planificación
Sistema operativo Gestor del servicio Gestor de
interrupción Planificador
Sistema operativo Gestor del servicio Gestor de
interrupción Planificador
Sistema operativo Gestor del servicio Gestor de
interrupción Planificador
Control
A En ejecución
A En ejecución
A En espera
A En espera
Control
B Preparado
B Preparado
B En ejecución
Control
Control
Otras particiones
Otras particiones
Otras particiones
(a)
(b)
(c)
22
Modelo de proceso de 5 estados
23
Diagrama de colas para la planificación del
procesador
Cola a largo plazo
Cola a corto plazo
Final
CPU
Solicitud de proceso
E/S 1
E/S 2
Cola de E/S 2
E/S n
24
Gestión de la memoria
  • Se refiere a la subdivisión de la memoria para
    dar cabida al monitor residente y al/los
    proceso/s
  • Aspecto vital en sistema multiprogramado
  • Técnicas aplicadas
  • Intercambio (swapping)
  • Se aplica a solicitudes de proceso situadas en
    una cola a largo plazo
  • Las solicitudes de proceso, almacenadas en disco,
    se traen una a una a la memoria, según espacio
    disponible, y son retirados de ella a medida que
    terminan
  • Si en determinado momento, ningún proceso se
    encuentra en el estado preparado, el procesador
    intercambia uno de esos procesos, situándolo en
    el disco en una cola intermedia
  • La cola intermedia alberga los procesos que se
    han sacado temporalmente de memoria
  • El SO trae otro proceso de la cola intermedia o
    acepta una nueva petición de proceso
  • El intercambio es una operación de E/S (involucra
    al disco)
  • Riesgo empeorar

25
Intercambio
26
Definición de particiones
  • Particiones de tamaño fijo
  • No necesariamente del mismo tamaño
  • Un proceso introducido a memoria se sitúa en la
    partición disponible más pequeña que puede
    albergarlo
  • Particiones de tamaño variable
  • Un proceso introducido a memoria recibe
    exactamente el tamaño que necesita
  • La fragmentación de la memoria se soluciona con
    la compactación
  • Cada tanto, el SO desplaza los procesos en
    memoria para reunir toda la memoria libre en un
    bloque (compactación)

27
MEMORIA VIRTUAL
  • PAGINACIÓN
  • Técnica del S.O. que aparenta que la máquina
    tiene más memoria
  • Se define el espacio de direcciones virtual y el
    espacio de direcciones físico
  • Espacio de direcciones virtual direcciones a las
    que el programa puede hacer referencia
  • Espacio de direcciones físico direcciones de
    memoria reales (en hardware)

28
MEMORIA VIRTUAL - PAGINACIÓN
29
Paginación
  • Los procesos se dividen en partes más pequeñas de
    tamaño fijo, cada una de ellas conocida como
    página, que se lee del disco
  • Equivale a dividir el espacio de direcciones que
    corresponde a un proceso en páginas cuyo tamaño
    podría estar entre 512 y 64k Bytes
  • A cada página se asigna una porción de memoria
    disponible, conocida como marco (frame) o marcos
    de página
  • Una página es un fragmento de programa
  • Las direcciones virtuales se relacionan con las
    direcciones físicas a través de una Tabla de
    Páginas
  • Es invisible para el programador y le proporciona
    un mayor espacio de direcciones

30
Implementación de la Paginación
  • El espacio de direcciones físico se divide de
    igual manera que el virtual, en fragmentos del
    tamaño de una página
  • Un fragmento de la memoria principal que contiene
    una página se denomina Marco de Página
  • La paginación es controlada por la unidad de
    gestión de memoria, que cuenta con un registro de
    entrada y un registro de salida puede ubicarse
    en la CPU

31
(No Transcript)
32
(No Transcript)
33
Estructura de la tabla de páginas
  • La tabla de páginas contiene la traducción de la
    dirección virtual o lógica de una palabra de
    memoria (nº de página y desplazamiento) a una
    dirección física (nº de marco y un
    desplazamiento)
  • La tabla de páginas tiene longitud variable y es
    alojada en la memoria real o en la memoria
    virtual
  • Si la tabla de páginas se aloja en la memoria
    virtual, está sujeta a paginación igual que
    cualquier otra página
  • En tal caso, se requiere que una parte de su
    tabla de páginas, la que incluye al elemento en
    ejecución, resida en la memoria principal

34
Paginación por Demanda
  • Cada proceso se introduce en memoria cuando se
    necesita (cuando se solicita)
  • Se cargan en la memoria unas pocas páginas
  • Si el programa hace referencia a un dato de una
    página que no está en memoria, se produce una
    falta de página o fallo de página
  • En tal caso, el SO debe traer la página
    solicitada
  • La mayor parte de los programas tiende a
    concentrar la referencia a un número reducido de
    páginas (conjunto de trabajo, conjunto de las
    páginas utilizadas por las referencias a memoria
    más recientes)
  • Riesgo hiperpaginación (thrasing). El procesador
    pasa la mayor parte del tiempo intercambiando
    páginas
  • Solución predicción de páginas que serán menos
    utilizadas en el futuro próximo

35
Paginación por demanda
  • Política de reemplazo de páginas
  • La menos recientemente utilizada (LRU, least
    recently used)
  • Es eficiente si la memoria principal es de tamaño
    mayor que el conjunto de trabajo
  • FIFO (Primero en entrar, primero en salir)
  • Expulsa la página que se cargó menos
    recientemente, sin importar cuándo se hizo
    referencia a ella.
  • Se implementa añadiendo a cada página un
    contador que se incrementa con cada fallo de
    página

36
(No Transcript)
37
Paginación
  • Determinación del tamaño de una página
  • Relación de compromiso
  • Fragmentación interna espacio desperdiciado
    dentro de una página
  • Para minimizar el desperdicio se requieren
    páginas de pequeño tamaño
  • Ventaja de la página pequeña
  • Podría reducir la hiperpaginación
  • Desventajas de la página pequeña
  • Alto requerimiento en hardware (grandes tablas de
    páginas requieren gran cantidad de registros)
  • Uso ineficiente del tiempo
  • Utilización ineficiente del ancho de banda del
    disco

38
Estructura de tabla de páginas invertida
  • La porción de la dirección virtual
    correspondiente al número de página se mapea en
    una tabla de dispersión, mediante una función de
    dispersión sencilla
  • La tabla de dispersión incluye un puntero a una
    tabla de páginas invertida, que contiene los
    elementos de la tabla de páginas
  • Para cada página de memoria real hay un elemento
    en la tabla de dispersión y en la tabla de
    páginas

39
Buffer de traducción anticipada (Translation
lookaside buffer, TLB)
  • Toda referencia a memoria virtual podría duplicar
    el tiempo de acceso a memoria
  • Solución
  • Utilizar una memoria caché (TLB) para los
    elementos de la tabla de páginas
  • El TLB contiene los elementos de la tabla de
    páginas a los que se ha accedido más
    recientemente

40
Segmentación
  • La memoria se divide en segmentos de tamaño
    variable (dinámico)
  • Los segmentos se asignan a varios tipos de
    programas y datos
  • Los segmentos pueden ser utilizados por el
    programador, a quien se asignará derechos de
    acceso y uso
  • Las referencias a memoria se realizan mediante
    direcciones constituidas por un nº de segmento y
    un desplazamiento

41
(No Transcript)
42
Segmentación
  • La longitud de un segmento puede ir desde 0 hasta
    un máximo
  • La longitud de un segmento puede cambiar durante
    la ejecución, sin afectar a otros
  • Diferentes segmentos pueden tener diferentes
    longitudes

43
(No Transcript)
44
Implementación de la segmentación
  • Intercambio
  • Idéntico a la paginación
  • Se produce fragmentación externa desperdicio de
    espacio entre segmentos
  • Se reduce la fragmentación externa con la
    compactación, utilizando los algoritmos de
  • Mejor ajuste escoge el hueco más pequeño en el
    que cabe el segmento requerido
  • Primer ajuste escoge el primer agujero lo
    bastante grande como para albergar el segmento

45
(No Transcript)
46
Implementación de la segmentación(2)
  • Paginación
  • Se divide un segmento en páginas de tamaño fijo
  • Algunas de las páginas de un segmento podrían
    estar en la memoria y otras en el disco
  • Se requiere una tabla de páginas individual para
    cada segmento
  • La paginación se produce por demanda

47
Ventajas de la segmentación
  • Simplificación de la gestión de estructuras
    crecientes de datos (el segmento se reduce o
    expande, según necesidad)
  • Posibilidad de modificar y recompilar los
    programas en forma independiente, sin necesidad
    de enlazar y cargar el conjunto entero de
    programas
  • Varios procesos pueden compartir segmentos
  • Otorga facilidades para implementar
    protecciones puesto que está definido el
    conjunto de un segmento, el administrador del
    sistema puede asignar privilegios de acceso

48
Instrucciones de E/S virtuales
  • Organización en archivos
  • Secuencia de bytes escritos en un dispositivo de
    almacenamiento de E/S (disco)
  • Operaciones de E/S con archivos se efectúan con
    llamadas al sistema
  • Llamada de lectura de un archivo
  • Indicación del archivo a leer
  • Apuntador a un buffer de la memoria conde se
    almacenarán los datos
  • Nº de bytes a leerse
  • Se asocia un apuntador que indica la secuencia de
    bytes que se leerá a continuación e información
    para indicar que se ha terminado de leer un
    archivo y puede ser cerrado

49
Implementación de las E/S virtuales
  • Factor clave asignación de almacenamiento, que
    puede darse en un sector de disco, sectores
    consecutivos o no.
  • Asignación consecutiva
  • Es sencilla, sin embargo no es posible cuando no
    se conoce el tamaño máximo del archivo por
    adelantado
  • Asignación no consecutiva
  • Aplicada en casos en que nos e conoce el tamaño
    final de los archivos (éstos podrían estar
    creciendo continuamente)
  • Necesidad de mantener información acerca de los
    espacios disponibles en disco (huecos)
  • Lista libre facilita la localización de un
    hueco se trata de una lista de tamaño variable
  • Mapa de bits se cuenta con un bit por unidad de
    asignación
  • Necesidad de actualizar las listas o tablas de
    asignación luego de asignar o borrar archivos del
    disco

50
  • Tamaño de la unidad de asignación
  • Factores que inciden tiempo de búsqueda y
    retraso rotacional de los discos
  • Unidades de asignación pequeñas poco desperdicio
    de espacio, índices de archivos grandes o tablas
    grandes
  • Unidades de asignación grandes eficiencia de
    transferencia

51
Método de localización de datos en la asignación
no consecutiva
  • Proporciona las unidades de asignación y sus
    direcciones de disco reales
  • Lista de direcciones de bloques de disco
  • Lista de registros lógicos, especificando la
    dirección en disco y la distancia para cada uno
  • Lista enlazada cada unidad de asignación
    contiene la dirección de su sucesora

52
Gestión de directorios
  • Directorios organización de los archivos en
    línea (información manejada automática por la
    computadora)
  • Ejemplos de llamadas al sistema
  • Crear un archivo e introducirlo en un directorio
  • Borrar un archivo de un directorio
  • Cambiar el nombre de un archivo
  • Modificar la situación de protección de un
    archivo
  • Los directorios facilitan el compartir archivos
    entre usuarios

53
Esquemas de protección
  • El dueño de cada archivo especifica una
    contraseña secreta
  • El dueño de cada archivo especifica la lista
    explícita de usuarios que pueden acceder al
    archivo
Write a Comment
User Comments (0)
About PowerShow.com