Sistemas Operativos, Manejo de la memoria 4 Asignación contigua — Transcript
Full transcript
- 0:01Hola, ¿qué tal? ¿Cómo estás? Seas
- 0:03bienvenido al curso Fundamentos de
- 0:04Sistemas Operativos. Estamos viendo
- 0:07manejo de la memoria.
- 0:09Hago referencia al capítulo ocho del
- 0:11libro de texto de Silberschatz y Galvin.
- 0:14A continuación vamos a ver lo que es la
- 0:16asignación contigua.
- 0:19¿A qué me refiero con esto? Pues bueno,
- 0:21vamos a empezar con la memoria en dos
- 0:23particiones.
- 0:25En la primera partición voy a tener el
- 0:27sistema operativo residente que se
- 0:29mantiene en la parte baja de la memoria,
- 0:32es decir, al principio de la memoria
- 0:34junto con lo que son los vectores de
- 0:37interrupción.
- 0:38¿Sí sabes lo que son los vectores de
- 0:39interrupción? Bueno,
- 0:41espero que sí. Si no, pues lo que es es
- 0:44una tabla que contiene direcciones de
- 0:46memoria hacia donde se va a transferir
- 0:48el control
- 0:49cada que ocurra una de las
- 0:52interrupciones.
- 0:53El resto de la memoria pues es el
- 0:55espacio que tengo
- 0:57para cargar los procesos.
- 1:01Ahora, ¿qué es la asignación contigua?
- 1:02Pues bueno, yo aquí tengo una partición,
- 1:05¿de acuerdo?
- 1:06Voy a tener una partición que la voy a
- 1:09asignar a un proceso.
- 1:11Y para esto pues voy a tener un registro
- 1:14de recolocación utilizado para la
- 1:17protección, ¿de acuerdo? Es decir, voy a
- 1:20tener un registro base.
- 1:22Este registro base contiene el valor de
- 1:25la dirección física más pequeña, es
- 1:27decir, en cuál dirección física inicia
- 1:31esa partición.
- 1:34Y voy a tener un registro límite que
- 1:37contiene el tamaño de esa partición.
- 1:40De esta manera,
- 1:42pues con el registro base y el registro
- 1:44límite
- 1:45yo voy a tener el rango de direcciones
- 1:48lógicas que corresponden a esa
- 1:50partición.
- 1:53Ahora, eh cada dirección lógica que voy
- 1:56a tener dentro de la partición debe ser
- 1:59más pequeña que el registro límite, es
- 2:02decir, todas las direcciones lógicas del
- 2:04proceso deben de estar entre el registro
- 2:07base y el registro límite, ¿sí?
- 2:10Si está alguna dirección fuera de ese
- 2:14rango, pues obviamente debe de ocurrir
- 2:16una excepción.
- 2:19Ahora pues podemos tener múltiples
- 2:23particiones, ¿de acuerdo?
- 2:25Y cuando esto ocurre,
- 2:27pues vamos a empezar a tener huecos.
- 2:29¿Qué son los huecos? Son bloques de
- 2:31memoria disponible que se van creando
- 2:34conforme las particiones empiezan a
- 2:37crear y empiezan a desaparecer.
- 2:40Es decir, se van creando huecos en la
- 2:42memoria que van a ser de diferentes
- 2:44tamaños.
- 2:47Cuando llega un proceso se asigna a
- 2:49memoria un hueco lo suficientemente
- 2:52grande para acomodar ese proceso.
- 2:56Y el sistema operativo pues va a
- 2:57mantener información sobre las
- 2:59particiones asignadas y las particiones
- 3:02libres.
- 3:05Vamos a ver un ejemplo.
- 3:07Yo aquí tengo
- 3:08una partición que es para el sistema
- 3:10operativo de 128 KB.
- 3:13Aquí llega un proceso
- 3:16que mide 320 KB
- 3:19y se crea una partición
- 3:21para ese proceso uno.
- 3:24Posteriormente llega otro proceso que
- 3:26requiere 224
- 3:29KB
- 3:30y se crea una partición para este
- 3:32proceso dos.
- 3:34Llega el proceso tres que requiere una
- 3:37partición de 288
- 3:39KB, se crea una partición para ese
- 3:42proceso.
- 3:43Pero
- 3:44el proceso dos termina su ejecución.
- 3:48¿Qué pasa? Que tenemos ahora entre el
- 3:49proceso uno y el proceso tres tenemos un
- 3:52hueco, ¿de acuerdo?
- 3:54Ahora, si llega un proceso cuatro que
- 3:57ahora es
- 3:59de 128 KB, es decir, más pequeño que
- 4:02este hueco, ¿qué va a pasar? Pues ahora
- 4:04yo voy a tener
- 4:06un espacio de 96 KB entre el proceso 4 y
- 4:11el proceso 3.
- 4:12¿Qué es esto? Pues esto es un hueco.
- 4:16Si también termina el proceso 1 y ahora
- 4:19regresa el proceso 2 y se carga en el
- 4:22hueco donde estaba el proceso 1,
- 4:26este hueco pues era de 320 KB, el
- 4:30proceso 2 solamente requiere 224, es
- 4:33decir, ahora tengo otro hueco de 96 KB.
- 4:39Ahora pues vamos a ver algunos
- 4:42algoritmos de ubicación que son
- 4:45para poder crear nuevas particiones en
- 4:48los huecos, ¿de acuerdo?
- 4:50Vamos a suponer
- 4:52que tenemos
- 4:54estas particiones que están aquí
- 4:56señaladas en color gris. Lo que esté en
- 4:59color blanco son los huecos, es decir,
- 5:02los bloques libres.
- 5:05Aquí fue el último hueco que se asignó,
- 5:07este que está señalado aquí de 14 KB
- 5:11y
- 5:12de repente pueden
- 5:15llegar nuevas solicitudes
- 5:17para poder
- 5:19asignar o crear particiones y la
- 5:22pregunta es cómo vamos a satisfacer esas
- 5:24solicitudes de tamaño N
- 5:28considerando los bloques libres que
- 5:30tenemos, es decir, los huecos, ¿de
- 5:32acuerdo?
- 5:34La primera es el primer ajuste.
- 5:36¿Qué es el primer ajuste? Pues empiezas
- 5:38a buscar desde el principio de la
- 5:40memoria
- 5:42y buscas el primer hueco donde puede
- 5:44caber el proceso, ¿de acuerdo? Aquí, por
- 5:47ejemplo, pues quedamos que era un
- 5:48proceso de 14 KB,
- 5:51se encontró este primer hueco de 22 KB y
- 5:54ahí fue donde cupo
- 5:56ese proceso, ¿de acuerdo?
- 6:00También podemos pensar en el mejor
- 6:03ajuste. ¿Qué es el ajuste?
- 6:05Pues buscar el bloque más pequeño donde
- 6:08pueda caber ese proceso. El problema es
- 6:11que los huecos que me van a quedar, es
- 6:13decir, lo que me va a sobrar,
- 6:15van a ser huecos muy pequeños, es decir,
- 6:18fragmentos muy pequeños que después no
- 6:20voy a poder utilizar para pues para
- 6:23nada.
- 6:26También tenemos el siguiente ajuste
- 6:29que es después de donde se asignó el
- 6:32último bloque, buscar la siguiente
- 6:35partición o hueco lo suficientemente
- 6:38grande donde pueda caber el proceso.
- 6:44Y otro es el peor ajuste que, bueno,
- 6:47suena a peor, pero aguas que no puede
- 6:50ser lo peor, al contrario, podría ser lo
- 6:52mejor.
- 6:53¿Qué es esto?
- 6:55Pues buscar el hueco más grande
- 6:58para poder poner esa partición que
- 7:01estamos solicitando.
- 7:04¿Cuál es la ventaja del peor ajuste?
- 7:06Pues que los huecos que me van a sobrar
- 7:08van a ser huecos muy grandes
- 7:11donde voy a poder meter
- 7:14más particiones o más procesos.
- 7:20Esto me va a producir algo que se llama
- 7:23fragmentación externa. ¿Qué es la
- 7:25fragmentación externa? Pues es
- 7:28este espacio de memoria
- 7:31que va a haber entre cada una de las
- 7:33particiones
- 7:35y de alguna manera pues tenemos que las
- 7:37particiones no van a estar contiguas,
- 7:39sino que vamos a tener aquí una
- 7:40partición, luego aquí vamos a tener un
- 7:43hueco, vamos a tener otra partición y
- 7:45vamos a tener otro hueco. Es decir, va a
- 7:48haber huecos entre las particiones.
- 7:54También puedo tener algo que se llama
- 7:55fragmentación interna. ¿Qué es la
- 7:58fragmentación interna?
- 8:00Pues resulta que si yo, por ejemplo, le
- 8:03asigno una partición a un proceso,
- 8:07pero dentro de esa partición no se
- 8:10utiliza toda el espacio de esa
- 8:12partición, es decir, sobreespacio dentro
- 8:14de esa partición,
- 8:16ese espacio que sobra va a ser la
- 8:18fragmentación interna, ¿de acuerdo? Es
- 8:22decir, la memoria asignada
- 8:25puede ser un poco mayor a la memoria
- 8:27solicitada
- 8:28y, por lo tanto, esta pequeña cantidad
- 8:31de memoria que sobra dentro de una
- 8:33partición que no se utiliza es la
- 8:35fragmentación interna.
- 8:39Ahora, pues bueno, aquí tengo
- 8:40fragmentación externa otra vez, ¿por
- 8:42qué? Porque tengo las particiones
- 8:45y tengo los huecos que están entre cada
- 8:48una de las particiones.
- 8:50¿Y cómo puedo reducir esa fragmentación
- 8:52externa? Pues una técnica es la
- 8:53compactación. ¿Qué quiere decir esto?
- 8:57Pues que voy a desplazar el contenido de
- 8:59la memoria
- 9:00para tener, por ejemplo, toda la memoria
- 9:03disponible en un solo bloque. Es decir,
- 9:06podemos hacer algo así
- 9:08y ahora todos estos huecos
- 9:11pues ya desaparecieron y ahora tengo la
- 9:13memoria disponible
- 9:14en este bloque que me queda al final,
- 9:16que va a ser un bloque pues mucho más
- 9:18grande.
- 9:19¿De acuerdo?
- 9:21Esto se puede hacer
- 9:22solo si la recolocación es dinámica, es
- 9:25decir, las direcciones se pueden
- 9:28calcular en tiempo de ejecución.
- 9:31Y ahora, pues un pequeño detalle, ¿cada
- 9:33cuándo voy a tener que hacer eso?
- 9:35¿Qué costo va a tener? Es decir, qué
- 9:38costo me refiero en tiempo
- 9:40va a tener el que yo tenga que estar
- 9:42moviendo las particiones, ¿de acuerdo?
- 9:46Obviamente pues esto se va a hacer
- 9:48durante el tiempo de ejecución.
- 9:50Gracias por tu atención, espero haya
- 9:52quedado claro y si no, pues resolvemos
- 9:54las dudas.
About this transcript
This page contains the full transcript of Sistemas Operativos, Manejo de la memoria 4 Asignación contigua by Mtro. José Luis Elvira, generated from the public captions YouTube serves with the video. The transcript has 1,312 words across 239 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.