domingo, 15 de marzo de 2015

Paginación y segmentación


Paginación

es una tecnica de manejo de memoria, en el cualel espacio de memoria se divide en partes de igual tamaño, denominadas marcos de pagina. Los programas se dividen en unidades lógicas, denominadas páginas, que tienen el mismo tamaño que los marcos de páginas. De esta forma, se puede cargar una página de información en cualquier marco de página. Algunas caracteristicas de la paginación:

  • El espacio de direcciones lógico de un proceso puede ser no contiguo.
  • Se divide la memoria física en bloques de tamaño fijo llamados marcos (frames).
  • Se divide la memoria en bloques de tamaño llamados paginas.
  • Se mantiene información en los marcos libres.
  • Para correr un programa de n paginas de tamaño, se necesitan encontrara n marcos y cargar el programa.
  • Se establece una tabla de paginas para trasladar las direcciones lógicas a físicas.
  • Se produce fragmentación interna.


  • Segmentación

    Es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su división lógica; llevándose a cabo una agrupación lógica de la información en bloques de tamaño variable denominados segmentos. Cada uno de ellos tienen información lógica del programa: subrutina, arreglo, etc. Luego, cada espacio de direcciones de programa consiste de una colección de segmentos, que generalmente reflejan la división lógica del programa.
    La segmentación permite alcanzar los siguientes objetivos:
    1. Modularidad de programas: cada rutina del programa puede ser un bloque sujeto a cambios y recopilaciones, sin afectar por ello al resto del programa.
    2. Estructuras de datos de largo variable: ejm. Stack, donde cada estructura tiene su propio tamaño y este puede variar.
    3. Protección: se puede proteger los módulos del segmento contra accesos no autorizados.
    4. Comparición: dos o más procesos pueden ser un mismo segmento, bajo reglas de protección; aunque no sean propietarios de los mismos.
    5. Enlace dinámico entre segmentos: puede evitarse realizar todo el proceso de enlace antes de comenzar a ejecutar un programa. Los enlaces se establecerán solo cuando sea necesario.

    Administración de memoria


    PARTICIONES FIJAS
    Particiones: consiste en dividir la memoria libre en varias partes de igual tamaño o de diferentes tamaños, una tarea puede ser demasiado grande para caber en la partición. En este caso,la tarea pasara a cola hasta que la otra tarea termina la ejecución.
    En el caso de particiones de igual tamaño, si todas las particiones estuvieran ocupadas con procesos que no están listos para ejecutar y necesita cargarse un nuevo proceso, debe determinarse qué partición expulsarse de memoria.
    Asignación de memoria con particiones fijas: consiste en el proceso de asignar memoria en tiempo de ejecución antes de que la tarea sea ejecutada.

    PARTICIONES DINÁMICAS
    Consiste en particiones de memoria de tamaños variable, es decir, a cada tarea se le asigna la cantidad de memoria que necesita.
    Las particiones tienen unas técnicas de asignación las cuales son:
    - Primer ajuste: consiste en asignar el primer "hueco" con capacidad suficiente. La búsqueda puede iniciar ya sea al iniciio o al final del conjunto de huecos o en donde termino la ultima búsqueda.
    - Mejor ajuste: busca asignar el espacio más pequeño de los espacios con capacidad suficiente. La busqueda se debe realizar en todas la tabla, a menos que la tabla este ordenada por tamaño.
    - Peor ajuste: asigna el hueco más grande. Una vez más, se  debe de buscar por toda la tabla a menos que este organizada.

    Particiones dinámicas relocalizables.
    Con esta esquema de asignación de memoria, el administrador de memoria relocaliza las particiones para reunir los bloques vacios y compactarlos, para hacer un bloque de memoria lo bastante grande para aceptar algunas o todas las tareas en espera de entrar.
    La relocalización se puede hacer por 3 casos:
    - caso1: se relocaliza por tiempo.
    - caso2: se relocaliza por porcentaje de memoria.
    - caso3: se relocaliza por número de tareas en cola.

    Fragmentación
    cuando en las tecnicas de asignación, la memoria, en los huecos donde la tarea entra y no ocupa todo el espacio , lo que sobra se puede usar por medio del proceso de fragmentación el cual une todas estas "sobras" y las convierte en un solo espacio para ser usado en otra tarea. 



    lunes, 9 de marzo de 2015

    sistema operativo y memorias

    El sistema operativo se encarga de crear el vínculo entre los recursos materiales, el usuario y las aplicaciones (procesador de texto, videojuegos, etc). Cuando un programa desea acceder a un recurso material, no necesita enviar información específica a los dispositivos periféricos; simplemente envía la información al sistema operativo, el cual la transmite a los periféricos correspondientes a través de su driver (controlador). Si no existe ningún driver, cada programa debe reconocer y tener presente la comunicación con cada tipo de periférico. 

    Al estudiar las características del sistema operativo de pueden administrar herramientas para sacar el mejor provecho del computador. Una de esas herramientas son:

    La memoria es el dispositivo que retiene, memoriza o almacena datos informáticos durante algún intervalo de tiempo.
    Tipos de memoria:
    - La memoria Ram es la memoria donde se almacenan los datos (programas) con los que estamos trabajando en ese momento, es decir si trabajo con el word, pues el programa (todas las instrucciones de funcionamiento del word) estará entero en la memoria RAM. 
       El microprocesador solo busca datos en esta memoria, es decir cuando estemos con un programa abierto, estará en la memoria RAM y el micro irá allí a buscar las instrucciones que le demos del programa para ejecutarlas (el microprocesador).
       Según esto cuanto más capacidad de almacenamiento tenga nuestra RAM podemos tener más programas a la vez abiertos. 



    - La memoria Rom es un tipo de memoria que almacena información sin necesidad de corriente eléctrica; se trata de la ROM (Read Only Memory, o Memoria de Sólo Lectura), a veces denominada memoria no volátil, dado que no se borra cuando se apaga el sistema. 


    Este tipo de memoria permite almacenar la información necesaria para iniciar el ordenador. De hecho, no es posible almacenar esta información en el disco duro, dado que los parámetros del disco (vitales para la inicialización) forman parte de dicha información y resultan esenciales para el arranque. Existen 
    diferentes memorias de tipo ROM que contienen dichos datos esenciales para iniciar el ordenador, entre ellas:
    • El BIOS,es un programa que permite controlar las principales interfaces de entrada-salida, de ahí el nombre BIOS ROM que a veces se le da al chip de la memoria de sólo lectura de la placa madre que lo aloja.

    Existen los siguientes tipos de memoria ROM:
    PROM: por las siglas de Programmable Read Only memory, en castellano ROM programable, se caracteriza por ser digital. En ella, cada uno de los bits depende de un fusible, el cual puede ser quemado una única vez. Esto ocasiona que, a través de un programador PROM, puedan ser programadas por única vez. La memoria PROM es utilizada en casos en que los datos necesiten cambiarse en todos o la mayoría de los casos. También se recurre a ella cuando aquellos datos que quieran almacenarse fe forma permanente no superen a los de la ROM.

    EPROM: las memorias EPROM (Erasable Programmable Read Only Memory, o Memoria Programable y Borrable de Sólo Lectura), son memorias PROM que se pueden eliminar. Estos chips disponen de un panel de vidrio que deja entrar los rayos ultra-violeta. Cuando el chip es sometido a rayos ultra-violeta de una determinada longitud de onda, se reconstituyen los fusibles, lo que implica que todos los bits de memoria vuelven a 1. Por esta razón, este tipo de PROM se denomina borrable

    EEPROM: Las memorias EEPROM (Electrically Erasable Programmable Read Only Memory, o Memoria Programable de Sólo Lectura Borrable Eléctricamente) también son memorias PROM borrables, pero a diferencia de éstas, se pueden borrar mediante una sencilla corriente eléctrica, es decir, incluso si se encuentran en posición en el ordenador.