Crear un programa que simule un sistema operativo primitivo de línea de comandos que
controle la asignación y liberación de memoria, el manejo de sistema de archivos, las
actividades de entrada y salida que contenga un administrador de reloj que permita cambiar
la hora del sistema.
Este proyecto se realiza en visual studio.
Asignación de memoria se refiere a asignar a un trabajo, un proceso a un espacio de la
memoria para que se pueda ejecutar. La desasignación de memoria se puede hacer de tres
maneras: mediante la liberación de memoria, mediante el administrador de la memoria y
mediante un algoritmo. La liberación de la memoria, luego de que cada proceso haya sido
asignado en la memoria y que hayan sido ejecutados es necesario liberar el espacio de
memoria para que otros trabajos puedan ser ejecutados. Las otras se establecen el estado
del bloque donde está el trabajo y el otro analiza tres casos: la unión de dos bloques libres y
desasignación de un bloque estado; respectivamente.
Se crea la interfaz de nuestro proyecto. Primero con la parte de FrmAsignacion el cual nos
sirve para la cantidad de partes que vamos a generar.
Después en el FrmProyecto esta nuestra parte donde vamos a hacer la asignación y la
designación. En este caso tenemos un txt para el nombre de la tarea a crear, un txt para el
tamaño de la tarea que vamos a crear que se mide en kb, un botón desasignar ( el cual
necesita que tengamos seleccionada una fila de nuestras particiones en la lista), vamos a
tener una lista de referencia donde se guardan todas las particiones para después
desasignar un espacio grande por una tarea en espera y se puede dar idea del tamaño de
la partición, una lista para que se agregue tarea tras tarea creada.
Se ejecuta el programa y lo primero que nos sale es el formulario asignación.
Nos dirigimos a la pestaña opciones que es para definir nuestro rango de particiones, es
decir, la cantidad que tendrá cada partición y hacerlo de manera manual, se deja el rango
de 1000 a 9999.
Regresamos a la pestaña partición que es la cantidad de particiones que vamos a crear, por
ejemplo podríamos colocar el número 5 para que haga 5 particiones. Por ultimo
presionamos el botón generar que nos manda al formulario proyecto el cual va a tener
nuestra parte de asignación y desasignación.
Comenzamos a ingresar tareas, por ejemplo podemos agregar excel con un tamaño 5000.
Seguimos añadiendo tareas y se nota como es que una tarea no puede ser asignada por no
entrar en el tamaño de ninguna partición disponible. Una vez que se terminó de usar la
partición que es del tamaño necesario (mediante la selección de la tarea y presionando el
botón desasignar) se observa que la tarea en espera ya se ejecuta.
El código es el siguiente: