viernes, 22 de julio de 2016

Algoritmo FIFO

El algoritmo FIFO reemplaza las páginas de la forma que el primero que entra es el primero que sale. Asocia a cada página el instante en el que se trajo a la memoria, así cuando se tenga que reemplazar una página, se elige la más antigua.
AlgoritmoFIFO.png

En la imagen vemos 19 páginas entrando en una memoria de tres frames. El resultado obtenido fueron 15 fallos de página.
A pesar de que es un algoritmo fácil de comprender y programar, su rendimiento no siempre es bueno. Un ejemplo claro es cuando la página puede contener una variable cuyo valor inicial se asignó hace tiempo pero que se utiliza constantemente por lo que puede prescindir de páginas que accede con frecuencia.
Algoritmo FIFO
1. FIFO
Se sustituye la página residente que lleve más tiempo en
memoria
Fácil de implementar (cola FIFO de páginas)
Problema: al no tener en cuenta la historia del uso de una
página dada, FIFO puede prescindir de páginas a las que se
accede con frecuencia
Padece la anomalía de
Belady
(fenómeno paradójico
consistente en que aumenta el número de fallos de páginas
cuando se asignan más páginas reales al proceso)
Propiedad de pila
: para cualquier punto en la cadena de
referencia, el conjunto de páginas en N marcos de página es
un subconjunto del que se formaría en N+1 marcos de página

Algoritmo Óptimo

El Algoritmo Óptimo, también conocido como OPT se originó luego del descubrimiento de la Anomalía de Belady en la búsqueda de un algoritmo mucho más óptimo. El algoritmo elige la página de la memoria que vaya a ser referenciada más tarde, las páginas se rotulan con el número de instrucciones que se ejecutarán antes de que se haga la primera referencia a ella y, cuando se presenta un fallo de página, se reemplaza la que más instrucciones falten para referenciarla para así ir aplazando lo más que se pueda los fallos de página. Por desgracia, este algoritmo es irrealizable, ya que no hay una forma de predecir qué páginas referenciará un proceso en el futuro.
Libro3-page-001.jpg
En la imagen vemos la cadena de referencias para una página y cómo se usa la memoria (en este caso de 3 frames o marcos). Se comienza tal como el algoritmo FIFO ingresando las páginas a la memoria; el primer caso de memoria llena sucede cuando entra la página 1 y quiere entrar la página 2. La víctima debe ser decidida de tal forma que la página no sea referenciada mas o sea referenciada mucho después. En este caso la página 5 no es referenciada más, por lo que es reemplazada por la página 2. El algoritmo genera finalmente 7 fallos de página, versus por ejemplo los 10 fallos que FIFO genera.
Como es un algoritmo que no se puede poner en práctica, se ejecuta en simuladores en los cuales se demuestra que es un muy buen algoritmo que reduce mucho las fallas y que se encuentra entre los algoritmos con mejor eficiencia por lo que es el algoritmo utilizado para estudios comparativos.
Algunos algoritmos de
reemplazo
Básicos
FIFO
OPTIMO
LRU – least recently used
Aproximaciones LRU
LRU con bits de referencia adicionales
LRU de segunda oportunidad o del reloj
LRU de segunda oportunidad mejorado
De conteo
LFU – less frequently used
MFU – most frequently used
25
Algoritmo FIFO
1. FIFO
Se sustituye la página residente que lleve más tiempo en
memoria
Fácil de implementar (cola FIFO de páginas)
Problema: al no tener en cuenta la historia del uso de una
página dada, FIFO puede prescindir de páginas a las que se
accede con frecuencia
Padece la anomalía de
Belady
(fenómeno paradójico
consistente en que aumenta el número de fallos de páginas
cuando se asignan más páginas reales al proceso)
Propiedad de pila
: para cualquier punto en la cadena de
referencia, el conjunto de páginas en N marcos de página es
un subconjunto del que se formaría en N+1 marcos de página

ejercicios de FIFo
https://www.youtube.com/watch?v=4HIXcs-tscI

Algoritmo de reemplazo óptimo
2. Óptimo
Escoger como víctima la página que más tarde en
volver a ser accedida
Es el algoritmo que presenta la frecuencia de
fallos de página más baja de todos
No implementable (requiere presciencia)
Útil como referencia de comparación

 

jueves, 21 de julio de 2016

Compactación de Memoria

Compactación de Memoria



El proceso de compactación son unas instancias particulares del problema de asignación de memoria dinámica, y esta se  refiere a  satisfacer  una necesidad de tamaño (N) en una lista de huecos libres. Entre tantas posibilidades existe una que determina el hueco más indicado en el momento de asignar. A continuación estrategias  comunes para la asignación de algún hueco en la tabla.

