Clase Práctica de Perifericos

Documentos relacionados
ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda

Sistemas Operativos. Dr. Wenceslao Palma M.

Introducción a los Sistemas Operativos

Sistemas Operativos. Administración de Periféricos

Entrada/Salida. Nano Semelman Maximiliano Geier Maximiliano Sacco. Sistemas Operativos, 2c DC - FCEyN - UBA

Sistemas operativos. Tema 9: Gestión n de E/S

CICLOS DEL PROCESADOR

4. Cuánta memoria puede direccionar con registros de 16 bits si la palabra es de 20 bits? Respuesta: Se puede direccionar 2 20 = 1Mb.

Sistemas Operativos. Introducción. Tema 6

Usando el Sistema Operativo

Sist s em e a m s s O per e ativos o. s Unidad V Entrada Sali l d i a.

Capítulo 4. Entrada/Salida

Actividades de Teoría de Sistemas Operativos Sistemas informáticos multiusuario y en red

TEMA 6: GESTIÓN DE ENTRADA/SALIDA

Velocidades Típicas de transferencia en Dispositivos I/O

Definición de Sistema Operativo

Capítulo 4 Entrada/Salida

1 ( 3,5 puntos) Responda, justificando sus respuestas, a las siguientes cuestiones:

Introducción a los Sistemas Operativos

Capítulo 2. Sistemas Operativos. Elementos, estructura y funciones generales.

Práctica 9. Organización del Computador 1 2do. Cuatrimestre de 2005

Tema 12: El sistema operativo y los procesos

Convivencia Gestión de Procesos

Organización del Sistema Operativo

Herramientas Informáticas I Software: Sistemas Operativos

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior.

Sistemas Operativos Gestión de memoria

APUNTES SOBRE PROCESOS Y DEADLOCK CONCEPTO DE PROCESO 1

Facultad de Ingeniería Industrial y de Sistemas v1.0 MA781U GESTION DE DISPOSITIVOS E/S

Actividades de Teoría de Sistemas Operativos Sistemas informáticos multiusuario y en red

5 Gestión de E/S. Servicios de E/S que suministra el SO Hardware de Entradas/salidas Implementación de los servicios Mejora del redimiento de E/S SOI

Informática Electrónica Manejadores de Dispositivos (Device Drivers)

INDICE 1. Introducción 2. Entrada / Salida: Principios y Programación 3. Procesos

Sistemas operativos (Parte 4)

Controlador de Floppy Disk - DMA

Gestión de Entrada-salida

TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS.

Entrada/Salida y bloqueo mutuo. Dr. Alonso Ramírez Manzanares 19-Oct-2010

SISTEMAS OPERATIVOS Arquitectura de computadores

Sistemas Operativos. Un sistema operativo es un conjunto de programas de computadora diseñados especialmente para cubrir los siguientes objetivos:

Convivencia. Gestión del Sistema de Entrada/Salida

Unidad I: Organización del Computador. Ing. Marglorie Colina

Sistemas Operativos. que es un sistema operativo?

Pontificia Universidad Católica del Ecuador

DMA y Discos. María Elena Buemi. 15 de junio María Elena Buemi () DMA y Discos 15 de junio / 27

GESTION DE ENTRADA Y SALIDA

Matías Zabaljáuregui

Pontificia Universidad Católica del Ecuador

Sistemas Operativos- Evolución Histórica

Estructura de los dispositivos de E/S.

Sistemas Operativos. Procesos

Nombre del estudiante: Giovanna Kristhel Mendoza Castillo Gustavo Antonio González Morales Eduardo Solis Lara Francisco Javier Merodio Molina

SISTEMAS OPERATIVOS - PARTE I

PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1

FUNCIONAMIENTO DEL ORDENADOR

Introducción a los Sistemas Operativos

Entrada/Salida. Contenidos: 1. Definición y objetivos 2. Estructura del susbsitema de entrada/salida. 3. Políticas de gestión de disco

Clases 02 & 03: Revisión de conceptos

La función de un SO en los sistemas de I/O, es manejar y controlar las operaciones y los dispositivos de I/O.

Evolución del software y su situación actual

