miércoles, 26 de enero de 2011

UNIDAD 4 ADMINISTRACION DE LA MEMORIA



4.1 GESTION DE MEMORIA
La memoria es uno de los principales recursos de la computadora, la cual debe de administrarse con mucho cuidado. Aunque actualmente la mayoría de los sistemas de cómputo cuentan con una alta capacidad de memoria, de igual manera las aplicaciones actuales tienen también altos requerimientos de memoria, lo que sigue generando escasez de memoria en los sistemas multitarea y/o multiusuario.

La parte del sistema operativo que administra la memoria se llama administrador de memoria y su labor consiste en llevar un registro de las partes de memoria que se estén utilizando y aquellas que no, con el fin de asignar espacio en memoria a los procesos cuando éstos la necesiten y liberándola cuando terminen, así como administrar el intercambio entre la memoria principal y el disco en los casos en los que la memoria principal no le pueda dar capacidad a todos los procesos que tienen necesidad de ella.

Los sistemas de administración de memoria se pueden clasificar en dos tipos: los que desplazan los procesos de la memoria principal al disco y viceversa durante la ejecución y los que no.

El propósito principal de una computadora es el de ejecutar programas, estos programas, junto con la información que accesan deben de estar en la memoria principal (al menos parcialmente) durante la ejecución.

Para optimizar el uso del CPU y de la memoria, el sistema operativo debe de tener varios procesos a la vez en la memoria principal, para lo cual dispone de varias opciones de administración tanto del procesador como de la memoria. La selección de uno de ellos depende principalmente del diseño del hardware para el sistema.

4.1.1 ORGANIZACION DE LA MEMORIA
En primer lugar tenemos que distinguir claramente entre tres tipos de memoria:

1.- La memoria EEPROM. Donde almacenaremos el programa que haremos, esta memoria solo podrá ser leida por el pic (el pic va leyendo las instrucciones del programa almacenado en esta memoria y las va ejecutando). Al apagar el pic esta memoria no se borra.




2.- La memoria RAM. En cuyos registros se irán almacenando los valores de las variables que nosotros queramos y cuando nosotros queramos (por programa), al apagar el pic esta memoria se borra.
3.- La memoria EEPROM para datos. Es un espacio de memoria EEPROM en la que se pueden guardar variables que queremos conservar aunque se apague el pic. No se tratará aquí por ser una memoria más difícil de emplear.

4.1.2 ADMINISTRADOR DE LA MEMORIA

Se le llama administración de memoria a los diversos métodos y operaciones destinados a obtener la máxima utilidad y provecho de una memoria informática, en pos del buen uso y funcionamiento del sistema en su totalidad.

Una memoria informática consiste en la serie de componentes, dispositivos y medios en una computadora que tienen el fin de retener y almacenar datos informáticos en forma circunstancial o permanente. Toda computadora moderna dispone de unidades de memoria que permiten el correcto funcionamiento del CPU o Unidad Central de Procesamiento.
Las hay de distintos tamaños y formatos. Una memoria puede ser un chip inserto en el interior de la computadora, pero también puede considerarse memoria al uso de unidades externas de almacenamiento como CDs, DVDs o memorias flash. A menudo una computadora dispone de una memoria principal, pero ésta puede ser complementada con otras unidades de memoria que se agreguen o con memorias movibles que permitan intercambiar datos entre varias computadoras.

La administración de memoria refiere, entonces, a la serie de métodos y procesos que se llevan adelante desde la parte usuaria a los efectos de obtener el mejor rendimiento posible por parte de estas unidades.

Estas operaciones son múltiples y tienen distintos usos y objetivos directos. Por ejemplo, una típica operación es trasladar la información a ser ejecutada dentro y fuera de la memoria principal, procurando maximixar el uso del procesador. Otras operaciones comunes son la protección de los procesos de interferencias de otros, uso compartido de datos, para que varios procesos compartan la misma información y memoria, partición de memoria en varias partes, limpieza de datos en la memoria que son poco utilizados o irrelevantes, formateo de disco y muchas otras.

