Auxiliar 11

Módulos de Linux

Vicente González
Pablo Jaramillo

Contexto

Problema

Tarea 3 Otoño 2013

Lo siguiente es el enunciado simplificado:

En esta tarea Ud. deberá implementar un driver para Linux que permita lecturas bloqueantes en el dispositivo /dev/syncread con número major 61. Considere un primer proceso que está escribiendo un archivo, es decir todavía no lo cierra, y un segundo proceso que lee ese mismo archivo. El comportamiento estándar de Unix consiste en que si no hay nada más para leer, read retorna 0 bytes leídos, lo que es interpretado como fin del archivo en el proceso lector. Esto se hace aún cuando el proceso escritor eventualmente va a agregar más datos al archivo, puesto que aún no lo cierra. Una lectura bloqueante haría que read se bloquee hasta que el proceso escritor agregue con write más datos o bien cierre el archivo con close. Es decir funciona de manera similar a un pipe.

Tarea 3 Otoño 2013

Shell \(A\) Shell \(B\) Shell \(C\)  Shell \(D\)
% cat > /dev/syncread
% cat < /dev/syncread
 los 4 puntos los 4 puntos
% echo hola > /dev/syncread

% cat < /dev/syncread

los 4 puntos

cardinales son 3: el norte y el sur cardinales son 3: el norte y el sur cardinales son 3: el norte y el sur
<control-D>

cat < /dev/syncread

hola

Fin

Ver otras auxiliares