Вы находитесь на странице: 1из 5

UNIVERSIDAD TECNICA PARTICULAR DE LOJA

ESCUELA DE CIENCIAS DE LA COMPUTACIN


Arquitectura y Computacin Paralela
TRABAJO EXTRA - CLASE
Carlos Vinicio Caraguay
Profesional en Formacin, Escuela de Ciencias de la Computacin, UTPL,
Loja - Ecuador
IMPLEMENTACIN DE LA SUBRUTINA DE UN PERIFERICO USANDO HILOS
INTRODUCCIN:
En los sistemas operativos tradicionales, cada proceso tiene su propio espacio de direcciones y un
nico flujo (hilo) de control. De hecho, casi es esa la definicin de proceso. Sin embargo,
frecuentemente hay situaciones con la que es necesario contar con mltiples hilos de control en el
mismo espacio de direcciones ejecutndose casi paralelamente, como si fueran procesos
separados.
En el presente taller vamos a tratar de explicar cmo es la subrutina de un mouse en el sistema
operativo Linux.
MARCO TERICO:
SUBRUTINA: Una subrutina es un procedimiento que ejecuta algo, es un segmento de cdigo
separado del bloque principal y que puede ser invocado en cualquier momento. Ejemplos de
subrutinas: seran procedimientos para dibujar algo en la pantalla, tocar un sonido, etc. Cabe
destacar por ejemplo en el caso de un mouse el hacer clic, sera un evento es as que una
subrutina se da despus de un evento.
HILOS: Hilo es una secuencia de control que opera dentro del mismo espacio de direcciones del
proceso. Necesita un contador de programa, que indica cual es la prxima instruccin a ejecutar
Generalmente cada hilo tiene una tarea especfica y determinada, como una forma de aumentar la
eficiencia del uso del procesador.
Estados de un hilo:
Creacin: cuando se crea un proceso, se crea un hilo para este proceso, luego este hilo puede
crear otros hilos dentro del mismo proceso.
Bloqueo: Cuando un hilo necesita esperar por un suceso, se bloquea. Ahora el procesador podr
pasar a ejecutar otro hilo que est listo para ejecutarse
Desbloqueo: cuando el suceso por el que el hilo se bloqueo se produce
Intermedio: cuando un hilo es interrumpido por otro de mayor prioridad.
Terminacin: cuando un hilo finaliza se libera su contexto y colunmas
INTERRUPCIN: Una interrupcin es un mecanismo que permite ejecutar un bloque de
instrucciones interrumpiendo la ejecucin de un programa, y luego restablecer la ejecucin del
mismo sin afectarlo directamente. De este modo un programa puede ser interrumpido
temporalmente para atender alguna necesidad urgente de la computadora y luego continuar su
ejecucin de manera normal y como si nada hubiera pasado.
De forma general para llevar a cabo la funcin de procesamiento en una computadora, se podra
graficar de la siguiente forma:


Para lograr la sincronizacin entre CPU y dispositivos de E/S hay dos mtodos:
- Transferencia de datos por interrupciones
- Transferencia de datos por acceso directo a memoria





IMPLEMENTACIN
Los controladores de ratn del ncleo en Linux son administrados por gpm, este maneja la accin
de cortar y pegar, suministra una biblioteca general para aplicaciones que conocen el mouse.
No todos los mouse son manejados por el ncleo, la mayora de controladores de ratn siguen una
interfaz comn llamada protocolo de bus del mouse.
Por cada lectura de un dispositivo de una interfaz del bus de mouse retorna un bloque de datos

Primero se inicializara las funciones para el mouse, por lo que tiene tres puertos de E/S, adems se
utilizara la interrupciones y los puertos sern la posicin X, Y y los botones.

Se procede a revisar si existe el espacio de direcciones, y se reserva. Entonces se ordena al
controlador que nos asigne un nmero menor, y el dispositivo acta como redirector para las
peticiones


La funcin init_ module es llamada cuando el modulo es cargado. La funcin cleanup_module es
llamada cuando el modulo es descargado, para dar a conocer posteriormente que el espacio de
E/S est disponible.
A continuacin se procede a llenar las operaciones de archivo


En los campos se bloquea la carga para que el modulo no sea descargado mientras est siendo
usado.
Funciones Open y Close


La funcin open sirve como contador para saber cuntas veces ha sido abierto el mouse para no
pedir interrupcin mltiple
El controlador del mouse soporta todas las operaciones de E/S





Si la cola no est vaca enva la seal requerida al proceso para que sea informado del movimiento
del mouse que ocurre en ese instante.

BIBLIOGRAFA:
http://www.sites.upiicsa.ipn.mx/polilibros/portal/Polilibros/P_terminados/PolilibroFC/Unidad
_V/Unidad%20V_2.htm
http://www1.frm.utn.edu.ar/soperativos/Archivos/procesos.pdf
http://es.tldp.org/Manuales-LuCAS/linux-controladores-raton/doc-manual-linux-controladores-
raton.pdf

Вам также может понравиться