·         PRIMER  AJUSTE: Consiste en  asignar el proceso en el primer  hueco que se  halle y se ajuste sin importar  que el hueco  sea más  grande  que el  tamaño del proceso  a insertar.
·         MEJOR  AJUSTE: Consiste en ubicar  el proceso según su tamaño en el hueco  más apropiado, esto con el fin de evitar desperdicio de memoria.
·         PEOR AJUSTE: En este algoritmo se busca que el tamaño del hueco concuerde con el tamaño del proceso. Es decir que sea el tamaño del hueco sea igual o mayor que el del proceso, sin importar que se pueda perder gran cantidad de espacio en la memoria.
Almacenamiento 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 la 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


En este caso es cuando es útil el espacio de intercambio
El sistema operativo puede buscar un proceso poco activo, y moverlo al área de intercambio (el disco duro) y de esa forma liberar la memoria principal para cargar otros procesos. Mientras no haga falta, el proceso extraído de memoria puede quedarse en el disco, ya que ahí no utiliza memoria física. Cuando sea necesario, el sistema vuelve a hacer un intercambio, pasándolo del disco a memoria RAM. Es un proceso lento (comparado con usar sólo la memoria RAM), pero permite dar la impresión de que hay más memoria disponible.


Paginación
·         El espacio de direcciones lógicas de un proceso no necesariamente es contiguo; los procesos se ubican en memoria física donde luego quedan disponibles.
·         Se divide la memoria física en bloques de tamaño fijo llamados marcos (los tamaños son potencias de 2, entre 512 y 8192 bytes)
·         Se divide la memoria lógica en bloques del mismo tamaño llamados páginas.
·         Para cargar un programa de tamaño páginas, se requiere encontrar n marcos libres y cargar el programa.
·         Se puede presentar fragmentación interna







martes, 19 de julio de 2016

Enlaces de los PDF de la unidad 4

https://drive.google.com/open?id=0B6tmhVjC_V93MGwwTVU1NkVpQzA

https://drive.google.com/open?id=0B6tmhVjC_V93LXJkMW92OGllblU


https://drive.google.com/open?id=0B6tmhVjC_V93VVBoYXlSUFZZRFU

administración de memoria: 

La fragmentación es la memoria que queda desperdiciada al usar los métodos de gestión de memoria que se vieron en los métodos anteriores. Tanto el primer ajuste, como el mejor y el peor producen fragmentación externa. La fragmentación es generada cuando durante el reemplazo de procesos quedan huecos entre dos o más procesos de manera no contigua y cada hueco no es capaz de soportar ningún proceso de la lista de espera. La fragmentación puede ser:
Fragmentación Externa: Existe el espacio total de memoria para satisfacer un requerimiento, pero no es contigua.
 
Fragmentación Interna: La memoria asignada puede ser ligeramente mayor que la requerida; esta referencia es interna a la partición, pero no se utiliza.
 
La fragmentación externa se puede reducir mediante la compactación para colocar toda la memoria libre en un solo gran bloque, pero esta sólo es posible si la localización es dinámica y se hace en tiempo de ejecución.
 
administración de memoria con o sin intercambio:

Los sistemas de administración de la 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 aquellos
que no los desplazan.
 
El esquema más sencillo de administración de la memoria es aquel en el que  sólo se tiene un
proceso en memoria en cada instante. El usuario carga toda la memoria con un programa del disco y
utiliza la máquina.       

administración de memoria fija o variables computación:

 



 Técnicas de condensación de huecos y de compactación del almacenamiento

 En los sistemas operativos actuales, debido al uso de varios programas (multiprogramación) se produce en memoria una fragmentación de la misma, producida porque a cada proceso se le asigna una cantidad de memoria (variable) y quedan “huecos” entre particiones. Estos huecos son memoria desperdiciada en cierto modo, ya que si la cantidad es inferior a la necesitada por otro proceso no se llega a usar.

Esta fragmentación puede ser de dos tipos:

– Fragmentación externa: esta se debe a que la cantidad de memoria satisface a la que necesita un proceso, pero al no ser contigua no se le puede asignar como una partición.

– Fragmentación interna: en este tipo, la partición es algo mayor a la que necesita un proceso, por tanto un porcentaje de la partición queda sin usar pero no se puede asignar a otra tarea.

Para evitar estas fragmentaciones existen dos técnicas:



Condensación de huecos

Esta técnica consiste en fusionar dos huecos de memoria libre adyacentes en uno sólo que tendrá como capacidad la suma de los dos originales. Cuando un trabajo termina, el sistema operativo trata de unir todos los espacios libres en uno solo, para tener un espacio suficiente para que pueda entrar otro programa en memoria. Mediante la condensación de huecos se pueden recuperar los bloques contiguos de almacenamiento más grande que sea posible. Gracias a esto, la velocidad de acceso es mayor. Por ejemplo, necesitamos 4K de nuestra memoria, pero tenemos dos huecos, cada uno de 2K. Unimos los dos huecos y tenemos uno de 4K que nos sirve para almacenar este proceso.


Compactación del almacenamiento



Una forma de solucionar la fragmentación externa es usando compactación. Consiste en desplazar todas las localizaciones de memoria ocupada a un extremo de la misma, así quedan dos partes bien diferenciadas, la memoria ocupada y la memoria libre.

