sistemas operativos

13

Click here to load reader

Upload: ucc

Post on 26-Jun-2015

341 views

Category:

Education


2 download

DESCRIPTION

entrada y salida Ucc-Leon

TRANSCRIPT

Page 1: Sistemas Operativos

SISTEMAS OPERATIVOS.

Entrada y salida de los sistemas operativos en Linux.

Page 2: Sistemas Operativos

ENTRADA Y SALIDA DE LOS SISTEMAS OPERATIVOS EN LINUX.

SISTEMA DE ENTRADA Y SALIDA El control de todos los dispositivos de entrada/

salida de la computadora lo realiza el sistema operativo. Este se ocupa de:

Enviar comandos a los dispositivos. Detectar las interrupciones. Controlar los errores. Presentar todos los periféricos pueden presentar

una misma interfaz con el resto del sistema, lo que logra independencia de los mismos.

 

Page 3: Sistemas Operativos

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).

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.

Page 4: Sistemas Operativos

Para crear un archivo especial, es suficiente la orden mknod Nom_Archivo Tipo Mayor Menor.Dentro del directorio /dev también existe un archivo de comandos llamado Makedev, el cual permite crear archivos especiales sin utilizar directamente mkmod.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.Existen tres técnicas de entender a los dispositivos de entrada/Salida:

•ENCUESTAS (POLLING)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.

Page 5: Sistemas Operativos

INTERRUPCIONESEl 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.

ACCESO DIRECTO A MEMORIA (DMA)Este método se utiliza para aquellos dispositivos capaces de transmitir o recibir datos a alta velocidad, por ejemplo los discos. El controlador del dispositivo transfiere bloques de datos desde su buffer a la memoria principal sin la intervención del procesador.

Page 6: Sistemas Operativos

REDIRECCIONAMIENTO DE ENTRADA SALIDACualquier 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.El STANDAR INPUT se refiere al medio desde el cual el comando recibe la información.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.El STANDAR ERROR se refiere al medio al que se mandan los mensajes de los errores que se cometen al ejecutar un comando.Normalmente (aunque depende de cada comando), el STANDAR INPUT es el teclado y el STANDAR OUTPUT y el STANDAR ERROR es la pantalla.

Page 7: Sistemas Operativos

REDIRECCIONAMIENTO DE LA SALIDA El símbolo para redireccionar la salida es: > , y se utiliza de la siguiente forma: Comando > nombre _ fichero    Veamos dos problemas que pueden ocurrir si accidentalmente cometemos un error:•REDIRECCIONAR LA SALIDA A UN FICHERO YA EXISTENTE 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. Afortunadamente, existe una manera de prevenir borrar ficheros de esta manera sin darnos cuenta, utilizamos el comando:

Page 8: Sistemas Operativos

SET NOCLOBBER

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:

-Redireccione una salida a un fichero ya existente.

-Añada un fichero a otro que no existe.

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 >! .

Page 9: Sistemas Operativos

REDIRECCIONAR LA SALIDA A UN FICHERO UTILIZADO COMO ENTRADAVeamos con un ejemplo lo que ocurre cuando se direcciona la salida al fichero utilizado como entrada.

% cat carrerasmedicinabioquímicaabogacía%sort

carreras>carreras%cat carreras

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.

Page 10: Sistemas Operativos

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.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 filtrosSORT: es un filtro simple que ordena los datos de entrada y envía los resultados a la salida estándar.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.

AÑADIR LA SALIDA DE UN COMANDO A UN FICHEROSe 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: >>; se hará de la siguiente forma:comando>>nombre _fichero

Page 11: Sistemas Operativos

REDIRECCIONAMIENTO DEL STANDAR ERRORPara redireccionar el STANDAR OUTPUT Y el STANDAR ERROR a un fichero, se utiliza los símbolos >& de la siguiente forma: comando >& nombre ficheroPara añadir la salida de un comando, así como los mensajes de error a un fichero, se utilizan los símbolos >>& de la siguiente manera:Comando >>& nombre ficheroREDIRECCIONAMIENTO DE LA ENTRADA  El símbolo para redireccionar la entrada es < y se utiliza de la siguiente manera:Comando < nombre_ ficheroSi 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.

Page 12: Sistemas Operativos

 

PIPES: TRANSFERENCIA DE DATOS 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.El símbolo para PIPING es | y se utiliza de la siguiente manera:Comando_1 | comando_2 | comando_3 |

...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.Utilizando pipes no es necesario utilizar ficheros temporales ni hacer pasos intermedios para obtener la información que se desea. COMANDO TEECuando 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 Comando | comando | tee nombre fichero | comando | ...

Page 13: Sistemas Operativos

CONCLUSION Linux es un sistema con características de apoyo:

multitarea,multiusuario,multiprocesamiento,multiplataforma, ejecución en modo protegido, que cumple con los patrones de UNIX 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.

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.