¿En qué consiste el programa?
Enviado por Victor Zuñiga • 28 de Febrero de 2017 • Apuntes • 4.780 Palabras (20 Páginas) • 361 Visitas
Benemérita Universidad Autónoma de Puebla.[pic 1]
Facultad de Ciencias de la Computación.
[pic 2]
Ingeniería en Ciencias de la Computación.
REPORTE DE TAREA COLABORATIVA:
Memoria Virtual de un Proceso
Profesor: Ma. Carmen Cerón Garnica
Materia: Sistemas Operativos 2
Fecha: 30/Enero/2017
Alumno:
- Erick Hidalgo Sánchez Matrícula: 201310805
- Luis David Morales Alcántara Matrícula: 201319034
- Ana Paola Arcos Rodríguez Matrícula: 201320105
- Víctor Hugo Zúñiga Morales Matrícula: 201213015
Introducción
¿En qué consiste el programa?
En el siguiente programa se muestra la simulación de la asignación de particiones de la memoria a los procesos entrantes del sistema, según el número de particiones y procesos que fijemos en el programa. Presentaremos una interfaz del Programa para explicar que realiza cada uno de los campos de la aplicación. Describiremos algunas de las funciones principales de nuestro programa Adjuntaremos el código donde desarrollamos la inserción de particiones al igual que de procesos. Presentaremos una captura de salida de la aplicación.
- Desarrollo de la práctica
- Planteamiento
En esta práctica realizamos la simulación de memoria paginada, esta se hizo en java usando un JFrame.
- Especificar interrupciones y librerías.
java.awt.event.ActionListener
Si queremos que este JFrame maneje eventos, debemos importar este paquete y utilizar la interface ActionListener para implementar la accion que responda al evento en el método actionPerformed().
java.util.*
Está libreria la usamos para que cada proceso se almacene en un ArrayList().
javax.swing.*
Está libreria se usa para poder usar todos los components que ocupa el JFRAME
javax.swing.table.DefaultTableModel;
Aqui se importa deafulttablemodel para rellenar la table donde estran los pprocesos.
- Código en JAVA
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class Ventana extends JFrame implements ActionListener{
private final JPanel cntPane;
private final JLabel lbParticion, lbProceso, lbDescripcion, memory, proceso, FI;
private final JTextField txtParticion, txtProceso;
private final DefaultTableModel modelo;
private final JTable tabla;
private final JScrollPane scrollpane;
private final JComboBox cmbAlgoritmo;
private ArrayList
private final ArrayList
private final JButton btnLimpiar;
int ant = 0;
public Ventana(){
super("Simulador");
listProcesos = new ArrayList<>();
listParticiones = new ArrayList<>();
copy = new ArrayList<>();
guardado = new ArrayList<>();
fragmentacion = new ArrayList<>();
memoryOrdenada = new ArrayList<>();
memoria = new ArrayList<>();
cntPane = new JPanel();
setContentPane(cntPane);
cntPane.setLayout(null);
lbParticion = new JLabel("Agregar particiones: ");
lbParticion.setBounds(40, 20, 120, 20);
cntPane.add(lbParticion);
txtParticion = new JTextField();
txtParticion.setBounds(180, 20, 80, 20);
txtParticion.addActionListener(this);
cntPane.add(txtParticion);
lbProceso = new JLabel("Agregar procesos: ");
lbProceso.setBounds(300, 20, 120, 20);
cntPane.add(lbProceso);
txtProceso = new JTextField();
txtProceso.setBounds(420, 20, 80, 20);
txtProceso.addActionListener(this);
cntPane.add(txtProceso);
lbDescripcion = new JLabel("*Dar enter en cualquier campo para agregar");
lbDescripcion.setBounds(10, 60, 300, 20);
lbDescripcion.setForeground(Color.BLUE);
cntPane.add(lbDescripcion);
memory = new JLabel("Memoria");
memory.setBounds(50, 140, 80, 20);
cntPane.add(memory);
proceso = new JLabel("Proceso");
proceso.setBounds(50, 160, 80, 20);
cntPane.add(proceso);
FI = new JLabel("Fi");
FI.setBounds(80, 180, 80, 20);
cntPane.add(FI);
modelo = new DefaultTableModel();
tabla = new JTable (modelo);
scrollpane = new JScrollPane(tabla);
scrollpane.setBounds(100, 140, 400, 60);
...