Administración
de Memoria

La administración de memoria se refiere a los distintos
métodos y operaciones que se encargan de obtener la máxima utilidad de la memoria,
organizando los procesos y programas que se ejecutan de manera tal que se
aproveche de la mejor manera posible el espacio disponible.
· 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 mas usuarios de los 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.
· 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.
Administrador de sistemas
Un Administrador de Sistemas es la persona que tiene la
responsabilidad de implementar, configurar, mantener, monitorizar, documentar y
asegurar el correcto funcionamiento de un sistema informático, o algún
aspecto de éste.
El Administrador del Sistemas tiene por objeto garantizar
el tiempo de actividad (uptime), rendimiento, uso de recursos y la seguridad de
los servidores que administra de forma proactiva.
Proceso (informática)
· Un proceso puede
informalmente entenderse como un programa en ejecución. Formalmente
un proceso es "Una unidad de actividad que se caracteriza por la ejecución
de una secuencia de instrucciones, un estado actual, y un conjunto de recursos
del sistema asociados".
Paralelismo ( informática)
El Paralelismo en la informática , es una función que realiza el procesador para ejecutar varias tareas al
mismo tiempo. Es decir, puede realizar varios cálculos simultáneamente, basado
en el principio de dividir los problemas grandes para obtener varios problemas
pequeños, que son posteriormente solucionados en paralelo.
Aplicaciones
El empleo de la computación paralela
se convierte cada día en más grande y rápida, muchos problemas considerados
anteriormente muy largos y costosos se han podido solucionar. El paralelismo se
ha utilizado para muchas temáticas diferentes, desde bioinformática para
hacer plegamiento de proteínas, hasta economía para hacer simulaciones en matemática financiera.
Tipos de paralelismo informática
- Nivel de bit.
- Nivel de instrucción.
- Nivel de datos.
- Nivel de tarea.
El paralelismo o procesamiento paralelo ha sido empleado durante muchos
años, sobre todo para la computación de alto rendimiento, teniendo en cuenta
las generaciones de procesadores y sus características.
Recuperación de memoria
En el ámbito de la memoria, el proceso
de recuperación o recuerdo consiste en la evocación de
sucesos, eventos o información almacenada en el pasado. Desde el punto de vista
del procesamiento de la información, este es uno de los tres procesos
principales de la memoria, junto a la codificación y
al almacenamiento.
Seguridad Informática
Esta consiste
en asegurar en que los recursos del sistema de información de una
organización se utilizan de la manera que se decidió y que el acceso a la
información allí contenida así como su modificación solo sea posible a las
personas que se encuentren acreditadas y dentro de los límites de su
autorización.
Principios de Seguridad Informática:
La seguridad informática se fundamenta en tres principios, que
debe cumplir todo sistema informático:
Confidencialidad: Privacidad
de los elementos de información almacenados y procesados en un sistema
informático, Basándose en este principio, las herramientas de seguridad
informática deben proteger el sistema de invasiones y accesos por parte de
personas o programas no autorizados. Este principio es particularmente importante
en sistemas distribuidos, es decir, aquellos en los que los usuarios,
computadores y datos residen en localidades diferentes, pero
están física y lógicamente interconectados.
Integridad: Validez y
consistencia de los elementos de información almacenados y procesador en
un sistema informático. Basándose en este principio, las herramientas de
seguridad informática deben asegurar que los procesos de
actualización estén bien sincronizados y no se dupliquen, de forma que todos
los elementos del sistema manipulen adecuadamente los mismos datos. Este
principio es importante en sistemas descentralizados, es decir, aquellos en los
que diferentes usuarios, computadores y procesos comparten la misma
información.
Disponibilidad: Continuidad
de acceso a los elementos de información almacenados y procesados en un sistema
informático. Basándose en este principio, las herramientas de seguridad
informática deber reforzar la permanencia del sistema informático, en
condiciones de actividad adecuadas para que los usuarios accedan a los datos
con la frecuencia y dedicación que requieran, este principio es importante en
sistemas informáticos cuyos compromiso con el usuario, es
prestar servicio permanente.
Segmentación
La segmentación es un esquema para implementar espacios de
direcciones virtuales que se usaba en los primeros computadores de tiempo
compartido. Pese a que hoy en día se encuentra en desuso, es interesante
estudiar la segmentación por su simplicidad.
Como se vió en capítulos anteriores, cada proceso tiene su propio
espacio de direcciones virtuales, independiente del resto de los procesos. Este
espacio de direcciones virtuales se descompone en cuatro áreas
llamadas
·
Un segmento de datos.
·
Un segmento de pila.
·
Un segmento de sistema, invisible para la aplicación,
en donde reside el núcleo.
En una organización segmentada, los segmentos residen
en un área contigua de la memoria real del computador. La figura
muestra un posible
estado de la memoria de un computador con los distintos segmentos de varios
procesos.

Figure: Ejemplo de ubicación de los segmentos de dos procesos en la memoria real.
observa que el segmento sistema contiene una imagen de toda
la memoria real del computador. Esta es una técnica muy usada en la
implementación de Unix.
Cuando un proceso accesa la memoria siempre suministra una dirección en su
espacio de direcciones virtuales. El procesador debe traducir esa dirección a
su posición efectiva en la memoria real del computador, es decir a su dirección
real.
La tabla de segmentos del procesador
Para traducir las direcciones virtuales a direcciones reales, el procesador
posee una tabla de segmentos con 4 filas. Cada una de estas filas describe uno
de los 4 segmentos del programa en ejecución. Para cada segmento se indica:
·
Base: Dirección virtual en donde comienza (incluyendo
esta dirección).
·
Límite: Dirección virtual en donde finaliza
(excluyendo esta dirección).
·
Desplazamiento: Desplazamiento que hay que sumar a una
dirección virtual para obtener su dirección real. Se calcula como la dirección
de comienzo del segmento en la memoria real menos la dirección virtual de
inicio del segmento.
·
Atributos del segmento: lectura/escritura, solo lectura
e invisible (accesible solo por el núcleo).
¿Qué es la
paginacion y Cómo funciona?
La paginación es uno de los esquemas de manejo de memoria en donde un computador puede almacenar y recuperar datos de un dispositivo de almacenamiento secundario para su uso en la memoria principal. En el esquema de manejo de memoria de paginación, el sistema operativo recupera datos desde un dispositivo de almacenamiento secundario en bloques de un mismo tamaño llamados páginas. La principal ventaja de paginación sobre la segmentación de memoria es que permite al espacio de dirección física de un proceso ser no contiguo. Antes de la paginación, los sistemas debían poner programas en almacenamiento de forma contigua, lo que causaba varios problemas de almacenamiento y fragmentación.
El método básico para implementar paginación consiste en dividir la memoria
física en bloques de tamaño fijo llamados frames (marcos) y dividir la memoria
lógica en bloques de mismo tamaño llamados pages (páginas). Cuando un proceso
se va a ejecutar, sus páginas son cargadas en cualquier marco de la memoria de
almacenamiento secundario. Este esta dividido en bloques de tamaño fijo del
mismo tamaño de los marcos en memoria.
Hardware de Paginación
El tamaño de pagina (como el marco de página) es definido por hardware. El
tamaño de una pagina es tipicamente una potencia de 2, variando entre 512 B y
16 MB por pagina, dependiendo de la arquitectura del computador. La selección
de una potencia de 2 como tamaño de página hace la traducción de una direccion
lógica a un número de pagina y offset de página algo fácil. Si el tamaño del
espacio de dirección lógica es 2^m y el tamaño de página 2^n unidades de
dirección (bytes o palabras), entonces los m-n bits de mayor orden de la dirección
logica designan el número de pagina, y los n bits de menor orden designan el
offset de página.
Cualquier direccion generada por la CPU es divida en dos partes: un número
de página (p) y un offset de página (d). El número de pagina es usado como
indice en una tabla de página. La tabla de página contiene las direcciones base
de cada pagina en la memoria física. Esta dirección base es combinada con el
offset de página para definir la dirección de memoria física que es enviada a
la unidad de memoria.
Tabla de Página
Bueno, ya hemos revisado el concepto de paginación y como funciona, En esta
sección explicaremos como se implementa, y es en este punto en donde debemos
mencionar a "la Tabla de Página". La tabla de página es una Estructura
de datos usada por el sistema de memoria virtual, en un sistema
operativo para almacenar la relación entre una dirección virtual en la memoria
y la direcciones físicas.
La memoria virtual aparece unida a
los sistemas operativos modernos. Permite simular una RAM de mayor
tamaño que la que tienes instalada en tu equipo.
Pero, veamos como se ejecuta
un programa. Las aplicaciones y sus datos, para poder ser usados por el procesador,
tienen que pasar del disco duro, que es donde se encuentra almacenado todo
cuando apagas al equipo, a la memoria RAM que puede ser accedida de forma
directa por el micro. Surge, por tanto la necesidad de tener la mayor cantidad
de esta, para poder hacer funcionar de forma correcta el sistema.
La memoria RAM de una computadora,
hace unos años, era un elemento muy caro. Si a esto unimos, que no todas las
aplicaciones que se están ejecutando se usan a la vez, parece necesario un
sistema que controle el uso de la memoria.
Aunque la RAM era cara, los discos
duros no lo eran tanto. Se podía entonces usar el disco duro para simular que
tenemos más memoria. El procedimiento era sencillo, se pasaba al disco las
porciones de RAM que no se usaban en un determinado momento.
Esta técnica consigue simular, por
tanto, más memoria, y las aplicaciones ni se dan cuenta de todo lo que esta
ocurriendo por debajo. En un sistema operativo normal, se llega a simular tener
el doble que sin usarla. Como contrapartida el sistema puede comportase de
manera más lenta en algunas situaciones.
Esto es debido a que la velocidad de
acceso de los datos al disco duro es miles de veces más lenta que a la memoria
RAM. Si una porción de memoria no se encuentra en esta, el sistema necesita
tiempo para leerla y devolverla a la memoria principal ya que este es el único
lugar donde el procesador puede ejecutarlo.
Como ves la memoria se organiza en
niveles. Primero las caches del micro que se encargan de tener los datos que
más usas cerca del procesador, después la memoria RAM, quedando como último
recurso el disco duro. A mayor proximidad al micro, mayor velocidad, pero la
memoria es mucho más cara.
¿Por qué es tan importante?
Si nos quedamos sin memoria no
podremos ejecutar más programas y los que estamos ejecutando tendrán problemas
para trabajar con más datos. Además, el uso de memoria virtual puede hacer que
tu equipo funcione más lento si es necesario ir por datos al disco duro. Es
siempre un compromiso entre la velocidad y la cantidad de datos que el sistema
es capaz de procesar.
Jamás una configuración de más
memoria virtual podrá ser mejor que una ampliación de memoria RAM. Es más, lo
ideal sería tener un equipo que no necesitase tener esta característica
activada.
Uso en los sistemas operativos modernos
En cada versión de tu sistema
operativo, como es gestionada esta memoria y los algoritmos que la gobiernan son
mejorados. Sin embargo, el mayor uso de interfaces gráficas y herramientas cada
vez más sofisticadas hace que los sistemas sean unos devoradores de RAM.
Una de las razones por las que
un sistema mejora su velocidad usando un disco SSD es
debido a esta funcionalidad. Ten siempre en cuenta que una mejora de velocidad
de acceso a los datos, aunque no sea espectacular, puede ayudar mucho a un
equipo con limitaciones de memoria ya que todo el sistema se puede enfrentar a
bloqueos constantes.
¿Se puede deshabilitar?
Seguro que te estas preguntando si
se puede deshabilitar y si esto trae mejoras de rendimiento. En principio yo no
te recomiendo que la deshabilites si eres un usuario normal. Si tienes gran
cantidad de memoria, no usas muchas aplicaciones de manera concurrente, pero
tienes problemas de rendimiento, puedes probar a desactivar esta
característica.
En resumen la memoria virtual te
permite ampliar tu capacidad para ejecutar más programas de manera simultánea
pero puede hacer que tu equipo en ciertas ocasiones sea más lento. En unos años
y debido a la continua rebaja en el precio de las memorias acabará teniendo
menos importancia.
Manejo de consistencias entre diferentes medios de
memorias
Memoria: es el disposivo que retiene, memoriza o almacena datos informáticos
durante algún intervalo de tiempo.
Almacenamiento Primario
La memoria
primaria está directamente conectada a la
CPU de la computadora. Debe estar presente para que la CPU efectúe cualquier
función Almacenamiento secundario
La memoria secundaria requiere que la computadora use sus canales
de entrada/salida para acceder a la información y se utiliza para
almacenamiento a largo plazo de información persistente.
Almacenamiento terciario
La memoria terciaria es un sistema en el que montará
(conectará) o desmontará (desconectará) un medio de almacenamiento masivo fuera
de
Las memorias de lectura/escritura o memorias
cambiables permiten que la información se reescriba en cualquier
momento.
La memoria de sólo lectura retiene la información
almacenada en el momento de fabricarse
Memoria de semiconductor
La memoria de semiconductor usa circuitos integrados basados en
semiconductores para almacenar información.
Memoria magnética
Las memorias magnéticas usan diferentes patrones de magnetización sobre una
superficie cubierta con una capa magnetizada para almacenar información.
Memoria de disco óptico
Las memorias en disco óptico almacenan información usando
agujeros minúsculos grabados con un láser en la superficie de un disco
circular.
Memoria de disco magneto-óptico
Los discos magneto-ópticos son discos de memoria óptica donde la
información se almacena en el estado magnético de una superficie ferromagnética.
La memoria de acceso aleatorio (RAM)
se utiliza como memoria de trabajo para el sistema operativo, los programas y
la mayor parte del software. más rápida posible.
Administración de procesos
Procesos
Un proceso es un programa en ejecución. Un proceso simple tiene
un hilo de ejecución, por el momento dejemos esta última definición como
un concepto, luego se verá en más detalle el concepto de hilo. Una vez
definido que es un proceso nos podríamos preguntar cuál es la diferencia entre
un programa y un proceso, y básicamente la diferencia es que un proceso es una
actividad de cierto tipo que contiene un programa, entradas salidas y estados.
Estados de los procesos
Un proceso puede estar en cualquiera de los siguientes tres estados: Listo,
En ejecución y Bloqueado.
- Los procesos en el estado listo son los que pueden pasar a estado de ejecución si el planificador los selecciona.
- Los procesos en el estado ejecución son los que se están ejecutando en el procesador en ese momento dado.
- Los procesos que se encuentran en estado bloqueado están esperando la respuesta de algún otro proceso para poder continuar con su ejecución. Por ejemplo operación de E/S.
Implantación de los procesos
La implementación del modelo de procesos se logra debido a que
el sistema operativo almacena en una tabla denominada tabla de control de
procesos información relativa a cada proceso que se esta ejecutando en el
procesador. Cada línea de esta tabla representa a un proceso.
La información que se almacena es la siguiente:
1) Identificación del proceso.
2) Identificación del proceso padre.
3) Información sobre el usuario y grupo.
4) Estado del procesador.
5) Información de control de proceso
5.1) Información del planificador.
5.2) Segmentos de memoria asignados.
5.3) Recursos asignados
Bibiografia
No hay comentarios:
Publicar un comentario