jueves, 10 de noviembre de 2016

Proyecto GNU

GNU fue un proyecto dirigido por Richard Stallman. En 1971 comenzó su carrera en el MIT. Durante este periodo usó siempre software libre debido que las compañías lo facilitaban.

A principios de los 80, las empresas empezaron a privatizarlo y fue necesario GNU, un proyecto ambicioso que permitiría la interacción entre usuarios de nuevo.

Proyecto GNU 

El proyecto GNU surgió en 1983 como idea de Richard Stallman para crear un SO (Sistema Operativo) basado en Unix que fuese 100% software libre.

El acrónimo GNU proviene de GNU's not Unix (GNU no es Unix). Debido a la grandeza del proyecto hubo que recaudar fondos mediante la Free Software Foundation, fundada en octubre de 1985. Según propias palabras de GNU :"Un sistema operativo similar a Unix incluye un núcleo, compiladores, editores, procesadores de texto, software de correo, interfaces gráficas, bibliotecas, juegos y muchas otras cosas. Por todo esto, escribir un sistema operativo completo conlleva mucho trabajo". Esto quiere decir que el objetivo no era sólo hacer un SO, sino también incluir en él aplicaciones que pudiesen ser usadas por el usuario de forma gratuita y libre.

El SO no se quedó solo ahí, también desarrollaron una GUI (Graphic User Interface o Interfaz Gráfica de Usuario) llamada GNOME. Esto permitiría el uso del SO a usuarios que no fuesen expertos en informática.

Qué ha permitido GNU

La creación de GNU permitió que otro programador finlandés, Linus Torvalds, desarrollar lo que actualmente conocemos como GNU/Linux (GNU es el SO, mientras que Linux es el kernel o núcleo), comúnmente llamado Linux. Este, a su vez, ha permitido el desarrollo de otros SO's, llamados distros.

Para que el lector se haga una idea de cuantas distros existen de Linux enlazamos un link que muestra todas las distros hasta 2012 y otro enlace para que pueda ver las distros desarrolladas día a día.

También está basado en Unix el sistema operativo OS X, que actualmente usa Apple.


Fuentes:
https://www.gnu.org/gnu/gnu.html
https://es.wikipedia.org/wiki/Richard_Stallman#Biograf.C3.ADa

Vídeo de Richard Stallman cantando la canción del hacker.

jueves, 20 de octubre de 2016

Arquitectura de von Neumann

John von Neumann revolucionó el mundo de la Informática. Antes de la arquitectura, tenías que ser ingeniero eléctrico para poder programar, que se basaba en conectar diferentes cables. Esto ocasionaba numerosos perjuicios ya que cada vez que querías hacer un nuevo cálculo debías volver a conectar todo.


Nació el 28 de diciembre de 1903. Fue un niño prodigio, con una memoria asombrosa, capaz de hacer bromas en griego clásico a la temprana edad de seis años o de memorizarse columnas enteras de guías telefónicas.

Todo cambió gracias a su intervención. John von Neumann fue el matemático que presentó al mundo la idea de hacer programas almacenados en una memoria. 
Sus contribuciones a las matemáticas son destacables (encontrando el campo de la Teoría del juego, haciendo contribuciones en las matemáticas económicas, en la Teoría de la medición, etc.), así como en otros campos (física cuántica y ciencia computacional, entre otras). También fue uno de los colaboradores del Proyecto Manhattan desarrollando los modelos matemáticos detrás de las lentes explosivas.

Para conocer su vida más detalladamente haz click aquí (en inglés).


En la arquitectura von Neumann los datos se escriben y leen en una misma memoria y se direccionan indicando su posición.


Las características principales de esta arquitectura son las siguientes:
  • Posee 3 componentes principales (CPU, Memoria principal y Sistema I/O)
  • Las instrucciones siguen un procesamiento secuencial
  • Datos en código binario
  • Sistema de interconexión
Componentes Principales:

1. CPU (Unidad Central de Procesamiento):


Conocido también como "procesador", principalmente nos permite controlar todo el sistema del ordenador (procesar datos). Está formado por millones de transistores que son los encargados de regular la corriente actuando como un interruptor o amplificador. Nos permite desde incorporar memorias internas y discos duros hasta conectar dispositivos como monitores, teclados, auriculares e impresoras. Actualmente han sido reemplazadas por microprocesadores, debido al avance de la nano tecnología, ya que anteriormente ocupaban mucho espacio y eran muy costosas.



                 

















Dispone de dos unidades en su interior:
  1. Unidad de control: encargado de procesar los datos, es decir, lee las instrucciones que nosotros le damos al ordenador y los envía a los componentes del procesador.
  2. Unidad aritmético lógica (ALU): interpreta los datos, es decir, se encarga de realizar operaciones aritméticas como sumas, restas, multiplicaciones y divisiones, y lógicas como comparaciones.
2. Memoria principal:

La memoria principal es el lugar donde se almacenan los datos o programas de forma temporal que procesa la CPU. Se comunican mediante el bus de datos y el bus de direcciones. Deja de almacenar información cuando se produce un corte de corriente eléctrica. Inicialmente la memoria era principalmente RAM (la memoria de proceso aleatorio se utiliza como memoria de trabajo para el sistema operativo, los programas y la mayoría del software), aunque actualmente también se usa la memoria caché (memoria de acceso rápido que guarda temporalmente la información recientemente procesada).

(RAM)




3. Sistema I/O

Conocido como periféricos de entrada/salida. Son dispositivos que permiten la comunicación del CPU con el exterior. (Con una persona o sistema)
Ejemplos de ellos son las pantallas táctiles, el ratón, el teclado, etc.









Para una información mucho más extensa sobre el tema consultar el siguiente PDF.



Aquí mostramos un vídeo explicativo sobre la arquitectura de Neumann.