Esto es para una tarea en la que estoy trabajando, y NO, no estoy buscando simplemente que ME DEN la respuesta. Solo necesito que alguien me señale en la dirección correcta, tal vez con una o dos líneas de código de muestra.Linux & C: ¿Cómo establecer la prioridad de lectura de archivos en el programa multiproceso?
Necesito averiguar cómo establecer la prioridad de una operación de lectura de archivos desde mi programa. Hasta el punto:
- proceso de servidor recibe un mensaje y genera un hijo a manejarlo
- niño trata de abrir el nombre de archivo del mensaje y empieza a cargar el contenido del archivo en la cola de mensajes
- puede haber varios niños que se ejecutan al mismo tiempo, y el mensaje inicial contiene una prioridad por lo que algunos mensajes pueden obtener más acceso al dispositivo
la única manera que puedo pensar para hacer esto (en este momento, de todos modos) sería la de incrementar un contador cada vez que creo un mensaje y hago algo ng como sched_yield después de que el contador alcanza un valor determinado para la prioridad asignada de ese proceso. Es muy probable que sea un enfoque horrible, horrible, pero es todo lo que puedo pensar en este momento. La tarea es más sobre las colas de mensajes que cualquier otra cosa, pero todavía tenemos que tener prioridad de transferencia de datos.
Cualquier ayuda/orientación se aprecia :)
Ya tengo el servidor recibiendo mensajes de varios clientes, por lo que msgget/snd/rcv y ftok no son un problema para mí. El reto al que me enfrento es cómo tomar un valor de prioridad de mi mensaje y aplicarlo, ya sea en la velocidad a la que los mensajes dejan cada hijo del servidor, o en la velocidad en que se leen los datos – David
... desde el disco. – David