SlideShare una empresa de Scribd logo
1 de 28
ADMINISTRACIÓN DE MEMORIA Y ARCHIVOS
Unidad III
ADMINISTRACIÓN
DE MEMORIA
La memoria es uno de los principales recursos de la computadora, la cual
debe de administrarse con mucho cuidado. La memoria es una amplia tabla
de datos, cada uno de los cuales con su propia dirección. Para que los
programas puedan ser ejecutados es necesario que estén cargados en
memoria principal
Aunque actualmente la mayoría de los sistemas de cómputo cuentan con
una alta capacidad de memoria, de igual manera las aplicaciones
actuales tienen también altos requerimientos de memoria, lo que sigue
generando escasez de memoria en los sistemas multitarea y/o multiusuario.
Su labor consiste en llevar un registro de las partes de memoria que
se estén utilizando y aquellas que no, con el fin de asignar espacio
en memoria a los procesos cuando éstos la necesiten y liberándola
cuando terminen.
En sistemas con multiproceso, el S.O. debe “repartir” los recursos
entre los procesos existentes:
Reparto de procesador: Gestión de procesos
Reparto de memoria: Gestión de memoria
A. Espacios lógicos independientes
A priori no se conoce la posición de memoria que ocupará un programa
cuando vaya a ejecutarse (estado de ocupación de la memoria)
Código en ejecutable genera referencias entre 0 y N
B. Protección entre procesos
La protección es diferente según sea un sistema Mono o Multi programado.
•Sistema MonoProgramado: La intrusión se dará solamente entre el programa y el S.O.
•Sistema MultiProgramado: La intrusión puede venir tanto de otros procesos como de
otros usuarios además del riesgo del sistema Monoprogramado.
C. Compartición de Memoria (procesos ligeros)
La compartición de memoria entre procesos da soporte a la creación de procesos ligeros y
está controlado por el S.O. Las direcciones lógicas de 2 o más procesos se corresponderán
con una misma dirección física.
El mapa de memoria de un proceso no es homogéneo, ya que las regiones contienen
diferentes tipos de información (código, datos y pila normalmente) y poseen
diferentes características
E. Maximizar el grado de multiprogramación
D. Soporte de las regiones del proceso
El reparto de memoria debe ser tal que maximize el grado de multiprogramación para
evitar el desperdicio de memoria
Memoria desperdiciada
Restos (huecos) inutilizables (fragmentación)
Tablas requeridas por gestor de memoria
Los procesos necesitan cada vez mapas más grandes: aplicaciones más novedosas, más
recursos gráficos, más carga computacional....
Para ello utiliza Memoria Virtual haciendo que el usuario disponga virtualmente de una
enorme cantidad de memoria física
F. Mapas de memoria de un tamaño adecuado
(normalmente grandes)
Elemento Clave: Proximidad referencial habitual de los procesos. Esta propiedad permite
que un proceso puede funcionar disponiendo en memoria de una parte de su imagen
de memoria (conjunto residente).
Objetivo final: conseguir que la información necesaria para un proceso (conjunto de
trabajo) vaya ocupando la memoria principal según se va necesitando (es decir,
conjunto de trabajo === conjunto residente)
La técnica de la MV se usa prácticamente en todos los SSOO modernos. Esta
técnica se basa en transferir información entre memoria principal y memoria
secundaria (por lo que involucra varios niveles de la jerarquía de memoria).
Suele implementarse en un esquema de paginación (es decir, la unidad de
información intercambiada entre los diferentes niveles de la jerarquía de
memoria es la página).
a) Aumento del grado de multiprogramación. Por tanto,
aumento en el rendimiento del sistema
b) Posibilidad de ejecutar programas más grandes que la MV
disponible
El uso de la MV no implica que se acelere la ejecución del programa (más bien al
contrario, debido a la sobrecarga asociada a los movimientos de información entre
niveles de la jerarquía). Este mecanismo no es apropiado para sistemas de tiempo real.
La memoria virtual tiene que ser 1.5 veces el tamaño de la memoria RAM que
tenemos instalada (como vimos en la primer imagen).
Por ejemplo:
•512 MB de RAM, 768 MB de Memoria Virtual
•1GB de RAM (1024 MB), 1.5GB de Memoria Virtual (1536MB)
•2GB de RAM (2048 MB), 3GB de Memoria Virtual (3072MB)
Para calcular los valores de la MV que debemos asignar hay
que hacer el siguiente calculo:
Página: Zona contigua de memoria de determinado tamaño. (Por motivos de
eficiencia se suele trabajar siempre con tamaños potencia de 2. Ej:4 KB.)
Típicamente la MMU usa dos tablas de páginas (TP):
TP del usuario: Por ejemplo, direcciones lógicas que empiezan
por 0
TP del sistema: Por ejemplo, direcciones lógicas que empiezan
por 1. Estas sólo se podrán usar en modo sistema.
La tabla de páginas (TP) relaciona cada página con el marco que la contiene. El
hardware de traducción (MMU) usa la tabla de páginas para traducir direcciones
lógicas a físicas
Los marcos contendrán páginas de los procesos en ejecución
La memoria principal se considera dividida en marcos de página
(tamaño de marco = tamaño de página).
El mapa de memoria del proceso se considera dividido en páginas.
Cada entrada de la tabla de páginas contendrá, además del número de marco
asociado con la página:
Información de protección: tipo de acceso permitido RWX
Bit de página válida/inválida: para indicar si dicha entrada contiene una traducción
asociada, es decir, si se corresponde realmente con un marco
Bit de página accedida (Ref): activado cuando se accede
Bit de página modificada (Mod): activado cuando se escribe
Bit de desactivación de caché: se usa cuando la entrada corresponde con
direcciones de E/S
Potencia de 2 y
múltiplo del tamaño
del bloque de disco
Mejor pequeño por:
Menor
fragmentación
Se ajusta mejor al
conjunto de trabajo
Mejor grande por:
Tablas más pequeñas
Mejor rendimiento
de dispositivos de
E/S
Compromiso (entre
2K y 16K)
Tamaño de página
La elección de tamaño de página está condicionada por diversos factores, entre los que hay
que conseguir equilibrio:
El término memoria virtual se asocia normalmente con sistemas que emplean
paginación, aunque también se puede usar memoria virtual basada en la
segmentación. El uso de la paginación en la memoria virtual fue presentado por
primera vez en el computador Atlas.
Cada proceso tiene su propia tabla de páginas y cuando carga todas
sus páginas en la memoria principal, se crea y carga en la memoria
principal una tabla de páginas. Cada entrada de la tabla de páginas
contiene el número de marco de la página correspondiente en la
memoria principal.
Puesto que sólo algunas de las páginas de un proceso pueden estar en la
memoria principal, se necesita un bit en cada entrada de la tabla para indicar
si la página correspondiente está presente (P) en la memoria principal o no. Si
el bit indica que la página está en la memoria, la entrada incluye también el
número de marco para esa página.
Otro bit de control necesario en la entrada de la tabla de páginas es el
bit de modificación (M), para indicar si el contenido de la página
correspondiente se ha alterado desde que la página se cargó en la
memoria principal. Si no ha habido cambios, no es necesario escribir
la página cuando sea sustituida en el marco que ocupa actualmente.
Memoria
física
Código
Espacio de direccionamiento virtual Espacio de direccionamiento real
MMU
A
Páginas
Marcos
B
C
D
E
F
G A
B
C
D
MMU -> Memory Management Unit
Procesador P D
Marco 1
Marco 2
Marco 3
Marco 4
Marco 5
Marco 6
Marco 7
Marco 8
P
Memoria
Tabla de páginas
Marco 5
D
RPBTP
RLTP
M D
Fragmentación interna
Si el número de páginas es
grande, la zona de memoria
ocupada por la TDP puede
ser excesiva
Ejemplo:
•Tamaño de cada entrada de la TDP:
4 bytes
•Espacio de direccionamiento: 32 bits
•Páginas de 4 Kbytes
•Tamaño de la TDP: 4 Mbytes
Solución
•Tabla de páginas paginada
•Se emplea un directorio de páginas
Protección basada en bits
de acceso de las entradas
de la TDP
Compartir páginas es
bastante sencillo
• Basta con que dos o más
procesos tengan en una de sus
entradas de la TDP la misma
referencia a un marco
La paginación es
gestionada por completo
por el sistema operativo
La paginación elimina la
fragmentación externa,
pero no la interna
Con página grande
aumentamos la
fragmentación interna
pero disminuimos el
tamaño de la TDP
SEGMENTACIÓN
 Es un esquema de gestión de memoria con varias ventajas:
 Permite que los bloques de un proceso (código, datos, pila,
DLLs, etc.) puedan estar situados en áreas de memoria no
contiguas
 Suministra reubicación dinámica
 Aporta protección y uso compartido
 Las direcciones en estos sistemas tienen dos componentes: número
de segmento y offset
 En el 80x86
mov eax, ds:esi
 Para localizar el dato se utiliza el selector DS y el desplazamiento SI
 Los segmentos pueden tener tamaños diferentes
SEGMENTACION
Implicaciones de la memoria virtual
La segmentación permite al programador contemplar la memoria como si constara de varios espacios de
direcciones o segmentos. Los segmentos pueden ser de distintos tamaños, incluso de forma dinámica. Las
referencias a la memoria constan de una dirección de la forma (número de segmento, desplazamiento).
Esta organización ofrece al programador varias ventajas sobre un espacio de direcciones no segmentado:
1. Simplifica la gestión de estructuras de datos crecientes. Si el programador no conoce a priori cuán larga
puede llegar a ser una estructura de datos determinada, es necesario suponerlo a menos que se
permitan tamaños de segmentos dinámicos. Con memoria virtual segmentada, a la estructura de datos se le
puede asignar a su propio segmento y el S.O expandirá o reducirá el segmento cuando se necesite.
2. Permite modificar y recopilar los programas independientemente, sin que sea necesario recopilar o
volver a montar el conjunto de programas por completo.
3. Se presta a la compartición entre procesos. Un programador puede situar un programa de utilidades o
una tabla de datos en un segmento que puede ser referenciado por otros procesos.
4. Se presta a la protección. Puesto que un segmento puede ser construido para albergar un conjunto de
procedimientos y datos bien definido, el programador o el administrador del sistema podrá asignar los
permisos de acceso de la forma adecuada.
Memoria
física
Código
Espacio de direccionamiento virtual
Espacio de direccionamiento real
Dátos
Datos
compartidos
Pila
Código
Dátos
Datos
compartidos
Pila
MMU
Gestióndememoria18
Procesador S D
Base 1
Base 2
Base 3
Base 4
Base 5
Base 6
Base 7
Base 8
S
Memoria
Límite 1
Límite 2
Límite 3
Límite 4
Límite 5
Límite 6
Límite 7
Límite 8
<
Tabla de segmentos
+
¡¡¡ Error !!!
Base 5
D
RPBTS
RLTS
Ventajas:
• Elimina de
fragmentación interna
• Permite el crecimiento
dinámico de los
segmentos
• Aporta protección y uso
compartido
• Permite un enlace y
carga dinámicos
Inconvenientes:
• Necesita compactación
de memoria
• En sistemas antiguos se
fijaba un tamaño
máximo fijo para cada
segmento
• Necesita hardware
adicional
• Los bloques de memoria
no son múltiplos enteros
de los bloques que se
traen desde el disco
ADMINISTRACIÓN
DE ARCHIVOS
ADMINISTRACIÓN
DE ARCHIVOS
ADMINISTRACIÓN
DE ARCHIVOS
Los sistemas de archivos o ficheros (filesystem en
inglés), estructuran la información guardada en
una unidad de almacenamiento (normalmente un
disco duro de una computadora), que luego será
representada ya sea textual o gráficamente
utilizando un gestor de archivos. La mayoría de los
sistemas operativos manejan su propio sistema de
archivos.
Lo habitual es utilizar dispositivos de
almacenamiento de datos que permiten el
acceso a los datos como una cadena de
bloques de un mismo tamaño, a veces
llamados sectores.
El software del sistema de archivos es
responsable de la organización de estos
sectores en archivos y directorios y
mantiene un registro de qué sectores
pertenecen a qué archivos y cuáles no han
sido utilizados.
Los sistemas de archivos tradicionales
proveen métodos para crear, mover,
renombrar y eliminar tanto archivos
como directorios, pero carecen de
métodos para crear, por ejemplo,
enlaces adicionales a un directorio o
archivo (enlace duro en Unix) o
renombrar enlaces padres (".." en Unix).
Es una unidad de organización que
proporciona el SO. Por lo tanto son
datos con un formato que el propio
SO utiliza para localizar archivos.
Objeto que relaciona de
forma unívoca un nombre
de archivo (dado por el
usuario) con su descriptor
interno
Organizan y
proporcionan
información sobre la
estructuración de los
sistemas de archivos
Una colección de
listados que
contienen
información acerca
de los archivos
• Se acceden a través de llamadas al sistema operativo o de bibliotecas de utilidades
• Abstraen los dispositivos de almacenamiento físico.
• No están ligados al ciclo de vida de una aplicación particular.
• Nombres lógicos y estructurados.
• Conjunto de información estructurada de forma lógica según criterios de aplicación.
• Almacenamiento permanente de información. No desaparecen aunque se apague el computador.
El sistema de archivos es un
servicio para los usuarios.
El acceso a los dispositivos es:
•– Incómodo
Detalles físicos de los
dispositivos
Dependiente de las direcciones
físicas
•No seguro
Si el usuario accede a nivel físico
no tiene restricciones
Objetivos:
•Proporcionar mecanismos de nombrado
y localización de datos no volátiles.
•Ofrecer primitivas de acceso cómodas e
independientes de
•Los detalles de los dispositivos físicos
•Mecanismos de protección
Para proporcionar un acceso eficiente
y sencillo a los dispositivos de
almacenamiento, todos los sistemas
operativos tienen un servidor de
archivos que permite almacenar,
buscar y leer datos fácilmente.
Dicho servidor de archivos tiene dos
tipos de problemas de diseño muy
distintos entre sí:
Definir la visión de usuario del
sistema de entrada/salida,
incluyendo servicios, archivos,
directorios, sistemas de
archivos, entre otros.
Definir los algoritmos y
estructuras de datos a utilizar
para hacer corresponder la
visión del usuario con el
sistema físico de
almacenamiento secundario.
Nombre: la única
información en formato
legible por una persona.
Identificación única del
archivo y del usuario:
descriptor interno del
archivo, dueño y grupo
del archivo
Tipo de archivo:
necesario en sistemas
que proporciona
distintos formatos de
archivos.
Tamaño del archivo:
número de bytes en el
archivo, máximo
tamaño posible, entre
otros.
Protección: control de
accesos y de las
operaciones sobre
archivos.
Información temporal:
de creación, de acceso,
de modificación, etc.
Información de control:
archivo oculto, de
sistema, normal o
directorio, etc.
Atributos extendidos:
• Opciones especiales de escritura
(append only)
• Resource fork: Información para la
aplicación con la que se crea o se
manipula.
De esta manera, se
puede restringir o
permitir el acceso de
un determinado
usuario a un archivo
para su visualización de
contenidos,
modificación y/o
ejecución (en caso de
un archivo ejecutable
La mayoría de los sistema de archivos modernos permiten
asignar permisos (o derechos de acceso) a los archivos para
determinados usuarios y grupos de usuarios.

Más contenido relacionado

La actualidad más candente

Backup & recovery with rman
Backup & recovery with rmanBackup & recovery with rman
Backup & recovery with rmanitsabidhussain
 
Sistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e ImplementacionSistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e ImplementacionJorge Guerra
 
How to Find Patterns in Your Data with SQL
How to Find Patterns in Your Data with SQLHow to Find Patterns in Your Data with SQL
How to Find Patterns in Your Data with SQLChris Saxon
 
Modelo conceptual
Modelo conceptualModelo conceptual
Modelo conceptualUTN
 
Backup and recovery in sql server database
Backup and recovery in sql server databaseBackup and recovery in sql server database
Backup and recovery in sql server databaseAnshu Maurya
 
Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)josue salas
 
