Simulación

¿Tu no cuentas con un código que haga la simulación de la entrada de infinitos procesos a una cola(que tiene que ser una lista por ser una estructura con memoria dinámica) que son atendidos por procesadores y que después arrojen una estadísticas de cuantos procesos se atendieron y cosas así?
Respuesta
1
No cuento con dicho código, pero si te puedo ayudar dándote un poco de información. Bueno este problema se resuelve usando Threads, que son procesos pero que conparten una zona de memoria.
Te dejo unos links para que puedas aondar más en el asunto:
http://www.linuxselfhelp.com/HOWTO/C++Programming-HOWTO-18.html
http://threads.sourceforge.net/

6 respuestas más de otros expertos

Respuesta
1
Por ahora no pero si deseas trabajar conjuntamente conmigo con mucho gusto te puedo ayudar. Podríamos avanzar el código y viendo los errores que pueden producirse, ya he trabajado así con un par de personas por aquí, y les funcionó. Si deseas me planteas el ejercicio y podríamos trabajar.
Las listas enlazadas no son difíciles, y tampoco tengo inconveniente en ayudarte...
Hasta entonces.
Ok bueno mañana obtengo el enunciado y me pondré a trabajar en eso y te haré consultas, fue lo que escuche en que consiste el program algo así gracias!
Perfecto, trabajaremos en ello entonces.
Espero tus preguntas. Bytes
Respuesta
1
Je je no la verdad no tengo algo tan especifico pero es un problema interesante. Es un patrón de diseño del tipo PRODUCERs-CONSUMERs, por ahí van lor tiros (si no estas muy confortable con el C++, no te sonara nada):
El consumidores tiene esta pinta:
static AutoResetEvent eventProducerDone = new AutoResetEvent(false);
static AutoResetEvent eventConsumerDone = new AutoResetEvent(false);
static int currentNum = 0;
static void produce(object stateInfo)
{
            eventProducerDone.Set();
            while (true)
            {
                //wait for the consumer
                eventConsumerDone.WaitOne();
                currentNum++;
                eventProducerDone.Set();
            }
}
El Productor tendria esta:
static void Main(string[] args)
{
           ThreadPool.QueueUserWorkItem(new        
                        WaitCallback(produce));
            for (int i = 0; i < 20; i++)
            {
                eventProducerDone.WaitOne();
                System.Diagnostics.Debug.WriteLine(currentNum);
                eventConsumerDone.Set();
            }
}
Eso es una implementación del problema, puedes también implementar un scheduler.
Busca "producer consumer C++ example" con google y veras muchos ejemplos. Podras elegir el que te conviene mejor.
Suerte.
Respuesta
1
Su he querido hacer algo así
Pero tienes que saber sobre procesos(manejo y creación) ademas debemos crear un proceso que reciba otros como un proceso padre y los demás hijos
Lo que se me viene de idea es con hilos porque con procesos es bastante complicado pero si se puede hacer y con lo de memoria estructirada o en cola y dar estadísticas creo que eso es más fácil pero no tengo un código ya hecho habría que averiguar te averiguare
Respuesta
1
No entiendo muy bien tu pregunta, porque igual tienes que definir el espacio de memoria que vas a utilizar, creo que lo que me estas pidiendo seria algo como procesos mediante un ciclo para realizar cálculos de procesos atendidos..
Pero esto no es practico ya que depende del proceso y la velocidad del procesador el numero de ordenes atendidas
sin embargo buscare en mis apuntes por si encuentro algo
Los procesos se deben generar durante una serie de pasos1-30 aleatorios(tiempo) y después que los procesadores hayan atendidos los procesos que sumen 1000 pasos(tiempo) se genere la estadística
Respuesta
Bueno de tener no tengo el código de eso.
Respuesta
Lamento decerte que con lo que me dices no te puedo ayudar.. Pero quizá otro de los grandes expertos que existen en este setio Web te pueda ayudar..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas