Páginas vistas en total

lunes, 30 de noviembre de 2009

bluetooth con java

Es bonito saber que existe, bluetooth en java:

Aqui les presento las clases cliente y servidor para bluetooth :D


prometo despues, explicarlo, les parece?

Cliente
Servidor

Creed - With Arms Wide Open

No pude evitar, escuchar esta cancion, sin evitar pensar que es la mas bonita que he escuchado :D.
Me hace recordar la venida de mi nuev@ sobrin@, :D pronto te conocere.

Bienvenid@ sobrin@

viernes, 27 de noviembre de 2009

viernes, 16 de octubre de 2009

Exokernel

Introducción:
Kernel (Núcleo) , este el software nos ayudara a obtener el acceso al hardware de la computadora como también es el encargado de administrar los recursos, a través de servicios de llamada al sistema. Como hay concurrencia de programas que desean tener acceso a un dispositivo, el núcleo también se encarga de ver que programa va usar el recurso.
El núcleo se va asegurar que encuentre:
  • Nos proporcionar la comunicación entre los programas informáticos y el hardware.
  • Encargado de Gestionar de los distintos programas informáticos o tareas de una de un computador.
  • Gestiona del hardware como lo son la memoria, procesador, periférico, forma de almacenamiento de la información entre otras.
Como existen muchos programas que tienen acceso al hardware que va ser limitado, y el núcleo se va encargar de ver quienes tienen acceso al hardware y el tiempo que tendrán.

Las primeras computadoras no usaban un núcleo, y por ello se tenia que reiniciar y reconfigurar la computadora cada vez, las computadoras no necesitarían un núcleo y los programas podrían ejecutarse desde una computadora sin kernel, pero los autores tienen que desarrollarlos sin ninguna abstracción del hardware además sin ayuda del sistema operativo.
Existen 4 tipos de núcleos:
  1. Núcleos Monolíticos
  2. Micro núcleos
  3. Núcleos Híbridos
  4. Los Exonucleos

Exokernel:


Historia:
El termino exonucleo fue iniciado a finales 1994, pero aun exonucleos no son usados en ningun sistema operativo popular. Un sistema operativo que es creado por exonucleo es Nemesis, que fue creado en la universidad Cambridge,la Universidad de Glasgow, Citrix Systems y el Instituto Sueco de Informática,El MIT desarrollo el sistema operativo ExOS.

Definicion:
Tambien conocido por sistemas operativos verticalmente estructurados.
Radica en reducir la función del kernel del sistema logrando multiplexar de los recursos físicos. Un exokernel provee a las aplicaciones la misma interfaz que provee el hardware, con ello no se necesita de una virtualización ni abstracción del mismo. Son de naturaleza sistemas Centralizados.
Un exonúcleo elimina la noción de que un sistema operativo debe proveer abstracciones en las que se construyen las aplicaciones.



Como trabaja:
• Las aplicaciones solicitan direcciones de memoria especifica como por ejemplo bloque de de disco.
• El nucleo se va asegurar que el recurso esta disponible para su uso, y el permiso que dispone.
• Contiene 3 Capas Capa de Exonucleo (núcleos de varios sistemas operativos corriendo sobre exonúcleo), la capa LibOS corriendo sobre LibOS, la Capa de aplicaciones.
• El sistema es realmente resistente y flexible, debido que una caracteristica exonúcleo, es impedir que haya errores de permisos al hardware y problemas entre los LibOS.

Caracteristicas
• Su tamaño es reducido.
• (Cualquier persona puede administrar los recursos)El desarrollador podrá decidir que rendimiento se le dara al hardware, por ejemplo un disco, una aplicación podrá especificar una región o un bloque del disco.
• Se encargara de multiplexar y proteger recursos.
• No se encuentra en memoria, sino que fuera de bibliotecas.
• Su función esta restringida a proteger y multiplexar recursos.
• Exokernel segura exportación de recursos porque separa el manejo de la memoria virtual, el sistema archivos etc, esto se encuenta en la biblioteca libOS y esta facilmente puede ser accesada.





Imagen:
http://dzipiri.blogspot.com/2008/09/exokernel-exonucleo-vs-microkernel.html