Todos estos procesos son flexibles y dependen del uso y propósito del ordenador por parte del usuario para optimizar su rendimiento. Con frecuencia, la ejecución de estas operaciones brindará mayor espacio disponible para el almacenamiento de información y proporcionará una mayor agilidad en la gestión de procesos de diversa índole y nivel.

4.1.3 JERARQUIA DE LA MEMORIA
Se conoce como jerarquía de memoria a la organización piramidal de la memoria en niveles, que tienen los ordenadores. Su objetivo es conseguir el rendimiento de una memoria de gran velocidad al coste de una memoria de baja velocidad, basándose en el principio de cercanía de referencias.

Los puntos básicos relacionados con la memoria pueden resumirse en:

* Cantidad
* Velocidad
* Coste

La cuestión de la cantidad es simple, cuanto más memoria haya disponible, más podrá utilizarse. La velocidad óptima para la memoria es la velocidad a la que el procesador puede trabajar, de modo que no haya tiempos de espera entre cálculo y cálculo, utilizados para traer operandos o guardar resultados. En suma, el costo de la memoria no debe ser excesivo, para que sea factible construir un equipo accesible.

Como puede esperse los tres factores compiten entre sí, por lo que hay que encontrar un equilibrio. Las siguientes afirmaciones son válidas:

* A menor tiempo de acceso mayor coste
* A mayor capacidad menor coste
* A mayor capacidad menor velocidad

Se busca entonces contar con capacidad suficiente de memoria, con una velocidad que sirva para satisfacer la demanda de rendimiento y con un coste que no sea excesivo. Gracias a un principio llamado cercanía de referencias, es factible utilizar una mezcla de los distintos tipos y lograr un rendimiento cercano al de la memoria más rápida.

Los niveles que componen la jerarquía de memoria habitualmente son:

* Nivel 0: Registros
* Nivel 1: Memoria caché
* Nivel 2: Memoria principal
* Nivel 3: Disco duro (con el mecanismo de memoria virtual)



4.1.4 ESTRATEGIAS PARA ADMINISTRACION DE MEMORIA
Estrategias de FECH: Se encarga de definir cuando tener la siguiente parte de información a memoria principal. La estrategia de fetch mas comun es por demanda, en la que una parte de informacion se trae cuando se requiere.
Estrategias de localización: Se refieren a donde localizar u programa dentro de la memoria principal.
Estrategias de reemplazo: Están relacionadas con la determinación de que parte de un programa quitar para reemplazar con otra nueva.

4.1.5 MULTIPROGRAMACION CON PARTICIONES FIJAS Y VARIABLES
Multiprogramación con particiones fijas

Para poder implementar la multiprogramación, se puede hacer uso de particiones fijas o variables en la memoria.

En el caso de las particiones fijas, la memoria se puede organizar dividiéndose en diversas partes, las cuales pueden variar en tamaño. Esta partición la puede hacer el usuario en forma manual, al iniciar una sesión con la máquina.

Una vez implementada la partición, hay dos maneras de asignar los procesos a ella. La primera es mediante el uso de una cola única que asigna los procesos a los espacios disponibles de la memoria conforme se vayan desocupando. El tamaño del hueco de memoria disponible es usado para localizar en la cola el primer proceso que quepa en él. Otra forma de asignación es buscar en la cola el proceso de tamaño mayor que se ajuste al hueco, sin embargo hay que tomar en cuenta que tal método discrimina a los procesos más pequeños. Dicho problema podría tener solución si se asigna una partición pequeña en la memoria al momento de hacer la partición inicial, el cual sería exclusivo para procesos pequeños.

