Sei sulla pagina 1di 14

Universidad Nacional de La Rioja

CECO N 4 REA DE ALGORITMOS Y LENGUAJES.


DOCENTES Ing. Marcelo Camargo - Lic. Cristian Bazn - Lic. Mara ngel Rodrguez. INTEGRANTES
NOMBRE MATRICULA CARRERA

Bustos, Patricia Chanampe, Nerea Contreras, Fernando Daniel De la Fuente Aza, Roy Gonzlez, Mario Csar Hollweg, Brian Ivn Miranda, Patricia Parra Casado, Mauricio

BLSI 982 BLSI 967 BLSI 1046 BLSI 1058 BLSI 1043 BLSI 1040 BLSI 1049 BLSI 1042

Licenciatura en Sistemas Licenciatura en Sistemas Licenciatura en Sistemas Licenciatura en Sistemas Licenciatura en Sistemas Licenciatura en Sistemas Licenciatura en Sistemas Licenciatura en Sistemas

CECO N 4 - rea de Algoritmos y Lenguajes 2011 INDICE Contenido


INDICE...................................................................................................................................................... 2 INTRODUCCIN ....................................................................................................................................... 3 REPRESENTACIN DE DATOS EN MEMORIA ........................................................................................... 4 Definicin de Memoria........................................................................................................................ 4 Estructura Interna de la Memoria ....................................................................................................... 4 Unidad de direccionamiento ............................................................................................................... 5 Tamao de Memoria ........................................................................................................................... 5 Parmetros de las Operaciones de Memoria...................................................................................... 6 Tamao de Memoria y Tamao de la Direccin de Memoria ............................................................ 6 Memoria Posible y Memoria Real de un Ordenador .......................................................................... 6 ALMACENAMIENTO DE CARACTERES ASCII ............................................................................................ 7 Tamao de Datos ................................................................................................................................ 8 Almacenamiento de un Booleano ....................................................................................................... 8 Almacenamiento de Nmeros Enteros ............................................................................................... 9 Almacenamiento de Diferentes Enteros ............................................................................................. 9 Almacenamiento de Instrucciones .................................................................................................... 10 Tamao de los Datos en las Operaciones de Lectura/Escritura........................................................ 10 Almacenamiento de Direcciones como Datos .................................................................................. 11 Direccionamiento Indirecto .............................................................................................................. 11 Mltiples Direccionamientos Indirectos ........................................................................................... 12 Almacenamiento de un Array ........................................................................................................... 12 Almacenamiento de Arrays de Java .................................................................................................. 13 ESTRATEGIAS DE ASIGNACIN DE MEMORIA ....................................................................................... 13 Estrategias Alternativas..................................................................................................................... 13 CONCLUSIONES ..................................................................................................................................... 14 BIBLIOGRAFIA ........................................................................................................................................ 14

Pgina 2 de 14

CECO N 4 - rea de Algoritmos y Lenguajes 2011 INTRODUCCIN


Como propuesta del Curso Extracurricular Complementario Obligatorio N 4 rea de Algoritmos y Lenguajes, del ciclo lectivo 2011 de la carrera de Licenciatura en Sistemas se desarrollarn en el presente trabajo los temas de Representacin de datos en memoria y Estrategias de Implementacin. Como as tambin Manejo de Memoria en ejecucin. El objetivo de este trabajo es realizar una investigacin de los temas anteriormente mencionados para ampliar nuestros conocimientos sobre el rea de Algoritmos y Lenguajes.

Pgina 3 de 14

CECO N 4 - rea de Algoritmos y Lenguajes 2011 REPRESENTACIN DE DATOS EN MEMORIA


Definicin de Memoria
La memoria es un dispositivo electrnico en el que se almacenan datos. La misma permite operaciones de escritura en las que los datos se almacenan en un lugar dado, as como tambin operaciones de lectura en las que teniendo una direccin de memoria, se obtiene el contenido previamente almacenado en la celda que tiene dicha direccin. Otra posible definicin: La memoria es un circuito sobre el que se permiten dos operaciones: 1. Data Read(Address a): Dada una posicin o direccin de memoria se obtiene un dato. 2. void Write(Address a, Data d): Se almacena un dato dado en una posicin o direccin de memoria (no se devuelve resultado).

