Ankalima


Por qué vendemos tan barata nuestra libertad ?? Por qué no perseguimos nuestros sueños con más ahínco ?? Por qué no amamos más ??

miércoles, enero 18, 2012

Berkeley: BSD, TCP/IP, BIND, BOINC y la Computación Distribuida......



En el capítulo del "elementary training" de hoy seguiremos hablando aplicaciones muy conocidas en el ecosistema del Software Libre y también en UNIX. Y lo haremos intentando ligarlas a las universidades donde fueron escritas. Para hacerles los honores que se merecen por el clima de creación de software que propiciaron y del que hoy seguimos disfrutando.


BSD
Hoy hablaremos de las aportaciones más relevantes de la Universidad de California en Berkeley a través de Berkeley Software Distribution; al mundo Unix (del que hablamos en el primer capítulo) y al ecosistema Linux en particular, de forma directa o a través de GNU.


UNIX BSD
BSD es un sistema operativo derivado del sistema UNIX nacido a partir de los aportes realizados a ese sistema por la Universidad de California en Berkeley.
En los primeros años del sistema UNIX sus creadores, los Laboratorios Bell de la compañía AT&T, autorizaron a la Universidad de California en Berkeley y a otras universidades a utilizar el código fuente y adaptarlo a sus necesidades. Durante la década de los setenta y los ochenta Berkeley utilizó el sistema para sus investigaciones en materia de sistemas operativos. Cuando AT&T retiró el permiso de uso a la universidad por motivos comerciales, la universidad promovió la creación de una versión inspirada en el sistema UNIX utilizando los aportes que ellos habían realizado, permitiendo luego su distribución con fines académicos y al cabo de algún tiempo reduciendo al mínimo las restricciones referente a su copia, distribución o modificación




En el esquema de arriba podéis ver el enorme campo de influencia de la "familia de sistemas operativos UNIX y tipo UNIX", sus creadores y propietarios. 


Algunos sistemas operativos descendientes del sistema desarrollado por Berkeley son SunOS, FreeBSD, NetBSD, PC-BSD, OpenBSD y Mac OS X


Pero BSD también ha hecho otras grandes contribuciones en el campo de los sistemas operativos en general, como: el manejo de memoria virtual paginado por demanda, el control de trabajos, el Berkeley Fast File System (BFS) y una buena parte de la familia de protocolos TCP IP


Si; porque en muchos documentos encontréis que la familia de protocolos TCP/IP fue desarrollada por ARPANET; lo cierto es que en la Universidad de Berkeley estaba uno de los 4 primeros nodos (una computadora IBM 360) que tuvo esa red que fue sin duda la predecesora de Internet. Porque Vint Cerf que se licenció en la Universidad de Stanford se doctoró en la UCLA (Universidad de California en Los Ángeles) (donde estaba otro de los 4 nodos de ARPANET una computadora SDS Sigma 7 que fue la primera en conectarse) y allí se unió a Robert Kahn, el verdadero inventor de TCP/IP, para trabajar juntos en todo lo relacionado con DARPA,  ARPANET y TCP/IP.



BIND (Berkeley Internet Name Domain, anteriormente : Berkeley Internet Name Daemon o Servidor de Nombres de Dominio en Internet de Berkeley) es el servidor de DNS más comúnmente usado en Internet, especialmente en sistemas Unix, en los cuales es un Estándar de facto. Es patrocinado por la Internet Systems Consortium. BIND fue creado originalmente por cuatro estudiantes de grado en la University of California, Berkeley y liberado por primera vez en el BSD 4.3. Paul Vixie comenzó a mantenerlo en 1988 mientras trabajaba para la Digital Equipment Corporation (DEC)


Una nueva versión de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes anteriormente para auditar el código en las primeras versiones de BIND, y también para incorporar DNSSEC (DNS Security Extensions). BIND 9 incluye entre otras características importantes: TSIG, notificación DNS, nsupdate, IPv6, rndc flush, vistas, procesamiento en paralelo, y una arquitectura mejorada en cuanto a portabilidad. Es comúnmente usado en sistemas GNU/Linux.