Esta idea nos lleva a la implementación de otro método para particiones fijas, que es el uso de diferentes colas independientes exclusivas para cierto rango en el tamaño de los procesos. De esta manera al llegar un proceso, éste sería asignado a la cola de tamaño más pequeño que la pueda aceptar. La desventaja en esta organización es que si una de las colas tiene una larga lista de procesos en espera, mientras otra cola esta vacía, el sector de memoria asignado para ese tamaño de procesos estaría desperdiciándose.

Multiprogramación con particiones variables

El sistema operativo lleva una tabla indicando cuáles partes de la memoria están disponibles y cuáles están ocupadas. Inicialmente, toda la memoria está disponible para los procesos de usuario y es considerado como un gran bloque o hueco único de memoria. Cuando llega un proceso que necesita memoria, buscamos un hueco lo suficientemente grande para el proceso. Si encontramos uno, se asigna únicamente el espacio requerido, manteniendo el resto disponible para futuros procesos que requieran de espacio. Cuando a un proceso se le asigna un espacio y es cargado a la memoria principal, puede entonces competir para el uso del CPU.

4.2 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.

4.2.1 ADMINISTRACION DE MEMORIA CON MAPA DE BITS
Este tipo de administración divide la memoria en unidades de asignación, las cuales pueden ser tan pequeñas como unas cuantas palabras o tan grandes como varios kilobytes. A cada unidad de asignación le corresponde un bit en el mapa de bits, el cual toma el valor de 0 si la unidad está libre y 1 si está ocupada (o viceversa). Un mapa de bits es una forma sencilla para llevar un registro de las palabras de la memoria en una cantidad fija de memoria, puesto que el tamaño del mapa sólo depende del tamaño de la memoria y el tamaño de la unidad de asignación.

4.2.2 ADMINISTRACION DE MEMORIA CON LISTAS ENLAZADAS
Mantiene una lista enlazada de segmentos de memoria asignados y libres, donde un segmento es un proceso o un hueco entre dos procesos.

•Si la lista se ordena por dirección es más fácil su actualización.

•Si hay dos listas, una para memoria usada y otra para huecos, la asignación es más rápida, pero la liberación es más lenta

•Ocurre lo mismo para asignar hueco de intercambio.



4.2.3 DISTRIBUCION DEL ESPACIO PARA INTERCAMBIO
En algunos sistemas, cuando un proceso esta en la memoria, no se le puede asignar espacio en disco.cuando deba intercambiarse, puede colocarse en alguna otra parte del disco.los algoritmos para administrar el espacio de intercambio son los mismos que se emplean para administrar la memoria principal.

En otros sistemas,cuando se crea un proceso,el espacio para intercambio se asigna para el en disco. Cada ves que el proceso se intercambia, siempre se cambia a su espacio asignado, en lugar de dirigirse a un lugar diferente en cada ocacion. Cuando el proceso sale, se desasigna el espacio para el intercambio.

La única diferencia es que el espacio en el disco para un proceso debe asignarse como un numero integral de bloques de disco.por lo tanto, un proceso de tamaño 13.5 k que utiliza un disco con bloques de 1k se redondeara a 14k antes de que se busquen las estructuras de datos del espacio en el disco.

4.3 MEMORIA VIRTUAL
La memoria virtual es una técnica que permite al software usar más memoria principal que la que realmente posee el ordenador. 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 física (generalmente en forma de RAM, donde la CPU puede escribir y leer directa y razonablemente rápido) y el disco duro que es mucho más lento, pero también más grande y barato.

Muchas aplicaciones requieren el 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.

