Академический Документы
Профессиональный Документы
Культура Документы
Generalidades
Las dos tareas de un computador son E/S y procesamiento El papel del SO en la E/S es administrar y controlar las operaciones y los dispositivos El control de los dispositivos conectados al computador es una preocupacin de los diseadores de sistemas operativos Se requieren diversos mtodos para controlarlos subsistema de E/S Subsistema de E/S aisla el resto del ncleo de la complejidad de administrar los dispositivos Algunos dispositivos nuevos son tan distintos de los anteriores que es un reto incorporarlos Controladores de dispositivos o drivers (software)
Hardware de E/S
Los computadores operan dispositivos: almacenamiento, transmisin, comunicacin con personas Un dispositivo se comunica con un sistema de computacin enviando seales Un dispositivo se comunica con la mquina a travs de un puerto Varios dispositivos pueden usar un conjunto de alambres y un protocolo, la conexin se llama bus Un controlador es una coleccin de circuitos electrnicos que pueden operar un puerto, bus o dispositivo Cmo el procesador envan rdenes y datos a un controlador?
Utilizando instrucciones de E/S especiales La instruccin activa las lneas de bus para que seleccionen el dispositivo apropiado y transfieran los bits correspondientes
Un puerto de E/S consiste en cuatro registros: estado, control, entrada de datos, salida de datos
Escrutinio (Polling)
Protocolo completo para la interaccin entre el anfitrin y un controlador Nocin bsica de saludo Ejemplo de saludo: productor-consumidor La operacin de escrutinio bsica es eficiente, pero se vuelve ineficiente si se intenta repetidamente y casi nunca encuentra que un dispositivo est listo para ser atendido mientras hay otras tareas de procesamiento que la CPU debe realizar.
Interrupciones
El hardware de la CPU tiene un alambre llamado lnea de solicitud de interrupcin (IRQ) que la CPU detecta despus de ejecutar cada instruccin Salta a la rutina de manejador de interrupcin en una direccin fija de la memoria Se necesitan funciones de manejo de interrupciones
1. capacidad para postergar el manejo de interrupciones ms avanzadas 2. se necesita una forma eficiente de despachar al manejador de interrupcin apropiado para un dispositivo sin tener que escrutar 3. se necesitan interrupciones de mltiples niveles Interrupcin no enmascarable reservada para sucesos importantes Interrupcin enmascarable puede ser desactivada
Vector de interrupciones Mecanismo de interrupciones tambin maneja excepciones o trampas La trampa recibe una prioridad relativamente baja en comparacin con las de los dispositivos
Interfaces que permiten tratar los dispositivos de E/S de una forma uniforme y estandarizada Se puede eliminar por abstraccin las diferencias detalladas de los dispositivos de E/S identificando unas cuantas clases generales Las diferencias reales se encapsulan en mdulos del ncleo llamados controladores de dispositivo que internamente se adaptan a cada dispositivo pero que exportan una de las interfaces estndar El propsito de driver es ocultar las diferencias entre los controladores de dispositivos de modo que el subsistema de E/S del ncleo no las perciba. Hacer al subsistema de E/S independiente del hardware simplifica la tarea del creador de sistemas operativos. Ellos disean nuevos dispositivos de modo que sean compatibles con una interfaz anfitrin-controlador existente o bien escriben drivers para establecer una interfaz entre el nuevo hardware y los sistemas operativos. As es posible conectar nuevos perifricos sin esperar a que el proveedor de S.O. desarrolle cdigo de soporte.
Flujo
de caracteres o bloques Acceso secuencial o aleatorio Sincrnico o asincrnico Compartible o dedicado Velocidad de operacin Lectura-escritura, slo lectura o slo escritura
Existen dispositivos orientados a bloques como unidades de disco El dispositivo debe entender rdenes como leer y escribir, buscar o posicionarse Existen dispositivos a los que se accede a travs de una interfaz de flujo de caracteres Las llamadas al sistema bsicas permiten a una aplicacin obtener (get) o colocar (put) un carcter.
Dispositivos de red
La E/S de red difiere de la E/S de disco Una interfaz con la que cuentan es sockets de red Las llamadas al sistema permiten crear un socket, conectar un socket, detectar si una aplicacin remota se conecta al socket local, enviar y recibir paquetes La mayor parte de computadores cuentan con relojes y temporizadores que realizan funciones como dar la hora, dar el tiempo transcurrido, establecer un temporizador para iniciar una operacin X El planificador utiliza este mecanismo para generar una interrupcin que desaloje un proceso al trmino de su tiempo
Relojes y temporizadores
Cuando una aplicacin utiliza una llamada al sistema bloqueadora, la ejecucin de la aplicacin se suspende Las acciones fsicas que los dispositivos de E/S realizan generalmente son asincrnicas (no bloqueadora) No obstante los sistemas operativos usan llamadas al sistema bloqueadoras para la interfaz con las aplicaciones Una alternativa para una llamada al sistema no bloqueadora es una llamada al sistema asincrnica. Una llamada asincrnica regresa de inmediato sin esperar que termine la E/S
muchos
servicios
de E/S Uso de buffers Uso de cachs Uso de spool y reservacin de dispositivos Manejo de errores Estructuras de datos del ncleo
de E/S
un conjunto de solicitudes de E/S significa determinar un buen orden de ejecucin de ellas El orden en que las aplicaciones emiten llamadas al sistema casi nunca es la mejor opcin La planificacin puede mejorar el desempeo global del sistema, repartir equitativamente el acceso entre los procesos y reducir el tiempo de espera promedio de las operaciones de E/S
Uso de buffers
Buffer rea de memoria en la que se almacenan datos mientras se transfieren entre dos dispositivos o entre un dispositivo y una aplicacin Se utilizan por tres razones:
Diferencia de velocidad entre productor y consumidor Diferentes tamaos de transferencia Semntica de copiado de E/S de aplicaciones
Uso de cachs
Cach regin de memoria rpida que contiene copias de datos La diferencia entre un buffer y un cach es que un buffer podra contener la nica copia existente de un elemento de informacin, mientras que un cach slo contiene una copia en almacenamiento ms rpido de un elemento que existe en otro lado.
Spool buffer que contiene salidas para un dispositivo como una impresora que no puede aceptar corrientes de datos intercaladas En algunos sistemas operativos existe un proceso demonio que se encarga del spool, en otros hay un hilo del ncleo que lo hace. Algunos dispositivos no pueden multiplexar de manera til las solicitudes de E/S de varias aplicaciones concurrentes. El uso de spool es una forma en que se pueden coordinar salidas concurrentes.
Manejo de errores
Un S.O puede emplear memoria protegida para evitar errores y un problema mecnico no cause fallo total del sistema Los dispositivos y transferencias de E/S pueden fallar de diversas maneras, los S.O. pueden compensar los fallos transitorios El S.O. necesita mantener informacin de estado acerca del uso de componentes de E/S Diversas estructuras: tabla de archivos abiertos, seguir la pista a las conexiones de red, comunicaciones con dispositivos de caracteres y bloques
Desempeo
La E/S es un factor importante para el desempeo de un sistema Obliga a la CPU a ejecutar cdigo de controladores de dispositivos y planificar procesos de manera equitativa y eficiente a medida que se bloquean y desbloquean El trfico de red tambin puede causar una frecuencia de conmutaciones de contexto elevada Se pueden aplicar varios principios:
Reducir nmero de veces que hay que copiar datos en la memoria Reducir la frecuencia de interrupciones realizando transferencias grandes Emplear controladores que manejen DMA Reducir nmero de conmutaciones de contexto Hardware del dispositivo Driver del dispositivo Software de aplicacin
Estudiar el nivel ms bajo del sistema de archivos: la estructura del almacenamiento secundario Estructura de discos
Los discos constituyen el grueso del almacenamiento secundario Las unidades de disco se direccionan como grandes arreglos unidimensionales de bloques lgicos Bloques lgicos unidades de transferencia ms pequeas, el tamao suele ser 512 bytes, con formato de bajo nivel se puede escoger otro tamao El arreglo unidimensional de bloques lgicos se hace corresponder secuencialmente con los sectores del disco. El sector 0 es el primer sector de la primera pista del cilindro mas exterior Utilizando esta correspondencia es posible convertir un nmero de bloque lgico en una direccin de disco. En la prctica es difcil porque pueden existir sectores defectuosos y el nmero de sectores por pista no es constante
Planificacin de discos
Una de las obligaciones del S.O. es usar el hardware de forma eficiente. El tiempo de acceso tiene dos componentes principales:
Cada vez que un proceso necesita E/S de o al dispositivo emite una llamada al sistema, la solicitud especifica varios elementos de informacin:
Si la operacin es de entrada o salida La direccin en disco para la transferencia La direccin en memoria para la transferencia El nmero de bytes por transferir
Planificacin de discos
Planificacin
FCFS Planificacin SSTF Planificacin SCAN Planificacin C-SCAN Planificacin LOOK Planificacin C-LOOK Seleccin de un algoritmo de planificacin de disco
Planificacin de discos
FCFS
La
forma mas sencilla es desde luego el servicio por orden de llegada First Come First Served Es justo pero generalmente no proporciona el servicio ms rpido
Planificacin de discos
SSTF
Atender
las solicitudes cercanas a la posicin actual de la cabeza antes de mover la cabeza a una posicin lejana para atender otras solicitudes Algoritmo Shortest Seek Time First Tiempo de bsqueda ms corto primero
Planificacin de discos
SCAN
El brazo del disco parte de un extremo del disco y se mueve hacia el otro atendiendo las solicitudes a medida que llega a cada cilindro hasta llegar al otro extremo del disco Algoritmo del elevador SCAN circular Mueve la cabeza de un extremo del disco a otro atendiendo las solicitudes en el camino slo en una direccin, cuando llega al otro extremo regresa de inmediato al principio sin atender solicitudes
C-SCAN
Planificacin de discos
LOOK
El brazo del disco se mueve a todo lo ancho del disco atendiendo las solicitudes, pero slo llega hasta la ltima solicitud en cada direccin y cambia de sentido sin ir hasta el extremo del disco LOOK circular Mueve la cabeza a todo lo ancho del disco atendiendo las solicitudes en el camino slo en una direccin, cuando llega a la ltima solicitud regresa de inmediato a la primera solicitud sin atender solicitudes en el camino
C-LOOK
Planificacin de discos
Con cualquier algoritmo de planificacin, el desempeo depende en gran medida del nmero y tipo de solicitudes El mtodo de asignacin de archivos puede influir mucho sobre las solicitudes de servicio de disco, archivos contiguos vs archivos enlazados o indizados Los algoritmos consideran distancias de bsqueda, pero la latencia rotacional podra ser tan grande Las escrituras son ms urgentes que las lecturas, para hacer al sistema resistente a cadas del sistema
Administracin de discos
Formateo
administracin del espacio de intercambio es otra tarea de bajo nivel del SO Puesto que el acceso a un disco es mucho mas lento que a la memoria, el uso de ste tiene un efecto importante sobre el desempeo de un sistema El objetivo del diseo e implementacin es ofrecer el mejor rendimiento al sistema de memoria virtual
Uso
de investigacin
removibles
S.O. manejan los discos removibles casi igual que los fijos La unidad se monta, tiene un sistema de archivos En el caso de una unidad de disco, las operaciones bsicas son leer, escribir, buscar Las unidades de cinta tienen un conjunto distinto de operaciones ubicarse, escribir (se borra lgicamente todo lo que sigue a la posicin en la que se escribe)
Nombres de archivos
Cmo dar nombres a los archivos que estn en medios removibles En el caso del disco duro no es difcil. Si el disco es removible, saber o identificar qu unidad contuvo el cartucho en algn momento pasado no implica saber cmo encontrar el archivo (si todos los dispositivos tuvieran un nmero nico de serie se podra facilitar) Los sistemas operativos actuales dejan sin resolver el problema del espacio de nombres en el caso de los medios removibles y confan en que las aplicaciones y los usuarios sabrn cmo acceder a los datos e interpretarlos
de almacenamiento jerrquico
Existen
mecanismos que permiten administrar los dispositivos de almacenamiento jerrquico de una forma automatizada
Cuestiones de desempeo
Rapidez
Confiabilidad Costo
Cuestiones de desempeo
Rapidez
Dos
aspectos
Ancho de banda Bytes transferidos dividido entre el tiempo de transferencia Latencia Los discos son mucho mas rpidos que las cintas
Cuestiones de desempeo
Confiabilidad
Un aspecto del buen desempeo es alta velocidad pero no solo eso, Otro aspecto del buen desempeo es la confiabilidad Si se trata de leer un dato y no es posible hacerlo por un fallo, el tiempo de acceso es infinitamente largo y el ancho de banda infinitamente angosto Los discos magnticos son menos confiables que los discos duros fijos Los cartuchos de disco ptico se consideran muy confiables La confiabilidad de las cintas magnticas vara mucho
Cuestiones de desempeo
Costo
La
memoria principal es mucho mas costosa que el almacenamiento en disco El costo por megabyte de almacenamiento en disco duro ha estado bajando rpidamente y es competitivo Las unidades de cinta mas econmica