Requisito previo: métodos de asignación de particiones
Asignación de memoria contigua :
probablemente la técnica menos difícil para la porción de memoria es aislar la memoria en unas pocas particiones fijas. Cada partición contiene precisamente un proceso. El nivel de multiprogramación depende del número de particiones. En la técnica de partición diferente, cuando una partición está libre, el proceso se elige de la línea de información y se apila en la partición de memoria libre. En el momento en que finaliza un proceso, la partición de memoria se abre para otro proceso. Batch OS utiliza la conspiración de partición de tamaño fijo.
El sistema operativo mantiene una tabla que demuestra qué parte de la memoria está libre y está involucrada. En el momento en que el proceso ingresa al marco, se apilará en la línea de información. El sistema operativo supervisa el requisito previo de memoria de cada proceso y la cantidad de memoria disponible y determina qué proceso designar la memoria también. Cuando un proceso requiere, el sistema operativo busca el gran agujero para este proceso, el agujero es un gran cuadrado de memoria libre accesible. Si el agujero es demasiado grande, se parte en dos. Una parte se dispensa al proceso de mención y la otra se vuelve a la disposición de agujeros. Se analiza la disposición de los orificios para determinar qué orificio es ideal para dispensar. Existen tres metodologías para elegir un hoyo libre:
Primer bit :
asigna el orificio principal que es adecuadamente grande. Este algoritmo examina la memoria desde el principio y elige el cuadrado más fácilmente accesible que es suficientemente grande para contener el proceso.
Mejor bit :
selecciona el agujero, es decir, el tamaño más cercano a la solicitud. Asigna el agujero más pequeño, es decir, lo suficientemente grande para contener el proceso.
Peor ajuste :
selecciona el agujero, es decir, el tamaño más cercano a la solicitud. Asigna el agujero más pequeño, es decir, lo suficientemente grande para contener el proceso.
Sistemas operativos: en
primer lugar, el ajuste y el mejor ajuste son los algoritmos más comunes para la designación de memoria dinámica. El primer ajuste es, en general, más rápido. El mejor ajuste busca todo el recorrido para localizar el agujero más pequeño, es decir, lo suficientemente grande. El peor ajuste disminuye el ritmo de creación de los agujeros más pequeños. Cada uno de estos algoritmos experimenta los efectos nocivos de la fragmentación.
Protección de la memoria:
la protección de la memoria implica proteger el sistema operativo del proceso del usuario y proteger el proceso entre sí. La protección de la memoria se proporciona mediante la utilización de un registro de reubicación, con un registro de punto de ruptura. El registro de reubicación contiene los valores de la dirección real más pequeña y el registro de puntos de corte contiene un alcance de direcciones lógicas.
(Reubicación = 100040 y límite = 74600). La dirección lógica no debe ser exactamente el registro del punto de ruptura; la MMU mapea la dirección lógica dinámicamente agregando el incentivo en el registro de reubicación. En el momento en que el programador de la CPU elige un proceso para su ejecución, el despachador apila el registro de reubicación y corte con los valores correctos como parte del interruptor de configuración. Dado que cada dirección creada por la CPU se compara con estos registros, podemos proteger el sistema operativo y los programas y datos de otros usuarios para que no se alteren.
Fragmentación :
la fragmentación de la memoria puede ser de dos tipos: fragmentación interna y fragmentación externa. En la fragmentación interna, se desperdicia espacio dentro de un segmento porque el cuadrado de datos apilados es más modesto que la partición. Ejemplo: si hay un cuadrado de 50 kb y si el proceso solicita 40 kb y si el cuadrado se asigna al proceso, en ese momento quedarán 10 kb de memoria.
La Fragmentación Externa existe cuando existe suficiente espacio de memoria para cumplir con la solicitud, sin embargo, no está bordeando, es decir, el almacenamiento se divide en una enorme cantidad de pequeños agujeros. La fragmentación externa puede ser un problema menor o significativo. Una respuesta para vencer la fragmentación exterior es la compactación. El objetivo es juntar toda la memoria libre para enmarcar un cuadrado enorme. La compactación está más allá del reino de la imaginación consistentemente. Si la reubicación es estática y se realiza en el momento de la carga, en ese momento la compactación está más allá del ámbito de la imaginación. Otra respuesta concebible para el problema de la fragmentación externa es permitir que el espacio de direcciones lógicas de un proceso no sea fronterizo, lo que permite que el proceso reciba memoria real en cualquier punto al que se pueda acceder.
Segmentación :
la mayoría de los usuarios no consideran la memoria como una array directa de bytes, sino que consideran que la memoria es un conjunto de segmentos de tamaño variable que se dedican a un uso específico. Ejemplo: código, datos, pila, pila, etc. Una dirección lógica es una variedad de segmentos. La dirección determina tanto el nombre del segmento como el desplazamiento dentro de los segmentos. Los usuarios indican la dirección utilizando dos cantidades: un nombre de segmento y una compensación. Para facilitar el trabajo, los segmentos están numerados y se hace referencia a ellos mediante un número de segmento. Entonces, la dirección lógica comprende <número de segmento, desplazamiento>.
Publicación traducida automáticamente
Artículo escrito por pspraveensharma6 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA