Programa de Memoria Fija
description
Transcript of Programa de Memoria Fija
![Page 1: Programa de Memoria Fija](https://reader036.fdocuments.mx/reader036/viewer/2022082511/54646f21b4af9fd1478b476d/html5/thumbnails/1.jpg)
PROGRMA DE MEMORIA FIJA
INTRODUCCIÓN
La memoria estática es memoria que se reserva en el momento de la compilación, antes de comenzar a ejecutarse el programa. El inconveniente de la reserva estática es que la cantidad de memoria se reserva siempre antes de conocer los datos concretos del problema a resolver. Eso lleva a reservar siempre un máximo de memoria que en la mayor parte de las ocasiones no se va a necesitar. La reserva estática tampoco se adapta bien a la memoria real disponible en el ordenador en que se está ejecutando el programa.
OBJETIVO
Crear un programa de simulación de procesos, utilizando memoria fija.
import java.awt.*;import javax.swing.*;import java.util.*;import java.awt.event.*;import java.awt.*;import java.applet.*;import java.util.Random;
public class ParticleApplet extends Applet {
protected Thread[] threads=null;protected final ParticleCanvas canvas = new ParticleCanvas(300);public int cont=0;public int segmentos[]=new int [5];
public void init() {
add(canvas);}
public void paint(Graphics g) { g.setColor(Color.black); g.fillRect(0,0,800,800);
}protected Thread makeThread(final Particle p){
![Page 2: Programa de Memoria Fija](https://reader036.fdocuments.mx/reader036/viewer/2022082511/54646f21b4af9fd1478b476d/html5/thumbnails/2.jpg)
Runnable runloop=new Runnable(){
public void run(){System.out.println("runloop valor= "+p.valor+"de: "+p.nombre);
try{
System.out.println("runloop volumen= "+p.volumen);for(;;){
if(p.valor==0){
System.out.println("runloop volumen= "+p.volumen);
p.move();
canvas.repaint();
Thread.sleep(1300);}
}}catch(InterruptedException e){return;}
}};return new Thread(runloop);
}
public synchronized void start(){
segmentos[0]=300;segmentos[1]=500;segmentos[2]=800;segmentos[3]=1100;segmentos[4]=1400;int n=15;int v=15;int x1=15;int y2=101;
int e;if(threads==null){
Particle[] particles= new Particle[n];
![Page 3: Programa de Memoria Fija](https://reader036.fdocuments.mx/reader036/viewer/2022082511/54646f21b4af9fd1478b476d/html5/thumbnails/3.jpg)
JOptionPane.showMessageDialog(null, "PROGRAMA DE ADMINISTRACÌÓN DE MEMORIA","MEMORIA",JOptionPane.INFORMATION_MESSAGE);
JOptionPane.showMessageDialog(null, "EL MAXIMO DE PROCESOS ES 4\n EL TAMAÑO MAX DE UN PROCESO ES DE 300","MEMORIA",JOptionPane.INFORMATION_MESSAGE);
do{System.out.println("Programa MEMORIA");String respc;
respc = JOptionPane.showInputDialog("1)Nuevo PROCESO \n2) VER PROCESOS");
e = Integer.parseInt(respc);if(e==1){
respc = JOptionPane.showInputDialog(" ¿ Cantidad de TAMAÑO ? ");
int c = Integer.parseInt(respc);if(c<301){
cont+=1;if((cont%5)==0){
y2+=200;x1=5;
}if(cont==1)
particles[cont-1]=new Particle("PROCESO "+cont,x1,y2,16,16,false,0,c);
elseparticles[cont-1]=new
Particle("PROCESO "+cont,x1,y2,16,16,false,v,c);v-=1;
y2+=73;}else
JOptionPane.showMessageDialog(null, "EL MAXIMO DE TIEMPO ES 300","MEMORIA",JOptionPane.INFORMATION_MESSAGE);
}}while(e!=2&&cont!=5);
![Page 4: Programa de Memoria Fija](https://reader036.fdocuments.mx/reader036/viewer/2022082511/54646f21b4af9fd1478b476d/html5/thumbnails/4.jpg)
canvas.setParticles(particles);threads=new Thread[cont];
for(int i=0;i<cont;++i){
System.out.println("numero de hilos "+threads.length);threads[i]=makeThread(particles[i]);
threads[i].setPriority(i+1);threads[i].start();
}
}
}
public synchronized void stop(){if(threads != null){
for(int i=0;i<threads.length;++i)threads[i].interrupt();
threads=null;}
}
}
![Page 5: Programa de Memoria Fija](https://reader036.fdocuments.mx/reader036/viewer/2022082511/54646f21b4af9fd1478b476d/html5/thumbnails/5.jpg)
EJECUCIÓN DEL PROGRAMA
![Page 6: Programa de Memoria Fija](https://reader036.fdocuments.mx/reader036/viewer/2022082511/54646f21b4af9fd1478b476d/html5/thumbnails/6.jpg)
CREAMOS UN PROCESO CON LA PRIMERA OPCION, Y DESPUÉS LE DAMOS SU TAMAÑO.
![Page 7: Programa de Memoria Fija](https://reader036.fdocuments.mx/reader036/viewer/2022082511/54646f21b4af9fd1478b476d/html5/thumbnails/7.jpg)
EN ESTE EJEMPLO CREAMOS TRES PROCESOS Y DESPUÉS EL PROGRAMA NOS MUESTRA LA SIMULACIÓN
![Page 8: Programa de Memoria Fija](https://reader036.fdocuments.mx/reader036/viewer/2022082511/54646f21b4af9fd1478b476d/html5/thumbnails/8.jpg)