1. INTRODUCCIÓN 1.1. Qué es un sistema operativo? El sistema operativo como máquina extendida El sistema operativo como gestor de

Práctica 7 Dispositivos de Entrada/Salida

Capítulo 1 Conceptos arquitectónicos

Sistemas informáticos industriales. Sistemas Operativos

Participantes: Avila Aida Betancourt Sioly Briceño Susana Rojas Alejandro

Sistemas Operativos. Curso 2014 Estructura de los sistemas operativos

F1131 Fundamentos de sistemas operativos 1/12

ESCUELA DE INGENIERIA Informática Y Sistemas

FUNDAMENTOS DE LOS SISTEMAS OPERATIVOS

FUNDAMENTOS DE INFORMÁTICA. Principios Básicos de Sistemas Operativos. Definición de Sistema Operativo

Tema 6. Administración de memoria

Sistema de Ficheros SOA

Hilos Secciones Stallings:

Manipulación de procesos

TEMA 1: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS

Administración de la memoria

SISTEMAS OPERATIVOS: Lección 4: Planificación de Procesos

GESTION DE LA MEMORIA

Tarea #6. Gestión de E/S y Planificación de Discos

Problemas que resuelve un S.O. (2)

CUESTIONARIO. Instituto Tecnológico de Iztapalapa Ingeniería en Sistemas computacionales. LENGUAJE ENSAMBLADOR Temas: 1.3 y 1.4

Introduccion a Sistemas Operativos. Ej: Linux

Sistemas Operativos Tema 2: Estructura del computador José Miguel Santos Alexis Quesada Francisco Santana

Sistemas Distribuidos: Migración de Procesos

1.1. Modelos de arquitecturas de cómputo: clásicas, segmentadas, de multiprocesamiento.

Sistemas Operativos Ricardo Sanz

Servicio Nacional de Aprendizaje SENA. Regional Cundinamarca-Soacha. Programa Mantenimiento de Equipos de Cómputo. DOCUMENTO DE APOYO No.

Trabajo Práctico Número 6

SISTEMA DE FICHEROS EN UNIX

Introducción a Sistemas Operativos: Ficheros

Unidad Nº I Revisión de conceptos de. Sistemas Operativos

ENTRADA/SALIDA. Conectar con el mundo real CPU. Arquitectura de Ordenadores. Entrada/Salida. Arquitectura de Ordenadores. Entrada/Salida MEMORIA

Entrada y Salida! EC-2721 Arquitectura del Computador I! Entradas/Salidas: Problemas. Entradas salidas: Criterios. Amplia variedad de periféricos!

Conceptos y definiciones básicos en computación

ADMINISTRACION DE LA MEMORIA. En memoria 1 solo proceso Desventajas:

Memoria. Organización de memorias estáticas.

Práctica 7. Organización del Computador 1 2do. Cuatrimestre de 2005

El Computador y sus Partes INTRODUCCIÓN A LAS TECNOLOGÍAS INFORMÁTICAS

Sistema Operativo. Introducción a los Sistemas Operativos. El Sistema Operatico como Interfaz Usuario/Computador. Objetivos del Sistema Operativo

Transcripción:

Clase Práctica de Perifericos Gastón Aguilera Departamento de Computación, FCEyN, Universidad de Buenos Aires, Buenos Aires, Argentina

Que haremos hoy? Temas: Administración de E/S Asignación de Periféricos Qué es? Dónde se realiza? Tipos de Periféricos Planificación de E/S Estructura conceptual de un proceso y las E/S El buffer de E/S y la memoria virtual Las E/S y el estado bloqueado en espera Planificación de los pedidos El Concepto de SPOOLING para virtualizar dispositivos Que es el SPOOL? Tipos El SPOOL y Gráfico de Gantt Ejercicios sobre spooling Ejercicios sobre planificación de E/S

Administración de Periféricos Un periférico no es mas que un recurso del sistema operativo que debe ser administrado, como ocurre con el recurso procesador. A diferencia del procesador que es compartido por varios procesos de usuarios y de kernel, los recursos pueden resultar ser dedicados y por lo tanto no se puede compartir entre los procesos. Por lo tanto los periféricos o los recursos en general deben ser asignados a los procesos utilizando una politica de asignación, asignación total o parcial de recursos necesarios. Asignación al comienzo del trabajo Asignación al comienzo de una etapa Asignación al realizarse la apertura del recurso

Administración de Periféricos Los periféricos pueden ser: Dedicados: Periféricos que solo los puede tener asignado un proceso (ej. Impresora, w(cdrom)) Compartidos: Aquellos que soportan accesos de varios procesos (ej. Disco) Virtuales: Periféricos simulados por el sistema operativo (ej. SPool, RAM Disk,...) Los periféricos deben ser nombrados por el sistema operativo y tener una interfaz de acceso a los mismos (En linux los periféricos son tratados como archivos especiales, compartiendo las mismas funciones que los archivos comunes y algunas otras funciones) Nota: Hay que tener cuidado con la asignación de los recursos dedicados, ya que se pueden generar Deadlocks

Planificación de E/S El Proceso En el PCB del proceso debera estar representados los recursos asignados y la modalidad de uso de los mismos (R/W) Durante la ejecución del código el proceso puede hacer llamadas al s.o. READ/WRITE/OPEN/CLOSE sobre algunos recursos del sistema Algunas de dichas llamadas, necesitan indicar un buffer de memoria para dejar o tomar la información a tratar. P0 P1 char Buff[4096]; char Buff[20]= who am i? Open 3, /dev/sda, r Open 4, /dev/sda, w Procesa 10 ms Procesa 10 ms Read 3, Buff, 4096 Write 4, Buff, 10 Procesa 20 ms Procesa 10 ms Termina Close 4 - Termina

Los periféricos y la memoria del proceso Los buffers desde el punto de vista de un proceso no es mas que una variable o un espacio de memoria adquirido apuntado por un puntero Según lo visto en administracion de memoria, las direcciones utilizadas por el codigo de un proceso no son direcciones reales de memoria, sino una abstracción (Pagina:Offset). Los periféricos solo pueden acceder a la memoria real y por lo tanto no pueden referenciar a (Pagina:Offset), esto hace que los drivers realicen la conversión a memoria real y pasen dicha dirección a los periféricos para realizar la E/S. Otro tema importante es la existencia de DMA y por lo tanto los buffers se deben adecuar a las condiciones de direccionamiento de los DMA. Esto hace que muchos drivers generen buffers internos aptos para realizar operaciones con DMA.

El diagrama de transición y la administración de periféricos Según el tipo de asignacion de recursos que tenga el sistema operativo, puede suceder que distintos estados sean los involucrados Asignacion al Comienzo: El estado involucrado es ACOMENZAR. Alli se realiza la asignación de los periféricos. Asignacion en etapa: Es muy similar al siguiente. Asignacion al Open: El estado involucrado es BLOQUEADO subestado EN ESPERA DE ASIGNACION en caso que el Periférico sea dedicado y esté asignado a otro proceso. Según el tipo de acceso del recurso y si es compartido, puede ocurrir que lleguen muchos requerimientos de E/S, haciendo que se genere un estado BLOQUEADO EN USO DE RECURSO y otro BLOQUEADO EN ESPERA DE RECURSO. El estado BLOQUEADO EN USO DEL RECURSO, corresponde cuando el pedido de E/S del proceso esta llevandose a cabo y el otro estado, corresponde cuando el proceso hizo el pedido de E/S y el recurso esta atendiendo a otro u otros pedidos anteriores (multiplexación).

Planificación de los pedidos de E/S Los pedidos que lleguen a BLOQUEADOS EN ESPERA DEL RECURSO, pueden ser reordenados segun algun algoritmo de planificación, que tenga en cuenta las caracteristicas físicas del recurso en cuestión. La rutina del S.O. que lleva a cabo esta tarea se la denomina Scheduler I/O y pone los pedidos en la cola correspondiente al driver asociado a cada recurso. Los drivers son capaces de manejar un tipo de recurso y se instancia por cada recurso de dicho tipo. (MAYOR - MINOR NUMBER)

Poĺıticas de Planificación de los pedidos de E/S Las politicas del algoritmo de planificacion de E/S, son muy dependientes del hardware, por ejemplo: El disco puede utilizar la tecnica de CSCAN, que reordena los pedidos de tal forma que el brazo de las cabezas del disco cubra los pedidos como lo hace un ascensor. O utilizar el orden por posición angular del sector. O una planificación por deadline. O una FCFS