4.3.1 PAGINACION MEMORIA VIRTUAL
En sistemas operativos de computadoras, los sistemas de paginación de memoria dividen los programas en pequeñas partes o páginas. Del mismo modo, la memoria es dividida en trozos del mismo tamaño que las páginas llamados marcos de página. De esta forma, la cantidad de memoria desperdiciada por un proceso es el final de su última página, lo que minimiza la fragmentación interna y evita la externa.
En un momento cualquiera, la memoria se encuentra ocupada con páginas de diferentes procesos, mientras que algunos marcos están disponibles para su uso. El sistema operativo mantiene una lista de estos últimos marcos, y una tabla por cada proceso, donde consta en qué marco se encuentra cada página del proceso. De esta forma, las páginas de un proceso pueden no estar contiguamente ubicadas en memoria, y pueden intercalarse con las páginas de otros procesos.
En la tabla de páginas de un proceso, se encuentra la ubicación del marco que contiene a cada una de sus páginas. Las direcciones lógicas ahora se forman como un número de página y de un desplazamiento dentro de esa página. El número de página es usado como un índice dentro de la tabla de páginas, y una vez obtenida la dirección real del marco de memoria, se utiliza el desplazamiento para componer la dirección real. Este proceso es realizado en el hardware del computador.
De esta forma, cuando un proceso es cargado en memoria, se cargan todas sus páginas en marcos libres y se completa su tabla de páginas.
Paginación en memoria virtual
El único inconveniente del sistema de paginación pura es que todas las páginas de un proceso deben estar en memoria para que pueda ejecutar. Esto hace que si los programas son de tamaño considerable, no puedan cargarse muchos a la vez, disminuyendo el grado de multiprogramación del sistema. Para evitar esto, y aprovechando el principio de cercanía de referencias donde se puede esperar que un programa trabaje con un conjunto cercano de referencias a memoria (es decir con un conjunto residente más pequeño que el total de sus páginas), se permitirá que algunas páginas del proceso sean guardadas en un espacio de intercambio (en memoria secundaria) mientras no se necesiten.
Cuando la paginación se utiliza junto con memoria virtual, el sistema operativo mantiene además el conocimiento sobre qué páginas están en memoria principal y cuáles no, usando la tabla de paginación. Si una página buscada está marcada como no disponible (tal vez porque no está presente en la memoria física, pero sí en el área de intercambio), cuando la CPU intenta referenciar una dirección de memoria en esa página, la MMU responde levantando una excepción (comúnmente llamada fallo de página). Si la página se encuentra en el área de intercambio, se salta a una rutina que invoca una operación llamada un intercambio de página, para traer a memoria principal la página requerida. La operación lleva varios pasos. Primero se selecciona una página en memoria, por ejemplo una que no haya sido usada recientemente (para más detalles ver algoritmos de reemplazo de páginas). Si la página fue modificada, se escribe la misma en el espacio de intercambio. El siguiente paso en el proceso es leer la información en la página necesitada desde el espacio de intercambio). Cuando esto sucede, las tablas para traducción de direcciones virtuales a reales son actualizadas para reflejar los contenidos de la memoria física. Entonces el intercambio de página sale, y el programa que usó la dirección que causó la excepción es vuelto a ejecutar desde el punto en que se dio la misma y continúa como si nada hubiera pasado. También es posible que: una dirección virtual es marcada como no disponible, porque no fue localizada previamente. En estos casos, una página de memoria es localizada y llenada con ceros, la tabla de paginación es modificada para mostrar los cambios y el programa se reinicia como en el otro caso.

4.3.2 SEGMENTACION DE MEMORIA VIRTUAL.

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.

Ventajas de la segmentación

* El programador puede conocer las unidades lógicas de su programa, dándoles un tratamiento particular.
* Es posible compilar módulos separados como segmentos el enlace entre los segmentos puede suponer hasta tanto se haga una referencia entre segmentos.
* Debido a que es posible separar los módulos se hace más fácil la modificación de los mismos. Cambios dentro de un modulo no afecta al resto de los módulos.
* Es fácil el compartir segmentos.
* Es posible que los segmentos crezcan dinámicamente según las necesidades del programa en ejecución.
* Existe la posibilidad de definir segmentos que aun no existan. Así, no se asignara memoria, sino a partir del momento que sea necesario hacer usos del segmento. Un ejemplo de esto, serian los arreglos cuya dimensión no se conoce hasta tanto no se comienza a ejecutar el programa. En algunos casos, incluso podría retardar la asignación de memoria hasta el momento en el cual se referencia el arreglo u otra estructura de dato por primera vez.

Desventajas de la segmentación

* Hay un incremento en los costos de hardware y de software para llevar a cabo la implantación, así como un mayor consumo de recursos: memoria, tiempo de CPU, etc.
* Debido a que los segmentos tienen un tamaño variable se pueden presentar problemas de fragmentación externas, lo que puede ameritar un plan de reubicación de segmentos en memoria principal.
* Se complica el manejo de memoria virtual, ya que los discos almacenan la información en bloques de tamaños fijos, mientras los segmentos son de tamaño variable. Esto hace necesaria la existencia de mecanismos más costosos que los existentes para paginación.
* Al permitir que los segmentos varíen de tamaño, puede ser necesarios planes de reubicación a nivel de los discos, si los segmentos son devueltos a dicho dispositivo; lo que conlleva a nuevos costos.
* No se puede garantizar, que al salir un segmento de la memoria, este pueda ser traído fácilmente de nuevo, ya que será necesario encontrar nuevamente un área de memoria libre ajustada a su tamaño.
* La comparticion de segmentos permite ahorrar memoria, pero requiere de mecanismos adicionales da hardware y software.

4.3.3 ALGORITMOS DE SUSTITUCIÓN DE PÁGINAS.

Se sustituye aquella página que se vaya a referenciar dentro del tiempo más largo posible.

Sustitución de página no usada recientemente Sustitución de páginas

Sustitución de páginas donde la primera que entra es la primera que sale o FIFO
Se usa una cola ordenada en donde las más antigua esta a la cabeza y la de atrás es la más reciente. Se pueden examinar los bits R y M para eliminar la página más antigua que no haya sido modificada y referenciada primero. El algoritmo continúa buscando las más antiguas de clase 1,2 y 3. 

El FIFO de segunda oportunidad verifica el bit R, si es 1, pone la página en la cola con el bit R a cero y continúa la búsqueda. 

4.3.4 ASPECTOS DE DISEÑO PARA EL SISTEMA.

El análisis va a determinar las acciones que los usuarios pueden o no realizar en función de su situación en el juego, pero hay diversas formas de saltarse estas reglas mediante el funcionamiento normal de las páginas web. A continuación se detallan algunas medidas para evitar esto:
• Comprobar que el usuario puede ver la página o realizar la acción solicitada, ya que la web permite acceder directamente escribiendo la dirección de una página, pudiendo acceder de esta forma a páginas que no tienen un enlace directo por no estar permitidas a ese usuario.
• Comprobar cada parámetro recibido, asegurándose de que los valores que toma son coherente, ya que ha podido modificarlos mediante el método anterior e incluso creando sus propios formularios.
• No permitir que el texto introducido por el usuario pueda mostrar etiquetas HTML, ya que esto permitiría a un jugador incluir enlaces u otros mecanismos que al ser usados por otros jugadores les podría conducir a realizar acciones sin su conocimiento.

Rendimiento

Gran parte de las decisiones que se han de tomar, y que pueden influir incluso en el análisis recaen sobre la necesidad de ajustar el consumo de recursos del sistema a las posibilidades de la máquina. Para lograr incorporar el mayor número de características y jugadores es necesario afinar cada uno de los mecanismos intentando sacar el máximo rendimiento a los siguientes recursos:

• Ancho de banda: Es la cantidad de información que se puede enviar desde el servidor hasta los ordenadores clientes en un periodo de tiempo. El mejor aliado para mejorar el rendimiento en este concepto es la caché. Tanto el cliente como algunos servidores intermedios almacenan páginas del servidor de manera que solo tienen que descargarlas una vez. Es trabajo del servidor indicar cuando va a volver a cambiar la página, lo que muchas veces no se sabe con exactitud, pero se puede aproximar. En nuestro caso hay páginas que no cambiarán, y otras que lo harán con una periodicidad definida. Hay que estudiar todas las posibilidades adaptando el sistema para que consuma el menor ancho de banda posible.
• Capacidad de proceso: El proceso de datos en nuestro caso se puede dividir en aquel necesario para la creación de las páginas dinámicas, y los procesos periódicos que simulan el mundo. El primer caso es mas sencillo y a veces innecesario gracias a la caché. Aún así hay muchas peticiones debido al alto número de usuarios, con lo que habrá que tratar de optimizar cada petición de página. Los procesos periódicos si consumirán mas recursos ya que alguno tendrá incluso que tratar variables en todo el mundo de Legendarya. Quizás se pueda para mejorar la productividad dividiendo estos procesos para realizalos en varios pasos en distintos momentos en vez de todos seguidos.
• Capacidad de almacenamiento: Otro problema a tratar es la capacidad del disco duro ya que se va a almacenar mucha información, pero sobre todo por que el consumo de espacio dependerá entre otras cosas de las acciones de los usuarios. Se pueden diferenciar dos tipos de recursos: aquellos mas sencillos pero imprescindibles (como ejércitos, ciudades, edificios), y aquellos complicados y de gran tamaño pero a veces irrelevantes (como libros, obras de arte, objetos,...) que pueden caer en desuso. Para los primeros se ha de reservar un espacio fijo por si los usuarios terminan aprovechando todas las posibilidades del juego, mientras que los segundos se conformarán con el espacio restante, en principio bastante amplio, pero que podrá ir reduciéndose al aumentar el otro. En caso de que el espacio se reduzca demasiado se utilizará un algoritmo que liberará estos recursos irrelevantes, comenzando por aquellos que menos uso han recibido.

Accesibilidad

Al sistema se va a poder acceder de tres maneras distintas:
• Mediante un interfaz complejo, que use las últimas tecnologías (XHTML, ecmascript, CSS, SVG,...), que pueda ser usado por la mayoría de las personas pero que no sacrifique la calidad a un acceso generalizado con cualquier navegador.
• Con un interfaz diseñado para usuarios invidentes mediante el uso de XHTML, y que por extensión pueda ser usado por cualquier otro usuario. Se podrán añadir hojas de estilo e incluso scripts siempre que el incluirlos no impida el buen funcionamiento para los usuarios invidentes o con software limitado (navegadores antiguos).
• A través de teléfonos móviles con un interfaz WML.

Usabilidad

Mide la facilidad de uso del interfaz. En este campo el objetivo es que no sea necesario leer un manual para saber como realizar las distintas acciones, que la intuición sea suficiente para que cualquie usuario pueda navegar por el interfaz. Se realizarán abundantes pruebas con usuarios reales mediante diversos prototipos hasta sacar la versión definitiva.

Aspectos legales

Hay dos leyes que van a afectar al diseño en mayor o menor medida:

• Ley de Servicios de la Sociedad de la Información (LSSI): El aspecto que nos interesa de esta ley es aquel que obliga a controlar los contenidos de un sitio, no permitiendo aquellos que atenten contra los derechos humanos. Esto se traduce en que cualquier contenido que pueda editar el usuario debe poder eliminarse fácilmente.
• Ley Orgánica de Protección de Datos (LOPD): Legisla sobre el tratamiento de los datos de carácter personal. Estos son definidos como cualquier información concerniente a personas físicas identificadas o identificables. Hay que aclarar si se va a almacenar esta información y si es así adaptar el sistema a los requisitos establecidos por esta ley.

Posibilidad de ampliación

