Sistemas Operativos

426 views

Published on

entrada y salida Ucc-Leon

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
426
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sistemas Operativos

  1. 1. Sistemas operativos.<br />Entrada y salida de los sistemas operativos en Linux.<br />
  2. 2. ENTRADA Y SALIDA DE LOS SISTEMAS OPERATIVOS EN LINUX.<br />SISTEMA DE ENTRADA Y SALIDA<br />El control de todos los dispositivos de entrada/ salida de la computadora lo realiza el sistema operativo. Este se ocupa de: <br />Enviar comandos a los dispositivos.<br />Detectar las interrupciones.<br />Controlar los errores.<br />Presentar todos los periféricos pueden presentar una misma interfaz con el resto del sistema, lo que logra independencia de los mismos. <br /> <br />
  3. 3. En LINUX las entradas/salidas sobre un dispositivo se hacen gracias a los archivos situados en el directorio /dev/. Cada uno de ellos se identifica por un nombre (por ejemplo, hda para el primer disco duro del controlador IDE) pero sobre todo por dos únicos números: mayor y menor. Estos archivos especiales son de dos tipos: caracteres (terminal, impresora, etc) o bloques (disco por ejemplo).<br />Es muy importante conocer estos archivos. Las diferentes distribuciones (Slackware, Jurix, SLS, etc.) Crean estos archivos. Ciertas versiones pueden generar estos archivos de manera incorrecta (Slackware). Igualmente, resulta inútil crear los archivos necesarios para la utilización de dispositivos de un tipo dado si no se dispone de la tarjeta adecuada.<br />
  4. 4. Para crear un archivo especial,essuficiente la orden mknod Nom_Archivo Tipo Mayor Menor.<br />Dentro del directorio /dev también existe un archivo de comandos llamado Makedev, el cual permite crear archivos especiales sin utilizar directamente mkmod.<br />El Sistema Operativo maneja todas las operaciones de entrada/salida. La atención de los dispositivos de entrada/salida requieren de mucho esfuerzo por parte de la computadora, por lo tanto se deben realizar de forma eficiente.<br />Existen tres técnicas de entender a los dispositivos de entrada/<br />Salida:<br /><ul><li>ENCUESTAS (POLLING)</li></ul>Técnica utilizada para dispositivos lentos. El dispositivo deberá tener una bandera que indica si está ocupado o listo, el procesador entrará en un bucle en el cual consultará ese bit cada cierto tiempo. El procesador se pasa mucho tiempo dentro de un bucle esperando que los dispositivos estén listos, por lo tanto, esta técnica es ineficiente.<br />
  5. 5. <ul><li>INTERRUPCIONES</li></ul>El procesador y el dispositivo realizan tareas simultáneamente, cuando el dispositivo terminó alguna tarea le avisa al procesador mediante una interrupción. Este método es eficiente.<br /><ul><li> ACCESO DIRECTO A MEMORIA (DMA)</li></ul>Este método se utiliza para aquellos dispositivos capaces de transmitir o recibir datos a alta velocidad, por ejemplo los <br />discos. El controlador del dispositivo transfiere bloques de datos desde su buffer a la memoria principal sin la intervención del procesador.<br />
  6. 6. REDIRECCIONAMIENTO DE ENTRADA SALIDA<br />Cualquier comando de UNIX necesita recibir información de algún lugar y enviar los resultados del procesamiento a algún lugar, así como los mensajes de error. Estos lugares se llaman respectivamente, STANDAR INPUT, STANDAR OUTPUT y STANDAR ERROR.<br />El STANDAR INPUT se refiere al medio desde el cual el comando recibe la información.<br />De forma similar, el STANDAR OUTPUT se refiere al lugar que el comando envía la salida. Cuando se redireccionan los datos el comando recibe o envía la información desde otra fuente.<br />El STANDAR ERROR se refiere al medio al que se mandan los mensajes de los errores que se cometen al ejecutar un comando.<br />Normalmente (aunque depende de cada comando), el STANDAR INPUT es el teclado y el STANDAR OUTPUT y el STANDAR ERROR es la pantalla.<br />
  7. 7. REDIRECCIONAMIENTO DE LA SALIDA<br /> <br />El símbolo para redireccionar la salida es: &gt; , y se utiliza de la siguiente forma:<br />Comando &gt; nombre _ fichero <br />  <br /> <br />Veamos dos problemas que pueden ocurrir si accidentalmente cometemos un error:<br /><ul><li>REDIRECCIONAR LA SALIDA A UN FICHERO YA EXISTENTE</li></ul>Cuando se redirecciona una salida, el Sistema LINUX crea un fichero con el nombre especificado. Cuando el fichero no existe, al redireccionar la salida a él, crea uno nuevo; pero si el fichero existe borra su contenido y reescribe encima. <br />Afortunadamente, existe una manera de prevenir borrar ficheros de esta manera sin darnos cuenta, utilizamos el comando:<br />
  8. 8. SET NOCLOBBER<br />Si tecleamos este comando antes de redireccionar la salida, en el caso de que el fichero donde se envía la salida ya exista, aparecerá en la pantalla el siguiente mensaje: Nombre del Fichero FILE EXISTS y no machacaría el contenido del fichero. El comando SET NOCLOBBER evita que se: <br />-Redireccione una salida a un fichero ya existente.<br />-Añada un fichero a otro que no existe. <br />El comando sólo es efectivo para la sección en que se teclee. Si se quiere que permanezca de forma permanente hay que incluir el comando SET NOCLOBBER en el fichero .cshrc. del Home Directory. Si en algún momento se quisiera quitar esa protección, hay que teclear &gt;! .<br />
  9. 9. REDIRECCIONAR LA SALIDA A UN FICHERO UTILIZADO COMO ENTRADA<br />Veamos con un ejemplo lo que ocurre cuando se direcciona la salida al fichero utilizado como entrada.<br /> % cat carreras<br /> medicina<br /> bioquímica<br /> abogacía<br /> %sort carreras&gt;carreras<br /> %cat carreras <br />Cuando se ejecuta el comando SORT el LINUX borra el contenido del fichero carreras y crea un fichero nuevo de nombre carreras por lo que cuando va a ordenar alfabéticamente el fichero carreras, este está vacío. Por lo tanto hay que tener cuidado de no redireccionar la salida al fichero utilizado como entrada, pues se perdería la información.<br />
  10. 10. FILTRO: es un programa que lee los datos de la entrada estándar los procesa de alguna forma y devuelve los datos procesados por la salida estándar.<br />Un filtro es cualquier comando situado entre dos pipes y manipula los datos obtenidos por un comando previo antes de utilizarse por el comando situado a continuación del filtro. Una línea de comando puede contener varios filtros<br />SORT: es un filtro simple que ordena los datos de entrada y envía los resultados a la salida estándar.<br />CAT: es incluso más simple, no hace nada con los datos de entrada, simplemente envía a la salida cualquier cosa que le llega.<br />AÑADIR LA SALIDA DE UN COMANDO A UN FICHERO<br />Se puede añadir la salida de un comando al final de un fichero ya existente sin borrar su contenido. El símbolo que se utiliza para ello es: &gt;&gt;; se hará de la siguiente forma:<br />comando&gt;&gt;nombre _fichero<br />
  11. 11. REDIRECCIONAMIENTO DEL STANDAR ERROR<br />Para redireccionar el STANDAR OUTPUT Y el STANDAR ERROR a un fichero, se utiliza los símbolos &gt;&de la siguiente forma: <br />comando &gt;& nombre fichero<br />Para añadir la salida de un comando, así como los mensajes de error a un fichero, se utilizan los símbolos &gt;&gt;& de la siguiente manera:<br />Comando &gt;&gt;& nombre fichero<br />REDIRECCIONAMIENTO DE LA ENTRADA<br /> <br /> <br />El símbolo para redireccionar la entrada es&lt; y se utiliza de la siguiente manera:<br />Comando &lt; nombre_ fichero<br />Si se quiere utilizar como entrada aparte del contenido de un fichero, habría que poner en el fichero un “string”, que puede ser cualquier símbolo excepto : zzFunyzz.<br />
  12. 12.  <br />PIPES: TRANSFERENCIA DE DATOS<br /> <br />El Sistema LINUX permite transferir datos entre diferentes procesos (comandos). Este proceso se llama “PIPING” pues “PIPE” es el nombre que se le da al símbolo utilizado para transferir datos.<br />El símbolo para PIPING es | y se utiliza de la siguiente manera:<br />Comando_1 | comando_2 | comando_3 |<br /> ...<br />es decir, el comando_2 utiliza como entrada los resultados obtenidos por el comando_1; la salida del comando_2 se utiliza como entrada del comando _3 y así sucesivamente.<br />Utilizando pipes no es necesario utilizar ficheros temporales ni hacer pasos intermedios para obtener la información que se desea. <br />COMANDO TEE<br />Cuando después de Pipes aparece el comando tee la redirección de la salida la hace a dos sitios, a un fichero especificado y al estándar output <br />Comando | comando | tee nombre fichero | comando |<br /> ...<br />
  13. 13. CONCLUSION<br /> Linux es un sistema con características de apoyo: <br />multitarea,multiusuario,multiprocesamiento,multiplataforma, ejecución en modo protegido, que cumple con los patrones deUNIX en especial tiene un formato de desarrollo comunitario de código abierto. Es maduro, barato y lo suficientemente estable como para utilizarlo en una computadora de uso personal, en forma genérica para edición de textos, hoja de cálculo, gráficos, acceso a Internet, desarrollo de programas, etc. <br /> Día a día, más y más programas están disponibles en este sistema y la calidad de los mismos aumenta de versión a versión. La presencia de LINUX en las empresas aumenta rápidamente por la excelente relación calidad-precio del mismo.<br />

×