Overview of physical storage media
Overview of physical storage mediaOverview of physical storage media
Overview of physical storage mediaSrinath Sri
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de DatosVannesa Salazar
 
Interleaved memory
Interleaved memoryInterleaved memory
Interleaved memoryashishgy
 
Data guard architecture
Data guard architectureData guard architecture
Data guard architectureVimlendu Kumar
 
Estrutura de Dados Apoio (Complexidade de Algoritmos)
Estrutura de Dados Apoio (Complexidade de Algoritmos)Estrutura de Dados Apoio (Complexidade de Algoritmos)
Estrutura de Dados Apoio (Complexidade de Algoritmos)Leinylson Fontinele
 
Ventajas y desventajas de las bdoo
Ventajas y desventajas de las bdooVentajas y desventajas de las bdoo
Ventajas y desventajas de las bdooNerhys Palacios
 
Database Management System, Lecture-1
Database Management System, Lecture-1Database Management System, Lecture-1
Database Management System, Lecture-1Sonia Mim
 
Physical architecture of sql server
Physical architecture of sql serverPhysical architecture of sql server
Physical architecture of sql serverDivya Sharma
 

La actualidad más candente (20)

153 Oracle dba interview questions
153 Oracle dba interview questions153 Oracle dba interview questions
153 Oracle dba interview questions
 