miércoles, 23 de septiembre de 2009

viernes, 18 de septiembre de 2009

Tux se va de vacaciones



TUX dejara su lugar al simpático TUZ, por una noble causa
el quiere ayudar a noble causa el quiere ayudar a dar énfasis al demonio de tasmania es nativo de Australia que se encuentra en peligro de extinción debido a un tumor facial que se transmite.

El kernel 2.6.29 que sera liberado en forma oficial, y el commit que reemplaza a Tux por Tuz ya se hizo en el repositorio oficial del kernel.

El autor( Rusty Russell) dijo:
Tux se toma tres meses sabáticos para trabajar como barbero, asi que Tuz se queda con nosotros.


Aunque estoy triste, porque tux se va, se que el regresara :)

jueves, 10 de septiembre de 2009

miércoles, 9 de septiembre de 2009

Plug and Play

Que Es Plug and Play?

Plug and Play significa en español "conecta y utiliza". El término Plug and Play se refiere a la capacidad que posee un sistema operativo para configurar de forma automática un dispositivo que se conecta a la PC.
Con la ayuda de plug and play nos ayudara cuando nos conectemos a un dispositivo informático que lo podamos usar automáticamente (No sera necesario que sea configurado mediante Jumper o Software especifico).
Es necesario que los dispositivos sean capaces de identificarse a si mismos, como tambien que sean identificados por el sistema.

De donde Salio Plug and Play?

Los primeros buses de expansión que existieron fueron los puertos bus ISA, por ello se produjo la integración de nuevos dispositivos en las computadoras, pero al utilizarlo era necesario conocer la arquitectura de las computadoras, en ese entonces se realizaban a partir de interrupciones IRQ, y direcciones de Entrada/Salida que debían ser únicas para cada dispositivo, y el usuario tenia que configurarlo mediante jumper o software especifico.
Entre los distintos fabricantes de buses se pusieron de acuerdo y crearon un nuevo estándar que ayudo a la simplificacion de uso de perifericos: Plug and Play.
Se necesito innovaciones en hardware y en el Sistema Operativo, ambos se crearon con esta tecnologia. Cuando llego bus PCI, esta tecnología se logro implementar completamente.

Los BIOS modernos hoy son llamados PnP BIOS, ya que eston ya estan creados para manejar el estandar PnP, para el momento de conectarse se puedan usar. Usando PnP como ya se menciono se elimino el uso de interrupciones IRQ's este tambien inicializara los dispositivos en el sistema de arranque.

En que dispositivos?

En los dipositivos que sean conectados por los medios:


Pasos de Plug and Play en Windows:

En windows al ser detectado el nuevo dispositivo en nuestra computadora
este inicia una ventana, pidiéndonos un CD/Driver especifico para nuestro nuevo hardware,
también nos da la opción de buscar en Internet la opción mas apropiada y por
defecto trae algunos dispositivos dentro de una carpeta de los mas comunes drivers para su instalacion.

Plug and Play en Linux:

En linux muchos usuarios disfrutan de configurar su computadora, logrando configurar ellos mismos su computadora, pero como tambien hay usuarios que necesitan dar uso de su dispositivo el dia siguiente. Por estos usuario existe el Plug and Play en linux aunque aun no son muy compatibles con los buses ISA.

Hoy en dia la mayoria de distribuciones de linux vienen con los controladores de diferentes dispositivos ya se encuentran compilados como modulos. Un modulo viene siendo un controlador de dispositivo que se puede añadir a un nucleo que esta en funcionamiento.
Gracias a esto podemos hacer uso de plug and play en linux.
Antiguamente los pasos a seguir para hacer uso de un nuevo dispositivo eran:

->Obtener el paquete de nuestro dispositivo
->Crear un archivo de configuracion.
->Eleccion de los recursos necesarios, para su configuracion.
->Pruebas de configuracion.
->Compilar el kernel del driver.
->Habilitar el booteo de inicio

Requerimientos

->El dispositivo debe anunciarse por sí sólo al sistema operativo. Así el sistema operativo carga los controladores necesarios.
->El dispositivo debe ser configurable desde el controlador del sistema operativo. Es decir que puede seleccionarse el rango de direcciones de entrada y salida, así como las interrupciones que utilizará el dispositivo.
->Para que todas las características o funcionalidades de Plug and Play funcionen correctamente, el sistema debe incluir una BIOS ACPI-compliant que funcione conjuntamente con el ACPI para proveer el manejo de energía y la configuración del sistema de forma confiable.

Links de referencia:
http://www.linuxjournal.com/article/3269
http://www.masadelante.com/faqs/plug-and-play
http://www.mailxmail.com/curso-ordenador-componentes-internos/tecnologia-plug-and-play-tipos-chip
http://es.wikipedia.org/wiki/Plug-and-play
http://technet.microsoft.com/en-us/library/cc779354(WS.10).aspx http://www.patentstorm.us/patents/6813670/description.html

Otros links:
http://www.bluemag.es/software/windows-vs-mac-plugnplay/?wscr=1280x800

Parte Dos:Semaforos

Esta es la segunda parte de los semaforos:

miércoles, 2 de septiembre de 2009

Cuando Sea Grande Quiero Ser Como Tux:

Pues de pequeño uno dice quiero ser doctor, bombero, maestro ... etc.

Pero quien tiene estas mas profesiones, pues quien mas que tux.
Yo lo he encontrado en todas las formas posibles :)

Pues Aqui encontramos a Tux Futbolista






Aqui pueden encontrar a Tux Maestro.
Aqui les presento a Tux Soldier






Tux Ingeniero Quimico



Tux Bombero






Tux Medico, uno de los mas populares.














Tux Policia
















Ahora dime que Tux querias ser?

martes, 1 de septiembre de 2009

La Vida De Tux- PARTE UNO


La vida de tux:

Pues despues, de buscar intensamente, por todos lados he encontrado detalles de la vida de tux.
fotos exclusivas de su vida


Esta es la foto del nacimiento de tux. Aunque no lo crean, tux como cualquier otro pinguino nacio de un huevo.





Tux crecio como cualquier otro pinguino, al cuidado de su padre.



A tux se le podia encontrar en fiestas.



Tux se enamoro de una linda pinguina.




Tux vive y piensa como nosotros




tux necesito aprender windows, pero que paso ahi ...

Espera la continuacion de esta historia la proxima semana.
Para saber la historia de tux.

martes, 25 de agosto de 2009

De Donde Salio Tux?

Tux Original

Pues hoy estaba en la cocina de mi casa, pensando en Tux...

Cuando me pregunte a mi misma, como estar enamorada de tux, y no saber su historia
jejeje ahora la publicare:

Primero antes que nada TUX es el nombre de la mascota oficial de linux.

Que Significa Tux = Torval Unix

Pues parece que Tux fue diseñado, en un concurso para elegir un logotipo para linux las unicas restricciones para su creacion fueron:

Sistema Operativo con Kernel De Linux.
Software Libre Para Manipulacion De Imagenes GIMP

Por cierto, podemos manipular a Tux a Nuestro antojo :D

Aqui les dejo un link donde estan otros logos tipos que estuvieron en el concurso:



yo antes y despues

En el Colegio  (2004) Soñaba con Estudiar Ingeniería.



Yo antes, sin desvelos recien entrando a la universidad.
Queriendo estudiar Ingenieria en Sistemas (2006)



Yo hoy Aunque siempre linda, pero un poco cansada jejeje (2009)




Hoy Septiembre / 2012
Despues del trabajo




Feliz Cumpleaños Linux


Mi tux, no se podia quedar sin felicitar
A Linux por su cumpleaños:
Hoy cumple 18 años :) 25 agosto del 2009

felicidades Linux

Como le dije a un amigo mi problema:

No se, si el es muy joven para mi ya que el cumple 18
y yo tengo 21 :'(

Pero aun asi seguire enamorada de el :)

Como Desistalar el Open JDK en LINUX e Instalar JDK

Hoy en dia, nuestra distribucion de linux ya tiene incluido open-jdk, y esto esta bien.
Pero a la hora de desarrollar animacion en java3d o applets y otros.
No nos funciona muy bien.

Asi que en 2 distribuciones mostrare como desistalar el open jdk:

Antes que nada podemos bajar el JDK en esta pagina:

http://java.sun.com/javase/downloads/index.jsp y bajaremos un archivo asi:
jdk-6u16-linux-i586.bin


En Ubuntu:

sudo apt-get remove --purge openjdk-6-jdk

y desde repositorios podemos instalar escribiendo:
sudo apt-get install sun-java6-jdk

y solo actualizamos escribiendo:
sudo update-alternatives --config java


bueno regreso mas tarde y explico en fedora...
En Fedora:

viernes, 7 de agosto de 2009

Java 3D - moving camera



Pues en Arqui2 siempre dejan un proyecto de JAVA3D que por cierto no he terminado, xD siempre que he usado java3d ha sido un dolor de cabeza mover la camara aqui les va un ejemplo





Ejemplo Del Movimiento De La Camara API JAVA3D:
Movimiento Que la Camara sigue un Personaje





package muytux;

import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.SimpleUniverse;
import java.awt.*;
import javax.media.j3d.*;
import javax.swing.JFrame;
import javax.vecmath.*;
public class TuxFrame extends JFrame{
public TuxFrame(){
setLayout(new BorderLayout());
GraphicsConfiguration config =
SimpleUniverse.getPreferredConfiguration();
setSize(400, 400);

Canvas3D canvas3D = new Canvas3D(config);
add("Center", canvas3D);
BranchGroup scene = new BranchGroup();
SimpleUniverse simpleU = new SimpleUniverse(canvas3D);

simpleU.getViewingPlatform().setNominalViewingTransform();
scene.addChild(TuxEscenario(simpleU));
simpleU.addBranchGraph(scene);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.setVisible(true);
}
/*El fondo*/
Shape3D createLand(){
LineArray landGeom = new LineArray(44, GeometryArray.COORDINATES
| GeometryArray.COLOR_3);
float l = -50.0f;
for(int c = 0 ; c < 44d ; c+=4d){
landGeom.setCoordinate( c+0, new Point3f( -50.0f, 0.0f, l ));
landGeom.setCoordinate( c+1, new Point3f( 50.0f, 0.0f, l ));
landGeom.setCoordinate( c+2, new Point3f( l , 0.0f, -50.0f ));
landGeom.setCoordinate( c+3, new Point3f( l , 0.0f, 50.0f ));
l += 10.0f;
}
Color3f c = new Color3f(0.1f, 0.8f, 0.1f);
for(int i = 0; i < 44; i++) landGeom.setColor( i, c);
return new Shape3D(landGeom);
}
/*El personaje*/
public TransformGroup TuxPersonaje(){
Transform3D tr=new Transform3D();
tr.rotY(Math.PI/4);
TransformGroup tuxtr=new TransformGroup(tr);
tuxtr.addChild(new ColorCube(.4));
return tuxtr;
}
/*El Escenario*/
public TransformGroup TuxEscenario(SimpleUniverse simpleU){
//CONTENEDOR
TransformGroup Tuxcontent = new TransformGroup();
TransformGroup Tuxobj = new TransformGroup();
Tuxcontent.addChild(Tuxobj);
Tuxcontent.addChild(this.createLand());

TransformGroup Tuxtrans=new TransformGroup();
Tuxtrans.addChild(TuxPersonaje());
Tuxcontent.addChild(Tuxtrans);

TuxBehaior TuxBe=new TuxBehaior(simpleU,Tuxtrans);
Tuxcontent.addChild(TuxBe);

//ILUMINACION
BoundingSphere bounds = new BoundingSphere();
DirectionalLight lightD = new DirectionalLight();
lightD.setDirection(new Vector3f(0.0f,-0.7f,-0.7f));
lightD.setInfluencingBounds(bounds);
Tuxcontent.addChild(lightD);
AmbientLight lightA = new AmbientLight();
lightA.setInfluencingBounds(bounds);
Tuxcontent.addChild(lightA);

//FONDO BLANCO
Background background = new Background();
background.setColor(1.0f, 1.0f, 1.0f);
background.setApplicationBounds(bounds);
Tuxcontent.addChild(background);

return Tuxcontent;

}
public static void main(String[] args) {
new TuxFrame();
}
}


Ahora un Behaior para Controla el movimiento






package muytux;

import com.sun.j3d.utils.universe.SimpleUniverse;
import java.awt.AWTEvent;
import java.awt.event.KeyEvent;
import java.util.Enumeration;
import javax.media.j3d.*;
import javax.vecmath.*;
public class TuxBehaior extends Behavior{
TransformGroup Camara;
TransformGroup Node;
private WakeupOnAWTEvent trigger;
Integer Zoom=3;
private void TuxPosicion(){
Node.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
Transform3D tr1 = new Transform3D();
tr1.set(new Vector3d(0f, 0.6f, +Zoom));
Camara.setTransform(tr1);
tr1.set(new Vector3f(0f, 0.45f, 0f));
Node.setTransform(tr1);
}
TuxBehaior(SimpleUniverse su,TransformGroup Node){
this.Node=Node;
this.Camara=su.getViewingPlatform().getViewPlatformTransform();
trigger=new WakeupOnAWTEvent(KeyEvent.KEY_PRESSED);
TuxPosicion();
setSchedulingBounds(new BoundingSphere( new Point3d( 0.0, 0.0, 0.0 ), 100.0 ));
}

public void initialize() {
this.wakeupOn(trigger);
}

public void processStimulus(Enumeration criteria) {
while (criteria.hasMoreElements()) {
WakeupCriterion wakeup = (WakeupCriterion) criteria.nextElement();
if (wakeup instanceof WakeupOnAWTEvent) {

AWTEvent[] arr = ((WakeupOnAWTEvent) (wakeup)).getAWTEvent();
KeyEvent ke = (KeyEvent) arr[0];
switch (ke.getKeyCode()) {
case KeyEvent.VK_UP:
TuxArriba();
break;
case KeyEvent.VK_DOWN:
TuxAbajo();
break;
case KeyEvent.VK_LEFT:
TuxIzq();
break;
case KeyEvent.VK_RIGHT:
TuxDer();
break;
}

}
}
wakeupOn(trigger);
}
private void TuxArriba(){
Transform3D tr1=new Transform3D();
Transform3D tr2=new Transform3D();
this.Camara.getTransform(tr2);
Vector3f vec=new Vector3f();
vec.z=-0.1f;
tr1.set(vec);
tr2.mul(tr1);
this.Camara.setTransform(tr2);
vec.z=-0.1f;
this.Node.getTransform(tr2);
tr1.set(vec);
tr2.mul(tr1);
Node.setTransform(tr2);
}
private void TuxAbajo(){
Transform3D tr1=new Transform3D();
Transform3D tr2=new Transform3D();
this.Camara.getTransform(tr2);
Vector3f vec=new Vector3f();
vec.z=+0.1f;
tr1.set(vec);
tr2.mul(tr1);
this.Camara.setTransform(tr2);
vec.z=+0.1f;
this.Node.getTransform(tr2);
tr1.set(vec);
tr2.mul(tr1);
Node.setTransform(tr2);
}
private void TuxIzq(){
Transform3D tr1=new Transform3D();
Transform3D tr2=new Transform3D();
tr1.rotY(Math.PI/20);
this.Node.getTransform(tr2);
tr2.mul(tr1);
this.Node.setTransform(tr2);

Vector3f vec=new Vector3f(0f,0f,-this.Zoom);
tr1.set(vec);
this.Camara.getTransform(tr2);
tr2.mul(tr1);
tr1.rotY(Math.PI/20);
tr2.mul(tr1);
vec=new Vector3f(0f,0f,this.Zoom);
tr1.set(vec);
tr2.mul(tr1);
Camara.setTransform(tr2);

}
private void TuxDer(){
Transform3D tr1=new Transform3D();
Transform3D tr2=new Transform3D();
tr1.rotY(-Math.PI/20);
this.Node.getTransform(tr2);
tr2.mul(tr1);
this.Node.setTransform(tr2);

Vector3f vec=new Vector3f(0f,0f,-this.Zoom);
tr1.set(vec);
this.Camara.getTransform(tr2);
tr2.mul(tr1);
tr1.rotY(-Math.PI/20);
tr2.mul(tr1);
vec=new Vector3f(0f,0f,this.Zoom);
tr1.set(vec);
tr2.mul(tr1);
Camara.setTransform(tr2);

}
}

jueves, 6 de agosto de 2009

Donde Estan los TuX? Pues aqui van unos pocos

























FirmWare


FIRMWARE -PROGRAMACION EN FIRME-

En Arquitectura de computadoras se puede localizar el firmware entre las capas de abstracion que son: Hardware, Firmware, Kernel y S.O

Que Es FIRMWARE:

El firmware se puede localizar en grabado en la memoria del tipo no volátil como lo es ROM, EEPROM, FLASH y esta representa un bloque de instrucciones logicas siendo la forma a más bajo nivel de controlar cualquier dispositivo electrónico son propios del fabricante del dispositivo y encargado ejecutar correctamente dichas órdenes.

Ejemplos de estos dispositivos serian teléfonos móviles, cámaras digitales, computadoras, iPod, control remoto de televisión, discos duros, router, impresoras, cualquier dispositivo electrónico.

Para Que Sirve:

El firmware es cargado desde el sistema de arranque del dispositivo.

Es la capa intermedia entre Dispositivo electrónico y las instrucciones externas recibidas, va facilitar la comunicación del Usuario y el dispositivo. Estas instrucciones van a variar dependiendo el dispositivo por ella la actualización del firmware se encuentra dentro de la pagina del dispositivo.

Cuando Es Bueno Implementarlo:

Este le dará funcionamiento a nuestro dispositivo, cuando instalamos por primera vez un dispositivo y trae un disco adjunto con los drives disponibles o también cuando hay una nueva versión del firmware desde la página y trae mejoras en características a la versión que tengamos instalada.

Por Ejemplo si el BIOS de nuestra computadora no es compatible con un dispositivo, podremos descargar la actualización del BIOS de nuestra computadora desde la pagina oficial de la tarjeta madre.

Ventajas/ Desventajas de Actualizar el Firmware:

Es recomendable que no sea actualizado a menos que presente un mal funcionamiento o agregue nuevas funcionalidades.

Ventajas:

Eliminación de errores.

Para agregar características nuevas de nuestro dispositivo.

Mejorar compatibilidad.

Desventajas:

De no ser la versión correcta del dispositivo al tratar de actualizar el firware podríamos arruinar completamente la funcionalidad de nuestro dispositivo dado que es grabado sobre la memoria ROM/EEPROM. De ser interrumpida la instalación del Firmware también provocara que llegue a un estado inservible.

Siguiendo el mismo ejemplo del BIOS si quisiéramos actualizarlo, he encontrado dos maneras para instalarlo:

Algunos BIOS contienen la opción de ser actualizado por medio de un archivo binario grabados en diskettes, y desde el BIOS se inicia la actualización ahí verifica que sea la versión correcta y tenga compatibilidad con el dispositivo posteriormente reinicia.

Otra forma es descargar un programa directamente de la pagina del proveedor de la tarjeta madre, se necesitara correr desde DOS el ejecutable este igualmente verificara el nuevo software a instalar, para continuar esperando una confirmación de parte del usuario, cargando la información y siendo reiniciada la computadora.


Links:

Links Para Actualizacion Del FirmWare de Iphone/Ipod:

http://www.actualidadiphone.com/tag/firmware/

Links Como Actualizar el BIOS de nuestra computadora:

http://www.trucoswindows.net/tutorial-82-TUTORIAL-Como-actualizar-nuestra-BIOS.html

Video Actualizar el FirmWare Del Nintendo DS

http://www.youtube.com/watch?v=zolxsNVAtzw&feature=related

Links Consultados:

http://es.wikipedia.org/wiki/Firmware

http://en.wikipedia.org/wiki/Firmware

http://es.wikipedia.org/wiki/BIOS

http://www.alegsa.com.ar/Dic/firmware.php

Esta obra está bajo una licencia Creative Commons.