This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

miércoles, 29 de abril de 2015


3- ¿Qué es Memoria Real?

La memoria real o principal es en donde son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesos.
Por lo general esta memoria es de mayor costo que la memoria secundaria, pero el acceso a la información contenida en ella es de más rápido acceso.  Solo la memoria cache es más rápida que la principal, pero su costo es a su vez mayor.
Cuando no existe memoria virtual no hay diferenciación entre el espacio de direcciones y la memoria real; el espacio de direcciones que puede ser usado en los programas tiene idéntico tamaño al espacio de memoria real posible. Si se utiliza memoria virtual, el espacio de direcciones disponibles para los programas es aquel determinado por el tamaño de la memoria virtual implementada y no el espacio de direcciones provisto por la memoria real disponible (el espacio de la memoria virtual será mayor que el de la memoria real).
La organización y administración de la “memoria principal”, “memoria primaria” o “memoria real” de un sistema ha sido y es uno de los factores más importantes en el diseño de los S. O. (Ver la figura 3.2.1)
        Los términos “memoria” “almacenamiento” se consideran equivalentes.
        Los programas y datos deben estar en el almacenamiento principal para:
  • Poderlos ejecutar.
  • Referenciarlos directamente
IMAGEN:


Servicios POSIX Relacionados con Memoria Compartida

Memoria compartida. Tienen espacios de direccionamiento que son independientes entre sí. Sin embargo, muchas aplicaciones de tiempo real (y también muchas que no son de tiempo real) necesitan compartir grandes cantidades de datos de una manera eficiente.
Señales de tiempo real. Permite notificar eventos que ocurren en el sistema, pero no es completamente satisfactorio para aplicaciones de tiempo real. Las señales no se almacenan en colas y, por tanto, algunos eventos se pueden perder. Las señales no están priorizadas, y esto implica tiempos de respuesta más largos para eventos urgentes.
Comunicación de procesos. Se especifica un mecanismo sencillo de colas de mensajes para la comunicación entre procesos. Las colas de mensajes están identificadas por un nombre perteneciente a un espacio de nombres dependiente de la implementación.
Entrada/Salida Asíncrona. Define funciones que permiten solapar el procesado de aplicaciones con las operaciones de entrada/salida. 

El Sistema Operativo y el Manejo de Archivos

Sistema Operativo:
Un Sistema Operativo es el software encargado de ejercer el control y coordinar el uso del hardware entre diferentes programas de aplicación y los diferentes usuarios. Es un administrador de los recursos de hardware del sistema en una definición informal es un sistema que consiste en ofrecer una distribución ordenada y controlada de los procesadores, memorias y dispositivos de E/S entre los diversos programas que compiten por ellos. A pesar de que todos nosotros usamos sistemas operativos casi a diario, es difícil definir qué es un sistema operativo. En parte, esto se debe a que los  sistemas operativos realizan dos funciones diferentes. Proveer una máquina virtual, es decir, un ambiente en el cual el usuario pueda ejecutar programas de manera conveniente, protegiéndolo delos detalles y complejidades del hardware. Administrar eficientemente los recursos del computador.

Una de las principales funciones de un Sistema Operativo es la administración del almacenamiento de información, para lo cual es necesario contar con un “Sistema de Archivos”. Con este término se hace referencia, por un lado, a los mecanismos y estructuras que el sistema operativo utiliza para organizar la información en medios físicos tales como discos y diskettes (aspecto físico del sistema de archivos), y por otro a la visión que es ofrecida al usuario para permitir la manipulación de la información almacenada (una abstracción, o perspectiva lógica del sistema de archivos).

La Memoria como Mecanismo de Comunicación

Intercambio.
La técnica del intercambio (swapping) significó en su momento una manera de permitir que en los sistemas del tiempo compartido existieran más procesos de los que caben en memoria. Se puede considerar que se trata de un mecanismo antecesor de la memoria virtual. 
El intercambio se basa en usar un disco o parte de un disco (dispositivo de swap) como respaldo de la memoria principal. 
En cuanto al dispositivo de swap, hay dos alternativas en la asignación de espacio:
- 
Preasignación
. Al crear el proceso ya se reserva espacio suficiente para albergarlo.
- 
Sin preasignación.
Sólo se reserva espacio de swap cuando se expulsa el proceso.


Que es Segmentación de Memoria

Sistema de gestión de memoria en un sistema operativo.
La segmentación es una técnica de gestión de memoria que pretende acercarse más al punto de vista del usuario. Los programas se desarrollan, generalmente, en torno a un núcleo central (principal) desde el que se bifurca a otras partes (rutinas) o se accede a zonas de datos (tablas, pilas, etc.).
Desde este punto de vista, un programa es un conjunto de componentes lógicos de tamaño variable o un conjunto de segmentos, es decir, el espacio lógico de direcciones se considera como un conjunto de segmentos, cada uno definido por un identificador, y consistente de un punto de inicio y el tamaño asignado.1
La segmentación de un programa la realiza el compilador y en ella cada dirección lógica se expresará mediante dos valores: Número de segmento (s) y desplazamiento dentro del segmento (d).

Una de las implementaciones más obvias y directas de un espacio de memoria segmentado es asignar un segmento distinto a cada una de las secciones del espacio en memoria de un proceso. La segmentación también ayuda a incrementar la modularidad de un programa: Es muy común que las bibliotecas enlazadas dinámicamente estén representadas en segmentos independientes.

Que es una unidad de manejo de memoria

La unidad de gestión de memoria (Esp.) o unidad de manejo de memoria (Lat.) (MMU, del inglés Memory Management Unit) es un dispositivo de Hardware formado por un grupo de circuitos integrados, responsable del manejo de los accesos a la memoria por parte de la Unidad de Procesamiento Central (CPU).
Entre las funciones de este dispositivo se encuentran la traducción de las direcciones lógicas (o virtuales) a direcciones físicas (o reales), la protección de la memoria, el control de caché y, en arquitecturas de computadoras más simples (especialmente en sistemas de 8 bits), Bank switching.
Cuando la CPU intenta acceder a una dirección de memoria lógica, la MMU realiza una búsqueda en una memoria caché especial llamada Buffer de Traducción Adelantada (TLB, Translation Lookaside Buffer), que mantiene la parte de la tabla de páginas usada hace menos tiempo. En esta memoria se mantienen entradas de la tabla de páginas (llamadas PTE por sus siglas en inglés, Page Table Entry), donde se pueden rescatar las direcciones físicas correspondientes a algunas direcciones lógicas, de forma directa. Cuando la dirección requerida por la CPU se encuentra en el TLB, su traducción a dirección real o física es entregada, en lo que se conoce como 'acierto en el TLB' ('TLB hit'). En otro caso, cuando la dirección buscada no se encuentra en el TLB (fallo en el TLB), el procesador busca en la tabla de páginas del proceso utilizando el número de página como entrada a la misma. En la entrada de la tabla de páginas del proceso se encuentra un bit de presencia, que indica si la página buscada está en memoria principal. Si el bit de presencia está activado, se carga esta PTE en el TLB y se devuelve la dirección física. En caso contrario, se informa al sistema operativo de la situación, mediante un fallo de página. Es el sistema operativo el encargado de realizar los ajustes necesarios (esto es, cargar la página en memoria física) usando uno de los Algoritmos de reemplazo de páginas, para continuar con la ejecución desde la instrucción que causó el fallo.

Un beneficio fundamental de la MMU es la posibilidad de implementar protección de memoria, evitando que los programas accedan a porciones de memoria prohibidas. Por ejemplo se puede evitar que un programa acceda o modifique sectores de memoria de otros programas.

Que es una Memoria Virtual

La memoria virtual es una técnica de gestión de la memoria que permite que el sistema operativo disponga, tanto para el software de usuario como para sí mismo, de mayor cantidad de memoria que esté disponible físicamente. La mayoría de los ordenadores tienen cuatro tipos de memoria: registros en la CPU, la memoria caché (tanto dentro como fuera del CPU), la memoria RAM y el disco duro. En ese orden, van de menor capacidad y mayor velocidad a mayor capacidad y menor velocidad.
Muchas aplicaciones requieren acceso a más información (código y datos) que la que se puede mantener en memoria física. Esto es así sobre todo cuando el sistema operativo permite múltiples procesos y aplicaciones ejecutándose simultáneamente. Una solución al problema de necesitar mayor cantidad de memoria de la que se posee consiste en que las aplicaciones mantengan parte de su información en disco, moviéndola a la memoria principal cuando sea necesario. Hay varias formas de hacer esto.
Una opción es que la aplicación misma sea responsable de decidir qué información será guardada en cada sitio (segmentación), y de traerla y llevarla. La desventaja de esto, además de la dificultad en el diseño e implementación del programa, es que es muy probable que los intereses sobre la memoria de dos o varios programas generen conflictos entre sí: cada programador podría realizar su diseño teniendo en cuenta que es el único programa ejecutándose en el sistema. La alternativa es usar memoria virtual, donde la combinación entre hardware especial y el sistema operativo hace uso de la memoria principal y la secundaria para hacer parecer que el ordenador tiene mucha más memoria principal (RAM) que la que realmente posee. Este método es invisible a los procesos. La cantidad de memoria máxima que se puede hacer ver que hay tiene que ver con las características del procesador. Por ejemplo, en un sistema de 32 bits, el máximo es 232, lo que da 4096 Megabytes (4 Gigabytes). Todo esto hace el trabajo del programador de aplicaciones mucho más fácil, al poder ignorar completamente la necesidad de mover datos entre los distintos espacios de memoria. Aunque la memoria virtual podría estar implementada por el software del sistema operativo, en la práctica casi siempre se usa una combinación de hardware y software, dado el esfuerzo extra que implicaría para el procesador.

Diferencia entre Memoria RAM, ROM Y PROM


La Memoria RAM es la que todos conocemos, pues es la memoria de acceso aleatorio o directo; es decir, el tiempo de acceso a una celda de la memoria no depende de la ubicación física de la misma (se tarda el mismo tiempo en acceder a cualquier celda dentro de la memoria). Son llamadas también memorias temporales o memorias de lectura y escritura.
En este tipo particular de Memoria es posible leer y escribir a voluntad. La Memoria RAM está destinada a contener los programas cambiantes del usuario y los datos que se vayan necesitando durante la ejecución y reutilizable, y su inconveniente radica en la volatilidad al contratarse el suministro de corriente; si se pierde la alimentación eléctrica, la información presente en la memoria también se pierde.

Por este motivo, surge la necesidad de una memoria que permanentemente, guarde los archivos y programas del usuario que son necesarios para mantener el buen funcionamiento del sistema que en se ejecute en la misma.
La Memoria ROM nace por esta necesidad, con la característica principal de ser una memoria de sólo lectura, y por lo tanto, permanente que sólo permite la lectura del usuario y no puede ser reescrita.

Por esta característica, la Memoria ROM se utiliza para la gestión del proceso de arranque, el chequeo inicial del sistema, carga del sistema operativo y diversas rutinas de control de dispositivos de entrada/salida que suelen ser las tareas encargadas a los programas grabados en la Memoria ROM. Estos programas (utilidades) forman la llamada BIOS del Sistema.
Entonces, en conclusión:
La Memoria RAM puede leer/escribir sobre sí misma por lo que, es la memoria que utilizamos para los programas y aplicaciones que utilizamos día a día
La Memoria ROM como caso contrario, sólo puede leer y es la memoria que se usa para el BIOS del Sistema.

EPROM = Electronically Programable Read Only Memory (Memoria Solo para Lectura que Tu puedes Programar de forma Electrónica) Esta memoria es una memoria híbrida entre la RAM y la ROM. Con un software y hardware especial puedes grabar/borrar información dentro de ella (usualmente una cantidad limitada de veces) pero igual que la ROM, si la dejas sin energía, el programa o los datos que grabaste no se borrarán por ello.

Arquitectura de Memoria

1.    La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos). Sin una memoria de la que los procesadores leyeran o escribieran la información, no habría ordenadores digitales de programa almacenado (como son los actuales desde EDVANC desde 1945).
Por una parte tenemos que la velocidad de ejecución de los programas es muy dependiente de la velocidad a la que se pueden transferir los datos entre la CPU y la memoria. Por otra parte también es importante disponer de una gran cantidad de memoria para facilitar la ejecución de programas que son grandes o que trabajan con gran cantidad de datos.
Por esto idealmente, la memoria debería de ser rápida, grande y barata. Como cabría esperar, hay un compromiso entre estas tres características de la memoria que mantienen las siguientes relaciones:
·         A menor tiempo de acceso → mayor coste por bit.
·         A mayor capacidad → menor coste por bit.
·         A mayor capacidad → mayor tiempo de acceso.