La compactación no siempre es posible, ya que es necesario que la localización

sea dinámica y se efectúa en el momento de la ejecución. Además, otro inconveniente que presenta es que es una técnica costosa, ya que requiere recursos del sistema y puede provocar que el tiempo de respuesta aumente. El sistema debe detener todo mientras efectúa la compresión, lo que puede afectar los tiempos de respuesta.




FRAGMENTACIÓN


La fragmentación es la memoria que queda desperdiciada al usar los métodos de gestión de memoria que se vieron en los métodos anteriores. Tanto el primer ajuste, como el mejor y el peor producen fragmentación externa. La fragmentación es generada cuando durante el reemplazo de procesos quedan huecos entre dos o más procesos de manera no contigua y cada hueco no es capaz de soportar ningún proceso de la lista de espera. La fragmentación puede ser:
Fragmentación Externa: Existe el espacio total de memoria para satisfacer un requerimiento, pero no es contigua.
Fragmentación Interna: La memoria asignada puede ser ligeramente mayor que la requerida; esta referencia es interna a la partición, pero no se utiliza.
La fragmentación externa se puede reducir mediante la compactación para colocar toda la memoria libre en un solo gran bloque, pero esta sólo es posible si la relocalización es dinámica y se hace en tiempo de ejecución.

Condensación
Unir o fusionar espacios o “huecos” adyacentes para formar uno más grande.
Por ejemplo, si hay una solicitud de usuario de  5k y en la memoria hay disponibles 2 “huecos” contíguos pero uno es de 2k y el otro es 3k, entonces, para poder atender ésa solicitud de usuario, se “unen” los 2 “huecos” que formarían un sólo “hueco” de 5k, por tanto ahora si cabría la solicitud en el “hueco” que hay disponible.

 
Compactación;
Una solución para el problema de la fragmentación externa es la compactación. El objetivo consiste en desplazar el contenido de la memoria para colocar junta toda la memoria libre en un solo bloque de gran tamaño.
        Técnica que consiste en trasladar todas las áreas ocupadas del almacenamiento hacia
algún extremo de la memoria.
•    Es una solución de la fragmentación externa.
•   El objetivo consiste en desplazar el contenido de la   memoria libre en un sólo bloque de gran tamaño.
•     La compactación no siempre es posible, sólo es posible si la   relocalización es dinámica y se efectúa en el momento de la ejecución.
•                      Este esquema puede ser bastante costoso.



Estrategias de colocación
Permiten determinar en qué lugar de la memoria  principal se deben colocar  los programas y datos entrantes.
  
Tipos:
      Mejor Ajuste: Colocar el trabajo en el menor bloque en el que quepa.

¨ Primer Ajuste. Colocar el trabajo en el primer hueco de la lista de almacenamiento libre en el que quepa.

 
Peor Ajuste: Colocar el trabajo en el menor bloque en el que quepa.


 
- Administracion de memoria virtual
   espacio de direcciones lógicas vs fisicas
   paginación
   segmentación
   paginacion por demanda
   fallo de pagina
   segmentacion paginada
   paginacion segmentada.

TÉCNICAS DE CONDENSACIÓN DE HUECOS Y COMPACTACIÓN DE ALMACENAMIENTO
           Los trabajos ocupan tanto espacio como necesiten (pero no todo el almacenamiento real). No se

imponen límites fijos, sino que se da a los trabajos todo el almacenamiento que necesiten.
          En la multiprogramación con particiones variables hay fragmentación de tipo externa. Las técnicas de este tipo de fragmentación son:


CONDENSACIÓN DE HUECOS
          Se denomina combinación o condensación de huecos. Es un proceso que consiste en fusionar huecos adyacentes para formar un solo hueco más grande.
          Cuando un trabajo termina, el sistema operativo trata de unir todos los espacios libres en uno solo, para tener un espacio suficiente para que pueda entrar otro programa en memoria.
          Mediante la condensación de huecos se pueden recuperar los bloques contiguos de almacenamiento más grande que sea posible. Gracias a esto, la velocidad de acceso es mayor.


COMPACTACIÓN DEL ALMACENAMIENTO
          Se denomina compresión o compactación de almacenamiento. Esta técnica consiste en trasladar todas las áreas ocupadas del almacenamiento hacia algún extremo de la memoria. Este Proceso es utilizado cuando se tiene una memoria con partición variable en el que se tiene 5 procesos y digamos que el 3 termino su trabajo lo que hace el sistema operativo es coger el proceso 4 y el 5 hacia arriba para ocupar el lugar del 3 y así no tener huecos entre ellos, aunque es tedioso para el sistema operativo porque a cada momento tiene que mover los procesos. Su objetivo consiste en desplazar el contenido de la Memoria libre en un sólo bloque de gran tamaño.
          La compactación no siempre es posible, sólo es posible si la relocalización es dinámica y se efectúa en el momento de la ejecución.
Este esquema puede ser bastante costoso.
          Algunas desventajas de esta técnica de compresión:
               1) Consume recursos del sistema.             
               2) El sistema debe detener todo mientras efectúa la compresión, lo que puede afectar los tiempos de respuesta.
               3) Implica la relocalización (reubicación) de los procesos que se encuentran en la memoria.







jueves, 30 de junio de 2016

concepto de proceso:es una secuencia de pasos dispuesta con algún tipo de lógica que se enfoca en lograr algún resultado específico. Los procesos son mecanismos de comportamiento que diseñan los hombres para mejorar la productividad de algo, para establecer un orden o eliminar algún tipo de problema. El concepto puede emplearse en una amplia variedad de contextos, como por ejemplo en el ámbito jurídico, en el de la informática o en el de la empresa. Es importante en este sentido hacer hincapié que los procesos son ante todo procedimientos diseñados para servicio del hombre en alguna medida, como una forma determinada de accionar.

Estado de proceso (5 estados)

  1. 1. ECCI<br />SISTEMAS OPERATIVOS<br />MODELO DE LOS 5 ESTADOS<br />CÉSAR CANABAL COD: 2011152164<br />DANIEL ANDRES CARDENAS COD: 200325063<br />BOGOTÁ, 23 DE FEBRERO DE 2011<br />
  1. 2. Pasar Ejecución<br />Preparado<br />Ejecución<br />admitir<br />Fin de plazo<br />Terminado<br />Nuevo<br />Esperar un sucesos<br />Ocurrencia de sucesos<br />Bloqueo<br />
  1. 3. Transición Nuevo-Preparado:<br />Es la transición del SO para admitir un nuevo proceso siempre y cuando cumpla con la capacidad de memoria y que no hayan muchos procesos en ejecución y así pueda llevarse a cabo el proceso<br />Transición Preparado – Ejecución:<br />Es un paso que se ocurre en el SO cuando se tiene un nuevo proceso para ejecutar teniendo en cuenta las políticas de planificación. <br />Transición Ejecución - Preparado:<br />En este proceso el sistema determina el tiempo máximo permitido de ejecución para dar ejecución a otro proceso. Pero puede ser cedido dependiendo de la jerarquía o prioridad del proceso entrante. <br />Transición Ejecución – Bloqueo:<br />Es cuando queda en espera por falta de un recurso o por los tiempos establecidos que determinan el suceso<br />Transición Bloqueo - Preparado:<br />Es cuando el proceso esta bloqueado por un agente externo y se vuelve a conceder cuando el recurso esté completo y dará entrada a la ejecución. <br />
  1. 4. Transición Preparado - Terminado:<br />Es cuando el proceso Padre se terminan por factores de almacenamiento que conllevarían a la finalización de los subprocesos que se enlazan al Padre<br />Transición Bloqueo - Terminado:<br />En este caso el proceso hijo puede finalizar el proceso por superar el límite máximo de ejecución y por almacenamiento en memoria, llevando al SO a tomar la decisión de terminar el pro almacenamiento en memoria, llevando al SO a tomar la decisión del terminar el proceso. <br />


sábado, 4 de junio de 2016

computador y su elementos

El computador y sus elementos:

COMPUTADORA: Máquina capaz de efectuar una secuencia de operaciones mediante un programa, de tal manera, que se realice un procesamiento sobre un conjunto de datos de entrada, obteniéndose otro conjunto de datos de salida. 

Los elementos del computador son:

Hardware, equipo utilizado para el funcionamiento de una computadora. El hardware se refiere a los componentes materiales de un sistema informático. La función de estos componentes suele dividirse en tres categorías principales: entrada, salida y almacenamiento. Los componentes de esas categorías están conectados a través de un conjunto de cables o circuitos llamado bus con la unidad central de proceso (CPU) del ordenador, el microprocesador que controla la computadora y le proporciona capacidad de cálculo.

El soporte lógico o software, en cambio, es el conjunto de instrucciones que un ordenador emplea para manipular datos: por ejemplo, un procesador de textos o un videojuego. Estos programas suelen almacenarse y transferirse a la CPU a través del hardware de la computadora. El software también rige la forma en que se utiliza el hardware, como por ejemplo la forma de recuperar información de un dispositivo de almacenamiento. La interacción entre el hardware de entrada y de salida es controlada por un software llamado BIOS (siglas en inglés de ‘sistema básico de entrada / salida’).

Aunque, técnicamente, los microprocesadores todavía se consideran hardware, partes de su función también están asociadas con el software. Como los microprocesadores tienen tanto aspectos de hardware como de software, a veces se les aplica el término intermedio de microprogramación, o firmware.

Software, programas de computadoras. Son las instrucciones responsables de que el hardware (la máquina) realice su tarea. Como concepto general, el software puede dividirse en varias categorías basadas en el tipo de trabajo realizado. Las dos categorías primarias de software son los sistemas operativos (software del sistema), que controlan los trabajos del ordenador o computadora, y el software de aplicación, que dirige las distintas tareas para las que se utilizan las computadoras. Por lo tanto, el software del sistema procesa tareas tan esenciales, aunque a menudo invisibles, como el mantenimiento de los archivos del disco y la administración de la pantalla, mientras que el software de aplicación lleva a cabo tareas de tratamiento de textos, gestión de bases de datos y similares. Constituyen dos categorías separadas el software de red, que permite comunicarse a grupos de usuarios, y el software de lenguaje utilizado para escribir programas

Además de estas categorías basadas en tareas, varios tipos de software se describen basándose en su método de distribución. Entre estos se encuentran los así llamados programas enlatados, el software desarrollado por compañías y vendido principalmente por distribuidores, el freeware y software de dominio público, que se ofrece sin costo alguno, el shareware, que es similar al freeware, pero suele conllevar una pequeña tasa a pagar por los usuarios que lo utilicen profesionalmente y, por último, el infame vapourware, que es software que no llega a presentarse o que aparece mucho después de lo prometido.

sistema del computador y arquitectura john von neumann:

La arquitectura Von Neumann, también conocida como modelo de Von Neumann o arquitectura Princeton, es una arquitectura de computadoras basada en la descrita en 1945 por el matemático y físico John von Neumann y otros, en el primer borrador de un informe sobre el EDVAC. Este describe una arquitectura de diseño para un computador digital electrónico con partes que constan de una unidad de procesamiento que contiene una unidad aritmético lógica y registros del procesador, una unidad de control que contiene un registro de instrucciones y un contador de programa, una memoria para almacenar tanto datos como instrucciones, almacenamiento masivo externo, y mecanismos de entrada y salida.
 El significado ha evolucionado hasta ser cualquier computador de programa almacenado en el cual no pueden ocurrir una extracción de instrucción y una operación de datos al mismo tiempo, ya que comparten un bus en común. Esto se conoce como el cuello de botella Von Neumann y muchas veces limita el rendimiento del sistema.
El diseño de una arquitectura Von Neumann es más simple que la arquitectura Harvard más moderna, que también es un sistema de programa almacenado, pero tiene un conjunto dedicado de direcciones y buses de datos para leer datos desde memoria y escribir datos en la misma, y otro conjunto de direcciones y buses de datos para ir a buscar instrucciones.
Un computador digital de programa almacenado es una que mantiene sus instrucciones de programa, así como sus datos, en memoria de acceso aleatorio (RAM) de lectura-escritura. Las computadoras de programa almacenado representaron un avance sobre los ordenadores controlados por programas de la década de 1940, como la Colossus y la ENIAC, que fueron programadas por ajustando interruptores e insertando parches, conduciendo datos de la ruta y para controlar las señales entre las distintas unidades funcionales. En la gran mayoría de las computadoras modernas, se utiliza la misma memoria tanto para datos como para instrucciones de programa, y la distinción entre Von Neumann vs. Harvard se aplica a la arquitectura de memoria caché, pero no a la memoria principal.

jueves, 2 de junio de 2016

Las máquinas autorreplicantes de John von Neumann




Las máquinas autorreplicantes de John von Neumann

Para afrontar tareas de esta complejidad, ideó conceptualmente la creación de las máquinas autorreplicantes con la capacidad de recoger materias primas de su entorno, elaborar las piezas adecuadas y ensamblarlas para generar copias de sí mismas. Con un crecimiento potencialmente indefinido y exponencial, estos ingenios podrían afrontar aquellos trabajos, no importa lo lentos o poco eficientes que estas máquinas fuesen. El bueno de John desarrolló incluso una arquitectura de estos autorreplicantes, con ocho tipos de componentes y cuatro elementos lógicos diferentes. Su máquina no viola ninguna ley física, por lo que en principio es viable.
No pasó mucho tiempo hasta que los autores de novelas de ciencia ficción se apropiaron del concepto, pues parecía la solución ideal para la exploración física del universo en busca de otras formas de vida inteligentes. Naves no tripuladas para las que el tiempo no importa y capaces de  multiplicarse, con paciencia podrían llegar a todos los confines del Universo. El monolito de la novela “2001, una Odisea del Espacio”, de Arthur C. Clark, parece que originalmente era uno de estos replicantes. Casi 50 años después del estreno de la película de Kubrik, un proyecto para la creación de un diseño libre de impreso 3D está cerca de cumplir la fantasía más extravagante de von Neuman…
Reprap (REPlicating RAPid-prototyper) es una iniciativa de Internet para el desarrollo de una impresora de 3D que pueda imprimir la mayor parte de sus propios componentes, con el objetivo ideal del 100%. Su diseño es abierto y con licencia GNU GPL, permite llevar las ventajas del software libre al mundo hardware. De este modo la filosofía Makers se está extendiendo a todos los rincones donde hay innovadores. La capacidad de replicación de la impresora, limitada por el momento a las piezas plásticas, está cercana al 60%, lo que permite unos precios muy bajos de adquisición de uno de estos aparatos, por debajo de los 350 euros.







simulador

 http://vnsimulator.altervista.org/

John Von Neuman


