Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Unidad 5

697 views

Published on

Administración de archivos de entrada y salida
Sistemas operativos 1
251M

  • Be the first to comment

  • Be the first to like this

Unidad 5

  1. 1. SISTEMAS OPERATIVOS 1<br />Alumnos:<br />Cruz Cruz Elizabeth<br />Zavala Melendez Diana<br />Cervantes Rubio Alejandro<br />Guerrero Romero Edgar Saul<br />UNIDAD V.- Administración de Dispositivos de E/S<br />TECNOLOGICO DE ESTUDIOS SUPERIORES DE CUAUTITLAN IZCALLI<br />
  2. 2. 5.1 Principios de Hardware de E/S<br />Funciones del Sistema de Archivos<br />Los usuarios deben poder crear, modificar y borrar archivos.<br />El mecanismo encargado de compartir los archivos debe proporcionar varios tipos de acceso controlado:<br />Ej.: “Acceso de Lectura”, “Acceso de Escritura”, “Acceso de Ejecución”, varias combinaciones de estos, etc. Se debe poder estructurar los archivos de la manera más apropiada a cada aplicación. Los usuarios deben poder ordenar la transferencia de información entre archivos.<br />Las llamadas al sistema permitidas para el manejo de los directorios tienen variación de sistema a sistema<br />Las más comunes son las siguientes:<br />Create (crear): se crea un directorio vacío. <br />Delete(eliminar): se elimina un directorio, que debe estar vacío. <br />Opendir(abrir directorio): se pueden leer los directorios: Antes de poder leer un directorio, éste debe ser abierto. <br />Closedir(cerrar directorio): cuando se ha leído un directorio, éste debe ser cerrado para liberar el espacio correspondiente de la tabla interna.<br />
  3. 3. Confiabilidad del Sistema de Archivos<br />Es necesario proteger la información alojada en el sistema de archivos, efectuando los resguardos correspondientes<br />De esta manera se evitan las consecuencias generalmente catastróficas de la pérdida de los sistemas de archivos.<br />Las pérdidas se pueden deber a problemas de hardware, software, hechos externos, etc.<br />Manejo de un bloque defectuoso:<br />Se utilizan soluciones por hardware y por software.<br />La solución en hardware:<br />Consiste en dedicar un sector del disco a la lista de bloques defectuosos.<br />Una estrategia de respaldo consiste en dividir los discos en áreas de datos y áreas de respaldo<br />
  4. 4. El Ambiente de Seguridad<br />Se entenderá por seguridad a los problemas generales relativos a la garantía de que los archivos no sean leídos o modificados por personal no autorizado; esto incluye aspectos técnicos, de administración, legales y políticos.<br />Se consideraran mecanismos de protección a los mecanismos específicos del sistema operativo utilizados para resguardar la información de la computadora.<br />Dos de las más importantes facetas de la seguridad son:<br />La pérdida de datos: Actos y hechos diversos, como incendios, inundaciones, terremotos, guerras, revoluciones, roedores, etc. Errores de hardware o de software, como fallas en la cpu, discos o cintas ilegibles, errores de telecomunicación, errores en los programas, etc<br />
  5. 5. Los intrusos. Pasivos: solo desean leer archivos que no están autorizados a leer. Activos: desean hacer cambios no autorizados a los datos.<br />Algunos tipos de intrusos son los siguientes: Curiosidad casual de usuarios no técnicos. Conocidos (técnicamente capacitados) husmeando. Intentos deliberados por hacer dinero. Espionaje comercial o militar.<br />Los virus computacionales:<br />Constituyen una categoría especial de ataque. Son un enorme problema para muchos usuarios. Son fragmentos de programas que se añaden a programas legítimos con la intención de infectar a otros. Un virus difiere de un gusano en lo siguiente: Un virus está a cuestas de un programa existente. Un gusano es un programa completo en sí mismo. Los virus y los gusanos intentan diseminarse y pueden crear un daño severo. <br />
  6. 6. Mecanismos de Protección<br />Dominios de Protección<br />Muchos objetos del sistema necesitan protección, tales como la cpu, segmentos de memoria, unidades de disco, terminales, impresoras, procesos, archivos, bases de datos, etc.<br />Los principales métodos de protección son:<br />Arquitectura marcada: Necesita un diseño de hardware en el que cada palabra de memoria tiene un bit adicional: Indica si la palabra contiene una posibilidad o no. <br />Lista de posibilidades cifrada dentro del espacio del usuario: Cada posibilidad está cifrada con una clave secreta desconocida por el usuario. Muy adecuado para sistemas distribuidos.<br />Muchos sistemas con posibilidades se organizan como una colección de módulos con módulos administradores de tipos para cada tipo de objeto y entonces es esencial que el módulo administrador de tipos pueda hacer más cosas con la posibilidad que un proceso ordinario.<br />
  7. 7. 5.1.1 DISPOSITIVOS DE I/O.<br />A lo largo de la historia de las computadoras se han desarrollado muchos tipos de dispositivos que podemos reunir en tres grandes grupos:<br />Dispositivos de almacenamiento.<br />Terminales.<br />Comunicaciones.<br />
  8. 8. Dispositivos de almacenamiento.<br /> Estos dispositivos graban la información en en cantidades fijas y con cierto formato conocido como: bloques de control , los cuales tienen una dirección única que identifica a cada bloque, razón por la cual son también llamados como dispositivos de bloque base<br />
  9. 9. TERMINALES.<br />En general se denomina terminal al conjunto formado por un teclado y una pantalla conectados a la computadora para producir datos a través del primero y recibirlos a través de la segunda.<br />Las terminales pueden dividirse en dos categorías las que se conectan a través del estándar RS-232, y los mapeados en memoria.<br />
  10. 10. Terminales RS-232.<br />Constan de teclado y pantalla que transmiten bit a bit en serie. La velocidad de transmisión de estos bits viene dada en baudios, siendo valores utilizados: 300, 1,200,2,400, 4,800, 9,600. Estas terminales se conectan a la computadora a través de un cable físico, este cable en su entrada a la computadora termina en una tarjeta hardware o interfaz que a su vez se conecta a un bus de dicha computadora.<br />Se conocen, generalmente, con el nombre genérico TTY.<br />Terminales mapeados en memoria.<br />No necesitan línea de conexión a la computadora ya que están directamente conectados al bus del mismo. -En estos terminales el teclado se conecta directamente al bus y es independiente de la pantalla.<br />
  11. 11. COMUNICACIONES<br />LINEA DE COMUNICACIONES.<br />Son dispositivos cuya misión es la de conectar entre computadoras estas sus terminales cuando la distancia es grande. Suelen llevar consigo elementos físicos como pueden ser la propia línea y los adaptadores a la línea denominados módems, y lógicos, como pueden ser el protocolo de comunicación y el método de control y detección de errores que se utiliza.<br />
  12. 12. Las líneas de comunicaciones pueden ser de varios tipos:<br />Sincrona o asíncrona. Según se transmita la información entre los dispositivos de forma sincronizada (reloj) o no.<br />Según el sentido de transmisión.<br />Simplex: cuando los datos se transmiten en una sola dirección.<br />Half-duplex: si los datos pueden transmitirse en ambas direcciones pero no simultáneamente.<br />Full-duplex: cuando los datos pueden transmitirse en ambas direcciones simultáneamente.<br />
  13. 13. 5.1.2 Controladores de Dispositivos<br />Un controlador de dispositivo (llamado normalmente controlador, o, en inglés, driver) es un programa informático que permite al sistema operativo interactuar con un periférico, haciendo una abstracción del hardware y proporcionando una interfaz -posiblemente estandarizada- para usarlo. <br />
  14. 14. 5.2 Principios del Software de Entrada y Salida<br />Los principios de software en la entrada - salida se resumen en cuatro puntos: el software debe ofrecer manejadores de interrupciones, manejadores de dispositivos, software que sea independiente de los dispositivos y software para usuarios.<br />Manejadores de Interrupciones.Consiste en que el programador o el usuario no debe darse cuenta de los manejos de bajo nivel para los casos en que el dispositivo está ocupado y se debe suspender el proceso o sincronizar algunas tareas.<br />Manejadores de Dispositivos.El sistema debe proveer los manejadores de dispositivos necesarios para los periféricos. Por ejemplo, si el sistema tiene varios tipos diferentes de discos duros, para el usuario o programador las diferencias técnicas entre ellos no le deben importar, y los manejadores le deben ofrecer el mismo conjunto de rutinas para leer y escribir datos.<br />
  15. 15. 5.2.1 Objetivos Del Software De E/S<br />Un concepto clave es la independencia del dispositivo:<br />Debe ser posible escribir programas que se puedan utilizar con archivos en distintos dispositivos, sin tener que modificar los programas para cada tipo de dispositivo.<br />Todos los archivos y dispositivos adquieren direcciones de la misma forma, es decir mediante el nombre de su ruta de acceso.<br />Otro aspecto importante del software es el manejo de errores de e/s:<br />Generalmente los errores deben manejarse lo más cerca posible del hardware.<br />La mayoría de la e / s es asíncrona: la cpu inicia la transferencia y realiza otras tareas hasta una interrupción.<br />La programación es más fácil si la e / s es síncrona (por bloques): el programa se suspende automáticamente hasta que los datos estén disponibles en el buffer.<br />El S. O. se encarga de hacer que operaciones controladas por interruptores parezcan del tipo de bloques para el usuario.<br />También el S. O. debe administrar los dispositivos compartidos (ej.: discos) y los de uso exclusivo (ej.: impresoras).<br />
  16. 16. 5.2.2 Manejadores de Interrupciones<br />Manejadores de Interrupciones: Tratan las interrupciones que generan los controladores de los dispositivos una vez que estos están listos para la transferencia de datos.<br />Su función es salvar los registros, comunicar el evento al manejador del dispositivo y restaurar la ejecución de un proceso. <br />Cuando una interrupción ocurre muy frecuentemente, caso del reloj, o cuando la cantidad de información a transferir es muy pequeña, en el caso del teclado, sería muy costoso comunicar siempre el evento al manejador de dispositivo asociado.<br />
  17. 17. 5.2.3 Manejador De Dispositivos<br />Todo el código que depende de los dispositivos aparece en los manejadores de dispositivos.<br />Cada controlador posee uno o más registros de dispositivos:<br />Se utilizan para darle los comandos.<br />Los manejadores de dispositivos proveen estos comandos y verifican su ejecución adecuada. La labor de un manejador de dispositivos es la de:<br />Aceptar las solicitudes abstractas que le hace el software independiente del dispositivo. <br />Verificar la ejecución de dichas solicitudes. Si al recibir una solicitud el manejador está ocupado con otra solicitud, agregara la nueva solicitud a una cola de solicitudes pendientes.<br />Software para Usuarios.<br />La mayoría de las rutinas de entrada - salida trabajan en modo privilegiado, o son llamadas al sistema que se ligan a los programas del usuario formando parte de sus aplicaciones y que no le dejan ninguna flexibilidad al usuario en cuanto a la apariencia de los datos. <br />
  18. 18. 5.2.4 Software de e/s independiente de los dispositivos.<br />Aquí el sistema operativo debe ser capaz, en lo más posible, de ofrecer un conjunto de utilerías para accesar periféricos o programarlos de una manera consistente. Por ejemplo, que para todos los dispositivos orientados a bloques se tenga una llamada para decidir si se desea usar 'buffers' o no, o para posicionarse en ellos.<br />
  19. 19. 5.2.5 Software de E/S en el Espacio del Usuario<br />La mayoría del software de e / s está dentro del S. O.<br />Una pequeña parte consta de bibliotecas ligadas entre sí con los programas del usuario.<br />La biblioteca estándar de e / s contiene varios procedimientos relacionados con e / s y todos se ejecutan como parte de los programas del usuario.<br />Otra categoría importante de software de e / s a nivel usuario es el sistema de spooling.<br />El spooling es una forma de trabajar con los dispositivos de e /s de uso exclusivo en un sistema de multiprogramación:<br />El ejemplo típico lo constituye la impresora de líneas.<br />Los procesos de usuario no abren el archivo correspondiente a la impresora.<br />Se crea un proceso especial, llamado demonio en algunos sistemas.<br />Se crea un directorio de spooling.<br />
  20. 20. Para imprimir un archivo:Un proceso genera todo el archivo por imprimir y lo coloca en el directorio de spooling.<br />El proceso especial, único con permiso para utilizar el archivo especial de la impresora, debe imprimir los archivos en el directorio.<br />Se evita el posible problema de tener un proceso de usuario que mantenga un recurso tomado largo tiempo.<br />Un esquema similar también es aplicable para la transferencia de archivos entre equipos conectados:Un usuario coloca un archivo en un directorio de spooling de la red.<br />Posteriormente, el proceso especial lo toma y transmite. Un ej. son los sistemas de correo electrónico.<br />
  21. 21. 5.3 Discos Ram<br />Un disco RAM o unidad RAM es una unidad de disco que usa una zona de memoria RAM del sistema como almacenamiento secundario en lugar de un medio magnético (como los discos duros y las disqueteras-memoria flash, implementada como un controlador de dispositivo más.<br />Los discos RAM suelen usarse para almacenar datos temporales o para guardar programas descomprimidos durante cortos periodos. Los discos RAM fueron populares como unidades de arranque en los años 1980, cuando los discos duros eran caros y las disqueteras demasiado lentas, por lo que unos pocos sistemas, como el Apple IIgs, soportaban arrancar desde un disco RAM<br /> La diferencia entre éste y un disco RAM es que el segundo es de tamaño fijo y funciona como una partición más, mientras el sistema de ficheros temporal cambia su tamaño bajo demanda para ajustarse al espacio necesario para albergar los ficheros guardados en él.<br />
  22. 22. 5.4 Discos<br />Un disco duro es un dispositivo que permite el almacenamiento y recuperación de grandes cantidades de información. Los discos duros forman el principal elemento de la memoria secundaria de un  computador, llamada así en oposición a la memoria principal o memoria (Random Access Memory, memoria de acceso aleatorio).<br />Un disco duro forma una caja herméticamente cerrada que contiene dos elementos no intercambiables: la unidad de lectura y escritura y el disco como tal. <br />La unidad es un conjunto de componentes electrónicos y mecánicos que hacen posible el almacenamiento y recuperación de los datos en el disco. El disco es, en realidad, una pila de discos, llamados platos, que almacenan información magnéticamente. <br />Cada uno de los platos tiene dos superficies magnéticas: la superior y la inferior. Estas superficies magnéticas están formadas por millones de pequeños elementos capaces de ser magnetizados positiva o negativamente.<br />
  23. 23. 5.4.1 Hardware de Discos<br />Hardware Para Discos<br />Los discos están organizados en cilindros, pistas y sectores.<br />El número típico de sectores por pista varía entre 8 y 32 (o más).<br />Todos los sectores tienen igual número de bytes.<br />Los sectores cercanos a la orilla del disco serán mayores físicamente que los cercanos al anillo.<br />Un controlador puede realizar búsquedas en una o más unidades al mismo tiempo:<br /><ul><li>Son las búsquedas traslapadas.
  24. 24. Mientras el controlador y el software esperan el fin de una búsqueda en una unidad, el controlador puede iniciar una búsqueda en otra.</li></ul>Muchos controladores pueden:<br />Leer o escribir en una unidad.<br />Buscar en otra.<br />Los controladores no pueden leer o escribir en dos unidades al mismo tiempo. <br />La capacidad de búsquedas traslapadas puede reducir considerablemente el tiempo promedio de acceso.<br />
  25. 25. 5.4.2 Software para Discos<br />Operación de Almacenamiento de Disco de Cabeza Móvil Los datos se graban en una serie de discos magnéticos o platos. <br />El eje común de los discos gira a una velocidad del orden de las 4.000 o más revoluciones por minuto. Se lee o escribe mediante una serie de cabezas de lectura – escritura. Se dispone de una por cada superficie de disco. <br />Solo puede acceder a datos inmediatamente adyacentes a ella: La parte de la superficie del disco de donde se leerá (o sobre la que se grabará) debe rotar hasta situarse inmediatamente debajo (o arriba) de la cabeza de lectura - escritura. <br />El tiempo de rotación desde la posición actual hasta la adyacente al cabezal se llama tiempo de latencia. <br />Todas las cabezas de lectura - escritura están montadas sobre una barra o conjunto de brazo móvil: <br />Puede moverse hacia adentro o hacia afuera, en lo que se denomina operación de búsqueda. <br />Para una posición dada, la serie de pistas accesibles forman un cilindro vertical. <br />A los tiempos de búsqueda y de latencia se debe agregar el tiempo de transmisión propiamente dicha. <br />El tiempo total de acceso a un registro particular: <br />
  26. 26. 5.5 Relojes<br />Los relojes o cronómetros son esenciales para la operación de sistemas de tiempo compartido. <br />Registran la hora del día. <br />Evitan que un proceso monopolice la cpu. <br />El software para reloj toma generalmente la forma de un manejador de dispositivo, aunque no es un dispositivo de bloque ni de caracter. <br />Los relojes más sencillos trabajan con la línea de corriente eléctrica de 110 o 220 voltios y provocan una interrupción por cada ciclo de voltaje, a 50 o 60 hz. <br />Otro tipo de relojes consta de tres componentes: Un oscilador de cristal, un contador y un registro. <br />
  27. 27. Una pieza de cristal de cuarzo se monta en una estructura bajo tensión: <br />Genera una señal periódica de muy alta precisión, generalmente entre 5 y 100 mhz. <br />La señal se alimenta en el contador para que cuente en forma descendente hasta cero. Cuando el contador llega a cero, provoca una interrupción de la cpu. Los relojes programables tienen varios modos de operación. <br />Modo de una instancia: Cuando el reloj se inicializa, copia el valor del registro en el contador. Decrementael contador en cada pulso del cristal. Cuando el contador llega a cero provoca una interrupción y se detiene hasta ser nuevamente inicializado por el software. <br />Modo de onda cuadrada: Luego de llegar a cero y provocar la interrupción, el registro se copia de manera automática en el contador. Todo el programa se repite en forma indefinida. Las interrupciones periódicas se llaman marcas del reloj.<br />La ventaja del reloj programable es que su frecuencia de interrupción puede ser controlada por el software.<br />
  28. 28. 5.5 Relojes<br />Las principales funciones del software manejador del reloj son:<br />Mantener la hora del día o tiempo real.<br />Evitar que los procesos se ejecuten durante más tiempo del permitido.<br />Mantener un registro del uso de la cpu.<br />Controlar llamadas al sistema tipo “alarm” por parte de los procesos del usuario.<br />Proporcionar cronómetros guardianes de partes del propio sistema.<br />Realizar resúmenes, monitoreo y recolección de estadísticas.<br />El software manejador del reloj puede tener que simular varios relojes virtuales con un único reloj físico.<br />
  29. 29. 5.5.1 Hardware de Relojes<br />Una computadora personal tiene un reloj de hardware alimentado por una batería. Esa batería asegura que el reloj continúe trabajando aún cuando la computadora se encuentre sin suministro eléctrico. <br />El reloj de hardware puede ser modificado (o definido) desde la pantalla de configuración de la BIOS o desde cualquier sistema operativo. <br />El kernel Linux mantiene la fecha y hora de manera independiente al reloj de hardware. <br />Durante el inicio de un sistema Linux, el kernel configura su propio reloj de software accediendo a la fecha y hora mantenida por el reloj de hardware. <br />Luego, ambos relojes trabajan independientemente. Linux mantiene su propio reloj debido a que leer el reloj de hardware constantemente es lento y complicado. <br />
  30. 30. 5.5.2 Software Reloj<br />El reloj del kernel siempre muestra la hora universal, por lo que no necesita conocer como utilizar usos horarios. <br />La simplicidad de este modo de trabajar proporciona alta confiabilidad y facilita actualizar la información de la zona horaria. <br />Cada proceso realiza las conversiones de zona horaria de manera independiente (utilizando herramientas estándar que son parte del paquete de zona horaria).<br />Desafortunadamente, algunos sistemas operativos de PC (incluyendo a MS-DOS, Windows y OS/2) asumen que el reloj de hardware muestra la hora local. Linux puede manejar cualquiera de los dos formatos, pero si el reloj de hardware muestra la hora local, entonces debe modificarlo cada vez que el "horario de verano" empiece o finalice.<br />
  31. 31. 5.5.3 Manejador del Reloj<br />Toda máquina Unix tiene un reloj hardware que interrumpe al sistema en intervalos de tº fijos (típicamente se establece el tick de reloj en 10ms) Las funciones del manejador de la interrupción de reloj son (no todas en cada tick):<br /><ul><li>Reiniciar el reloj (si es necesario)
  32. 32. Planificar funciones internas del núcleo basadas en
  33. 33. Temporizadores
  34. 34. Reunir estadísticas del sistema y de los procesos
  35. 35. Mantener la hora
  36. 36. Enviar las señales de alarma a los procesos
  37. 37. Controlar la planificación de procesos
  38. 38. Despertar al intercambiador periódicamente</li></li></ul><li>5.6 Terminales<br />Dispositivo del hardware electrónico o electromecánico que se usa para introducir o mostrar datos de una computadora. Su función es mostrar y recibir datos con capacidad significativa del procesador de datos, puede ser llamado “Terminal inteligente o cliente ligero”.<br />Las terminales tienen gran número de formas distintas: <br />El manejador de la terminal debe ocultar estas diferencias. <br />La parte independiente del dispositivo en el S. O. y los programas del usuario no se tienen que reescribir para cada tipo de terminal. <br />Las terminales RS-232 poseen un teclado y un monitor que se comunican mediante una interfaz serial, un bit a la vez; las conversiones de bits a bytes y viceversa las efectúan los chips uart (transmisores - receptores asíncronos universales). Las terminales mapeadas a memoria:<br /><ul><li>No se comunican mediante una línea serial.
  39. 39. Poseen una interfaz mediante una memoria especial llamada video RAM.
  40. 40. Forma parte del espacio de direcciones de la computadora.
  41. 41. La cpu se dirige a ella como al resto de la memoria.</li></li></ul><li>5.6.1 Hardware de Terminales<br />Un terminal es un dispositivo electrónico o electromecánico de hardware usado para introducir o mostrar datos de un computador o un sistema de computación. <br />La función de un terminal está confinada a la exhibición y entrada de datos; un dispositivo con una significativa capacidad local programable de procesamiento de datos puede ser llamado un "terminal inteligente" o. <br />Un terminal IP suele ser un dispositivo hardware con forma de teléfono, aunque con la diferencia de que utiliza una conexión de red de datos, en lugar de una conexión de red telefónica. <br />Son similares a los teléfonos móviles (o celulares) y permiten utilizar redes inalámbricas para conectarse al servidor .<br />Estos últimos aun no están muy desarrollados, pero pronto empezaremos a ver una gran expansión de los teléfonos móviles habituales con soporte WI-FI que permitirán utilizarla para realizar llamadas en lugar de las operadoras telefónicas tradicionales.<br />
  42. 42. 5.6.2 Manejadores<br />Manejadores de interrupciones<br />Consiste en que el programador o el usuario no debe darse cuenta de los manejos de bajo nivel para los casos en que el dispositivo está ocupado y se debe suspender el proceso o sincronizar algunas tareas.<br />Manejadores de dispositivitos<br />El sistema debe proveer los manejadores de dispositivos necesarios para los periféricos, así como ocultar las peculiaridades del manejo interno de cada uno de ellos, tales como el formato de la información, los medios mecánicos, los niveles de voltaje y otros.<br />

×