Backup & recovery with rman
Backup & recovery with rmanBackup & recovery with rman
Backup & recovery with rman
 
Sistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e ImplementacionSistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e Implementacion
 
Sqlite
SqliteSqlite
Sqlite
 
How to Find Patterns in Your Data with SQL
How to Find Patterns in Your Data with SQLHow to Find Patterns in Your Data with SQL
How to Find Patterns in Your Data with SQL
 
Modelo conceptual
Modelo conceptualModelo conceptual
Modelo conceptual
 
Sistema de Archivos
Sistema de ArchivosSistema de Archivos
Sistema de Archivos
 
Modelo entidad relación
Modelo entidad relaciónModelo entidad relación
Modelo entidad relación
 
Backup and recovery in sql server database
Backup and recovery in sql server databaseBackup and recovery in sql server database
Backup and recovery in sql server database
 
Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)
 
Overview of physical storage media
Overview of physical storage mediaOverview of physical storage media
Overview of physical storage media
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Interleaved memory
Interleaved memoryInterleaved memory
Interleaved memory
 
Data guard architecture
Data guard architectureData guard architecture
Data guard architecture
 
Estrutura de Dados Apoio (Complexidade de Algoritmos)
Estrutura de Dados Apoio (Complexidade de Algoritmos)Estrutura de Dados Apoio (Complexidade de Algoritmos)
Estrutura de Dados Apoio (Complexidade de Algoritmos)
 
Ventajas y desventajas de las bdoo
Ventajas y desventajas de las bdooVentajas y desventajas de las bdoo
Ventajas y desventajas de las bdoo
 
