Está en la página 1de 66

2.

ADMINISTRACIÓN DE
MEMORIA
2.1. Administración de memoria
2.1.1. Introducción a la administración de memoria
2.1.2. Esquemas de asignación de memoria
2.1.3. Memoria Principal
2.1.4. Memoria Cache
2.1.5. Memoria Virtual
2.1. Administración de memoria
• La gestión de memoria o administración de memoria es el acto de
gestionar la memoria de un dispositivo informático. El proceso de
asignación de memoria a los programas que la solicitan.1​ La gestión
de la memoria principal de una computadora es una tarea de suma
importancia para el funcionamiento de la misma.
Fuente de información :
FUNDAMENTOS DE SISTEMAS OPERATIVOS
https://sistop.org/pdf/sistemas_operativos.pdf
GESTION DE MEMORIA
Gestión de la memoria. Antecedentes
• La memoria física es un conjunto de celdas referenciables por medio de una
dirección lineal (p.ej. de la 00000h a la FFFFFh)
• Para que un programa se ejecute, su código y sus datos necesitan estar
cargados en memoria (al menos en parte)
• En un sistema multitarea, la memoria ha de repartirse entre los diferentes
procesos
Ciclo de vida de
un programa
Intercambio (swapping)
Cuestionario Unidad 2 Administración de Memoria
1. Indique la jerarquía de memoria del computador?
2. Cuales son las tareas de gestión de memoria del sistema operativo?
3. Realice el proceso de compilación y carga de un programa? (Hacer
esquema)
4. En los sistemas operativos mono programados generalmente como se
organiza la memoria?
5. Indique los esquemas de asignación de memoria?
6. Realice un esquema de asignación de memoria con partición fija de igual
tamaño.
7. De un ejemplo de cargar procesos en la memoria, y como compiten por la
cpu y al acabar liberan la memoria.
Fuente de información:
• Tanenbaum A. (1992). "Sistemas Operativos Moderno". Prentice Hall
• Stallings W. (2001) “Sistemas Operativos”, Principios De Diseño E
Interioridades; Prentice Hall.
• Silberschatz. (2006). “Fundamentos De Sistemas Operativos”.
Mcgraw-Hil. 7ma Edición
• Deitel, Harvey M. (2005). “Introducción A Los Sistemas Operativos”
Addison Wesley Iberoamericana.
Gestión de procesos
Un proceso es simplemente, un programa en ejecución
que necesita recursos para realizar su tarea: tiempo de
CPU, memoria, archivos y dispositivos de E/S. El SO es el
responsable de:
• Crear y destruir procesos
• Parar y reanudar procesos
• Ofrecer mecanismos para que los procesos puedan
comunicarse y se sincronicen
Componentes del Sistema Operativo.
Gestión de ejecución de aplicaciones
Hilo de ejecución
En sistemas operativos, un hilo de ejecución, hebra o
subproceso es la unidad de procesamiento más pequeña
que puede ser planificada por un sistema operativo.
Un hilo es simplemente una tarea que puede ser ejecutada al mismo
tiempo con otra tarea.
Los hilos de ejecución que comparten los mismos recursos, sumados a
estos recursos, son en conjunto conocidos como un proceso.
Los hilos presentan estados, los principales de ellos son: Ejecución,
Listo y Bloqueado. No tiene sentido asociar estados de suspensión de
hilos ya que es un concepto de proceso.
Algunos lenguajes de programación tienen características de diseño expresamente
creadas para permitir a los programadores lidiar con hilos de ejecución (como Java o
Delphi).
Procesos y subprocesos
• Todas las computadoras modernas pueden hacer varias cosas al mismo
tiempo.
• En un sistema de multiprogramación, la CPU también cambia de un programa
a otro, ejecutando cada uno durante decenas o centenas de milisegundos.
Procesos y subprocesos
El modelo de procesos
El modelo de procesos
• En lo conceptual, cada proceso tiene su propia CPU virtual.
• En la realidad, la verdadera CPU cambia en forma continua de un proceso a otro.
La rápida conmutación se denomina multiprogramación.

Figure 1: Multiprogramación de cuatro programas


Varios procesos pueden compartir un solo procesador, y se
usa algún algoritmo de calendarización para determinar
cuándo hay que dejar de trabajar en un proceso y atender
otro.
Creación de procesos
Hay cuatro sucesos principales que causan la creación de
procesos:
1. Inicialización del sistema
2. Ejecución de una llamada al sistema para crear procesos por
parte de un proceso en ejecución.
3. Solicitud de un usuario para crear un proceso
4. Inicio de un trabajo por lotes
Procesos
• Es común que un proceso en ejecución emita llamadas al sistema para
crear uno o más procesos que le ayuden a su labor.
Cuando se arranca un s.o., por lo regular se crean varios procesos. Algunos son de
primer plano; es decir, procesos que interactúan con usuarios y trabajan para ellos.
Otros son procesos de segundo plano que no están asociados con un usuario en
particular, sino que tienen una función específica.
Terminación de procesos
1. Terminación normal (voluntaria).
2. Terminación por error
(voluntaria).
3. Error fatal (involuntaria).
4. Terminado por otro proceso
(involuntaria).
5. La mayoría de los procesos
termina porque ya realizó su
trabajo.
Estados de procesos
Es común que un proceso tenga que interactuar con otros procesos (aún
cuando tiene su propio contador de programas y estado interno).
Estados de procesos
Subprocesos
El modelo de subprocesos
CREACION DE PROCESOS
• Éste tiene un contador de programa que indica cuál instrucción se ejecutará a
continuación, tiene registros, que contienen sus variables de trabajo actuales, y
tiene una pila, que contiene el historial de ejecución.
• Los procesos sirven para agrupar recursos; los subprocesos son las entidades
que se calendarizan para ejecutarse en la CPU.
El termino múltiples procesos se emplea para describir la situación en la
que se permite varios subprocesos en el mismo proceso.
Fuente de información:
• Tanenbaum A. (1992). "Sistemas Operativos Moderno". Prentice Hall
• Stallings W. (2001) “Sistemas Operativos”, Principios De Diseño E
Interioridades; Prentice Hall.
• Silberschatz. (2006). “Fundamentos De Sistemas Operativos”.
Mcgraw-Hil. 7ma Edición
• Deitel, Harvey M. (2005). “Introducción A Los Sistemas Operativos”
Addison Wesley Iberoamericana.

También podría gustarte