13

Click here to load reader

Sistemas Operativos

  • Upload
    lidia

  • View
    1.507

  • Download
    0

Embed Size (px)

DESCRIPTION

entrada y salida UCC-LEÓN

Citation preview

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

INTERRUPCIONES

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.

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 SALIDA

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.

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 ENTRADA

Veamos con un ejemplo lo que ocurre cuando se

direcciona la salida al fichero utilizado como entrada.

% cat carreras

medicina

bioquímica

abogací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 filtros

SORT: 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 FICHERO

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: >>; se hará de la siguiente forma:

comando>>nombre _fichero

Page 11: Sistemas Operativos

REDIRECCIONAMIENTO DEL STANDAR ERROR

Para redireccionar el STANDAR OUTPUT Y el STANDAR ERROR a un

fichero, se utiliza los símbolos >& de la siguiente forma:

comando >& nombre fichero

Para 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 fichero

REDIRECCIONAMIENTO DE LA ENTRADA

El símbolo para redireccionar la entrada es < y se utiliza de la siguiente

manera:

Comando < nombre_ fichero

Si se quiere utilizar como entrada aparte del contenido de un fichero, habríaque 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 TEE

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

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.