El sistema va a ser planteado para 50.000 usuarios, pero si todo va bien es posible que se quede corto en poco tiempo. En vez de diseñar un nuevo sistema es preferible dejar este preparado para poder adaptarlo llegada la necesidad. A continuación se muestran un par de ideas a seguir en este sentido:

• Durante el diseño se harán cálculos sobre las necesidades Hardware para un sistema de hasta un millón de usuarios. Para conocer estos requisitos con exactitud habrá también que realizar seguimiento del funcionamiento del sistema en la fase de pruebas y una vez puesto en marcha.
• Se diseñará también unas funciones que permitan exportar el personaje de un usuario del viejo servidor al nuevo, lo que incluirá sus conocimientos y los objetos que lleve encima.

4.3.5 LIBERACIÓN DE PÁGINAS.
Un proceso usuario puede emitir una “liberación voluntaria de página” para liberar el marco de página cuando ya no necesitara esa página.
Se puede eliminar el “desperdicio” y acelerar la ejecución.
El inconveniente es que la incorporación de mandatos de liberación de páginas dentro de los programas de usuarios puede ser peligroso y retrasar el desarrollo de aplicaciones.
“Los compiladores y S. O. deberían detectar automáticamente situaciones de liberación de página mucho antes de lo que es posible con estrategias de conjuntos de trabajo”. 

11 comentarios:

  1. Muy bien hecho Danny!!
    Estaremos al pendiente de tu blogger...
    Alguna vez yo realice uno similar, solo que el mio fue de Franquicias.
    Tuuuuu muy bien!!!

    ResponderEliminar
  2. Nice! Buen blog! Saludos desde Vhsa, Tab.

    ResponderEliminar
  3. Bien!

    Un buen trabajo, con buen desarrollo!

    Un saludo, sigue a tope dude!

    ResponderEliminar
  4. buena informacion, de aqui sacare mis tareas , gracias

    ResponderEliminar
  5. Hola!
    En primer Lugar chequé tu trabajo, por tu comentario en crossfader.net.

    Todo el fondo de tu tema es muy bueno, te felicito, pero te recomiendo para que sea mas impactable; te recomiendo que lo fundamentes mas y lo formalices.Esto significa que metas todos tus ideas fundamentadas, por ejemplo... hablas de leyes.... pues escribe algunos articulos y radactalos en como se encuentra todo conforme a derecho tu trabajo. y la forma.. hecho como tesina... tus plateamientos del problema, tus justificaciones, tu hipotesis, marco terico, etc..... pero buen trabajo.. suerte!!
    Lic Crazy

    ResponderEliminar
  6. Hola daniel muy buena informacion con un gran marco teorico me gusto mucho leerlo Y espero muy pronto mas informacion pero bien hecho te felicito Atte. Richard

    ResponderEliminar
  7. Tu blogger esta lo bastante completo como para apoyarse en trabajos escolares muy bien
    ATTE El Potrillo

    ResponderEliminar
  8. Hola Danny...
    Tu tema es muy interesante, excelente idea de utilizar un estilo agil, un diseño y una diagramaciòn que refuerza la informacion.

    Felicidades!!! Muy Bien hecho:)

    L.E.E. Minerva Espindola

    ResponderEliminar
  9. Hola..!

    gran! repertorio de información, Gracias aclare muchas dudas, sigue poniendo mas datos..
    te dejo mi correo para que me puedas enviar tu trabajo pako_sr92@hotmail.com

    Adios.

    ResponderEliminar
  10. Bien hecho cuñao !!! ja ja ja no me acepto el comentario anterior, creo que no te permite mas de 250 Caracteres. Se que puedes solucionarlo.
    Bye..
    P.D. Alejate de los Abogansters...

    ResponderEliminar
  11. HoOoLA!!! muy padre tu page.... interesante información, bastante completa... muy coOl tu fondo cOn gOtas de agua... felicidades por tu blog!!! saludos!!

    ATTE: DY@nA

    ResponderEliminar