Closed Eliaslis closed 1 week ago
Buenas!
Si, van a necesitar alguna lista para manejar los procesos, ya que estos son los que indicarían los TIDs que tienen.
No, ya que, por ejemplo tienen la syscall THREAD_JOIN, que bloquearía al hilo que la llamo hasta que el otro hilo (del mismo proceso) se termine. Van a tener que manejar varias listas de bloqueados porque un hilo se puede bloquear por varias razones (join de hilos, mutex, recursos, etc.).
Les pregunto a ustedes, necesitan una cola de exit? Para que la usarían?
Van a haber varios procesos inicializados, para eso tienen la syscall PROCESS_CREATE. Si la pregunta va por el lado de las colas de NEW y READY, ambas van a poder tener varios procesos en cualquier momento, únicamente en el caso de NEW no va a haber un TID 0 generado (porque si está encolado el proceso y no hay memoria para inicializarlo, aun no se crea el hilo inicial); y en el caso de READY puede haber procesos con más de un hilo creado.
Espero haber respondido tus consultas, no dudes en responderme por cualquier inquietud.
Saludos.-
Buenas! Gracias por la respuesta, muy clara la verdad.
Una pregunta para ver si nos queda más claro y redondear entonces, en New se van a estar encolando los procesos nuevos que lleguen. Pero una vez inicializados sus Hilos 0 y asignado su espacio en memoria, los procesos en sí con la PCB se irían fuera de la cola de NEW, y pasarian a estar en una especie de lista aparte a los estados del diagrama?
Es decir, los procesos no van a estar moviendose entre READY, EXEC, BLOCKED, etc. Sino que lo estamos estamos pensando como que deberian estar en una lista aparte por si necesitan acceder justamente como decis por ejemplo a los TIDs que tienen. Esta bien ese acercamiento?
Gracias nuevamente!
Claro, existirían aparte de los estados porque no se mandaría a ejecutar el proceso sino el hilo específico de dicho proceso.
Graciass! Clarisimo eso entonces.
Aprovechando el "hilo" (badumss jeje) de conversación, otra duda con la consigna es cuando el proceso que está en NEW y NO puede inicializarse porq no tiene memoria a asignar, en ese caso el proceso se tiene que quedar quieto ahi esperando y todos los demás procesos que estén atrás tambien esperarán a que el proceso que llegó antes pueda ser inicializado? Eso es correcto?
Exactamente, porque para el planificador a largo plazo maneja un esquema FIFO.
Hola buenas, La duda quedo resuelta? Si es así no olviden cerrar el issue. @gona7, @Eliaslis.
🛠️ Lenguaje
C
🖋️ Descripción
Buenas, ¿Cómo va? Con mis compañeros nos surgieron algunas dudas trabajando, así que ahí va la lista:
📔 Citas del enunciado/videos
No response
💭 Soluciones posibles
No response
📝 Normas del foro