Evoluncion de las maquinas


el computador

http://www.uprm.edu/cti/docs/manuales/manuales-espanol/vax-vms/manuales/Intcomp.pdf

martes, 31 de mayo de 2016

 John von Neumann (1903-1957)

John von Neuman nació en Budapest el 28 de diciembre de 1903, en el seno de una familia de banqueros acomodada.
De origen húngaro, fue un gran matemático del siglo XX que realizó contribuciones importantes en la física cuántica, análisis funcional, teoría de conjuntos, ciencias de comunicación, economía, análisis numérico, cibernética, hidrodinámica de expresiones, estadística y otros campos de las matemáticas.
Considerado por muchos como “una persona jovial, inteligente, optimista, vividor y mujeriego”, sus antepasados eran originarios de Rusia, y aunque refugiados y pobres, prosperaron en un par de generaciones. Su padre poseía el título de hidalguía dado por José I de Habsburgo, mediante la política aristocrática del imperio, con el fin de servir a fines políticos.
Desde muy pequeño demostró aptitudes en idiomas y matemáticas, además de tener una memoria prodigiosa.
Estudio en el colegio luterano Fasori Gimnazium de Budapest, a pesar de su origen judío. Además, fue instruido por profesores privados que le dieron una educación en idiomas, memorización y matemáticas.
Posteriormente, curso matemáticas y química en las universidades de Budapest y Berlín (donde asistió a los cursos de Albert Einstein) e Ingeniería química en el Instituto Federal de Tecnología de Zurich en Suiza en 1925 a instancias de su padre, que quería que su hijo invirtiera tiempo en temáticas con mayor futuro que las temáticas. Aunque también frecuentó la Universidad de Gotinga, donde conoció al matemático David Hillbert , cuya obra ejerció relativa importancia sobre él, y contribuyó de manera importante al desarrollo de la teoría de la demostración y aportó diversas mejoras a la fundamentación de la teoría de conjuntos de Zermelo.
En 1921, recibió su doctorado en matemáticas por la Universidad Pázmány Péter en Budapest con una tesis sobre los números ordinales.
Por otra parte, en lo referente a su experiencia docente, fue profesor de universidad. Entre 1927 y 1930 estuvo como profesor en la universidad de Berlin y Hamsburgo. Convirtiéndose así en el profesor más joven de la historia. Y posteriormente,  en América enseño durante más de 25 años en la Universidad de Princeton hasta su muerte, donde emigro al morir su padre ante la inseguridad que tenía por la opresión nacio junto a su madre, su mujer y sus hermanos.
Al instalarse en  Estados Unidos convirtió su nombre al inglés manteniendo el apellido aristócrata de Von Neumann.
Una vez en Estados Unidos fue invitado a la Universidad de Princeton y posteriormente fue una de las cuatro personas seleccionadas para el personal docente del Instituto de Estudios Avanzados (junto con Albert Einstein y Kurt Gödel).
En lo que respecta a su vida sentimental, esta fue un poco escabrosa debido a la fama que tenia de mujeriego. Se casó dos veces. De la primera mujer tuvo descendencia. Su hija es, actualmente, profesora de comercio internacional y política pública en la universidad de Michigan. Posteriormente, se casó con una mujer que conoció en sus continuos viajes de retorno a Budapest antes del estallido de la Segunda Guerra Mundial. Junto a la cual fue muy activo socialmente en la comunidad académica de Princeton.
Finalmente, en 1955 le diagnosticaron un cáncer de páncreas, del cual murió unos años después.
Durante los últimos días de su vida se reconvirtió a la iglesia católica, cosa que conmociono a algunos de los amigos que tenía.
Murió el 8 de febrero de 1957 bajo seguridad militar por miedo a que revelase secretos militares mientras se estaba medicando.

VIDA PROFESIONAL DE JOHN VON NEUMANN. –
Por lo que respecta a su vida profesional, von Neuman tuvo una larga y provechosa vida (de ahi que se dedique un apartado especial a su vida profesional).
Aparte de ser profesor de universidad, donde tuvo la suerte de participar los proyectos de desarrollo del ENAIC y EDVAC,  fue tutor de Alan Turing en la tesis doctoral de éste. Y entre 1943 y 1955, fue asesor del laboratorio científico de los alamos de la Marina norteamericana. Y posteriormente, trabajo en el Special Weapons Project de las fuerzas aéreas.
Respecto a las diferentes temáticas sobre las cuales se interesó von Neuman destacan el campo de las matematicas y la lógica computacional, política y asuntos sociales, economía y mecánica cuántica, entre otras.

