Los primeros sistemas de computación permitían un solo usuario a la vez y asignaban los recursos completos a ese usuario. Más tarde, se introdujeron particiones fijas y dinámicas de memoria para permitir la multiprogramación, asignando espacio de memoria contiguo a cada proceso. Finalmente, las particiones dinámicas relocalizables permitieron que los procesos determinaran su ubicación en memoria de forma dinámica.
2. ADMINISTRACION DE LA MEMORIA Se refiere a los distintos métodos y operaciones que se encargan de obtener la máxima utilidad de la memoria, organizando los procesos y programas que se ejecutan de manera tal que se aproveche de la mejor manera posible el espacio disponible.
12. El primer esquema de asignación de la memoria funcionaba de la siguiente manera: Cada programa que se iba a procesar se cargaba completo en memoria y se le asignaba tanto espacio contiguo necesitara. Si el programa era demasiado grande y no cabía en el espacio de memoria disponible, no se podía ejecutar. A pesar de que las primeras computadoras eran demasiado grandes tenían muy poca memoria. Esto demuestra un factor limitante para todas las computadoras, tiene una cantidad finita de memoria y si un programa no cabe, hay que incrementar el tamaño de la memoria principal o modificar el programa.
13. PARTICIONES FIJAS El primer intento para posibilitar la multiprogramación fue la creación de las particiones fijas o estáticas, en la memoria principal, una partición para cada tarea. El tamaño de la partición se especificaba al encender el sistema, cada partición podía reconfigurarse al volver encender el sistema o reiniciar el sistema. Este esquema introdujo un factor esencial, la protección del espacio de memoria para la tarea. Una vez asignada una partición a una tarea, no se permitía que ninguna otra tarea entrara en sus fronteras. Este esquema de partición es mas flexible que la de usuario único, por que permite que varios programas estén en memoria al mismo tiempo.
14. PARTICIONES DINÁMICAS Con las particiones dinámicas, la memoria principal disponible aun se conserva en bloques contiguos, pero a las tareas nada mas se les da memoria que solicitan cuando se cargan para su procesamiento. Aunque es una mejoría significativa en relación con las particiones fijas, no se elimina el problema de las mismas. Un esquema de particiones dinámicas utiliza toda la memoria al cargar las primeras tareas, pero conforme entran nuevas tareas en el sistema que no son del mismo tamaño de las que acaban de salir de la memoria se acomodan en los espacios disponibles de acuerdo con su prioridad.
15. ASIGNACIÓN DE MEJOR AJUSTE EN COMPARACIÓN DE PRIMER AJUSTE Las estrategias más comunes para asignar algún hueco de la tabla son: Primer ajuste: Consiste en asignar el primer hueco con capacidad suficiente. La búsqueda puede iniciar ya sea al inicio o al final del conjunto de huecos o en donde terminó la última búsqueda. La búsqueda termina al encontrar un hueco lo suficientemente grande. Mejor ajuste: Busca asignar el espacio más pequeño de los espacios con capacidad suficiente. La búsqueda se debe de realizar en toda la tabla, a menos que la tabla esté ordenada por tamaño. Esta estrategia produce el menor desperdicio de memoria posible.
16. •Peor ajuste: Asigna el hueco más grande. Una vez más, se debe de buscar en toda la tabla de huecos a menos que esté organizada por tamaño. Esta estrategia produce los huecos de sobra más grandes, los cuales pudieran ser de más uso si llegan procesos de tamaño mediano que quepan en ellos. Se ha demostrado mediante simulacros que tanto el primer y el mejor ajuste son mejores que el peor ajuste en cuanto a minimizar tanto el tiempo del almacenamiento. Ni el primer o el mejor ajuste es claramente el mejor en términos de uso de espacio, pero por lo general el primer ajuste es más rápido.
17. Desasignación Consiste en liberar un espacio en la memoria y este espacio de querer liberar pasaría de un estado ocupado a un estado libre. Para el caso de la partición fija: Cuando se termina una tarea el administrador de memoria restablece el estado de bloque de memoria donde se asigno la tarea, como libre. Para el caso de partición dinámica: Este utiliza un algoritmo complicado, ya que trata de combinar áreas libres de memoria siempre que sea posible. Debe de estar preparado para las siguientes situaciones: 1.-Cuando el bloque que se va a desasignar esta junto a u otro libre 2.-Cuando el que esta por liberarse esta entre dos bloques libres 3.-Cuando el bloque que se va a liberar este aislado de otros bloques libres
19. Desasignación: caso 1 unión de bloques libres Este sistema utiliza el algoritmo anterior y ve que la memoria por liberar esta junto a un bloque de memoria libre.
21. Desasignación: caso 2 unión de tres bloques libres Cuando el espacio de memoria liberado esta entre dos bloques libres el proceso es similar, el sistema utiliza el algoritmo de la desasignación y descubre que la memoria que eta por liberar este entre dos bloques libres de memoria por lo que se debe de combinar las tres posiciones liebres y el total se almacena con la dirección de inicio mas pequeña
23. Desasignación: caso 3 de un bloque aislado Para este tipo de desasignación necesitamos saber en que formas esta configurada la lista de la memoria ocupada
25. Particiones dinámicas relocalizables Son la particiones en las cuales por medio de un código la tarea a realizar puede volver a determinar en un lugar específico.
26. CONCLUSION Se presentaron 4 técnicas de administración de la memoria, sistemas de un solo usuario, particiones fijas, particiones dinámicas y particiones dinámicas relocalizables. Estas tienen tres puntos en común, requieren que la totalidad del programa quede: Cargado a la memoria almacenado junto Y permanezca en la memoria hasta que se complete la tarea