Aplicaciones de FreeBSD en Ingeniería Mecánica

Anuncio
Aplicaciones de FreeBSD en Ingeniería
Mecánica
Pedro F. Giffuni
Ing. Mecánico Universidad Nacional de Colombia
Octubre de 1999
ABSTRACT
En años recientes los avances en comunicaciones, y específicamente la red Internet, han
traído diversos avances en la forma de trabajo moderna y la posibilidad de compartir
tecnologías que antes no estaban disponibles localmente. FreeBSD es un sistema operativo
basado en la misma tecnología que dio a la luz la red mundial Internet y esta disponible
gratuitamente para cualquier fin académico o comercial.
En el articulo se hace un breve recuento histórico del FreeBSD y se presentan algunas
aplicaciones que pueden ser de gran ayuda para el ingeniero mecánico interesado en las
nuevas tecnologías.
1. Que es FreeBSD ?
FreeBSD es un sistema operativo gratuito que se consigue en la red Internet o a través de
distribuciones comerciales en CD ROM. Este sistema operativo esta basado en el sistema
operativo UNIX y corre una variedad de aplicaciones que van desde herramientas de
edición de texto hasta servidores de red de alta confiabilidad.
FreeBSD corre en equipos PC con procesadores compatibles con Intel 386 pero desde la
versión 3.0 en adelante se ha producido una versión capaz de correr en equipos Alpha de
Digital.
2. Historia del BSD
Ken Thompson y Dennis Ritchie, de los laboratorios Bell, presentaron el primer documento
sobre el sistema operativo UNIX en Noviembre de 1973 en la Universidad de Purdue. El
Profesor Bob Fabry, de la Universidad de Berkeley en California, se interesó
inmediatamente en adquirir una copia de este sistema operativo para experimentar con él en
Berkeley.
Un año después1, los departamentos de Ciencias de Cómputo, Matemáticas y Estadística
unieron sus presupuestos para adquirir el primer equipo capaz de correr UNIX en Berkeley:
un PDP 11/45 que además se convirtió en el primer equipo UNIX con dos discos en el
mismo controlador.
El primer equipo con UNIX en Berkeley era compartido por varios grupos de trabajo, y no
todos querían usar el mismo sistema operativo, por este motivo se establecieron horarios
estrictos de ocho horas después de las cuales se reiniciaba el equipo con otro sistema
operativo. Pese a esta limitación, el sistema operativo fue recibido con gran entusiasmo por
los estudiantes.
En los años posteriores, Berkeley estuvo en constante colaboración con los laboratorios
Bell. Eventualmente la Universidad de Berkeley hizo tantas mejoras, e incluyo tantas
utilidades nuevas al sistema operativo que fue necesario organizar una distribución para
diversas universidades y empresas que estaban interesadas. La Universidad de Berkeley en
California produjo una seria de cintas magnéticas que venían rotuladas Berkeley Source
Distributions o simplemente BSD.
1
McKusick Marshall Kirk, Twenty Years of Berkeley Unix, En: Open Sources: Voices from the Open Source
Revolution, Editorial O'Reilly, 1999
1
Si bien las contribuciones de Berkeley eran muchas y muy valiosas, el avance más
importante que se logró, probablemente, fue el contrato con el Departamento de Defensa de
los Estados Unidos para implementar el protocolo de ARPANET, posteriormente conocido
como TCP/IP, base de la actual red Internet.
Berkeley distribuía su código fuente de todos sus desarrollos pero como los cambios
estaban atados inevitablemente al UNIX comercial, la cinta con la distribución se distribuía
únicamente a quienes tuvieran licencia de UNIX. Cuando Berkeley terminó la
implementación de TCP/IP, fue necesario crear una distribución que no contuviera código
de UNIX ya que otros sistemas operativos estaban interesados en el código. De esta forma
nació la distribución Net Release 1.
En Junio de 1991 se lanzó la versión Net/2 de BSD, que incluía mucho más código del que
se había distribuido en la primera versión. En esta nueva versión, redistribuida sin licencia
previa de AT&T, tenia casi todo lo que se requería para tener un sistema operativo
completo. Seis meses después del lanzamiento de BSD Net/2, Bill Jolitz escribió las partes
que faltaban para tener un sistema operativo completo y lo compiló en un PC produciendo
lo que se denominó 386/BSD.
El 386/BSD tuvo una vida corta, Bill Jolitz debió abandonar el proyecto por motivos
personales, pero sirvió para el nacimiento de tres vertientes distintas que aun sobreviven:
BSD/OS2. NetBSD3, y FreeBSD4:
•
NetBSD fue creado por un grupo de voluntarios que quería continuar contribuyendo
con Berkeley y deseaban correr la distribución de BSD en un gran número de
plataformas.
•
FreeBSD tenia como objetivo continuar el trabajo de Jolitz, mejorando la calidad del
sistema para el PC.
•
Algunos estudiantes de Berkeley tomaron el código de 386/BSD y fundaron su propia
empresa, Berkeley Software Design Inc. para comercializar su propio producto
denominado BSD/OS.
En 1992, AT&T consideró que BSDI estaba fragmentando su mercado de UNIX por lo que
presentó acción legal contra la empresa recién formada El resultado de esta demanda fue la
suspensión inmediata de los tres proyectos que acababan de nacer.
2
http://www.BSDI.com/
3
http://www.NetBSD.org/
4
http://www.FreeBSD.org/
2
El litigio fue resuelto dos años después con una negociación en la cual Berkeley se
comprometió a retirar código que los dueños de UNIX consideraran violatorio de sus
derechos. Una vez definido el juicio, los tres proyectos volvieron a nacer con el
lanzamiento de BSD4.4 lite. En este tiempo también surgió otro sistema operativo gratuito
denominado Linux que, aunque tenia menor calidad, no tenia los impedimentos que el
código BSD presentó durante el litigio
El código producido por Berkeley se distribuía bajo una licencia muy flexible que permitió
su integración, total o parcial, en otros productos. El código de BSD es hoy parte integral,
en mayor o menor grado, de los todas versiones comerciales de UNIX que adoptaron, entre
otras cosas, el soporte de red TCP/IP y el sistema de archivos FFS. De los tres sistemas
operativos derivados de BSD Net/2, el más popular es FreeBSD, que es además el motor
fundamental de diversos sitios en Internet como Yahoo y Hotmail..
3. Como es FreeBSD
Todo usuario de UNIX tendrá una sensación familiar al usar FreeBSD. La forma más usual
de interactuar con FreeBSD, y con UNIX en general, es a través de un interpretador de
comandos o shell. El DOS, que tomó este concepto de UNIX, tenia un shell denominado
COMMAND.COM, sin embargo en UNIX es posible escoger entre muchos shells
distintos, siendo los más comunes el Korn Shell, ksh, y el C Shell, csh.
Con la llegada de los sistemas operativos "amigables", una de las críticas más frecuentes
contra toda versión de UNIX es la dificultad de su manejo: si bien es cierto que UNIX es
más complicado que muchos otros sistemas operativos, también es muy flexible y es más
poderoso: siempre ha sido un sistema operativo multiusuario, multitarea y ha servido para
el desarrollo de productos como el navegador Netscape y el lenguaje de programación
Java.
El ambiente gráfico estándar en todos los sistemas UNIX fue creado por MIT y se llama
XWindows, o simplemente X. Si bien X es similar a diversos productos comerciales, se
caracteriza por permitir un trabajo orientado a la red: es posible ejecutar aplicaciones
gráficas que están ubicadas en plataformas distintas.
Así como la terminal de texto se maneja por un shell, el ambiente gráfico tiene un
administrador de ventanas que puede seleccionarse según las preferencias del usuario. La
figura 1 nos muestra como se vería una pantalla típica después de instalar X bajo FreeBSD
y utilizar el administrador de ventanas KWM5. Hay otros administradores de ventanas com
5
Esta utilidad forma parte del sistema KDE http://www.kde.org/.
3
OLWM, FVWM, y MWM. Es posible poner un papel tapiz, en este caso un reloj, utilizar
diversas herramientas del escritorio virtual, en este caso una calculadora, y ejecutar
aplicaciones adicionales del sistema como XFractint.
Figura 1. Escritorio típico en ambiente XWindows
4. Aplicaciones Científicas
Por supuesto, el sistema operativo, por sí solo, no nos sirve para realizar labores de
ingeniería. FreeBSD permite emular muchas aplicaciones comerciales escritas para otros
sistemas operativos como BSDI, SCO UNIX, Unixware, Linux, y en algunos casos DOS y
Windows. Algunas aplicaciones que se han reportado como exitosas en las listas de correo
electrónico son: Matlab, Mathematica, Maple, Applixware, StarOffice y Oracle.
4
Pos supuesto, en la red es posible encontrar muchas aplicaciones científicas gratuitas.
Afortunadamente para nosotros, los desarrolladores de FreeBSD se han inventado un
sistema de distribución de programas denominado Ports6. Este sistema nos presenta una
colección completa de utilidades: basta escoger uno de estos títulos, y el sistema puede
encargarse de bajar los archivos de la red, bien sea ftp o http, aplicar los cambios
necesarios, compilar la aplicación e instalarla en un solo paso. A continuación veremos
algunos de los ports más populares.
4.1 Yorick ftp://ftp-icf.llnl.gov/pub/Yorick/yorick.html
Yorick es un lenguaje de programación matemática, similar en su funcionamiento a Matlab
pero con una gramática similar al del lenguaje C. Este paquete viene con una serie de
librerías matemáticas que permiten cálculos matriciales y la construcción de animaciones,
La figura muestra uno de los ejemplos en que se simula la vibración de un tambor.
Figura 2.Vibraciones en un tambor con Yorick
6
http://www.FreeBSD.org/ports/
5
4.2 POVRAY http://www.povray.org/
Permite construir imágenes fotorealísticas a partir de comandos o descripciones escritas en
un archivo. Permite hacer "Rendering" sofisticado. El papel tapiz con el reloj en la figura 1
fue realizado con POVRAY. La imagen de la figura 3 también se creó con POVRay.
Figura 3. Imagen virtual creada por POVRay
4.3 OpenDX http://www.OpenDX.org/
OpenDX es un procesador desarrollado por IBM. El programa permite la visualización de
datos complejos y ha sido utilizado con éxito para modelar choques entre vehículos y
6
condiciones de flujo en el transbordador espacial (como el de la figura 1). La figura a
continuación presenta algunos un análisis de diversas variables en los diversos Estados de
los Estados Unidos.
Figura 4. Información Estadística visualizada con OpenDX.
4.4 BRL-CAD http://ftp.arl.mil/brlcad/
El sistema de dibujo desarrollado en Ballistic Research Laboratory del ejercito
norteamericano. El uso de este software es restringido por el gobierno de los Estados
Unidos: antes de instalarlo es necesario firmar una licencia especificando los datos
personales para conseguir una clave de acceso. Una vez se tenga la clave, no hay necesidad
de compilar el programa ya que el ejecutable esta disponible en la red. La aplicacion es
bastante grande.
7
Figura 5. Imagen creada con BRL-CAD
4.5 FEMLAB http://www.math.chalmers.se/Math/Research//Femlab/
Femlab es un paquete académico de origen sueco que permite solucionar problemas de
ecuaciones diferenciales bidimensionales por métodos de elementos finitos. La figura 6
presenta un modelo del flujo alrededor del ala de un avión. También es posible usar este
paquete para modelar condiciones eléctricas y mecánicas en diversos ambientes.
8
Figura 6. Cálculos de convección en un ala generados con Femlab.
4.6 FElt http://www-cse.ucsd.edu/users/atkinson/FElt/
FElt es un programa para llevar a cabo Análisis pon Elementos Finitos FEA, para casos de
dos dimensiones. Existe una lista de correo patrocinada por la ASME y un sitio en la red
donde se presentan casos de problemas resueltos. Si bien el paquete tiene sus limitaciones y
no es comparable con las aplicaciones comerciales, es un avance importante y una
herramienta de aprendizaje excepcional.
La figura presenta una llave de tuercas sometida a condiciones de trabajo y es posible
observar las deflexiones que sufrirá.
9
Figura 7. Análisis sobre una llave de tuercas realizada con FElt.
5.0 Observaciones Adicionales
Existen muchas otras aplicaciones útiles en ingeniería disponibles en la red y en la
distribución de FreeBSD. Salvo por BRL-CAD, todas las aplicaciones que hemos
presentado están incluidas en FreeBSD y vienen con el código fuente usado para
construirlas.
El hecho de tener estas aplicaciones disponibles nos abre oportunidad de hacer uso de esta
tecnología y asimilar mas rápido los conceptos clásicos, y también nos da la oportunidad de
construir nuevas herramientas con las experiencias de los demás. Estos tipo de desarrollos
permiten, efectivamente, disminuir la brecha entre los países desarrollados y los
subdesarrollados.
10
Referencias Bibliográficas
1. McKusick Marshall Kirk, Twenty Years of Berkeley Unix, En: Open Sources: Voices
from the Open Source Revolution, Editorial O'Reilly, 1999
2. Bostic Keith, y McKusick Kirk, The Design and Implementation of the 4.4BSD
Operating System, Addison Wesley, 1996.
3. Lehey, Greg, The Complete FreeBSD, Walnut Creek CDROM, Tercera Edición, 1999.
11
Descargar