Este documento describe varios métodos para la administración de memoria en sistemas operativos, incluyendo monoprogramación, multiprogramación con particiones fijas y variables, paginación, memoria virtual, y algoritmos de reemplazo de páginas como FIFO, NRU y óptimo. Explica cómo estos métodos permiten que múltiples procesos residan simultáneamente en memoria principal para mejorar el aprovechamiento del CPU.
Se trata de una división dentro de una unidad de almacenamiento o disco duro con su propio sistema de archivos. A pesar de poder tener un único disco duro físico, el sistema tratará a las particiones como si fueran discos duros independientes, donde a cada partición se le asigna una unidad a cada una de ellas.
Universidad Técnica Particular de Loja
Ciclo Académico Abril Agosto 2011
Carrera: Ciencias de la Computación
Docente: Ing. Liliana Enciso
Ciclo: Quinto
Bimestre: Segundo
Presentacion acerca de los temas de administración de memoria, administración de la memoria sin intercambio o paginación, Mono programación sin intercambio o paginación, Multiprogramación y uso de la memoria, Multiprogramación con particiones fijas, etc.
Porfolio livings creados por Carlotta Designpaulacoux1
La sección de porfolio de livings de Carlotta Design es una muestra de la excelencia y la creatividad en el diseño de interiores. Cada proyecto en el porfolio refleja la visión única y el estilo distintivo de Carlotta Design, mostrando la habilidad del equipo para transformar espacios en ambientes acogedores, elegantes y funcionales. Desde salas de estar modernas y contemporáneas hasta espacios más tradicionales y clásicos, la variedad de estilos y diseños en el porfolio demuestra la versatilidad y la capacidad del equipo para adaptarse a las necesidades y gustos de cada cliente.
Las fotografías de alta calidad en el porfolio capturan la atención al detalle, los materiales de alta calidad y la combinación de texturas y colores que hacen que cada sala de estar sea única y especial. Además, la sección de porfolio de livings de Carlotta Design destaca la integración de muebles y accesorios cuidadosamente seleccionados para crear ambientes armoniosos y sofisticados.
En resumen, la sección de porfolio de livings de Carlotta Design es una ventana a la excelencia en el diseño de interiores, mostrando el talento y la dedicación del equipo para crear espacios extraordinarios que reflejan la personalidad y el estilo de cada cliente.
El movimiento moderno en la arquitectura venezolana tuvo sus inicios a mediados del siglo XX, influenciado por la corriente internacional del modernismo. Aunque inicialmente fue resistido por la sociedad conservadora y los arquitectos tradicionalistas, poco a poco se fue abriendo camino y dejando una huella importante en el país.
Uno de los arquitectos más destacados de la época fue Carlos Raúl Villanueva, quien dejó un legado significativo en la arquitectura venezolana con obras como la Ciudad Universitaria de Caracas, considerada Patrimonio de la Humanidad por la UNESCO. Su enfoque en la integración de la arquitectura con el entorno natural y la creación de espacios que favorecen la interacción social, marcaron un punto de inflexión en la arquitectura venezolana.
Otro arquitecto importante en la evolución del movimiento moderno en Venezuela fue Tomás Sanabria, quien también abogó por la integración de la arquitectura con el paisaje y la creación de espacios abiertos y funcionales. Su obra más conocida es el Parque Central, un complejo urbanístico que se convirtió en un ícono de la modernidad en Caracas.
En la actualidad, el movimiento moderno sigue teniendo influencia en la arquitectura venezolana, aunque se ha visto enriquecido por nuevas corrientes y enfoques que buscan combinar la modernidad con la identidad cultural del país. Proyectos como el Centro Simón Bolívar, diseñado por el arquitecto Fruto Vivas, son ejemplos de cómo la arquitectura contemporánea en Venezuela sigue evolucionando y adaptándose a las necesidades actuales.
Arquitectura Ecléctica e Historicista en Latinoaméricaimariagsg
La arquitectura ecléctica e historicista en Latinoamérica tuvo un impacto significativo y dejó un legado duradero en la región. Surgida entre finales del siglo XIX y principios del XX, esta corriente arquitectónica se caracteriza por la combinación de diversos estilos históricos europeos, adaptados a los contextos locales.
Porfolio de diseños de Comedores de Carlotta Designpaulacoux1
calidad en el porfolio capturan la atención al detalle, la calidad de los materiales y la armonía de colores y texturas en cada diseño. El cuidadoso equilibrio entre muebles, iluminación y elementos decorativos se destaca en cada espacio, creando ambientes acogedores y sofisticados.
En resumen, la sección de porfolio de comedores de Carlotta Design es un reflejo del compromiso del equipo con la excelencia en el diseño de interiores, mostrando su habilidad para crear ambientes únicos y personalizados que sobresalen por su belleza y funcionalidad
DIA DE LA BANDERA PERUANA EL 7 DE JUNIO DE 182062946377
Diseño del dia de la bandera. El 7 de junio se celebra en todo el Perú el Día de la Bandera, una fecha que conmemora el aniversario de la Batalla de Arica de 1880, un enfrentamiento histórico en el que las tropas peruanas se enfrentaron valientemente a las fuerzas chilenas durante la Guerra del Pacífico.
1. UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES
“UNIANDES”
FACULTAD DE SISTEMAS MERCANTILES
ESCUELA DE DISEÑO Y COMUNICACIÓN VISUAL
SEMIPRESENCIAL
SEPTIMO NIVEL
TRABAJO DE SISTEMAS OPERATIVOS
ALUMNA:
TATIANA SÁNCHEZ.
ING. DARIO MALDONADO
TULCÁN, DICIEMBRE DEL 2011.
2. ADMINISTRACION DE MEMORIA
Administración de Memoria en Monoprogramación, en
Multiprogramación, Particiones Fijas y Variables, Problemas de
Reubicación y protección, Swapping o Intercambio.
La operación principal en la gestión de la memoria es traer los procesos
a la memoria principal para que el procesador los pueda ejecutar. Para
esto, la gestión de memoria debe satisfacer los siguientes requisitos:
Reubicación como el sistema operativo se encarga de gestionar la
memoria y traer el proceso a la memoria principal a través de
direcciones, al ser cargado o ejecutado el proceso no adquiere la misma
dirección, por lo tanto es necesario reubicar las direcciones y con la
ayuda del sistema operativo es fácil adquirirlas para localizar los
procesos presentes en memoria.
Protección, es un requisito que se encarga de regular que los procesos
presentes en memoria no invadan o violen el espacio en memoria de
otros procesos ya sea de forma accidental o por error. La reubicación
dificulta un poco la protección, por esto las referencias de memoria se
deben confirmar o comprobar en tiempo de ejecución para asegurar que
se refiere al espacio de memoria asignado a dicho proceso.
Monoprogramación sin intercambio o paginación.
Es en forma secuencial pues solo se tiene un objeto en memoria en cada
instante, el usuario carga toda la memoria con un programa, esto
implica que cada proceso debe contener controladores de dispositivo
para cada uno de los dispositivos E/S que utilice.
Cuando solo se tiene un proceso que ocupe la memoria a la vez, el
esquema de la administración de la memoria es el más sencillo que hay.
Sin embargo, éste método ya no tiene aplicación en la actualidad, ya
que era visto en las computadoras con sistemas operativos de un solo
usuario y una sola tarea. El usuario introducía su disco a la
computadora (por lo general, la máquina no contaba con disco duro) y
ejecutaba su aplicación, la cual acaparaba toda la máquina.
3. · Multiprogramación y uso de la memoria.
La multiprogramación facilita la programación de una aplicación al
dividirla en dos o más procesos. La mayoría de los procesos tardan
cierto tiempo en la espera de datos de dispositivos E/S. Un modelo para
el uso y aprovechamiento de la CPU es el modelo probabilístico dado por
la fórmula: Uso de la CPU = 1 – pn
El esquema de multiprogramación incrementa el aprovechamiento del
CPU, dado que a diferencia de la monoprogramación en donde solo un
proceso reside en memoria a la vez limitando el uso del procesador a las
llamadas que requiera dicho proceso, desperdiciando un promedio del
80% del tiempo del procesador. En cambio la multiprogramación, al
tener varios procesos en la memoria principal y dividiéndose el tiempo
de uso del procesador, logra reducir drásticamente el desperdicio del
procesador.
· Multiprogramación con particiones fijas
El objetivo en todo esto es tener más de un proceso en memoria a la
vez, solución posible sería dividir la memoria en n partes al inicio de una
sesión de uso de la máquina, pero aún así se obtiene el desperdicio de
particiones grandes con una tarea pequeña, la respuesta puede ser
tener particiones pequeñas también. Las tareas que van llegando se
forman hasta que una partición adecuada está disponible, en cuyo
momento la tarea se carga en esa partición y se ejecuta hasta terminar.
Para poder implementar la multiprogramación, se puede hacer uso de
particiones fijas o variables en la memoria. En el caso de las particiones
fijas, la memoria se puede organizar dividiéndose en diversas partes, las
cuales pueden variar en tamaño. Esta partición la puede hacer el
usuario en forma manual, al iniciar una sesión con la máquina.
Una vez implementada la partición, hay dos maneras de asignar los
procesos a ella. La primera es mediante el uso de una cola única que
asigna los procesos a los espacios disponibles de la memoria conforme
se vayan desocupando. El tamaño del hueco de memoria disponible es
usado para localizar en la cola el primer proceso que quepa en él. Otra
forma de asignación es buscar en la cola el proceso de tamaño mayor
que se ajuste al hueco, sin embargo hay que tomar en cuenta que tal
método discrimina a los procesos más pequeños. Dicho problema podría
tener solución si se asigna una partición pequeña en la memoria al
momento de hacer la partición inicial, el cual sería exclusivo para
procesos pequeños.
4. · Multiprogramación con particiones variables.
Mediante un algoritmo de administración de memoria las particiones
variables varían de forma dinámica durante el uso de la máquina,
evitando desperdicio de memoria.
El sistema operativo lleva una tabla indicando cuáles partes de la
memoria están disponibles y cuáles están ocupadas. Inicialmente, toda
la memoria está disponible para los procesos de usuario y es
considerado como un gran bloque o hueco único de memoria. Cuando
llega un proceso que necesita memoria, buscamos un hueco lo
suficientemente grande para el proceso. Si encontramos uno, se asigna
únicamente el espacio requerido, manteniendo el resto disponible para
futuros procesos que requieran de espacio.
Otros métodos de administración de memoria que tenemos son:
La administración de memoria con mapa de bits
La memoria se divide en unidades de asignación, a cada asignación le
corresponden un bit en el mapa de bits, un mapa de bits es una forma
sencilla para llevar un registro de las palabras de la memoria en una
cantidad fija de memoria.
La administración de memoria con listas ligadas
Otra forma de mantener un registro en memoria es mediante una lista
ligada donde cada entrada de la lista específica un hueco o un proceso.
La administración de memoria con el sistema de los asociados basado
en el sistema binario o utiliza para las direcciones.
· Memoria Virtual
El método diseñado por Fotheringham en 1961 se conoce como Memoria
Virtual, la idea es que el tamaño combinado de la pila, programa y datos
puede exceder la memoria física disponible para ello. El S.O. mantiene
en memoria aquellas partes del programa que se deben permanecer en
memoria y el resto lo deja en disco, las partes entre el disco y la
memoria se intercambian de modo que se vayan necesitando.
5. · Paginación
El espacio de direcciones de cada proceso se divide en bloques de
tamaño uniforme llamados páginas, los cuales se pueden colocar dentro
de cualquier para página marco disponible en memoria. Cuando las
tablas de páginas son muy grandes se puede utilizar un esquema de
paginación de varios niveles para que las páginas se paginen a sí
mismas.
Existen distintos niveles de paginación y a su vez distintos modelos de
computadoras han trabajado con ellas.
Paginación de nivel 1: PDP−11
Paginación de 2 niveles: la VAX
Paginación de 3 niveles: la SPARC
Paginación de 4 niveles: la 68030
Memoria asociativa
En los algoritmos de paginación las tablas de páginas se mantienen en
la memoria debido a su gran tamaño, en potencia este diseño tiene un
efecto enorme en el rendimiento.
· Algoritmos de reemplazo de páginas.
Cuando ocurre un fallo de página el sistema operativo debe elegir una
página para retirarla de la memoria y hacer un espacio para la página
por recuperar. Si la página por eliminar fue modificada mientras estaba
en memoria, debe escribirla en el disco para mantener actualizada la
copia del disco, si por el contrario la página no ha sido modificada la
copia del disco ya está actualizada por lo que no es necesario volver a
escribir, la página por leer sólo escribe encima de la página por retirar.
Aunque es posible elegir una página al azar para el reemplazo
relacionado con un fallo de página, el rendimiento del sistema es mucho
mejor si se elige una página de poco uso.
6. · Algoritmo de reemplazo de páginas optimo
Mejor algoritmo posible para reemplazo de páginas pero irrealizable en
la práctica.
Al momento de ocurrir un fallo de página cierto conjunto de páginas se
encuentran en la memoria, en la siguiente instrucción se hará referencia
a una de estas páginas, otras páginas no se utilizaran sino hasta mucho
después, cada página puede ejecutarse con el número de instrucciones
ejecutadas antes de la primera referencia a esa página, el algoritmo dice
que se elimine la página con la mayor etiqueta; si una página no va a
utilizase sino hasta mucho después que otra la eliminación de la primera
retrasa el fallo de página lo mas posible, el único problema de este
algoritmo es que es irrealizable. Al momento del fallo de página el S.O.
no tiene forma de saber a qué página se hace referencia.
· Algoritmo de página de uso no muy reciente.
En un fallo de página, el sistema operativo inspecciona todas las páginas
y las divide en cuatro categorías según los valores actuales de los bits R
yM
Clase 0: No se ha hecho referencia ni ha sido modificada
Clase 1: No se ha hecho referencia pero ha sido modificada
Clase 2: Se ha hecho referencia pero no ha sido modificada
Clase 3: Se ha hecho referencia y ha sido modificada
El algoritmo NRU implica una hipótesis que indica que es mejor eliminar
una página modificada sin referencias al menos por lo general un
intervalo de reloj, este algoritmo es fácil de comprender, de
implantación eficiente y con un rendimiento que, aún sin ser el óptimo si
es adecuado en muchos casos.
· Algoritmo de reemplazo “primero en entrar, primero en salir FIFO”
El sistema operativo tiene una lista de todas las páginas que se
encuentran en memoria, siendo la primera página la más antigua y la
última la más reciente, en un fallo de página, se elimina la primera
página y se añade la nueva al final de la lista.
7. · Algoritmo de reemplazo de páginas de la segunda oportunidad
Una modificación simple del FIFO que evita deshacerse de una página de
uso frecuente inspecciona el bit R de la página más antigua, busca una
página antigua sin referencias durante el anterior intervalo de tiempo.
· Algoritmo de reemplazo de páginas del reloj
Aunque el anterior algoritmo es razonable un mejor enfoque es
mantener las páginas en una lista circular con la forma de un reloj, una
manecilla apunta hacia la mas antigua. Al ocurrir un fallo de página se
inspecciona la página a la que apunta la manecilla si su bit R=0 se retira
de la memoria, se inserta la nueva página en su lugar en el reloj y la
manecilla avanza una posición, si R=1 la manecilla avanza una posición
y el bit se limpia, esto continua hasta encontrar una página con R=0.
· Segmentación
Una memoria segmentada tiene otras ventajas como hacer más sencilla
la administración de las estructuras de datos que crecen o se reducen, si
cada procedimiento ocupa un segmento independiente con la posición
inicial cero el ligado independiente de los procesos compilados es mucho
más sencillo.
Bit que se activa si se hace referencia a la página en cuestión
Bit que se activa si se modifica la página.
UNIDAD DE MANEJO DE MEMORIA
La MMU se inicializa para cada proceso del sistema. Esto permite que
cada proceso pueda usar el rango completo de direcciones lógicas
(memoria virtual), ya que las conversiones de estas direcciones serán
distintas para cada proceso.
· Intercambio
En un sistema por lotes la organización de la memoria en particiones
fijas es adecuado pero en un ambiente multiusuario la situación es
distinta con el tiempo compartido, ya que existen más usuarios de los
8. que puede albergar la memoria, por lo que es conveniente albergar el
exceso de los procesos en disco., por supuesto para ser ejecutados
estos procesos deben ser trasladados a la memoria principal. Al traslado
de procesos de disco a memoria y viceversa se le llama intercambio.
INTERCAMBIO.- Un proceso puede estar continuamente modificando su
estado, lo cual implica que muchas veces un mismo proceso está en
memoria principal para luego pasar a memoria auxiliar o secundaria, y
volver a memoria principal para continuar su ejecución. Este proceso de
retirada e incorporación de los procesos de y a la memoria se denomina
Intercambio o swapping.- El objetivo del intercambio es dar cabida a la
ejecución de más aplicaciones de las que pueden residir simultáneamente
en la memoria del sistema: Por lo que el intercambio consiste en trasladar
el código y los datos de un proceso completo de memoria al sistema de
almacenamiento secundario, para cargar otro previamente almacenado, no
permite a un proceso utilizar m á s memoria RAM de la que realmente
existe en el sistema.
INTERCAMBIO.- El lugar de almacenamiento temporal suele ser un espacio
suficientemente grande como para acomodar copias de las imágenes de
memoria de todos los usuarios.
INTERCAMBIO.- Las funciones que un intercambiador debe cumplir son:
-Selección de los procesos para retirarlos de memoria.
-Selección de procesos para incorporarlos a memoria. Gestión y asignación
del espacio de intercambio.
REUBICACIÓN.- La reubicación se refiere al hecho de cargar y ejecutar un
programa en una posición arbitraria de memoria. Existen dos tipos de
reubicación: - Reubicación estática : cuando un proceso que ha sido
bajado a memoria secundaria al ser cargado nuevamente ocupará el mismo
lugar en memoria principal donde se ubicaba al inicio; aún cuando el área
esté ocupado deberá esperar para poderse colocar. Este esquema no ofrece
muchas ventajas.
REUBICACIÓN.- Reubicación dinámica: cuando el proceso se va a subir en
memoria principal puede ser colocado en cualquier partición libre. En este
caso es necesario realizar un reasignación de direcciones cada vez que el
programa se ejecute. Este esquema resulta costoso por el hardware que se
utiliza, así como aumenta el tiempo de acceso a memoria.
PROTECCIÓN.- Para garantizar seguridad, el hardware puede trabajar con
un par de registros base/límite.
9. PROTECCIÓN.- Registrar los derechos de acceso en la propia memoria - A
cada dirección se le añade un número de bits para identificar al propietario
- Problema: costoso - Mejora: Asociar estos bits a bloques de memoria
física - Comprobación: tiempo de ejecución - SO => Clave “maestra” única
que le da acceso sin restricciones a todos los bloques de memoria