En la actualidad, y desde hace algunos años, existe una clase de sistemas operativos derivados de UNIX en desarrollo activo, diferentes de las bien conocidas distribuciones Linux, pero que son descendientes de la Berkeley Software Distribution (BSD). 


A estas derivaciones se les puede denominar como Distribuciones BSD.
Estas, que no se basaron inicialmente en el software de GNU, ni en el núcleo Linux, se diferencian de los cientos de distribuciones Linux solamente en que existen tres BSD libres. 


Cada proyecto derivado o basado en BSD mantiene su propio árbol de fuentes, y su propio núcleo. Sin embargo, las diferencias en el entorno gráfico de usuario entre los distintos BSD son menores que las que hay en Linux.


Existe además un número creciente de otros sistemas subderivados de las distribuciones BSD, que añaden o quitan ciertas características, pero que generalmente permanecen compatibles con su sistema operativo original. DragonFly BSD, es un derivado o fork de FreeBSD versión 4.8, de junio de 2003. Esta distro-BSD reescribió toda la gestión de concurrencia, (SMP (Multiprocesamiento Simétrico), y la mayoría de los subsistemas del núcleo. 


Otro proyecto bien conocido y a veces polémico es el SETI@Homeun proyecto de computación distribuida que corre en la plataforma informática Berkeley Open Infrastructure for Network Computing (BOINC es software libre y disponible bajo la licencia GNU LGPL), desarrollado por el Space Sciences Laboratory, en la Universidad de California en Berkeley, en Estados Unidos. SETI es un acrónimo en ingles para Search for extraterrestrial intelligence (Búsqueda de inteligencia extraterrestre). Su propósito es analizar señales de radio, buscando por señales de inteligencia extraterrestre, y es una de muchas actividades llevadas a cabo como parte de SETI.




SETI@home fue lanzado al publico el 17 de mayo de 1991 haciéndolo el segundo proyecto de uso de gran escala de la computación distribuida a través de la Internet para propósitos investigativos, como Distributed.net fue lanzado en 1997. Junto con MilkyWay@home y Einstein@home, SETI@home es el tercer proyecto informático más importante de este tipo que investiga los fenómenos del espacio interestelares como su meta principal. 


Arecibo, Puerto Rico
Los primeros proyectos SETI surgieron bajo el patrocinio de la NASA durante los años 1970. Uno de los proyectos más famosos, SETI@Home, está siendo apoyado por millones de personas de todo el mundo mediante el uso de sus computadoras personales, que procesan la información capturada por el Radiotelescopio de Arecibo, emplazado en Puerto Rico. Si bien el proyecto no ha alcanzado el objetivo de encontrar inteligencia extraterrestre, ha demostrado a la comunidad científica que proyectos de computación distribuida que utiliza ordenadores conectados a Internet puede tener éxito como una herramienta de análisis de viabilidad, e incluso ganarle a las más grandes supercomputadoras


El proyecto SETI ha trascendido su carácter de computación distribuida, al diseñar y llevar a cabo un nuevo programa que se ejecuta en el ordenador del usuario, mediante el cual es posible participar en otros proyectos que requieren grandes cantidades de proceso. Este programa tomó el nombre de BOINC (Berkeley Open Infrastructure for Network Computing) . BOINC actúa como cliente de proyectos, y ahora SETI es uno de esos proyectos. Pero hay más.


LHC@home es un proyecto de computación distribuida que corre en la plataforma informática Berkeley Open Infrastructure for Network Computing (BOINC). El proyecto es organizado por voluntarios, en nombre de la Organización Europea para la Investigación Nuclear (CERN). Su meta principal es el mantenimiento y la mejora del Gran Colisionador de Hadrones (LHC), que entró en actividad en septiembre de 2008. Data del proyecto es utilizada por los ingenieros para mejorar la operación y eficiencia del acelerador, y para predecir posibles problemas que podrían ocurrir al ajustar o modificar el equipamiento del LHC. El proyecto es administrado por voluntarios, y no recibe fondos de CERN.


Rosetta@home es un proyecto de computación distribuida para la predicción estructural proteica que se ejecuta sobre la plataforma Berkeley Open Infrastructure for Network Computing (BOINC). El proyecto es administrado por el laboratorio Baker de la Universidad de Washington. El propósito de Rosetta@home es predecir el acoplamiento proteína-proteína y diseñar nuevas proteínas con la ayuda de más de 995.053 computadores voluntarios procesando un promedio de 114,966 teraFLOPS.


Einstein@Home es un proyecto de computación distribuida desarrollado por Bruce Allen y su equipo. El proyecto ha sido diseñado para buscar ondas gravitacionales en los datos recogidos por los observatorios LIGO en Estados Unidos y GEO 600 en Alemania. De acuerdo con la Teoría General de la Relatividad este tipo de radiación debería ser emitido por estrellas extremadamente densas y en rápido movimiento de rotación, generalmente llamadas estrellas compactas, que "arrastran" el espacio-tiempo alrededor de ellas mientras rotan.

El programa procesa los datos de los observatorios utilizando Transformadas Rápidas de Fourier o FFT. 


Las señales resultantes son posteriormente analizadas utilizando el método de igualación mediante filtrado: se calcula cómo sería la señal si hubiese una fuente de ondas gravitacionales en la parte del cielo que se está examinando, tras ello, se compara la señal real con la calculada. Si ambas señales coinciden, la señal analizada se convierte en una candidata para ser analizada en mayor profundidad.


Climate Prediction: Tiene por objetivo realizar simulaciones meteorológicas para conseguir realizar previsiones más acertadas. Y es otro de los programas que está usando la plataforma Berkeley Open Infrastructure for Network Computing (BOINC). 


Hay más de 5 millones de usuarios en más de 200 países que están participando en el programa SETI@Home, y han contribuido con 19.000 millones de horas computadora. El 4 de diciembre de 2006, el programa operaba a 310 TeraFLOPS, siendo así el segundo ordenador más potente del mundo.


BOINC es una prueba más de lo que los humanos podemos hacer, simplemente "donando tiempo de computación de nuestros ifrautilizados microprocesadores". Además es otra prueba de que no es necesario "centralizar" la capacidad de computación para trabajar juntos; de la misma forma que tampoco es imprescindible centralizar el poder administrativo de los los distintos grupos sociales o naciones que forman los estados. Y sobre todo es una prueba de que la "descentralización"; eso que algunos entienden por "caos" no es más que otro tipo de organización.


Glosario de Términos:


*BSD Distribuciones de un sistema operativo "tipo UNIX" creados y mantenidos desde Berkeley y una extensa comunidad de usuarios.


*TCP/IP Originalmente: el protocolo de Internet. Actualmente: el protocolo de redes más usado para comunicar computadoras en redes pequeñas, medianas, grandes y enormes, y por supuesto Internet.


*BIND Aplicación que corre en computadoras con sistemas operativos tipo UNIX y que se encarga de traducir los nombre de dominio tipo: http://www.google.com a direcciones IP tipo: 8.8.4.4 (y viceversa).


*BOINC Aplicación que corre en cualquier tipo de sistema operativo y que sirve para "utilizar el tiempo de computación que no usan los microprocesadores de cientos o miles de computadoras unidas a través de Internet, como si se tratase de una sola supercomputadora"; y de esta forma solucionar operaciones de cálculo muy complejas. Se trata de un sistema parecido al que se usó para la decodificacion del Genoma Humano. A este tipo de operativo se le conoce como "Computación Distribuida".





rain is coming,
fear Him...

No hay comentarios: