Este semestre soy un TA de un curso de SO. Así que me pidieron que diseñara una asignación de programación multiproceso para estudiantes universitarios de CS con habilidades limitadas de programación en CDiseñar una asignación para la programación multiproceso
Esto no debería ser una asignación grande porque solo toma el 5% de la calificación final. Y esto debería ser algo nuevo para que los estudiantes no puedan simplemente descargar un código de Internet.
Esto es lo que estoy pensando, un simple servidor de Message Queue.
Vamos a proporcionar un estudiante Sever MQ muy ficticia que tiene un solo hilo y acepta sólo 2 conexiones de cliente, un lector y un escritor. El escritor envía periódicamente un mensaje a la cola, es decir, el servidor, y el lector lee un mensaje de la cola, es decir, el servidor envía el mensaje al lector. También proporcionaremos al lector y al escritor .
Luego pedimos a los estudiantes que modifiquen el servidor para aceptar múltiples lectores y escritores al mismo tiempo. Y también le pediremos la seguridad del hilo . En otras palabras, un mensaje solo debe enviarse un lector, y no se pierde ningún mensaje en la cola, que requiere el uso de mutex.
Siento que podría ser demasiado simple, pero no se me ocurrió nada más en este momento. Si estuvieras en mi posición, ¿qué tarea me asignarás?
Tomé una clase de sistema operativo, no hace mucho tiempo. Modelaron el plan de estudios fuera de la clase de stanford pintos OS.Este es probablemente un cambio demasiado grande de lo que ustedes están planeando, pero tal vez deberían considerarlo para el próximo año. http://www.stanford.edu/class/cs140/projects/pintos/pintos_2.html Editar: Por cierto, esta fue mi clase favorita en toda la carrera de CS por lejos. Sentí que realmente obtuve una comprensión de la arquitectura del sistema operativo subyacente. –