El Concepto de SPOOLING para virtualizar dispositivos El concepto de spool viene de la epoca de los viejos mainframes, la idea básica de mejorar los tiempos de lectura de datos por parte de los procesos (en esa epoca tarjetas perforadas), haciendo que las tarjetas sean cargadas en discos rigidos y redireccionado las lecturas del proceso a dichos discos. Con esto artilugio se logró mejorar los tiempos del ciclo LISTO-EJECUTANDO-BLOQUEADO POR LECTURA DE TARJETA, dado que no se tenía que obtener los datos desde la lectora de tarjeta (muy lenta). El mismo concepto se aplicó luego a las impresiones. El spool no solo permite mejorar el ciclo mencionado, sino que permite compartir periféricos dedicados, mediante la virtualización de periféricos permitiendo tener concurrencia de procesos que usan dicho periférico dedicado.

El SPOOL y Gráfico de Gantt El Spool es una rutina del sistema operativo que atrapa los pedidos por parte de los procesos al periférico dedicado y los deriva cuando es necesario al disco de spool o zona de spool. Funciones del usuario sobre el dispositivo simulado con spool: 1 Open : Genera el spool correspondiente para el proceso 2 Write : Escribe en el disco de spool, no en el dispositivo 3 Read : Lee del disco de spool, no desde el dispositivo 4 Close : Cierra el spool (No se elimina) P 3 - Un Proceso que usa la impresora char Linea[80]; Open Impresora Procesa 10 ms Write Impresora, Linea Procesa 20 ms Write Impresora, Linea Procesa 30 ms Termina

Diagrama de Gantt para el proceso P3 Tiempos tomando sola la actividad de spooling Realice el diagrama de Gantt sin tener spool sabiendo que grabar Linea en el periférico Impresora toma 10ms.

Planificación de E/S Ejercicios de SPool Sistema Se tiene un sistema con las siguientes características : a) una unica impresora de 2000 lin/minuto b) no existe reloj de intervalos c) la cola de listos se administra según FIFO Proceso A Proceso B 20 mseg y lee 1er registro de disco 10 mseg y lee 1er registro de disco 10 mseg y lee 2do registro de disco 10 mseg e imprime una ĺınea 10 mseg e imprime una ĺınea 10 mseg 10 mseg y termina termina 1 Se pide construir un diagrama de Gantt de estos procesos despreciando los tiempos de las rutinas del SO, y el tiempo de E/S de discos, según las siguientes condiciones: 1 no hay spooling de salida 2 hay spooling de salida

Planificación de E/S Ejercicios de Planificación de E/S Driver de Disco Suponga que tenemos una unidad de almacenamiento en discos con una cabeza movil. Existen 200 posiciones (pistas) desde donde la cabeza puede leer o grabar información (pistas 0-199). Sobre cada pista hay 8 registros (0-7). El disco realiza una revolución cada 8 ms. La cabeza es movida entre pistas adyacentes en 0,8 ms. La rutina que maneja el disco recibe la siguiente lista de solicitudes Pista 0 10 10 10 20 20 de lectura : Registro 2 2 3 5 4 3 1 Cuánto tiempo tardará en realizar los requerimientos de E/S en el orden recibido (FCFS)?. Suponga que la posición inicial de la cabeza es 0,0. 2 Cuál es el orden óptimo para satisfacer los requerimientos? Describa en palabras el algoritmo que utiliza.

Planificación de E/S Ejercicios de Planificación de E/S 3 Explique cómo cada uno de los siguientes puntos pueden ser usados en la rutina para optimizar los tiempos de E/S : 1 Una instrucción para tomar conocimiento de la posición actual de la cabeza sobre la pista. 2 Una instrucción que mueve la cabeza liberando al canal mientras la instrucción se complete. 3 Un tiempo de movimiento de cabeza entre pistas adyacentes de 0,2 ms. 4 Indique qué efectos espera obtener sobre el tiempo de respuesta del disco si: 1 Agrega más cabezas. 2 Agrega una 2da cabeza en el lado opuesto del disco.