Estructura Interna de la Memoria


La memoria consta de celdas capaces de almacenar un bit cada una, cada celda necesita voltaje para mantener la informacin almacenada. A este tipo de memoria se le conoce como memoria RAM (Random Access Memory). La Memoria RAM La memoria RAM se usa para almacenar los programas que van a ser ejecutados. Pierde su contenido una vez que se desconecta de la red electrica (voltil). Existen dos tipos de memoria RAM 1. RAM Esttica (SRAM): Almacena la informacin en las celdas indefinidamente mientras se mantenga el voltaje (utiliza un biestable). Es una memoria que no necesita refresco (es decir cuando el contenido no requiere ser renovado constantemente). Ejemplo: memoria cache (Es una clase de memoria especia de alta velocidad que est diseada para acelerar el procesamiento de la CPU cuando esta tiene que acceder a memoria principal.)

2. RAM Dinmica (DRAM): La informacin almacenada se borra tras un tiempo determinado. Para evitar perder informacin se debe reescribir cada bit de informacin antes de perderlo. Es una memoria que si necesita refresco, ya que cada bit se almacena en una celda formada por un transistor y un condensador y el condensador se va descargando. Son ms lentas, pero ms econmicas. Durante el tiempo de refresco el procesador no puede acceder a ellas. Son las ms comunes en los ordenadores actuales.

Pgina 4 de 14

CECO N 4 - rea de Algoritmos y Lenguajes 2011


Unidad de direccionamiento
La unidad mnima de direccionamiento se define como la cantidad de informacin que se almacena en una posicin de la memoria a la que se refiere una direccin. Generalmente, esta unidad mnima de direccionamiento es un byte (8 bits). Aspectos destacables Cada una de las posiciones tiene una direccin nica. Cada unidad mnima de direccionamiento tiene una direccin nica. La primera unidad de informacin tiene la direccin 0. Una memoria que almacena 1024 bytes tiene direcciones desde la 0 hasta la 1023.

Tamao de Memoria
El tamao de memoria se mide por la cantidad de informacin que esta es capaz de almacenar. Un kilobyte (KB) son 1024 bytes (210 bytes) Un megabyte (MB) son 1024 kilobytes (220 bytes) Un gigabyte (GB) son 1024 megabytes (230 bytes) Un terabyte (TB) son 1024 gigabytes (240 bytes)

Pgina 5 de 14

CECO N 4 - rea de Algoritmos y Lenguajes 2011


Parmetros de las Operaciones de Memoria
Al conjunto de direcciones posibles para acceder a la memoria se le denomina Espacio de Direcciones. El nmero de bits utilizado para codificar el espacio de direcciones depende del nmero de unidades mnimas de direccionamiento y del tamao de la memoria. Toda informacin debe estar codificada en Binario.

Tamao de Memoria y Tamao de la Direccin de Memoria


El tamao de la memoria es el nmero de unidades de informacin que puede almacenar. Cada una de estas unidades de memoria tiene una direccin. El nmero de direcciones de memoria determina el tamao de la direccin de memoria. Estos dos conceptos estn relacionados mediante la frmula: tamao de memoria = 2 elevado al tamao de direccin. Ejemplo: Una memoria cuya direccin se representa con 20 bits tiene un tamao de 1 Megabyte.

Memoria Posible y Memoria Real de un Ordenador


La memoria es un mdulo externo al procesador, el procesador asume que la memoria tiene un determinado tamao de direccin. Es posible que la memoria tenga un tamao ms reducido que el que puede manipular el procesador. Existen direcciones de memoria que nunca son utilizadas por el procesador.

Pgina 6 de 14

CECO N 4 - rea de Algoritmos y Lenguajes 2011 ALMACENAMIENTO DE CARACTERES ASCII

Utilizando la codificacin ASCII cada smbolo se representa como 1 byte en memoria. Un string es una secuencia de caracteres y por tanto se almacena en memoria en posiciones consecutivas. La posicin de memoria en donde se almacena un string es la posicin de su primer elemento.

Pgina 7 de 14