MATEMÁTICAS Y LÓGICA COMPUTACIONAL.
En el campo de las matemáticas, es notable su interés a partir de la apertura de nuevas vías al desarrollo de la matemática estadística a partir de su estudio en 1928 sobre juegos de estrategia. Además de participar en la axiomatización de las matemáticas.
Además, también contribuyó al mundo de las matemáticas haciendo significativas aportaciones en el desarrollo de la lógica computacional.
La necesidad de automatizar sistemas complejos en unidades de tratamiento y memorias de flujos de información lo llevaron a plantear cuestiones sobre la posibilidad de reproducir maquinas autómatas. Lo cual le llevo a participar en la construcción de las primeras computadoras, de ahí su teoría de la arquitectura von neuman.
De ahi que diese su nombre a la arquitectura de von Neumann, utilizada en casi todos los computadores, ya que fue el el que publicó el concepto; aunque muchos piensan que este nombramiento ignora la contribución al concepto de J.Presper Eckert y John Willian Mauchly. Virtualmente, cada computador personal, microcomputador, minicomputador y supercomputador es una máquina de von Neumann, que más adelante se nombra en un apartado especial. El termino de máquina de von Neumann se refiere alternativamente a las maquinas autorreplicativas.
También creo el campo de los autómatas celulares sin computadores, construyendo los primeros ejemplos de autómatas autorreplicables con lápiz y papel. El concepto de constructor universal fue presentado en su trabajo póstumo “Teoría de los autómatas autorreproductivos”.  Y, interesándose así por la robótica, en 1952 propuso dos modelos de máquinas autorreproductoras, una de ellas con la modalidad de reproducción parecida a la de los cristales, mientras que la otra era más próxima a la forma de reproducirse los animales.
Más tarde, probó que el camino más efectivo para las operaciones mineras a gran escala, como mirar una luna entera o un cinturón de asteroides, se debía de hacer a través del uso de máquinas auto-replicativas, para tomar ventaja en el crecimiento exponencial de tales mecanismos.
Y también contribuyó al estudio de algoritmos. Donald Knuth denomina a von Neumann como el inventor en 1945 del “algoritmo de merge sort”.
Y entre 1944 y 1946 colaboró en la elaboración de un informe para el ejército sobre las posibilidades que ofrecía el desarrollo de las primeras computadoras electrónicas; de su contribución destaca la concepción de una memoria que actuase secuencialmente y no solo registrara datos numéricos de un problema sino que además almacenase un programa con las instrucciones para la resolución del mismo.
Además investigo en problemas del campo de la hidronamica numérica. Junto con R.D. Richtmyer desarrollo un algoritmo de viscosidad artificial para entender las ondas de choque.
  • Arquitectura Von Newmann.
Debido a la importancia de la von Neumann en el desarrollo de las computadoras, cabe destacar por encima lo que es este tipo de máquina.
Es una familia de arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos.
La mayoría de las computadoras de hoy en día se basan en este tipo de arquitectura, aunque pueden incluir otros dispositivos adicionales.
Surgió como consecuencia de la colaboración de Newmann en el proyecto ENIAC. Newmann , consciente de la torpeza de la aritmética decimal utilizada en las computadoras de este proyecto podría reemplazarse utilizando la aritmética binaria, realizo un diseño básico llamado la máquina de Von Newmann . El programa se implanto en la computadora de EDVAC.
Se estructura en 5 partes básicas:
  1. Memoria (MI)
  2. Unidad aritmética lógica(ALU)
  3. Unidad de control del programa.
  4. Equipos de entrada y salida.
MEMORIA: Expresada en bits, constaba de 4096 palabras cada una de 40 bits. Cada palabra contenía hasta 2 instrucciones de 20 bits cada una o un numero entero de 39 bits y su signo.
UNIDAD ARITMÉTICA LÓGICA (ALU) : Supervisa la transferencia de información y la indica a la unidad aritmética lógica la operación que debe ejecutar.
UNIDAD DE CONTROL DEL PROGRAMA: Se encarga de realizar las operaciones aritméticas y lógicas necesarias para la ejecución de una instrucción.
EQUIPOS DE ENTRADA Y SALIDA: La entrada o input es cualquier dispositivo a través del cual se introduce información a la computadora. La salida o output es cualquier dispositivo que recibe información de la máquina para poder ser  utilizada por usuarios.
Los primeros ordenadores, con sistemas de numeración decimal y complicada electrónica con muchos fallos y un sistema de programación cableado, hizo que von Newman propusiese dos principios básicos que llevarían a la revolución de la informática del momento. En primer lugar, la utilización del sistema de numeración binario y en segundo lugar el almacenamiento de la secuencia de instrucciones de que consta el programa de memoria interna.
A continuación se expone el esquema del modelo de von Newmann:


POLITICA Y ASUNTOS SOCIALES.
Habiendo experimentado una carrera académica “Relampago” obtuvo con 29 años una de las primeras cinco plazas profesionales en el Institute for Advanced Study (instituto para estudios avanzados) en Princeton (una de las cuales fue para Einstein).
Sintiéndose por esta época obligado a buscar otros campos de interés con el objetivo de satisfacer su ambiciosa personalidad, y lo encontró en su colaboración con el complejo militar-industrial americano.
Fue frecuentemente consultado por la CIA, el Ejercito de los Estados Unidos, la corporación RAND, Standard Oil, IBM y otros.
Políticamente se definía “violentamente anticomunista y mucho más militarista que la normal”.
Como presidente del Comité para misiles de von Neumann y como miembro de la comisión de energía atómica, era el científico con mayor poder político de estados unidos.
Desarrollo varios escenarios de proliferación nuclear, misiles submarinos e intercontinentales con cabezas atómicas y el muy controvertido equilibrio estratégico llamado destrucción mutuamente asegurada.
En pocas palabras, era la mente diestra de los aspectos científicos de la guerra fría que condiciono al mundo occidental por cuarenta años.
En 1943 el ejército estadounidense reclamo su participación para fabricar bombas atómicas, y a partir de entonces colaboro con los militares, y posteriormente colaboró en la fabricación de la bomba de hidrogeno y en el desarrollo de misiles balísticos.
Por lo tanto, el resultado notable de su investigación en este campo fue el descubrimiento de que las bombas de larga dimensión son más devastadoras que si se detonan antes de tocar el suelo; la participación en proyectos para el diseño de explosivos de contacto; y la especial contribución a la construcción de la bomba de hidrogeno.
De ahí que su interés en problemas de matemática aplicada, e hicieran convertirse en uno de los más grandes expertos en materia de explosivos y se comprometió con un gran número de consultorías militares, principalmente para la marina de estados unidos.
En 1955 fue nombrado miembro de la comisión de energía atómica del gobierno estadounidense.
Su exposición a la radiación de las pruebas nucleares pudo ser el desencadenante de su muerte trágica, aunque no ha sido demostrada.

ECONOMÍA.
Contribuyo significativamente en el “teorema minimax”. Que culminó con la teoría de juegos y el comportamiento económico.
Otra contribución importante fue la solución a un problema de Leon Walras en 1874 de la existencia de situaciones de equilibrio en modelos matemáticos de desarrollo del mercado basado en oferta y demanda.
Además, fue el primero en emplear el método de prueba utilizado en teoría de juegos , conocido como backward induction (inducción hacia atrás).

MECÁNICA CUÁNTICA.
Después de completar la axiomatización de la teoría de conjuntos, empezó a enfrentarse a la axiomatización de la mecánica cuántica.
Fue el autor de la primera teoría axiomática abstracta que a partir de 1923 habrían empezado a demostrar su condición de instrumento matemático por excelencia de la mecánica cuántica; la estructura lógica interna de esta última se puso de manifiesto merced de los trabajos de von Neumann, quien contribuyo a proporcionarle una base rigurosa para su exposición.
También asistió al nacimiento de la teoría cuántica de Heisenberg y se interesó por la aplicación del programa formalista de Hilbert a la formulación matemática de esa nueva rama de la física.
En 1932 publicó The Mathematical Foundations of Quantum Mechanics, en el que recoge sus formulaciones sobre la matemática cuántica. En 1944, en un texto escrito con Oskar Morgenstern, plantea la teoría del juego Theory of Games and Economic Behaviour. En 1958, The Computer and the Brain. Después de su muerte, en 1966, apareció la obra Theory of Self-Reproducing Automata, con Arthur W. Brurks.
– OTROS DATOS DE INTERÉS SOBRE VON NEUMANN. –

CARGOS QUE OSTENTO.
En lo que respecta a cargos que ostento durante su vida cabe destacar que fue director de las revistas Academicas annals of mathematics y Composition Mathematica, y presidente de la American Mathematical Society entre 1951 y 1953. También fue miembro de la American Academy of Arts and Sciences; de la Academia Nacional de Ciencias Exactas de Perú; de la Academia Nazionales dei Lincei y del Instituto Lombardo di Scienze e Lettere de Italia, de la Academia Real de Ciencias y Letras de los Países Bajos, etc.

HONORES.
Por otra parte, remarcar las numerosas distinciones que recibió tanto en su carrera investigadora como docente. Entre ellas, recibió la distinción “honoris causa” por la universidad de Pennsylvania, Harvard, Martland, Munich, Estambul, etc.
También obtuvo entre otros galardones las medallas presidenciales del mérito y de la libertad de los estados unidos por el presidente Dwight Eisenhower en 1956, y los premios Einstein, Bôcher y Fermi.
También se le rindieron varios tributos en su nombre, incluso a título póstumo, como son un premio de teoría John von Neumann del instituto para la investigación de operaciones y la ciencia administrativa que  se otorga anualmente al individuo o grupo que haya hecho contribuciones fundamentales y sustentadas a la teoría en investigación de operaciones y las ciencias administrativas; una medalla que se otorga por la IEEE para los logros excepcionales en ciencia y tecnología de la computación; y además, hay un cráter en la luna que lleva su nombre, un centro de computación también con su nombre, una sociedad profesional de científicos de la computación húngaros en su honor, y un premio en su honor a la contribución en el ámbito de las ciencias sociales.
Además, es significativo el hecho de que en 2005 se publicaron una serie de estampillas conmemorativas de científicos americanos por el servicio postal de los Estados Unidos, entre los cuales uno de ellos era von Newmann.