View
1.507
Download
0
Category
Preview:
DESCRIPTION
entrada y salida UCC-LEÓN
Citation preview
SISTEMAS OPERATIVOS.
Entrada y salida de los sistemas operativos en Linux.
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.
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.
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.
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.
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.
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:
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 >! .
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.
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
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.
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 |...
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.
Recommended