sisoputnfrba / foro

Foro de consultas para el trabajo práctico
148 stars 7 forks source link

Flags de inicialización del DTB [ENUNCIADO] #1247

Closed gianlvalentini closed 5 years ago

gianlvalentini commented 5 years ago

Buenas, la duda es la siguiente: En el safa dice que cuando se ingresa un GDT, se le crea y asigna un dtb dummy (con el flag de inicio en 0). Osea todos los gdt que se crean tiene el flag en 0, hasta que pasan por cpu y etc.

Pero despues dice que solo hay un dtb con flag en 0 y los demas tienen que estar en 1.

Esto significa que solo puedo tener en etapa de planificación un solo dtb no iniciado? O a que se refiere?

Muchas gracias

tferraro commented 5 years ago

Buenas!

En el safa dice que cuando se ingresa un GDT, se le crea y asigna un dtb dummy (con el flag de inicio en 0). Osea todos los gdt que se crean tiene el flag en 0, hasta que pasan por cpu y etc.

No estaría encontrando esta parte en el enunciado. Estás seguro que estás viendo en ambas partes del enunciado, la última versión?

gianlvalentini commented 5 years ago

Esta en la parte de funcionalidad de ejecutar, segundo párrafo.

"El DTB dummy a enviar contendra el archivo Escriptorio que se desea ejecutar y el flag de inicialización en 0, siendo el único DTB con dichi valor (cualquier otro DTB lp tendra en 1)"

tferraro commented 5 years ago

Ese fue tu segundo párrafo 😛

Me refería al primero, a que todos los gdts tienen flag en 0 hasta que pasan por CPU. Es una conclusión o está en alguna parte del tp?

gianlvalentini commented 5 years ago

Conclusión mia... Puede crearse un dtb iniciado?

El mié., 14 nov. 2018 20:42, Tomás Ferraro notifications@github.com escribió:

Esa fue tu segundo párrafo 😛

Me refería al primero, a que todos los gdts tienen flag en 0 hasta que pasan por CPU. Es una conclusión o está en alguna parte del tp?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/sisoputnfrba/foro/issues/1247#issuecomment-438860666, or mute the thread https://github.com/notifications/unsubscribe-auth/Ab7mqRKFIlqqd2aXaeZqpKEl13XC0X9sks5uvKp2gaJpZM4YejkV .

tferraro commented 5 years ago

Entonces ahí está el tema 😛 estás comparando una conclusión con un hecho que dice el enunciado 😄. Guiáte por lo que dice textual el enunciado.

Los dtbs no tienen un estado "dtb iniciado". El flag de inicialización no es otra cosa que un flag para decir si participa del proceso de inicialización de dtbs, en otras palabras, "el flag de soy dummy".

gianlvalentini commented 5 years ago

Creo que estoy entendiendo... sería: Cada vez que entrar un DTB a la cola de new, el plp crea un dtb dummy para buscar la ruta del codigo (escriptorio) en memoria? osea que no puede entrar a ready hasta que no se confirme que lo trajo? perdon que sea tan hincha, pero posta que el enunciado me re confunde.

El jue., 15 nov. 2018 a las 21:17, Tomás Ferraro (notifications@github.com) escribió:

Entonces ahí está el tema 😛 estás comparando una conclusión con un hecho que dice el enunciado 😄. Guiáte por lo que dice textual el enunciado.

Los dtbs no tienen un estado "dtb iniciado". El flag de inicialización no es otra cosa que un flag para decir si participa del proceso de inicialización de dtbs, en otras palabras, "el flag de soy dummy".

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/sisoputnfrba/foro/issues/1247#issuecomment-439237329, or mute the thread https://github.com/notifications/unsubscribe-auth/Ab7mqThd4pF5k5QzLg-ti2CyAxdTlGaxks5uvgQIgaJpZM4YejkV .

tferraro commented 5 years ago

Holis :wave:

Te recomiendo entonces, para no hacer una cadena interminable, que le pegues una leída más profunda al Anexo 2 del TP en el que se explica en buen detalle esto y seguro resuelva tu duda 🙂

Tom

kamipalomino commented 5 years ago

hola sobre esto nos surgió una duda una vez inicializado el flag en 1, las sentencias del escriptorio se las tiene que ir pasando una a una el fm9 a cpu? o se las envia todas juntas?

saludos! @sisoputnfrba/sharks

kamipalomino commented 5 years ago

otra duda a que se refiere con pasarle el path a MDJ??? No se lo tiene que pasar a S-AFA?

Evento inicial es disparado por el usuario, tal como indica el diagrama de secuencia anterior. Esto se realiza pasando el path dentro del MDJ, del script Escriptorio. El PLP deberá crear un DTB y asignar un ID al mismo. La creación de este DTB siempre se hará con el flag de inicialización en 1 y en estado “NEW”.

tferraro commented 5 years ago

Buenas!

Vamos por partes:

hola sobre esto nos surgió una duda una vez inicializado el flag en 1, las sentencias del escriptorio se las tiene que ir pasando una a una el fm9 a cpu? o se las envia todas juntas?

Como te parece que debería funcionar? Tené en cuenta que el funcionamiento es completamente análogo a la realidad.

otra duda a que se refiere con pasarle el path a MDJ??? No se lo tiene que pasar a S-AFA?

el path dentro del MDJ != el path a MDJ 😛

kamipalomino commented 5 years ago

hola, lo primero lo pregunto justamente porque no me estoy dando cuenta de como funciona.. en que capitulo del staling me puedo fijar? y lo segundo por lo que me decís el path del escriptorio estaría dentro del fleSystem que nos dan, o me equivoco?

gracias! Saludos @sisoputnfrba/sharks

tferraro commented 5 years ago

1) Te debo el capítulo de ${libro_operativos}, pero el concepto a encarar acá es el ciclo de CPU. Como suele funcionar a grandes rasgos? En función de eso, como podrías aplicar ese concepto a la duda? Qué se puede extrapolar?

2) Sip. Como dice el enunciado: El proceso FileSystem, o Mercado de Jugadores (MDJ), será el encargado de persistir (...) los mismos scripts Escriptorios.

kamipalomino commented 5 years ago

creo que debería recibir una sentencia por cada ciclo, no? Por otro lado, una vez que safa bloquea a DTB_Dummy, CPU finaliza o continúa en la espera de otro DTB?

Luego de realizar la petición, el proceso DTB_Dummy dejará la CPU y será bloqueado por el PCP a la espera de nuevos programas que vayan a necesitar de su intervención en un futuro.

iago64 commented 5 years ago

Buenas Buenas!! Como va? Por qué matarías a la CPU después de inicializar un DTB? No seria super copado que la CPU después de inicializar un DTB siga y pueda procesar ahora si por ej el DTB que acabas de inicializar? :)

Respecto a las sentencias, el enunciado dice exactamente cómo tienen que pasar las sentencias? se te ocurre alguna forma que sea mas comoda y simple que pasarlas de a 1? a veces es bueno que pares la pelota y veas primero si nosotros les limitamos en algo y segundo que les resulta mas como a uds.

Saludos.-

kamipalomino commented 5 years ago

se podría recibir el mapeo completo del archivo o no? Saludos

iago64 commented 5 years ago

Para que recibicias todo el archivo completo? en una CPU real, vos tenes todo el programa o vas teniendo pedacitos a medida que ejecutas?

Saludos.-

tferraro commented 5 years ago

Buenas! Como viene esto?

kamipalomino commented 5 years ago

complicados.. lo ideal entonces por lo que dicen es que se le envie a CPU un grupo de sentencias, (no todas la del archivo ni una a una.. )

janielHernandez commented 5 years ago

Aprovechando la duda de cami, aprovecho para consultar lo siguiente, para las directivas crear, abrir, borrar y flush hay una serie de errores que pueden ocurrir, cuando pasa alguna de este directiva, cpu desaloja en dtb , safa lo bloquea, y se queda esperando la respuesta de dam, mi pregunta es, si pasa un error de estos, que pasa con el dtb? Hay que pasarlo a exit ? O se sigue ejecutando hasta terminar? Saludos

Janiel Hernández


From: Cam Palomino notifications@github.com Sent: Thursday, November 29, 2018 12:15 PM To: sisoputnfrba/foro Cc: Janiel; Team mention Subject: Re: [sisoputnfrba/foro] Flags de inicialización del DTB [ENUNCIADO] (#1247)

complicados.. lo ideal entonces por lo que dicen es que se le envie a CPU un grupo de sentencias, (no todas la del archivo ni una a una.. )

— You are receiving this because you are on a team that was mentioned. Reply to this email directly, view it on GitHubhttps://github.com/sisoputnfrba/foro/issues/1247#issuecomment-442869993, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AVN1_vlOjpZQhdtJ_iPtwYSjQfsSNETAks5uz_oJgaJpZM4YejkV.

tferraro commented 5 years ago

@kamipalomino Claro, va a depender de que tengo se pueda optimizar los pedidos 🙂 . Solo recordá que a la CPU no se le "va a enviar" nada, sino que la CPU lo va a saber pedir 😉

@janielHernandez Todos los errores son abortivos 🙂

tferraro commented 5 years ago

Cierro el issue por inactividad :) Cualquier cosa lo volvemos a abrir!