Sistemas de almacenamiento RAID
Sistemas de almacenamiento RAIDSistemas de almacenamiento RAID
Sistemas de almacenamiento RAID
 
Database Management System, Lecture-1
Database Management System, Lecture-1Database Management System, Lecture-1
Database Management System, Lecture-1
 
Oracle DBA
Oracle DBAOracle DBA
Oracle DBA
 
Physical architecture of sql server
Physical architecture of sql serverPhysical architecture of sql server
Physical architecture of sql server
 

Similar a administracion de memoria y archivos

Sistemas Operativos - Memoria
Sistemas Operativos - MemoriaSistemas Operativos - Memoria
Sistemas Operativos - Memoriavdelgado3
 
Andres infante
Andres infanteAndres infante
Andres infanteandresinf
 
Andres infante
Andres infanteAndres infante
Andres infanteandresinf
 
MEMORIA VIRTUAL
MEMORIA VIRTUALMEMORIA VIRTUAL
MEMORIA VIRTUALandresinf
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria VirtualUCC
 
Trabajo memoria virtual
Trabajo memoria virtualTrabajo memoria virtual
Trabajo memoria virtualyuukikuran12
 
Seg y pag en diapositivas
Seg y pag en diapositivasSeg y pag en diapositivas
Seg y pag en diapositivasmemp1234
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtualosjavier
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtualosjavier
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtualosjavier
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtualakany
 
Administracion de la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principaljbersosa
 

Similar a administracion de memoria y archivos (20)

Memoria
MemoriaMemoria
Memoria
 
Sistemas Operativos - Memoria
Sistemas Operativos - MemoriaSistemas Operativos - Memoria
Sistemas Operativos - Memoria
 
Andres infante
Andres infanteAndres infante
Andres infante
 
Andres infante
Andres infanteAndres infante
Andres infante
 
MEMORIA VIRTUAL
MEMORIA VIRTUALMEMORIA VIRTUAL
MEMORIA VIRTUAL
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria Virtual
 
Trabajo memoria virtual
Trabajo memoria virtualTrabajo memoria virtual
Trabajo memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Cap3
Cap3Cap3
Cap3
 
Cap3
Cap3Cap3
Cap3
 
Seg y pag en diapositivas
Seg y pag en diapositivasSeg y pag en diapositivas
Seg y pag en diapositivas
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtual
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtual
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Administracion de la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principal
 

Más de Samir Barrios

Taller normas apa ejercicios upel
Taller normas apa ejercicios upelTaller normas apa ejercicios upel
Taller normas apa ejercicios upelSamir Barrios
 
Analisisydiseodesistemabibliotecario 120609114946-phpapp01
Analisisydiseodesistemabibliotecario 120609114946-phpapp01Analisisydiseodesistemabibliotecario 120609114946-phpapp01
Analisisydiseodesistemabibliotecario 120609114946-phpapp01Samir Barrios
 
Base de datos relacional
Base de datos relacionalBase de datos relacional
Base de datos relacionalSamir Barrios
 
administración de memoria y archivos
administración de memoria y archivosadministración de memoria y archivos
administración de memoria y archivosSamir Barrios
 
administracion de entrada, salida y procesos
administracion de entrada, salida y procesosadministracion de entrada, salida y procesos
administracion de entrada, salida y procesosSamir Barrios
 
base de datos relacional
base de datos relacionalbase de datos relacional
base de datos relacionalSamir Barrios
 

Más de Samir Barrios (9)

Taller normas apa
Taller normas apaTaller normas apa
Taller normas apa
 
Taller normas apa ejercicios upel
Taller normas apa ejercicios upelTaller normas apa ejercicios upel
Taller normas apa ejercicios upel
 
Analisisydiseodesistemabibliotecario 120609114946-phpapp01
Analisisydiseodesistemabibliotecario 120609114946-phpapp01Analisisydiseodesistemabibliotecario 120609114946-phpapp01
Analisisydiseodesistemabibliotecario 120609114946-phpapp01
 
Páginas web
Páginas web Páginas web
Páginas web
 
Base de datos relacional
Base de datos relacionalBase de datos relacional
Base de datos relacional
 
administración de memoria y archivos
administración de memoria y archivosadministración de memoria y archivos
administración de memoria y archivos
 
administracion de entrada, salida y procesos
administracion de entrada, salida y procesosadministracion de entrada, salida y procesos
administracion de entrada, salida y procesos
 
base de datos relacional
base de datos relacionalbase de datos relacional
base de datos relacional
 
paginas web
paginas webpaginas web
paginas web
 

administracion de memoria y archivos

  • 1. ADMINISTRACIÓN DE MEMORIA Y ARCHIVOS Unidad III
  • 3. La memoria es uno de los principales recursos de la computadora, la cual debe de administrarse con mucho cuidado. La memoria es una amplia tabla de datos, cada uno de los cuales con su propia dirección. Para que los programas puedan ser ejecutados es necesario que estén cargados en memoria principal Aunque actualmente la mayoría de los sistemas de cómputo cuentan con una alta capacidad de memoria, de igual manera las aplicaciones actuales tienen también altos requerimientos de memoria, lo que sigue generando escasez de memoria en los sistemas multitarea y/o multiusuario. Su labor consiste en llevar un registro de las partes de memoria que se estén utilizando y aquellas que no, con el fin de asignar espacio en memoria a los procesos cuando éstos la necesiten y liberándola cuando terminen. En sistemas con multiproceso, el S.O. debe “repartir” los recursos entre los procesos existentes: Reparto de procesador: Gestión de procesos Reparto de memoria: Gestión de memoria
  • 4. A. Espacios lógicos independientes A priori no se conoce la posición de memoria que ocupará un programa cuando vaya a ejecutarse (estado de ocupación de la memoria) Código en ejecutable genera referencias entre 0 y N B. Protección entre procesos La protección es diferente según sea un sistema Mono o Multi programado. •Sistema MonoProgramado: La intrusión se dará solamente entre el programa y el S.O. •Sistema MultiProgramado: La intrusión puede venir tanto de otros procesos como de otros usuarios además del riesgo del sistema Monoprogramado. C. Compartición de Memoria (procesos ligeros) La compartición de memoria entre procesos da soporte a la creación de procesos ligeros y está controlado por el S.O. Las direcciones lógicas de 2 o más procesos se corresponderán con una misma dirección física.
  • 5. El mapa de memoria de un proceso no es homogéneo, ya que las regiones contienen diferentes tipos de información (código, datos y pila normalmente) y poseen diferentes características E. Maximizar el grado de multiprogramación D. Soporte de las regiones del proceso El reparto de memoria debe ser tal que maximize el grado de multiprogramación para evitar el desperdicio de memoria Memoria desperdiciada Restos (huecos) inutilizables (fragmentación) Tablas requeridas por gestor de memoria Los procesos necesitan cada vez mapas más grandes: aplicaciones más novedosas, más recursos gráficos, más carga computacional.... Para ello utiliza Memoria Virtual haciendo que el usuario disponga virtualmente de una enorme cantidad de memoria física F. Mapas de memoria de un tamaño adecuado (normalmente grandes)
  • 6. Elemento Clave: Proximidad referencial habitual de los procesos. Esta propiedad permite que un proceso puede funcionar disponiendo en memoria de una parte de su imagen de memoria (conjunto residente). Objetivo final: conseguir que la información necesaria para un proceso (conjunto de trabajo) vaya ocupando la memoria principal según se va necesitando (es decir, conjunto de trabajo === conjunto residente) La técnica de la MV se usa prácticamente en todos los SSOO modernos. Esta técnica se basa en transferir información entre memoria principal y memoria secundaria (por lo que involucra varios niveles de la jerarquía de memoria). Suele implementarse en un esquema de paginación (es decir, la unidad de información intercambiada entre los diferentes niveles de la jerarquía de memoria es la página).
  • 7. a) Aumento del grado de multiprogramación. Por tanto, aumento en el rendimiento del sistema b) Posibilidad de ejecutar programas más grandes que la MV disponible El uso de la MV no implica que se acelere la ejecución del programa (más bien al contrario, debido a la sobrecarga asociada a los movimientos de información entre niveles de la jerarquía). Este mecanismo no es apropiado para sistemas de tiempo real. La memoria virtual tiene que ser 1.5 veces el tamaño de la memoria RAM que tenemos instalada (como vimos en la primer imagen). Por ejemplo: •512 MB de RAM, 768 MB de Memoria Virtual •1GB de RAM (1024 MB), 1.5GB de Memoria Virtual (1536MB) •2GB de RAM (2048 MB), 3GB de Memoria Virtual (3072MB) Para calcular los valores de la MV que debemos asignar hay que hacer el siguiente calculo:
  • 8. Página: Zona contigua de memoria de determinado tamaño. (Por motivos de eficiencia se suele trabajar siempre con tamaños potencia de 2. Ej:4 KB.) Típicamente la MMU usa dos tablas de páginas (TP): TP del usuario: Por ejemplo, direcciones lógicas que empiezan por 0 TP del sistema: Por ejemplo, direcciones lógicas que empiezan por 1. Estas sólo se podrán usar en modo sistema. La tabla de páginas (TP) relaciona cada página con el marco que la contiene. El hardware de traducción (MMU) usa la tabla de páginas para traducir direcciones lógicas a físicas Los marcos contendrán páginas de los procesos en ejecución La memoria principal se considera dividida en marcos de página (tamaño de marco = tamaño de página). El mapa de memoria del proceso se considera dividido en páginas.
  • 9. Cada entrada de la tabla de páginas contendrá, además del número de marco asociado con la página: Información de protección: tipo de acceso permitido RWX Bit de página válida/inválida: para indicar si dicha entrada contiene una traducción asociada, es decir, si se corresponde realmente con un marco Bit de página accedida (Ref): activado cuando se accede Bit de página modificada (Mod): activado cuando se escribe Bit de desactivación de caché: se usa cuando la entrada corresponde con direcciones de E/S Potencia de 2 y múltiplo del tamaño del bloque de disco Mejor pequeño por: Menor fragmentación Se ajusta mejor al conjunto de trabajo Mejor grande por: Tablas más pequeñas Mejor rendimiento de dispositivos de E/S Compromiso (entre 2K y 16K) Tamaño de página La elección de tamaño de página está condicionada por diversos factores, entre los que hay que conseguir equilibrio:
  • 10. El término memoria virtual se asocia normalmente con sistemas que emplean paginación, aunque también se puede usar memoria virtual basada en la segmentación. El uso de la paginación en la memoria virtual fue presentado por primera vez en el computador Atlas. Cada proceso tiene su propia tabla de páginas y cuando carga todas sus páginas en la memoria principal, se crea y carga en la memoria principal una tabla de páginas. Cada entrada de la tabla de páginas contiene el número de marco de la página correspondiente en la memoria principal. Puesto que sólo algunas de las páginas de un proceso pueden estar en la memoria principal, se necesita un bit en cada entrada de la tabla para indicar si la página correspondiente está presente (P) en la memoria principal o no. Si el bit indica que la página está en la memoria, la entrada incluye también el número de marco para esa página. Otro bit de control necesario en la entrada de la tabla de páginas es el bit de modificación (M), para indicar si el contenido de la página correspondiente se ha alterado desde que la página se cargó en la memoria principal. Si no ha habido cambios, no es necesario escribir la página cuando sea sustituida en el marco que ocupa actualmente.
  • 11. Memoria física Código Espacio de direccionamiento virtual Espacio de direccionamiento real MMU A Páginas Marcos B C D E F G A B C D MMU -> Memory Management Unit
  • 12. Procesador P D Marco 1 Marco 2 Marco 3 Marco 4 Marco 5 Marco 6 Marco 7 Marco 8 P Memoria Tabla de páginas Marco 5 D RPBTP RLTP M D
  • 13. Fragmentación interna Si el número de páginas es grande, la zona de memoria ocupada por la TDP puede ser excesiva Ejemplo: •Tamaño de cada entrada de la TDP: 4 bytes •Espacio de direccionamiento: 32 bits •Páginas de 4 Kbytes •Tamaño de la TDP: 4 Mbytes Solución •Tabla de páginas paginada •Se emplea un directorio de páginas
  • 14. Protección basada en bits de acceso de las entradas de la TDP Compartir páginas es bastante sencillo • Basta con que dos o más procesos tengan en una de sus entradas de la TDP la misma referencia a un marco La paginación es gestionada por completo por el sistema operativo La paginación elimina la fragmentación externa, pero no la interna Con página grande aumentamos la fragmentación interna pero disminuimos el tamaño de la TDP
  • 15. SEGMENTACIÓN  Es un esquema de gestión de memoria con varias ventajas:  Permite que los bloques de un proceso (código, datos, pila, DLLs, etc.) puedan estar situados en áreas de memoria no contiguas  Suministra reubicación dinámica  Aporta protección y uso compartido  Las direcciones en estos sistemas tienen dos componentes: número de segmento y offset  En el 80x86 mov eax, ds:esi  Para localizar el dato se utiliza el selector DS y el desplazamiento SI  Los segmentos pueden tener tamaños diferentes
  • 16. SEGMENTACION Implicaciones de la memoria virtual La segmentación permite al programador contemplar la memoria como si constara de varios espacios de direcciones o segmentos. Los segmentos pueden ser de distintos tamaños, incluso de forma dinámica. Las referencias a la memoria constan de una dirección de la forma (número de segmento, desplazamiento). Esta organización ofrece al programador varias ventajas sobre un espacio de direcciones no segmentado: 1. Simplifica la gestión de estructuras de datos crecientes. Si el programador no conoce a priori cuán larga puede llegar a ser una estructura de datos determinada, es necesario suponerlo a menos que se permitan tamaños de segmentos dinámicos. Con memoria virtual segmentada, a la estructura de datos se le puede asignar a su propio segmento y el S.O expandirá o reducirá el segmento cuando se necesite. 2. Permite modificar y recopilar los programas independientemente, sin que sea necesario recopilar o volver a montar el conjunto de programas por completo. 3. Se presta a la compartición entre procesos. Un programador puede situar un programa de utilidades o una tabla de datos en un segmento que puede ser referenciado por otros procesos. 4. Se presta a la protección. Puesto que un segmento puede ser construido para albergar un conjunto de procedimientos y datos bien definido, el programador o el administrador del sistema podrá asignar los permisos de acceso de la forma adecuada.
  • 17. Memoria física Código Espacio de direccionamiento virtual Espacio de direccionamiento real Dátos Datos compartidos Pila Código Dátos Datos compartidos Pila MMU
  • 18. Gestióndememoria18 Procesador S D Base 1 Base 2 Base 3 Base 4 Base 5 Base 6 Base 7 Base 8 S Memoria Límite 1 Límite 2 Límite 3 Límite 4 Límite 5 Límite 6 Límite 7 Límite 8 < Tabla de segmentos + ¡¡¡ Error !!! Base 5 D RPBTS RLTS
  • 19. Ventajas: • Elimina de fragmentación interna • Permite el crecimiento dinámico de los segmentos • Aporta protección y uso compartido • Permite un enlace y carga dinámicos Inconvenientes: • Necesita compactación de memoria • En sistemas antiguos se fijaba un tamaño máximo fijo para cada segmento • Necesita hardware adicional • Los bloques de memoria no son múltiplos enteros de los bloques que se traen desde el disco
  • 21. Los sistemas de archivos o ficheros (filesystem en inglés), estructuran la información guardada en una unidad de almacenamiento (normalmente un disco duro de una computadora), que luego será representada ya sea textual o gráficamente utilizando un gestor de archivos. La mayoría de los sistemas operativos manejan su propio sistema de archivos. Lo habitual es utilizar dispositivos de almacenamiento de datos que permiten el acceso a los datos como una cadena de bloques de un mismo tamaño, a veces llamados sectores. El software del sistema de archivos es responsable de la organización de estos sectores en archivos y directorios y mantiene un registro de qué sectores pertenecen a qué archivos y cuáles no han sido utilizados. Los sistemas de archivos tradicionales proveen métodos para crear, mover, renombrar y eliminar tanto archivos como directorios, pero carecen de métodos para crear, por ejemplo, enlaces adicionales a un directorio o archivo (enlace duro en Unix) o renombrar enlaces padres (".." en Unix).
  • 22. Es una unidad de organización que proporciona el SO. Por lo tanto son datos con un formato que el propio SO utiliza para localizar archivos. Objeto que relaciona de forma unívoca un nombre de archivo (dado por el usuario) con su descriptor interno Organizan y proporcionan información sobre la estructuración de los sistemas de archivos Una colección de listados que contienen información acerca de los archivos
  • 23. • Se acceden a través de llamadas al sistema operativo o de bibliotecas de utilidades • Abstraen los dispositivos de almacenamiento físico. • No están ligados al ciclo de vida de una aplicación particular. • Nombres lógicos y estructurados. • Conjunto de información estructurada de forma lógica según criterios de aplicación. • Almacenamiento permanente de información. No desaparecen aunque se apague el computador.
  • 24. El sistema de archivos es un servicio para los usuarios. El acceso a los dispositivos es: •– Incómodo Detalles físicos de los dispositivos Dependiente de las direcciones físicas •No seguro Si el usuario accede a nivel físico no tiene restricciones Objetivos: •Proporcionar mecanismos de nombrado y localización de datos no volátiles. •Ofrecer primitivas de acceso cómodas e independientes de •Los detalles de los dispositivos físicos •Mecanismos de protección
  • 25.
  • 26. Para proporcionar un acceso eficiente y sencillo a los dispositivos de almacenamiento, todos los sistemas operativos tienen un servidor de archivos que permite almacenar, buscar y leer datos fácilmente. Dicho servidor de archivos tiene dos tipos de problemas de diseño muy distintos entre sí: Definir la visión de usuario del sistema de entrada/salida, incluyendo servicios, archivos, directorios, sistemas de archivos, entre otros. Definir los algoritmos y estructuras de datos a utilizar para hacer corresponder la visión del usuario con el sistema físico de almacenamiento secundario.
  • 27. Nombre: la única información en formato legible por una persona. Identificación única del archivo y del usuario: descriptor interno del archivo, dueño y grupo del archivo Tipo de archivo: necesario en sistemas que proporciona distintos formatos de archivos. Tamaño del archivo: número de bytes en el archivo, máximo tamaño posible, entre otros. Protección: control de accesos y de las operaciones sobre archivos. Información temporal: de creación, de acceso, de modificación, etc. Información de control: archivo oculto, de sistema, normal o directorio, etc. Atributos extendidos: • Opciones especiales de escritura (append only) • Resource fork: Información para la aplicación con la que se crea o se manipula.
  • 28. De esta manera, se puede restringir o permitir el acceso de un determinado usuario a un archivo para su visualización de contenidos, modificación y/o ejecución (en caso de un archivo ejecutable La mayoría de los sistema de archivos modernos permiten asignar permisos (o derechos de acceso) a los archivos para determinados usuarios y grupos de usuarios.

Notas del editor

  1. 7
  2. 8
  3. 9