lunes, 22 de noviembre de 2010

SERIE ADMON. DE MEMORIA

Las preguntas estarán todas como comentarios de esta entrada...

6 comentarios:

  1. esta es La primera parTe...

    1.-¿Qué es la monoprogramación?

    Es cuando un sólo programa requiere de todos los recursos para ejecutarse, es decir, ningun otro proceso puede ejecutarse hasta que el otro haya concluído su función; es usar toda la computadora para correr un sólo programa a la vez.


    2.-¿En qué se diferencía con la multiprogramación?

    Se diferencía de la multiprogramación porque como su nombre lo dice pueden estarse ejeutando "multiples" procesos al mismo tiempo,esto quiere decir que la Unidad Central de Proceso siempre tenga alguna tarea que ejecutar, provechando
    al máximo su utilización.


    3.-¿En qué consiste administrar la memoria por medio de particiones fijas?

    es la división de la memoria libre en varias partes (de igual o distinto tamaño), es unapartición para cada tarea, Esta partición la puede hacer el usuario en forma manual, al iniciar una sesión con la máquina.


    4.-¿Qué mejoras tienen las particiones variables sobre las fijas?

    una de las ventajas de las particiones variables es que se disminuye parcial o totalmente el desperdicio de memoria y cada trabajo ocupa tanto espacio como lo requiera; ñpor otra parte,el tamaño del trabajo a ubicar no puede ser mayor que el almacenamiento principal disponible.


    5.-Intercambio dentro de la memoria se refiere a...

    es traer un proceso entero a la memoria, ejecutarlo durante un rato y volver a guardarlo en disco, es llamado "swapping"

    ResponderEliminar
  2. parTe 2...


    6.-¿Es válido cualquier método de compactación de memoria, por qué?

    la compactación se va a encargar de trasladar todas las áreas ocupadas del almacenamiento hacia algún extremo de la memoria, la compactación no siempre es posible, sólo es posible si la realización es dinámica y se efectúa en el momento de la ejecución.


    7.-Administrar la memoria por medio de un mapa de bit puede asociarse a una lista enlazada, ¿De qué manera?

    Este tipo de administración divide la memoria en unidades de asignación.en las listas enlazadas se debe mantener una lista enlazada de segmentos de memoria asignados libres, este segmento puede ser un proceso o un hueco. En los mapas de bits a cada unidad de asignación le corresponde un bit en 0 desocupada, en 1 asignada.


    8.-¿Qué algoritmos puede manejar una lista enlazada?

    la lista enlazada permite que una secuencia de nodos se guarden en campos de datos arbitrarios y una o dos referencias (punteros) al nodo posterior o anterior. ya que existen diferentes tipos de listas enlazadas, pueden crearse varios algoritmos que estas listan puedan manipular tales como:

    Algoritmo del primer ajuste:
    -se explora la memoria hasta hallar un hueco lo suficientemente grande donde quepa.
    -El hueco se divide en dos partes (proceso y hueco restante, a menos que sea exacto)

    Algoritmo del siguiente ajuste:
    -Similar al anterior exepto que se explora la memoria a partir de donde se ralizó el anterior ajuste, no lo hace desde el principio
    -Suele ser mas lento que el anterior.

    Algoritmo del mejor ajuste:
    -Se explora toda la lista y toma el hueco mas grande que encuentre.
    -Es mas lento
    -Desperdicia mas memoria que los dos anteriores porque deja huecos pequeños inservibles.

    Algoritmo del peor ajuste:
    -Analiza toda la lista y toma el hueco mas grande que encuentre.
    -Para dejar huecos de tamaño aceptable y reutilizables.

    Algoritmo del ajuste rápido:
    -Podría mentenerse en una tabla de n elementos, donde habría apuntadores a cada una de las listas donde hay bloques de huecos de tamaños similares.
    -La localización de un hueco es muy rápida.
    -Es compleja y lenta la actualización cuando un proceso termina o se intercambia

    un algoritmo para borrar un nodo puede ser el siguiente:

    p<--top
    mensaje(Valor a borrar)
    lee(valor_a_borrar)
    repite
    si p(dato)=valor_a_borrar entonces
    p(ld(li))<--p(ld)
    p(li(ld))<--p(li)
    si p=top entonces
    si p(ld)=p(li) entonces
    top<--nil
    en caso contrario
    top<--top(ld)
    dispose(p)
    p<--top
    en caso contrario
    p<--p(ld)
    hasta p=top



    Other...

    http://es.wikipedia.org/wiki/Lista_(inform%C3%A1tica)

    http://sistemas.itlp.edu.mx/tutoriales/estru1/44.htm

    ResponderEliminar
  3. 9. Existe un medio de administrar la memoria llamado Sistema Compañero, ¿cuáles son sus ventajas y desventajas en comparación con las particiones de memoria?

    La técnica de alocación de memoria conocida como sistema compañero divide la memoria en mitades, para intentar dar el mejor ajuste. Comparado con las técnicas de alocación, tales como la paginación, que utilizan los sistemas operativos actuales, el sistema compañero es simple de implementar, y no requiere una unidad administradora de memoria en hardware (MMU), por lo cual puede ser implementado por ejemplo en computadoras Intel 80286 y anteriores.
    Además, comparada con otras técnicas simples tales como la alocación dinámica, el sistema compañero presenta poca fragmentación externa, y no requiere compactación de la memoria.
    Presenta una cantidad moderada de fragmentación interna, ya que sólo se pueden asignar bloques de un tamaño de la forma , siendo t la cantidad total de memoria administrada, y n un número natural.


    10. ¿Por qué se habla de memoria virtual en la administración de memoria?

    La memoria virtual se llama así porque el programador ve una cantidad de memoria mucho mayor que la real, y en realidad se trata de la suma de la memoria de almacenamiento primario y una cantidad determinada de almacenamiento secundario. El sistema operativo, en su módulo de manejo de memoria, se encarga de intercambiar programas enteros, segmentos o páginas entre la memoria real y el medio de almacenamiento secundario. Si lo que se intercambia son procesos enteros, se habla entonces de multiprogramación en memoria real, pero si lo que se intercambian son segmentos o páginas, se puede hablar de multiprogramación con memoria virtual.


    11. ¿Cuál es la estructura de una página?

    Cuando un programa ejecuta una instrucción como MOV REG, 1000 lo hace para copiar el contenido de la dirección de memoria 1000 en REG. Las direcciones pueden generarse empleando indización, registros base, registros de segmento y otros métodos; y según Tanenbaum, estas direcciones generadas por el programa las vamos a conocer como direcciones virtuales y constituyen el espacio de direcciones virtual. El espacio de direcciones virtual se divide en unidades llamadas páginas y las unidades correspondientes en la memoria física se llaman marcos de página.
    en el siguiente link podemos ver como se estrcutura la página y el número marco de página (offset)
    http://books.google.com.mx/books?id=g88A4rxPH3wC&printsec=frontcover&dq=sistemas+operativos&hl=es&ei=nxPsTKSKCoX6sAP-xNTNDw&sa=X&oi=book_result&ct=result&resnum=3&ved=0CDAQ6AEwAg#v=onepage&q&f=false

    ResponderEliminar
  4. 12. ¿Qué es el offset de una página?

    Un offset es un desplazamiento respecto a una direccion de memoria; una dirección física puede traducirse como el número marco de página: offset. Por tanto, definimos el offset como la unidad correspondiente en la memoria física y son del mismo tamaño que las páginas.


    13. ¿Qué algoritmos se utilizan para administrar correctamente una página de memoria?

    • Algoritmo de reemplazo de páginas optimo
    Mejor algoritmo posible para reemplazo de páginas pero irrealizable en la práctica.
    Al momento de ocurrir un fallo de página cierto conjunto de páginas se encuentran en la memoria, en la siguiente instrucción se hará referencia a una de estas páginas, otras páginas no se utilizaran sino hasta mucho después, cada página puede ejecutarse con el número de instrucciones ejecutadas antes de la primera referencia a esa página, el algoritmo dice que se elimine la página con la mayor etiqueta; si una página no va a utilizase sino hasta mucho después que otra la eliminación de la primera retrasa el fallo de página lo mas posible, el único problema de este algoritmo es que es irrealizable. Al momento del fallo de página el S.O. no tiene forma de saber a qué página se hace referencia.
    • Algoritmo de página de uso no muy reciente.
    En un fallo de página , el sistema operativo inspecciona todas las páginas y las divide en cuatro categorías según los valores actuales de los bits R y M
    Clase 0: No se ha hecho referencia ni ha sido modificada
    Clase 1: No se ha hecho referencia pero ha sido modificada
    Clase 2: Se ha hecho referencia pero no ha sido modificada
    Clase 3: Se ha hecho referencia y ha sido modificada
    El algoritmo NRU implica una hipótesis que indica que es mejor eliminar una página modificada sin referencias al menos por lo general un intervalo de reloj, este algoritmo es fácil de comprender, de implantación eficiente y con un rendimiento que, aún sin ser el óptimo si es adecuado en muchos casos.
    • Algoritmo de reemplazo " primero en entrar, primero en salir FIFO"
    El sistema operativo tiene una lista de todas las páginas que se encuentran en memoria, siendo la primera página la mas antigua y la última la mas reciente, en un fallo de página, se elimina la primera página y se añade la nueva al final de la lista.
    • Algoritmo de reemplazo de páginas de la segunda oportunidad
    Una modificación simple del FIFO que evita deshacerse de una página de uso frecuente inspecciona el bit R de la página mas antigua, busca una página antigua sin referencias durante el anterior intervalo de tiempo.
    • Algoritmo de reemplazo de páginas del reloj
    Aunque el anterior algoritmo es razonable un mejor enfoque es mantener las páginas en una lista circular con la forma de un reloj, una manecilla apunta hacia la mas antigua. Al ocurrir un fallo de página se inspecciona la página a la que apunta la manecilla si su bit R=0 se retira de la memoria, se inserta la nueva página en su lugar en el reloj y la manecilla avanza una posición, si R=1 la manecilla avanza una posición y el bit se limpia, esto continua hasta encontrar una página con R=0.

    ResponderEliminar
  5. 14. ¿Qué ventajas presenta un segundo o más niveles dentro de la paginación?

    Tener mas niveles aumenta la flexibilidad , pero no es probable que valga la pena la complejidad adicional que surge cuando se tiene mas de tres niveles


    15. ¿Qué es una Falta de Página?

    Problema: espacio de direcciones virtual más grande que la memoria física

    Bit presente/ausente ) controlar qué páginas están presentes en memoria

    ¿Qué sucede si no hay asociación página/marco? )
    Fallo de página
    1. La MMU detecta que la página no tiene correspondencia
    2. La MMU provoca un fallo de página (interrupción)
    3. S.O. escoge un marco que no se esté usando mucho (si es necesario vuelve a escribir su contenido en disco)
    4. Trae la nueva página a ese marco
    5. Modifica la tabla de páginas
    6. Reinicia la instrucción




    algunas fuentess...
    http://es.wikibooks.org/wiki/Manual_del_estudiante_de_Ingenier%C3%ADa_en_Sistemas_de_UTN/Dise%C3%B1o_e_Implementaci%C3%B3n_de_Sistemas_Operativos/El_sistema_compa%C3%B1ero_de_alocaci%C3%B3n_de_memoria

    http://www.soloingenieria.com/Tema.asp?idElemento=299

    http://ditec.um.es/so/apuntes/teoria/tema4.pdf

    ResponderEliminar
  6. los ejercicios de la segunda parte de la serie se la mandamos a su correo...

    ResponderEliminar