CECO N 4 - rea de Algoritmos y Lenguajes 2011


Tamao de Datos
Cada lenguaje de programacin debe definir los tamaos de los tipos de datos primitivos. A modo de ejemplo, los tamaos de los tipos de datos bsicos en JAVA son:

Almacenamiento de un Booleano
Un tipo de dato booleano codifica dos valores y por tanto slo requiere un bit. Para almacenar un dato booleano en memoria existen dos opciones: 1. Utilizar 1 byte sin utilizar 7 de los 8 bits.

2. Utilizar un nico bit dentro de 1 byte (caben 8 booleanos en un byte).

Pgina 8 de 14

CECO N 4 - rea de Algoritmos y Lenguajes 2011


Almacenamiento de Nmeros Enteros
Ejemplo: Cmo se almacena en memoria el entero de 16 bits 0x0123? Se requieren dos bytes consecutivos. Cul de los dos bytes se almacena primero? Big Endian: Se almacena comenzando por el de ms peso.

Little Endian: Se almacena comenzando por el de menos peso. El procesador Pentium almacena los enteros en formato Little Endian.

Esta diferencia es irrelevante excepto si los datos se intercambian entre procesadores con diferentes polticas. La direccin del entero es la direccin de su primer byte almacenado en memoria.

Almacenamiento de Diferentes Enteros


Para el caso de enteros de 32 y 64 bits se sigue la misma poltica. Ejemplo de almacenamiento de un int: Write(0x100, (int) 0x89A8C6A4)

Ejemplo de almacenamiento de long: Write(0x100, (long) 0xFA45D3B333CA112F)

Pgina 9 de 14

CECO N 4 - rea de Algoritmos y Lenguajes 2011


Almacenamiento de Instrucciones
Como toda la informacin que manipula el procesador est codificada en binario, esta informacin es susceptible de ser almacenada en memoria. Ejemplo: El conjunto de smbolos que representan operaciones entre 2 enteros de 8 bits.

Para instrucciones no es preciso distinguir entre los estilos big endian o little endian pues los bytes no existen bytes ms significativos que otros. Los bytes se almacenan en el orden en el que se escriben.

Tamao de los Datos en las Operaciones de Lectura/Escritura


La mayora de datos que se almacenan en memoria requieren ms de un byte. La unidad mnima de direccionamiento es un byte. Para obtener mejor rendimiento en la transferencia de datos, la unidad de transferencia suele ser mayor que un byte. Si la unidad de transferencia es n bytes la operacin de lectura devuelve n bytes consecutivos, y la de escritura modifica n bytes consecutivos. Ejemplo: La Unidad de transferencia es de 4 bytes. Read(0x100): Devuelve los cuatro bytes almacenados en las posiciones 0x100 a 0x103. Write(0x100, 0xAB132432): Almacena a partir de la posicin 0x100 los cuatro bytes 0xAB132432.

Pgina 10 de 14

CECO N 4 - rea de Algoritmos y Lenguajes 2011


Almacenamiento de Direcciones como Datos
Una direccin de memoria se puede representar con tantos bits como indica el tamao de direccin de memoria. Supongamos una memoria cuya direccin se representa con 32 bits. Tras la operacin Write (0x00001000, 0xFAFBFCFD) en la posicin 0x00001000 se encuentran cuatro bytes consecutivos con los valores 0xFA, 0xFB, 0xFC y 0xFD. Pero la direccin de memoria es ella misma un dato susceptible de ser almacenado en la propia memoria. Write (0x00002000, 0x00001000): En la posicin 0x00002000 se encuentran cuatro bytes consecutivos cuyo valor es 0x00001000. Podemos concluir que en la posicin de memoria 0x00002000 se encuentra almacenada la direccin del nmero 0xFAFBFCFD.

Direccionamiento Indirecto

Un conjunto de bytes en memoria puede ser interpretado como entero, coma flotante, direccin, etc. La forma de interpretar un conjunto de bytes no est almacenada en memoria.

Pgina 11 de 14

CECO N 4 - rea de Algoritmos y Lenguajes 2011


Mltiples Direccionamientos Indirectos
El concepto de indireccin se puede encadenar un nmero arbitrario de veces.

En la memoria, por tanto pueden coexistir: Nmeros (enteros, naturales, coma flotante). Letras. Booleanos. Direcciones. Cdigos que representan smbolos de un conjunto previamente definido.

Almacenamiento de un Array
Cmo se almacena un array de enteros de 32 bits? Lo ms intuitivo es almacenar los elementos en posiciones consecutivas de memoria. Ejemplo: Un array con 4 enteros de 32 bits almacenado a partir de la posicin 0x100 ocupa las posiciones desde la 0x100 hasta la 0x10C. Si la memoria es la del Pentium (little endian).

Pgina 12 de 14

CECO N 4 - rea de Algoritmos y Lenguajes 2011


Almacenamiento de Arrays de Java
El tamao de un array es tan importante que en Java se almacena como primer elemento de la tabla. Todo acceso a un elemento del array se realiza a travs de un ndice que se comprueba primero si est en el rango permitido. Ejemplo: int[] narray = new int[6];

ESTRATEGIAS DE ASIGNACIN DE MEMORIA


Una estrategia de asignacin de memoria determina el lugar donde ser cargado un nuevo proceso en base a un criterio. Las estrategias de asignacin son: Primer ajuste. El Sistema Operativo Windows asigna el primer bloque de memoria libre con espacio suficiente para satisfacer la necesidad del sistema demandante. La bsqueda de este bloque es de manera secuencial. Mejor ajuste. El sistema operativo Windows busca el bloque de memoria que represente el menor desperdicio segn el requerimiento. Peor ajuste. El sistema operativo Windows asigna el bloque ms grande que encuentre.

Estrategias Alternativas
Estas estrategias representan una alternativa a las primeras, aunque su implementacin ha sido escasa. Siguiente ajuste. En este esquema se accede a la siguiente particin de memoria disponible, es semejante al primer ajuste. Es til para garantizar espacios extras. Listas variables. En este esquema, se propone una forma de mejorar el acceso a las unidades de asignacin (particin) disponibles. Este mtodo mantiene varias listas con diferentes tamaos de particiones. La desventaja radica en actualizar la lista de control de dichas particiones. Cualquier mtodo para manejar la disponibilidad de la memoria presenta inconvenientes como: Fragmentacin Overhead Relocalizacin de programas Trashing (sacar un programa inmediatamente despus de habrsele asignado memoria)
Pgina 13 de 14

CECO N 4 - rea de Algoritmos y Lenguajes 2011 CONCLUSIONES


Para concluir se entiende que: En la memoria principal son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesos. La memoria virtual es aquella que le ofrece a las aplicaciones la ilusin de que estn solas en el sistema y que pueden usar el espacio de direcciones completo. Las direcciones de memoria son de tres tipos: fsicas, lgicas y lineales. El objetivo del intercambio es dar cabida a la ejecucin de ms aplicaciones de las que pueden residir simultneamente en la memoria del sistema. La asignacin consiste en determinar cul espacio vaco en la memoria principal es el ms indicado para ser asignado a un proceso. Las estrategias ms comunes para asignar espacios vacos (huecos) son: primer ajuste, mejor ajuste, peor ajuste. La fragmentacin es la memoria que queda desperdiciada al usar los mtodos de gestin de memoria tal como la asignacin. La fragmentacin puede ser interna o externa. La paginacin es una tcnica de gestin de memoria en la cual el espacio de memoria se divide en secciones fsicas de igual tamao llamadas marcos de pgina, las cuales sirven como unidad de almacenamiento de informacin. La segmentacin es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su divisin lgica; llevndose a cabo una agrupacin lgica de la informacin en bloques de tamao variable denominados segmentos.

BIBLIOGRAFIA
Universidad Carlos III de Madrid Departamento de Ingeniera Telemtica. Universidad de Talca Facultad de Ingeniera Representacin de Datos. DEITEL Sistemas Operativos STALLINGS William. Sistemas Operativos. Editorial Prentice Hall TANENBAUM Andrew S. Sistemas Operativos Modernos .Prentice Hall

Pgina 14 de 14

Potrebbero piacerti anche