topicos selectos investigacion

Upload: jazzman89

Post on 30-May-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    1/107

    INSTITUTO TECNOLOGICO SUPERIOR DE ESCARCEGA INGENIERIA EN SISTEMAS COMPUTACIONALES

    TOPICOS SELECTOS DE PROGRAMACION

    INVESTIGACIONES ERIC ADRIAN CONTRERAS ARJONA

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    2/107

    2

    ndice

    GTK

    GTK#

    WINDOWS FORMS

    QT

    LIBRERIAS DINAMICAS

    PUNTERO

    CLASES

    RECURSIVIDAD

    LPP (PUERTO PARALELO)

    COM(PUERTO SERIE)

    RS-32 (PUERTO SERIAL)

    FIREWIRE

    LICENCIAS

    COPYRIGHT GPL

    GNU

    LGPL

    CREATIVE COMMONS

    MIT

    VESTOR

    LISTA

    PILA

    ITERADORES

    CIN,COUT

    WIDGETS

    TEMPLATES

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    3/107

    3

    GTK

    GTK+ o The GIMP Toolkit es un conjunto de bibliotecas multiplataforma para desarrollarinterfaces grficas de usuario (GUI), principalmente para losentornos grficos GNOME, XFCE y ROX aunque tambin se puede usar en el escritorio de Windows, MacOS y otros.

    Inicialmente fueron creadas para desarrollar el programa de edicin de imagenGIMP, sinembargo actualmente se usan mucho por muchos otros programas en los sistemasGNU/Linux. Junto a Qt es uno de las bibliotecas ms populares para X Window System.

    GTK+ se ha diseado para permitir programar conlenguajes comoC, C++, C#, Java, Ruby, Perl, PHP o Python.

    Licenciado bajo los trminos de LGPL, GTK+ es software libre y es parte del proyecto GNU.

    GTK#

    Gtk # es una interfaz grfica de usuario Toolkit para mono y. Net. El proyecto se une la

    GTK + (http://www.gtk.org/) kit de herramientas y una variedad de GNOME(http://www.gnome.org/) las bibliotecas, permitiendo plenamente nativas de desarrollo deGNOME grfica de aplicaciones utilizando el Mono y. Net marcos de desarrollo.

    WINDOWS FORMS

    Windows Forms es el nombre dado a la interfaz grfica de programacin de aplicaciones(API), incluido como una parte de. NET Framework de Microsoft, proporcionando acceso los elementos nativos interfaz de Microsoft Windows envolviendo la API de Windowsexistentes en el cdigo administrado. Si bien es visto como un reemplazo de la anterior yms complejo de C + + basados en Microsoft Foundation Class Library, que no ofrece unparadigma comparable al modelo-vista-controlador. Algunos despus de mercado y lasbibliotecas de terceros han sido creadas para proporcionar esta funcionalidad. El msutilizado de ellos es el Proceso de Interfaz de Usuario bloque de aplicacin, que es liberadopor los patrones y prcticas Microsoft grupo como una descarga gratuita que incluye elcdigo fuente de ejemplos de inicio rpido.

    http://es.wikipedia.org/wiki/Biblioteca_(programa)http://es.wikipedia.org/wiki/Biblioteca_(programa)http://es.wikipedia.org/wiki/Multiplataformahttp://es.wikipedia.org/wiki/Multiplataformahttp://es.wikipedia.org/wiki/Multiplataformahttp://es.wikipedia.org/wiki/Interfaz_gr%C3%A1fica_de_usuariohttp://es.wikipedia.org/wiki/Interfaz_gr%C3%A1fica_de_usuariohttp://es.wikipedia.org/wiki/Entorno_gr%C3%A1ficohttp://es.wikipedia.org/wiki/Entorno_gr%C3%A1ficohttp://es.wikipedia.org/wiki/GNOMEhttp://es.wikipedia.org/wiki/GNOMEhttp://es.wikipedia.org/wiki/XFCEhttp://es.wikipedia.org/wiki/XFCEhttp://es.wikipedia.org/w/index.php?title=ROX&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=ROX&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=ROX&action=edit&redlink=1http://es.wikipedia.org/wiki/GIMPhttp://es.wikipedia.org/wiki/GIMPhttp://es.wikipedia.org/wiki/GNU/Linuxhttp://es.wikipedia.org/wiki/GNU/Linuxhttp://es.wikipedia.org/wiki/Qt_(biblioteca)http://es.wikipedia.org/wiki/Qt_(biblioteca)http://es.wikipedia.org/wiki/Qt_(biblioteca)http://es.wikipedia.org/wiki/Biblioteca_(programa)http://es.wikipedia.org/wiki/Biblioteca_(programa)http://es.wikipedia.org/wiki/Biblioteca_(programa)http://es.wikipedia.org/wiki/X_Window_Systemhttp://es.wikipedia.org/wiki/X_Window_Systemhttp://es.wikipedia.org/wiki/X_Window_Systemhttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3nhttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3nhttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Chttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Chttp://es.wikipedia.org/wiki/C%2B%2Bhttp://es.wikipedia.org/wiki/C%2B%2Bhttp://es.wikipedia.org/wiki/C%2B%2Bhttp://es.wikipedia.org/wiki/Chttp://es.wikipedia.org/wiki/Chttp://es.wikipedia.org/wiki/Java_(Sun)http://es.wikipedia.org/wiki/Java_(Sun)http://es.wikipedia.org/wiki/Java_(Sun)http://es.wikipedia.org/wiki/Rubyhttp://es.wikipedia.org/wiki/Rubyhttp://es.wikipedia.org/wiki/Rubyhttp://es.wikipedia.org/wiki/Perlhttp://es.wikipedia.org/wiki/Perlhttp://es.wikipedia.org/wiki/PHPhttp://es.wikipedia.org/wiki/PHPhttp://es.wikipedia.org/wiki/PHPhttp://es.wikipedia.org/wiki/Pythonhttp://es.wikipedia.org/wiki/Pythonhttp://es.wikipedia.org/wiki/Pythonhttp://es.wikipedia.org/wiki/GNU_Lesser_General_Public_Licensehttp://es.wikipedia.org/wiki/GNU_Lesser_General_Public_Licensehttp://es.wikipedia.org/wiki/GNU_Lesser_General_Public_Licensehttp://es.wikipedia.org/wiki/Software_librehttp://es.wikipedia.org/wiki/Software_librehttp://es.wikipedia.org/wiki/Software_librehttp://es.wikipedia.org/wiki/GNUhttp://es.wikipedia.org/wiki/GNUhttp://es.wikipedia.org/wiki/GNUhttp://es.wikipedia.org/wiki/GNUhttp://es.wikipedia.org/wiki/Software_librehttp://es.wikipedia.org/wiki/GNU_Lesser_General_Public_Licensehttp://es.wikipedia.org/wiki/Pythonhttp://es.wikipedia.org/wiki/PHPhttp://es.wikipedia.org/wiki/Perlhttp://es.wikipedia.org/wiki/Rubyhttp://es.wikipedia.org/wiki/Java_(Sun)http://es.wikipedia.org/wiki/Chttp://es.wikipedia.org/wiki/C%2B%2Bhttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Chttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3nhttp://es.wikipedia.org/wiki/X_Window_Systemhttp://es.wikipedia.org/wiki/Biblioteca_(programa)http://es.wikipedia.org/wiki/Qt_(biblioteca)http://es.wikipedia.org/wiki/GNU/Linuxhttp://es.wikipedia.org/wiki/GIMPhttp://es.wikipedia.org/w/index.php?title=ROX&action=edit&redlink=1http://es.wikipedia.org/wiki/XFCEhttp://es.wikipedia.org/wiki/GNOMEhttp://es.wikipedia.org/wiki/Entorno_gr%C3%A1ficohttp://es.wikipedia.org/wiki/Interfaz_gr%C3%A1fica_de_usuariohttp://es.wikipedia.org/wiki/Multiplataformahttp://es.wikipedia.org/wiki/Biblioteca_(programa)
  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    4/107

    4

    QT

    Qt o biblioteca Qt es una herramienta deprogramadores para desarrollarinterfacesgrficas de usuario. Es un sistema integral de desarrollo para aplicaciones multi-plataforma.

    Qt (que se pronuncia como la palabra Ingls "lindo" [2]), es una aplicacin marco de laplataforma de desarrollo, ampliamente utilizado para el desarrollo de los programas deinterfaz grfica de usuario (en cuyo caso se conoce como un Widget Toolkit), y tambin seutiliza para el desarrollo no programas de grficas, tales como herramientas de la consola yservidores. Qt es principalmente usado en KDE, Google Earth, Skype, Qt Extended, Adobe

    Photoshop Album, VirtualBox y OPIE.

    http://es.wikipedia.org/wiki/Qt_(biblioteca)http://es.wikipedia.org/wiki/Qt_(biblioteca)http://es.wikipedia.org/wiki/Programaci%C3%B3nhttp://es.wikipedia.org/wiki/Programaci%C3%B3nhttp://es.wikipedia.org/wiki/Interfaz_gr%C3%A1fica_de_usuariohttp://es.wikipedia.org/wiki/Interfaz_gr%C3%A1fica_de_usuariohttp://es.wikipedia.org/wiki/Interfaz_gr%C3%A1fica_de_usuariohttp://es.wikipedia.org/wiki/Interfaz_gr%C3%A1fica_de_usuariohttp://es.wikipedia.org/wiki/Interfaz_gr%C3%A1fica_de_usuariohttp://es.wikipedia.org/wiki/Programaci%C3%B3nhttp://es.wikipedia.org/wiki/Qt_(biblioteca)
  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    5/107

    5

    TEMAS

    LIBRERIAS DINAMICAS

    PUNTERO

    CLASES

    RECURSIVIDAD

    LIBRERAS DINMICAS

    Conocidas como DLLs, acrnimo de su nombre en ingls ("Dynamic Linked Library"). Estalibreras se utilizan mucho en la programacin para el SO Windows. Este Sistema contieneun gran nmero de tales libreras de terminacin .DLL, aunque en realidad pueden tenercualquier otra terminacin .EXE, .FON, .BPI, .DRV etc. Cualquiera que sea su terminacin,de forma genrica nos referiremos a ellas como DLLs, nombre por el que son ms conocida

    Una de las grandes ventajas del uso de libreras dinmicas, aparte de tener ficherosejecutables ms pequeos, es que podemos modificar la implementacin de las libreras sintener que recompilar los programas.

    Que es un puntero

    Un puntero es un tipo especial de variable, que almacena el valor de una direccion dememoria, esta direccion puede ser la de una variable individual, pero mas frecuentementesera la de un elemento de un array, una estructura u objeto de una clase. Los punteros, aligual que una variable comun, pertenecen a un tipo (type), se dice que un puntero 'apunta a'ese tipo al que pertenece. Ejemplos:

    int* pint; //Declara un puntero a enterochar* pchar; //Puntero a charfecha* pfecha; //Puntero a objeto de clase 'fecha'

    Independientemente del tamao (sizeof) del objeto apuntado, el valor almacenado por elpuntero sera el de una unica direccion de memoria. En sentido estricto un puntero no puede

    almacenar la direccion de memoria de 'un array' (completo), sino la deun elemento de unarray, y por este motivo no existen diferencias sintacticas entre punteros a elementos

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    6/107

    6

    individuales y punteros a arrays. La declaracion de un puntero achar y otro aarray de char es igual.

    Al definir variables o arrays hemos visto que el tipo (type) modifica la cantidad de bytesque se usaran para almacenar tales elementos, asi un elemento de tipo 'char' utiliza 1 byte, y un entero 2 o 4. No ocurre lo mismo con los punteros, el tipo no influye en la cantidad debytes asociados al puntero, pues todas las direcciones de memoria se pueden expresar consolo 2 bytes (o 4 si es una direccion de otro segmento)

    Veamos los efectos de un codigo como el siguiente, en la zona de almancenamiento dedatos:

    char cad[] = "hola";char * p;p = cad; //Puntero 'p' apunta a 'cad'

    El puntero esta en la direccion 0xffee pero el valor que hay en esa localidad de memoria es

    otra direccion, los bytes "F0 FF" indican que el puntero apunta a FFF0, donde comienza lacadena de caracteres 'cad' con el contenido 'hola' mas el cero de fin de cadena.En las lineas de codigo no hemos indicado a que caracter del array apunta el puntero, peroesa notacion es equivalente a:

    p = &cad[0];

    que indica de modo mas explicito que se trata de la direccion del primer elemento de esearray de caracteres. El juego con las direcciones puede ilustrarse tambien del siguientemodo:

    ffee F0

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    7/107

    7

    direccion de memoria. Para este tipo de pruebas es interesante usar la libreriaiostream.h de C++, pues no obliga a especificar el formato (como hace printf ). Para un puntero 'p' lasalida en pantalla sera algo similar a lo siguiente:

    cout

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    8/107

    8

    manipularlas mediante otra variables que contenga su direccin. A este tipo de variables seles denomina punteros.Los punteros C son el tipo ms potente y seguramente la otra clave del xito del lenguaje.La primera ventaja que obtenemos de los punteros es la posibilidad que nos dan de podertratar con datos de un tamao arbitrario sin tener que moverlos por la memoria. Estopuede ahorrar un tiempo de computacin muy importante en algunos tipos de aplicaciones.Tambin permiten que una funcin reciba y cambie el valor de una variable. Recordemos qutodas las funciones C nicamente aceptan parmetros por valor. Mediante un puntero a unavariable podemos modificarla indirectamente desde una funcin cualquiera.Un puntero se declara de la forma: tipo *nombre;float *pf;PLANETA *pp;char *pc;

    Para manipular un puntero, como variable que es, se utiliza su nombre; pero para acceder ala variable a la que apunta se le debe preceder de *. A este proceso se le llama indireccin.Accedemos indirectamente a una variable. Para trabajar con punteros existe un operador,&, que indica 'direccin de'. Con l se puede asignar a un puntero la direccin de unavariable, o pasar como parmetro a una funcin.void prueba_puntero ( void ) {long edad;long *p;p = &edad;edad = 50;printf("La edad es %ld\n", edad );*p = *p / 2;printf("La edad es %ld\n", edad );}void imprimir_string ( char string[] ) {char *p;for ( p = string; *p != '\0'; p++ )imprimir_char(*p);}Definimos un vector de N_PLA componentes de tipo PLANETA. Este tipo est formado poun registro. Vemos que en la funcin de inicializacin del vector el puntero a la primeracomponente se inicializa con el nombre del vector. Esto es una caracterstica importante deC. La direccin de la primera componente de un vector se puede direccionar con el nombredel vector. Esto es debido a que en la memoria del ordenador, los distintos elementos estnordenados de forma ascendente. As, SSolar se puede utilizar como &SSolar[0]. A cadaiteracin llamamos a una funcin que nos inicializar los datos de cada planeta. A estafuncin le pasamos como argumento el puntero a la componente en curso para que,

    http://www.monografias.com/trabajos6/meti/meti.shtmlhttp://www.monografias.com/trabajos6/meti/meti.shtmlhttp://www.monografias.com/trabajos6/meti/meti.shtmlhttp://www.monografias.com/Computacion/index.shtmlhttp://www.monografias.com/Computacion/index.shtmlhttp://www.monografias.com/Computacion/index.shtmlhttp://www.monografias.com/trabajos14/administ-procesos/administ-procesos.shtml#PROCEhttp://www.monografias.com/trabajos14/administ-procesos/administ-procesos.shtml#PROCEhttp://www.monografias.com/trabajos14/administ-procesos/administ-procesos.shtml#PROCEhttp://www.monografias.com/trabajos10/carso/carso.shtmlhttp://www.monografias.com/trabajos10/carso/carso.shtmlhttp://www.monografias.com/trabajos10/carso/carso.shtmlhttp://www.monografias.com/trabajos10/carso/carso.shtmlhttp://www.monografias.com/trabajos14/administ-procesos/administ-procesos.shtml#PROCEhttp://www.monografias.com/Computacion/index.shtmlhttp://www.monografias.com/trabajos6/meti/meti.shtml
  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    9/107

    9

    utilizando la notacin ->, pueda asignar los valores adecuados a cada campo del registro.Debemos fijarnos en el incremento del puntero de control de la iteracin, p++. Con lospunteros se pueden realizar determinadas operaciones aritmticas aunque, a parte delincremento y decremento, no son muy frecuentes. Cuando incrementamos un puntero elcompilador le suma la cantidad necesaria para que apunte al siguiente elemento de lamemoria. Debemos fijarnos que esto es aplicable slo siempre que haya distintas variableso elementos situados consecutivamente en la memoria, como ocurre con los vectores.De forma similar se pueden utilizar funciones que tengan como parmetros punteros, paracambiar el valor de una variable. Veamos:void intercambio ( void ) {int a, b;a = 1;b = 2;

    swap( &a, &b );printf(" a = %d b = %d\n", a, b );}void swap ( int *x, int *y ) {int tmp;tmp = *x;*x = *y;

    *y = tmp;}La sintaxis de C puede, a veces, provocar confusin. Se debe distinguir lo que es unprototipo de una funcin de lo que es una declaracin de una variable. As mismo, un puntera un vector de punteros, etc... int f1(); funcin que devuelve un entero int *p1; puntero a entero int *f2(); funcin que devuelve un puntero a entero int (*pf)(int); puntero a funcin que toma y devuelve un entero

    int (*pf2)(int *pi); puntero a funcin que toma un puntero a entero y devuelve un entero int a[3]; vector de tres enteros int *ap[3]; vector de tres punteros a entero int *(ap[3]); vector de tres punteros a entero int (*pa)[3]; puntero a vector de tres enteros int (*apf[5])(int *pi); vector de 5 punteros a funcin que toman un puntero a entero y

    devuelven un entero.

    En los programas que se escriban se debe intentar evitar declaraciones complejas quedificulten la legibilidad del programa. Una forma de conseguirlo es utilizando typedef pararedefinir/renombrar tipos.typedef int *intptr;

    http://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtml
  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    10/107

    10

    typedef intptr (*fptr) ( intptr );fptr f1, f2;

    Clases

    Una clase es basicamente un agregado de datos y funciones para manipular esos datos. Lasclases, y la programacion 'orientada a objetos' en general, ha representado un gran avancepara produccion de software a gran escala, los recursos de herencia, encapsulamiento,ocultacion de datos, clases virtuales, etc., estan pensados con esa finalidad. Aqui solo nosdetendremos en la nocion minima de 'clase' y el modo en que es almacenado un objeto enmemoria.

    Supongamos una clase muy simple:

    class gente

    {char nombre[10];int edad;public:gente (char*cad, int a){strcpy(nombre,cad);edad = a;}};

    Se trata de una clase cuyos miembros son dos datos y una sola funcion. Una vez declaradala clase podemos definir objetos como pertenecientes a ese tipo. Una clase no ocupaespacio, pero si un objeto perteneciente a esa clase. El espacio ocupado en memoria por talobjeto puede ser conocido a traves de 'sizeof'.gente pp1;cout

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    11/107

    11

    'gente' y dos objetos (pp1 y pp2) inicializados como muestran las lineas de codigo previas,se puede observar lo siguiente:

    El valor especifico de cada dato (como el valor de segmento) puede variar con cadaejecucion, lo que cuenta es la relacion entre tales valores. Interpretemos estos datos.

    1- En la ventana de cada objeto (pp1 y pp2) figura en primer lugar la direccion de memoriadonde almacena sus valores, ambas direcciones tienen el mismo valor de segmento

    (0x8F86), que coincide por otra parte con el valor de DS (segmento de datos) y de SS(segmento de stack) de la CPU. Sus direcciones difieren ligeramente en offset, la resta delos mismos (0xFFEA - 0xFFDE) es igual a 12, que es el espacio que ocupa (en bytes) cadaobjeto en memoria.

    2- Esos 12 bytes por objeto corresponden a 10 para la cadena de caracteres ('cad') y 2para almacenar el entero ('edad'). Estos datos estan almacenados alli donde indica eloffset, no en otro sitio, por lo tanto un puntero al objeto 'pp1' apuntara (en este caso) a lamisma direccion de memoria que un puntero a su elemento 'cad', y otro tanto para 'pp2'.Las datos miembros se exponen con sus nombres a la izquierda y el valor que contienen a laderecha. La cadena de caracteres es terminada en '\0' (seguido de caracteres aleatorios), y el entero es mostrado en formato decimal y hexadecimal3-Debajo, y separado por una linea, se encuentra un espacio donde se enumeran lasfunciones miembro de la clase. Alli encontramos el prototipo de la funcion miembro y al ladla direccion de memoria donde se inicia su codigo. Ese es el valor que almacenaria unpuntero a dicha funcion. Observese que tal direccion es la misma para ambos objetos, porla razon antes mencionada de que hay solo una copia de funciones miembro por objeto. Elsegmento donde se encuentra tal funcion se corresponde con el valor que muestra laventana CPU para CS (segmento de codigo).

    Podemos sintetizar lo visto respecto a clases del siguiente modo:-Una clase no es un 'dato' (es un tipo), no tiene una localidad de memoria asociada y por lotanto no puede almacenar ningun valor.-Un objeto de tal clase si define una region de memoria, un espacio de almacenamiento dedatos. Esta es la diferencia entre 'clase' y 'objeto'.-Cada objeto de una misma clase posee una copia propia de cada uno de los datos miembrosde la clase, pero comparte una misma copia de las funciones miembros.

    Por otra parte, un array de objetos (instancias de clase) es almacenado como una sucesionconsecutiva, mientras que un puntero a objeto sera (como todo puntero) un par de bytesque apunte a una direccion de memoria donde se almacena el objeto.

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    12/107

    12

    RECURSIN

    Un tema fundamental para los prximos temas es el de recusrin. La recursin es muyimportante tanto en mateticas como em computacin, pues se usa recursin para definirprocedimientos autosimilares.

    Definicin 6Decimos que un objeto es recursivo si en su definicin se nombra a s mismo.

    En programacin, una funcin es recursiva si en el mbito de esa funcin hay una llamada as misma, C/C++ permite esta clase de acciones. Los algoritmos recursivos dan elegancia alas soluciones de los problemas. Un ejemplo clsico es el factorial de un nmero.

    Una manera de definir el factorial de un nmero es:

    es decir, el producto de todos los nmeros enteros menores o guales que l, lo que se puederesolver fcilmente con una funcin iterativa, esto es, una funcin con un ciclo que iteresuficientes veces, incrementando un valor y entonces ir almacenando en una variable elresultado de esas multiplicaciones.

    Una implementacin de esta definicin iterativa es:

    (1) int i,n;(2) long double valorAc;(4) valorAc=1.0;(5) std::cout > n;(7) for(i=1; i

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    13/107

    13

    ( 2) if (a n;( 9) std::cout

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    14/107

    14

    Cada invocacin sucesiva de estas funciones crea un nuevo juego de todas las variablesautomticas, con independencia de cuales sean sus valores en el conjunto previo. En cambioexiste una sola copia de las variables estticas, que es compartida por todas las instancias

    de la funcin. Esta circunstancia debe ser tenida en cuenta, cuando dichas variables seanutilizadas en funciones que puedan llamarse a s mismas.

    La recursin ocupa espacio en la pila, porque se debe guardar una copia de cada juego devariables y tampoco es muy rpida, pero tiene la ventaja de que resulta un cdigo fcil deinterpretar. Es especialmente adecuada para estructuras que se definen recursivamente(algunos miembros de estas estructuras son punteros que referencian a objetos del mismotipo que la que se est definiendo), como rboles y listas enlazadas (las hemos denominadoestructuras auto-referenciadas).

    Hay que prestar atencin a que en algunos casos de funciones recursivas es difcil demanejar el valor devuelto. Como ejemplo tomemos la funcin bsqueda de un valor (key) enun rbol binario que reproducimos aqu. Esta funcin aparentemente devuelve un puntero alnodo buscado, o un nulo si fracasa la bsqueda.

    struct base* busca(char key, struct base* ptr) { // buscar keyif (key == ptr->let) return ptr; // Ok. encuentro!

    if (key < ptr->let) {if (ptr->izq == NULL) return NULL;busca(key, ptr->izq);

    }if (key > ptr->let) {if (ptr->der == NULL) return NULL;busca(key, ptr->der);

    }return NULL;

    }

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    15/107

    15

    El problema aqu, es que la funcin busca en el rbol de forma recursiva, pero es imposiblesaber "a priori" cuantas invocaciones anidadas se producirn. Adems, ninguna funcinaprovecha el valor devuelto por la anterior, por lo que salvo la primera, cuyo retorno sipuede ser utilizado por la funcin invocante, todos los dems valores de retorno se pierden

    (una funcin puede devolver unvalor, pero es potestad de lafuncin invocante aprovecharlo ono). En este contexto no tienesentido manejar directamente elvalor devuelto por busca tal comose ha presentado. Por ejemplo,sera intil el siguiente trozo decdigo para saber si la bsquedaha tenido xito:

    ...if (busca(key, ptr) != NULL){...

    }

    La situacin puede esquematizarse en la Fig.1. Cada nueva recursin recibe parmetros dela anterior, pero esta no utiliza el valor devuelto.

    La funcin usuaria (que hace la primera invocacin a busca) siempre recibir el resultado dela primera invocacin, de modo que si el resultado se ha producido a partir de la segunda, elvalor que recibe la funcin usuaria es irrelevante.

    Para resolver el problema puede utilizarse una variable global que sea modificada por lainstancia que realiza el hallazgo, o un sistema ms refinado. Por ejemplo el manejador deexcepciones, que como se ha indicado, puede utilizarse como mecanismo dereturnobreak multinivel, y adems pasar un valor desde el origen hasta el punto de captura.

    En el primer caso, la funcin modificada podra tener el siguiente diseo:

    void busca(char key, struct base* ptr) { // buscar keyif (key == ptr->let){gptr = ptr; return; } // Ok. encuentro!if (key < ptr->let) {if (ptr->izq == NULL) return;busca(key, ptr->izq);

    }

    if (key > ptr->let) {if (ptr->der == NULL) return;

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    16/107

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    17/107

    17

    2a Instancian > 1salida 3*factorial(2) (Guarda el valor de n = 3)

    3a Instancian > 1salida 2*factorial(1) (Guarda el valor de n = 2)

    4a Instancian == 1 retorna 1

    3a Instancia(recupera n=2 de la pila) retorna 1*2=2

    2a instancia(recupera n=3 de la pila) retorna 2*3=6

    1a instancia(recupera n=4 de la pila) retorna 6*4=24Valor de retorno 24

    La funcin factorial es un buen ejemplo para demostrar cmo se hace una funcinrecursiva, sin embargo la recursividad no es un buen modo de resolver esta funcin, quesera ms sencilla y rpida con un bucle "for". La recursividad consume muchos recursos dememoria y tiempo de ejecucin, y se debe aplicar a funciones que realmente le saquenpartido.

    Por ejemplo: visualizar las permutaciones de n elementos.

    Las permutaciones de un conjunto son las diferentes maneras de colocar sus elementos,usando todos ellos y sin repetir ninguno. Por ejemplo para A, B, C, tenemos: ABC, ACB, BABCA, CAB, CBA.

    #include using namespace std;

    /* Prototipo de funcin */void Permutaciones(char *, int l=0);

    int main(int argc, char *argv[]) {char palabra[] = "ABCDE";

    Permutaciones(palabra);

    cin.get();return 0;

    }

    void Permutaciones(char * cad, int l) {

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    18/107

    18

    char c; /* variable auxiliar para intercambio */int i, j; /* variables para bucles */int n = strlen(cad);

    for(i = 0; i < n-l; i++) {if(n-l > 2) Permutaciones(cad, l+1);else cout

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    19/107

    19

    Imprimimos sta permutacin, e intercambiamos los elementos l y l+i+1, es decir el 2 y el 4

    0 1 2 3 4A B /0 C D

    En el caso particular de que l+i+1 sea justo el nmero de elementos hay que mover hacia laizquierda los elementos desde la posicin l+1 a la posicin l:

    0 1 2 3 4A B C D /0

    En este punto abandonamos el ltimo nivel de recursin, y retomamos en el valor de l=1 e i 0.

    0 1 2 3 4A B C D /0

    Permutamos los elementos: l y l+i+1, es decir el 1 y el 2.

    0 1 2 3 4A C B D /0

    En la siguiente iteracin del bucle i = 1, llamamos recursivamente con l = 2:Permutaciones(cad,2)

    0 1 2 3 4A C B D /0

    Imprimimos la permutacin e intercambiamos los elementos 2 y 3.

    0 1 2 3 4A C D B /0

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    20/107

    20

    TEMAS

    LPP (PUERTO PARALELO)

    COM(PUERTO SERIE)

    RS-32 (PUERTO SERIAL)

    FIREWIRE

    LPT O PUERTO PARALELO.

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    21/107

    21

    Aunque utilizados con mucha anterioridad, hasta la norma IEEE1284 en el 1.994 no senormaliza.

    Tericamente el sistema de comunicacin entre la impresora y el ordenador es ms o menossimple, aunque vara segn el conector. Pero bsicamente el ordenador enva impulsos a laimpresora y esta responde conforme que puede seguir enviando o no, es lo que se sueledenominar una respuesta de tipo "Low", y si no da tiempo a la impresin (prcticamentesiempre ser ms rpido el envo que la salida impresa) se ir almacenando en el buffer dememoria de la impresora. En el caso de que ste se agote y siga recibiendo datos,responder con un "busy" y la cola de impresin del ordenador se detendr a la espera derecibir el nuevo "Low".

    Los puertos de impresin se configuran en la Bios del ordenador y se denominan LPT (LinePrinTer) y hay algunas en que pueden configurarse 2 y en otras 4, las direcciones varan, ycada uno tiene tres registros: el de datos, el de estado y el de control.

    Los estndares iniciales, a partir de la normativa indicada, eran los SPP (Standard ParallelPort), que es el original, o al menos el compatible, con lo que se denomin desde sus iniciosel puerto Centronics. Uno de los motivos de que impresoras antiguas no funcionen con BIOnuevas es que por defecto este venga deshabilitado, con lo que en la configuracin del LPT correspondiente hay que indicar que debe de ser compatible con estos. Este modo aceptahasta un mximo de 150 kb por segundo.

    http://www.elrinconcito.com/DiccAmpliado/LPT.htm

    Parte transmisora:

    La parte transmisora checa la lneabusy para ver si la parte receptora est ocupada. Sila lneabusy est activa, la parte transmisora espera en un bucle hasta que la lneabusy est inactiva.

    La parte transmisora coloca la informacin en las lneas de datos.La parte transmisora activa la lnea destrobe .La parte transmisora espera en un bucle hasta que la lneaacknowledge est activa.La parte transmisora inactiva la lnea destrobe .La parte transmisora espera en un bucle hasta que la lneaacknowledge est inactiva.La parte transmisora repite los pasos anteriores por cada byte a ser transmitido.

    Parte receptora:

    La parte receptora inactiva la lneabusy (asumiendo que est lista para recibirinformacin).

    La parte receptora espera en un bucle hasta que la lneastrobe est activa.La parte receptora lee la informacin de las lneas de datos (y si es necesario, procesa

    los datos).La parte receptora activa la lneaacknowledge .La parte receptora espera en un bucle hasta que est inactiva la lnea destrobe .La parte receptora inactiva la lneaacknowledge .La parte receptora repite los pasos anteriores por cada byte que debe recibir.

    http://www.elrinconcito.com/DiccAmpliado/LPT.htmhttp://www.elrinconcito.com/DiccAmpliado/LPT.htmhttp://www.elrinconcito.com/DiccAmpliado/LPT.htm
  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    22/107

    22

    El hardware del puerto paralelo

    El puerto paralelo de una tpica PC utiliza un conector hembra de tipo D de 25 patitas(DB-25 S), ste es el caso ms comn, sin embargo es conveniente mencionar los tres tiposde conectores definidos por el estndar IEEE 1284, el primero, llamado 1284 tipo A es unconector hembra de 25 patitas de tipo D, es decir, el que mencionamos al principio. Elorden de las patitas del conector es ste:

    El segundo conector se llama 1284 tipo B que es un conector de 36 patitas de tipocentronics y lo encontramos en la mayora de las impresoras; el tercero se denomina 1284tipo C, se trata de un conector similar al 1284 tipo B pero ms pequeo, adems se dice quetiene mejores propiedades elctricas y mecnicas, ste conector es el recomendado paranuevos diseos. La siguiente tabla describe la funcin de cada patita del conector 1284 tipoA:

    Patita E/S Polaridad activa Descripcin1 Salida 0 Strobe

    2 ~ 9 Salida - Lneas de datos

    (bit 0/patita 2, bit 7/patita 9)10 Entrada 0 Lnea acknowledge(activa cuando el sistema remoto toma datos)

    11 Entrada 0 Lnea busy(si est activa, el sistema remoto no acepta datos)

    12 Entrada 1 Lnea Falta de papel(si est activa, falta papel en la impresora)

    13 Entrada 1 Lnea Select(si est activa, la impresora se ha seleccionado)

    14 Salida 0 Lnea Autofeed(si est activa, la impresora inserta una nuevalnea por cada retorno de carro)

    15 Entrada 0 Lnea Error(si est activa, hay un error en la impresora)

    16 Salida 0Lnea Init(Si se mantiene activa por al menos 50micro-segundos, sta sealautoinicializa la impresora)

    17 Salida 0Lnea Select input(Cuando est inactiva, obliga a laimpresora a salir de lnea)

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    23/107

    23

    18 ~ 25 - - Tierra elctrica

    Tabla 1: Configuracin del puerto paralelo estndar

    Observe que el puerto paralelo tiene 12 lneas de salida (8 lneas de datos, strobe,autofeed, init, y select input) y 5 de entrada (acknowledge, busy, falta de papel, select yerror). El estndar IEEE 1284 define cinco modos de operacin:

    1. Modo compatible2. Modo nibble3. Modo byte4. Modo EPP, puerto paralelo ampliado5. Modo ECP, puerto de capacidad extendida

    El objetivo del estndar es disear nuevos dispositivos que sean totalmente compatibles

    con el puerto paralelo estndar (SPP) definido originalmente por la IBM (en ste artculotratar solamente el modo compatible). Hay tres direcciones de E/S asociadas con unpuerto paralelo de la PC, estas direcciones pertenecen al registro de datos, el registro deestado y el registro de control. Elregistro de datos es un puerto de lectura-escritura deocho bits. Leer el registro de datos (en la modalidad unidireccional) retorna el ltimo valorescrito en el registro de datos. Los registros de control y estado proveen la interface a lasotras lneas de E/S. La distribucin de las diferentes seales para cada uno de los tresregistros de un puerto paralelo esta dada en las siguientes tablas:

    Direccin Nombre Lectura/Escritura Bit # Propiedades

    Base + 0 Puerto de datos Escritura Bit 7 Dato 7Bit 6 Dato 6Bit 5 Dato 5Bit 4 Dato 4Bit 3 Dato 3Bit 2 Dato 2Bit 1 Dato 1Bit 0 Dato 0

    Tabla 2: Registro de datos

    Direccin Nombre Lectura/Escritura Bit # PropiedadesBase + 1 Puerto de estado Slo Lectura Bit 7 Busy

    Bit 6 AcknowledgeBit 5 Falta de papelBit 4 Select InBit 3 Error

    Bit 2 IRQ (Not)

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    24/107

    24

    Bit 1 ReservadoBit 0 Reservado

    Tabla 3: Registro de estado

    Direccin Nombre Lectura/Escritura Bit # PropiedadesBase + 2 Puerto de control Lectura/Escritura Bit 7 No usado

    Bit 6 No usado

    Bit 5 Permite puertobidireccional

    Bit 4Permite IRQ atravs de lalnea

    acknowledgeBit 3 Seleccionaimpresora

    Bit 2 Inicializaimpresora

    Bit 1 Nueva lneaautomticaBit 0 Strobe

    Tabla 4: Registro de controlUna PC soporta hasta tres puertos paralelo separados, por tanto puede haber hasta

    tres juegos de registros en un sistema en un momento dado. Existen tres direcciones basepara el puerto paralelo asociadas con tres posibles puertos paralelo: 0x3BCh, 0x378h y0x278h, nos referimos a stas como las direcciones base para el puerto LPT1, LPT2 yLPT3, respectivamente. El registro de datos se localiza siempre en la direccin base de unpuerto paralelo, el registro de estado aparece en la direccin base + 1, y el registro decontrol aparece en la direccin base + 2. Por ejemplo, para un puerto LPT2 localizado en0x378h, sta es la direccin del registro de datos, al registro de estado le corresponde ladireccin 0x379h y su respectivo registro de control est en la direccin 0x37Ah. Cuando

    la PC se enciende el BIOS ejecuta una rutina para determinar el nmero de puertospresentes en el sistema asignando la etiqueta LPT1 al primer puerto localizado, si existenms puertos entonces se asignarn consecutivamente las etiquetas LPT2 y LPT3 de acuerdoa la siguiente tabla:

    Direccin inicial Funcin0000:0408 Direccin base para LPT10000:040A Direccin base para LPT20000:040C Direccin base para LPT3

    0000:040E Direccin base para LPT4

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    25/107

    25

    Tabla 5: Direcciones base en el BIOS

    PUERTO PARALELOCENTRONICS

    El puerto paralelo ms conocido es el puerto de impresora (que cumplen ms o menos lanorma IEEE 1284, tambin denominadostipo Centronics ) que destaca por su sencillez y quetransmite 8 bits. Se ha utilizado principalmente para conectar impresoras, pero tambin hasido usado para programadores EPROM, escneres, interfaces de red Ethernet a 10 MB,unidades ZIP, SuperDisk y para comunicacin entre dos PC(MS-DOS trajo en las versiones5.0 ROM a 6.22 un programa para soportar esas transferencias).

    El puerto paralelo de las computadoras, de acuerdo a la norma Centronics, est compuestopor un bus de comunicacin bidireccional de 8 bits de datos, adems de un conjunto delneas de protocolo. Las lneas de comunicacin cuentan con un retenedor que mantiene elltimo valor que les fue escrito hasta que se escribe un nuevo dato, las caractersticaselctricas son:

    Tensin de nivel alto: 3,3 o 5 V. Tensin de nivel bajo: 0 V. Intensidad de salida mxima: 2,6 mA. Intensidad de entrada mxima: 24 mA.

    Los sistemas operativos basados en DOS y compatibles gestionan las interfaces de puertoparalelo con los nombres LPT1, LPT2 y as sucesivamente, Unix en cambio los nombra com/dev/lp0, /dev/lp1, y dems. Las direcciones base de los dos primeros puertos son:

    LPT1 = 0x378. LPT2 = 0x278

    La estructura consta de tres registros: de control, de estado y de datos.

    El registro de control es un bidireccional de 4 bits, con un bit de configuracin queno tiene conexin al exterior, su direccin en el LPT1 es 0x37A.

    El registro de estado, se trata de un registro de entrada de informacin de 5 bits,su direccin en el LPT1 es 0x379.

    El registro de datos, se compone de 8 bits, es bidireccional. Su direccin en el LPT1es 0x378.

    Inicialmente se coloc al puerto paralelo en la tarjeta del "Adaptador de impresorade IBM", o tambin con la tarjeta del "monitor monocromtico y adaptador deimpresora de IBM".

    Con la llegada de clones al mercado, se crea un controlador de mltiples entradas ysalidas (Multi I/O) donde se instalan controladores de discos, puertos serie, puertode juegos y el puerto paralelo.

    En la actualidad (2009) el puerto paralelo se incluye comnmente incluido en laplaca madre de la computadora (MotherBoard). No obstante, la conexin del puertocon el mundo externo no ha sufrido modificaciones. Este puerto utiliza un conectorhembra DB25 en la computadora y un conector especial macho llamado Centronic

    que tiene 36 pines.

    http://es.wikipedia.org/wiki/Impresorahttp://es.wikipedia.org/wiki/Impresorahttp://es.wikipedia.org/wiki/Impresorahttp://es.wikipedia.org/wiki/IEEE_1284http://es.wikipedia.org/wiki/IEEE_1284http://es.wikipedia.org/wiki/IEEE_1284http://es.wikipedia.org/wiki/Centronicshttp://es.wikipedia.org/wiki/Centronicshttp://es.wikipedia.org/wiki/Centronicshttp://es.wikipedia.org/wiki/EPROMhttp://es.wikipedia.org/wiki/EPROMhttp://es.wikipedia.org/wiki/EPROMhttp://es.wikipedia.org/wiki/Esc%C3%A1ner_de_computadorahttp://es.wikipedia.org/wiki/Esc%C3%A1ner_de_computadorahttp://es.wikipedia.org/wiki/Esc%C3%A1ner_de_computadorahttp://es.wikipedia.org/wiki/Ethernethttp://es.wikipedia.org/wiki/Ethernethttp://es.wikipedia.org/wiki/Ethernethttp://es.wikipedia.org/wiki/Iomega_Ziphttp://es.wikipedia.org/wiki/Iomega_Ziphttp://es.wikipedia.org/wiki/Iomega_Ziphttp://es.wikipedia.org/wiki/SuperDiskhttp://es.wikipedia.org/wiki/SuperDiskhttp://es.wikipedia.org/wiki/SuperDiskhttp://es.wikipedia.org/wiki/MS-DOShttp://es.wikipedia.org/wiki/MS-DOShttp://es.wikipedia.org/wiki/MS-DOShttp://es.wikipedia.org/wiki/Voltiohttp://es.wikipedia.org/wiki/Voltiohttp://es.wikipedia.org/wiki/Voltiohttp://es.wikipedia.org/wiki/Amperiohttp://es.wikipedia.org/wiki/Amperiohttp://es.wikipedia.org/wiki/DOShttp://es.wikipedia.org/wiki/DOShttp://es.wikipedia.org/wiki/DOShttp://es.wikipedia.org/wiki/DOShttp://es.wikipedia.org/wiki/Amperiohttp://es.wikipedia.org/wiki/Voltiohttp://es.wikipedia.org/wiki/MS-DOShttp://es.wikipedia.org/wiki/SuperDiskhttp://es.wikipedia.org/wiki/Iomega_Ziphttp://es.wikipedia.org/wiki/Ethernethttp://es.wikipedia.org/wiki/Esc%C3%A1ner_de_computadorahttp://es.wikipedia.org/wiki/EPROMhttp://es.wikipedia.org/wiki/Centronicshttp://es.wikipedia.org/wiki/IEEE_1284http://es.wikipedia.org/wiki/Impresora
  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    26/107

    26

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    27/107

    27

    PUERTO SERIE (COM).

    Puerto en serie ATX

    Un puerto serie o puerto serial es una interfaz de comunicaciones de datos digitales,frecuentemente utilizado por computadoras y perifricos, en donde la informacin estransmitida bit a bit enviando un solo bit a la vez, en contraste con el puerto paralelo queenva varios bits simultneamente. La comparacin entre la transmisin en serie y enparalelo se puede explicar con analoga con las carreteras. Una carretera tradicional de unslo carril por sentido sera como la transmisin en serie y una autova con varios carrilespor sentido sera la transmisin en paralelo, siendo los coches los bits.

    PUERTO SERIE ASINCRNICO

    El puerto serie RS-232 (tambin conocido como COM) es del tipo asincrnico, utilizacableado simple desde 3 hilos hasta 25 y que conecta computadoras o microcontroladores atodo tipo de perifricos, desde terminales a impresoras y mdems pasando por mouses.

    La interfaz entre el RS-232 y el microprocesador generalmente se realiza mediante unaUART 8250 (computadoras de 8 y 16 bits, PC XT) o 16550(IBM Personal Computer/AT yposteriores).

    El RS-232 original tena un conector tipo DB-25, sin embargo la mayora de dichos pines nose utilizaban, por lo que IBM estandariz con su gama IBM Personal System/2 el uso delconector DE-9 (ya introducido en el AT) mayoritariamente usado en computadoras. Porcontra, excepto en los mouses el resto de perifricos solan presentar el DB-25

    En Europa la norma RS-422, similar al RS-232, es un estndar utilizado en el mbitoindustrial.

    PUERTOS SERIE MODERNOS

    Uno de los defectos de los puertos serie iniciales era su lentitud en comparacin con lospuertos paralelos -hablamos de 19.2 kbits por segundo- sin embargo, con el paso del tiempo,estn apareciendo multitud de puertos serie de alta velocidad que los hacen muyinteresantes ya que utilizan las ventajas del menor cableado y solucionan el problema de lavelocidad con un mayor apantallamiento y ms barato usando la tcnica del par trenzado. Por ello, el puerto RS-232 e incluso multitud de puertos paralelos estn siendoreemplazados por nuevos puertos serie como el USB, el FireWire o el Serial ATA.

    Un puerto de red puede ser puerto serie o puerto paralelo.

    T IPOS DE COMUNICACIONES SERIALES

    http://es.wikipedia.org/wiki/ATXhttp://es.wikipedia.org/wiki/ATXhttp://es.wikipedia.org/wiki/ATXhttp://es.wikipedia.org/wiki/Interfazhttp://es.wikipedia.org/wiki/Interfazhttp://es.wikipedia.org/wiki/Interfazhttp://es.wikipedia.org/wiki/Computadorahttp://es.wikipedia.org/wiki/Computadorahttp://es.wikipedia.org/wiki/Computadorahttp://es.wikipedia.org/wiki/Perif%C3%A9ricohttp://es.wikipedia.org/wiki/Perif%C3%A9ricohttp://es.wikipedia.org/wiki/Perif%C3%A9ricohttp://es.wikipedia.org/wiki/Bithttp://es.wikipedia.org/wiki/Bithttp://es.wikipedia.org/wiki/Bithttp://es.wikipedia.org/wiki/Puerto_paralelohttp://es.wikipedia.org/wiki/Puerto_paralelohttp://es.wikipedia.org/wiki/Puerto_paralelohttp://es.wikipedia.org/wiki/Autov%C3%ADahttp://es.wikipedia.org/wiki/Autov%C3%ADahttp://es.wikipedia.org/wiki/Autov%C3%ADahttp://es.wikipedia.org/wiki/RS-232http://es.wikipedia.org/wiki/RS-232http://es.wikipedia.org/wiki/RS-232http://es.wikipedia.org/wiki/Computadorahttp://es.wikipedia.org/wiki/Computadorahttp://es.wikipedia.org/wiki/Computadorahttp://es.wikipedia.org/wiki/Microcontroladorhttp://es.wikipedia.org/wiki/Microcontroladorhttp://es.wikipedia.org/wiki/Microcontroladorhttp://es.wikipedia.org/wiki/Terminalhttp://es.wikipedia.org/wiki/Terminalhttp://es.wikipedia.org/wiki/Terminalhttp://es.wikipedia.org/wiki/Impresorahttp://es.wikipedia.org/wiki/Impresorahttp://es.wikipedia.org/wiki/Impresorahttp://es.wikipedia.org/wiki/M%C3%B3demhttp://es.wikipedia.org/wiki/M%C3%B3demhttp://es.wikipedia.org/wiki/M%C3%B3demhttp://es.wikipedia.org/wiki/Mousehttp://es.wikipedia.org/wiki/Mousehttp://es.wikipedia.org/wiki/Mousehttp://es.wikipedia.org/wiki/RS-232http://es.wikipedia.org/wiki/RS-232http://es.wikipedia.org/wiki/RS-232http://es.wikipedia.org/wiki/Microprocesadorhttp://es.wikipedia.org/wiki/Microprocesadorhttp://es.wikipedia.org/wiki/Microprocesadorhttp://es.wikipedia.org/wiki/UARThttp://es.wikipedia.org/wiki/UARThttp://es.wikipedia.org/wiki/IBM_Personal_Computer/AThttp://es.wikipedia.org/wiki/IBM_Personal_Computer/AThttp://es.wikipedia.org/wiki/IBM_Personal_Computer/AThttp://es.wikipedia.org/wiki/DB-25http://es.wikipedia.org/wiki/DB-25http://es.wikipedia.org/wiki/DB-25http://es.wikipedia.org/wiki/IBMhttp://es.wikipedia.org/wiki/IBMhttp://es.wikipedia.org/wiki/IBMhttp://es.wikipedia.org/wiki/IBM_Personal_System/2http://es.wikipedia.org/wiki/IBM_Personal_System/2http://es.wikipedia.org/wiki/IBM_Personal_System/2http://es.wikipedia.org/wiki/DE-9http://es.wikipedia.org/wiki/DE-9http://es.wikipedia.org/wiki/DE-9http://es.wikipedia.org/wiki/Mousehttp://es.wikipedia.org/wiki/Mousehttp://es.wikipedia.org/wiki/Mousehttp://es.wikipedia.org/wiki/DB-25http://es.wikipedia.org/wiki/DB-25http://es.wikipedia.org/wiki/DB-25http://es.wikipedia.org/wiki/Europahttp://es.wikipedia.org/wiki/Europahttp://es.wikipedia.org/wiki/Europahttp://es.wikipedia.org/w/index.php?title=RS-422&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=RS-422&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=RS-422&action=edit&redlink=1http://es.wikipedia.org/wiki/Puerto_paralelohttp://es.wikipedia.org/wiki/Puerto_paralelohttp://es.wikipedia.org/wiki/Par_trenzadohttp://es.wikipedia.org/wiki/Par_trenzadohttp://es.wikipedia.org/wiki/Par_trenzadohttp://es.wikipedia.org/wiki/Puerto_paralelohttp://es.wikipedia.org/wiki/Puerto_paralelohttp://es.wikipedia.org/wiki/Puerto_paralelohttp://es.wikipedia.org/wiki/USBhttp://es.wikipedia.org/wiki/USBhttp://es.wikipedia.org/wiki/USBhttp://es.wikipedia.org/wiki/FireWirehttp://es.wikipedia.org/wiki/FireWirehttp://es.wikipedia.org/wiki/FireWirehttp://es.wikipedia.org/wiki/Serial_ATAhttp://es.wikipedia.org/wiki/Serial_ATAhttp://es.wikipedia.org/wiki/Serial_ATAhttp://es.wikipedia.org/wiki/Puerto_de_redhttp://es.wikipedia.org/wiki/Puerto_de_redhttp://es.wikipedia.org/wiki/Puerto_de_redhttp://es.wikipedia.org/wiki/Archivo:SerialPort_ATX.jpghttp://es.wikipedia.org/wiki/Puerto_de_redhttp://es.wikipedia.org/wiki/Serial_ATAhttp://es.wikipedia.org/wiki/FireWirehttp://es.wikipedia.org/wiki/USBhttp://es.wikipedia.org/wiki/Puerto_paralelohttp://es.wikipedia.org/wiki/Par_trenzadohttp://es.wikipedia.org/wiki/Puerto_paralelohttp://es.wikipedia.org/w/index.php?title=RS-422&action=edit&redlink=1http://es.wikipedia.org/wiki/Europahttp://es.wikipedia.org/wiki/DB-25http://es.wikipedia.org/wiki/Mousehttp://es.wikipedia.org/wiki/DE-9http://es.wikipedia.org/wiki/IBM_Personal_System/2http://es.wikipedia.org/wiki/IBMhttp://es.wikipedia.org/wiki/DB-25http://es.wikipedia.org/wiki/IBM_Personal_Computer/AThttp://es.wikipedia.org/wiki/UARThttp://es.wikipedia.org/wiki/Microprocesadorhttp://es.wikipedia.org/wiki/RS-232http://es.wikipedia.org/wiki/Mousehttp://es.wikipedia.org/wiki/M%C3%B3demhttp://es.wikipedia.org/wiki/Impresorahttp://es.wikipedia.org/wiki/Terminalhttp://es.wikipedia.org/wiki/Microcontroladorhttp://es.wikipedia.org/wiki/Computadorahttp://es.wikipedia.org/wiki/RS-232http://es.wikipedia.org/wiki/Autov%C3%ADahttp://es.wikipedia.org/wiki/Puerto_paralelohttp://es.wikipedia.org/wiki/Bithttp://es.wikipedia.org/wiki/Perif%C3%A9ricohttp://es.wikipedia.org/wiki/Computadorahttp://es.wikipedia.org/wiki/Interfazhttp://es.wikipedia.org/wiki/ATX
  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    28/107

    28

    Simplex

    En este caso el transmisor y el receptor estn perfectamente definidos y lacomunicacin es unidireccional. Este tipo de comunicaciones se emplean usualmenteen redes de radiodifusin, donde los receptores no necesitan enviar ningn tipo dedato al transmisor.

    Duplex, half duplex o semi-duplex

    En este caso ambos extremos del sistema de comunicacin cumplen funciones detransmisor y receptor y los datos se desplazan en ambos sentidos pero nosimultneamente. Este tipo de comunicacin se utiliza habitualmente en lainteraccin entre terminales y un computador central.

    Full Duplex

    El sistema es similar al duplex, pero los datos se desplazan en ambos sentidossimultneamente. Para ello ambos transmisores poseen diferentes frecuencias detransmisin o dos caminos de comunicacin separados, mientras que la comunicacinsemi-duplex necesita normalmente uno solo. Para el intercambio de datos entrecomputadores este tipo de comunicaciones son ms eficientes que las transmisionessemi-duplex.

    Puerto serial

    Los puertos seriales (tambin llamados RS-232, por el nombre del estndar al que hacenreferencia) fueron las primeras interfaces que permitieron que los equipos intercambieninformacin con el "mundo exterior ". El trminoserial se refiere a los datos enviadosmediante un solo hilo: losbitsse envan uno detrs del otro (consulte la seccin sobretransmisin de datospara conocer los modos de transmisin).

    Originalmente, los puertos seriales slo podan enviar datos, no recibir, por lo que sedesarrollaron puertos bidireccionales (que son los que se encuentran en los equiposactuales). Por lo tanto, los puertos seriales bidireccionales necesitan dos hilos para que lacomunicacin pueda efectuarse.La comunicacin serial se lleva a caboasincrnicamente,es decir que no es necesaria unaseal (oreloj ) de sincronizacin: los datos pueden enviarse en intervalos aleatorios. A suvez, el perifrico debe poder distinguir los caracteres (un carcter tiene 8 bits delongitud) entre la sucesin de bits que se est enviando.sta es la razn por la cual en este tipo de transmisin, cada carcter se encuentra

    precedido por un bit deARRANQUE y seguido por un bit dePARADA . Estos bits de

    http://es.kioskea.net/contents/base/binaire.php3http://es.kioskea.net/contents/transmission/transmode.php3http://es.kioskea.net/contents/transmission/transmode.php3http://es.kioskea.net/contents/transmission/transmode.php3http://es.kioskea.net/contents/transmission/transmode.php3http://es.kioskea.net/contents/base/binaire.php3
  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    29/107

    29

    control, necesarios para la transmisin serial, desperdician un 20% del ancho de banda(cada 10 bits enviados, 8 se utilizan para cifrar el carcter y 2 para la recepcin).Los puertos seriales, por lo general, estn integrados a la placa madre, motivo por el cuallos conectores que se hallan detrs de la carcasa y se encuentran conectados a la placamadre mediante un cable, pueden utilizarse para conectar un elemento exterior.Generalmente, los conectores seriales tienen 9 25 clavijas y tienen la siguiente forma(conectores DB9 y DB25 respectivamente):

    Un PC posee normalmente entre uno y cuatro puertos seriales.

    Puerto paralelo

    La transmisin de datosparalelaconsiste en enviar datos en forma simultnea por varioscanales (hilos). Los puertos paralelos en los PC pueden utilizarse para enviar 8 bits (unocteto) simultneamente por 8 hilos.

    Los primeros puertos paralelos bidireccionales permitan una velocidad de 2,4 Mb/s. Sinembargo, los puertos paralelos mejorados han logrado alcanzar velocidades mayores:

    El EPP ( puerto paralelo mejorado ) alcanza velocidades de 8 a 16 Mbps El ECP ( puerto de capacidad mejorada ), desarrollado porHewlett Packard yMicrosoft .

    Posee las mismas caractersticas del EPP con el agregado de un dispositivoPlug and Play quepermite que el equipo reconozca los perifricos conectados.

    Los puertos paralelos, al igual que los seriales, se encuentran integrados a la placa madre.Los conectores DB25 permiten la conexin con un elemento exterior (por ejemplo, unaimpresora).

    El nombre de serie viene por el hecho de que un puerto serie serializa los datos. Estosignifica que coge un byte de datos y transmite los 8 bits que contiene el byte uno a la vez.La ventaja es que los puertos serie solo necesitan un hilo para transmitir los 8 bits,mientras que los paralelo necesitan 8. La desventaja es que lleva 8 veces ms tiempo que situviera 8 hilos. Los puertos serie bajan el coste de los cables y hacen que sean mspequeos.

    http://es.kioskea.net/contents/transmission/transmode.php3http://es.kioskea.net/contents/transmission/transmode.php3
  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    30/107

    30

    (serial port). Puerto para conectar un dispositivo a una computadora. La informacin setransmiten por un solo conducto y por lo tanto bit a bit de forma serial. Por esta razn lospuertos seriales tradicionales son sumamente lentos y son usados para conectar el mouse oel teclado. En cambio el puerto paralelo puede enviar mltiples bits en forma paralela.

    La mayora de los puertos serie de las PC obedecen el estndar RS-232C o el RS-422.

    Las computadoras tienen dos puertos seriales: COM1 y COM2

    Actualmente los puertos seriales modernos poseen grandes velocidades como el puertoUSB, el firewire o el SATA.

    USB.

    (Universal Serial Bus) Puerto de gran velocidad para comunicar computadoras yperifricos. Soporta plug & play y conexin en caliente(hot plugging).

    Soporta transferencias de 12 MBps. Un slo puerto USB permite ser usado para conectarms de 127 dispositivos perifricos como ratones, mdems, teclados, impresoras, etc.

    Comenz a ser utilizado en 1996, pero la popularidad lleg en las iMac en 1998.

    Prcticamente reemplaz a los puertos serial y puertos paralelo.

    Versiones USB ms populares disponibles:* USB 1.1* USB 2.0 (HiSpeed)* USB 3.0 (SuperSpeed USB)Definicin de USB 2.0

    USB 2.0 es un bus externo que soporta hasta 480 Mbits/s de transferencia de datos. Setrata de una extensin del USB 1.1, por lo tanto utiliza los mismos cables y conectores, y escompatible con ste.

    Fue desarrollado por Hewlett-Packard, Intel, Lucent, Microsoft, NEC y Philips.

    USB 2.0 fue lanzado en abril de 2000.

    Definicin de USB 3.0

    (SuperSpeed USB). USB 3.0 es una de las versiones del USB, sucesora de la versin USB2.0. Permite transferencias tericas de hasta 4,8 Gbps.

    Se lo ha llamado SuperSpeed USB, a diferencia de su versin anterior, la 2.0, llamada

    http://www.alegsa.com.ar/Dic/puerto.phphttp://www.alegsa.com.ar/Dic/puerto.phphttp://www.alegsa.com.ar/Dic/puerto.phphttp://www.alegsa.com.ar/Dic/computadora.phphttp://www.alegsa.com.ar/Dic/computadora.phphttp://www.alegsa.com.ar/Dic/computadora.phphttp://www.alegsa.com.ar/Dic/bit.phphttp://www.alegsa.com.ar/Dic/bit.phphttp://www.alegsa.com.ar/Dic/bit.phphttp://www.alegsa.com.ar/Dic/mouse.phphttp://www.alegsa.com.ar/Dic/mouse.phphttp://www.alegsa.com.ar/Dic/mouse.phphttp://www.alegsa.com.ar/Dic/teclado.phphttp://www.alegsa.com.ar/Dic/teclado.phphttp://www.alegsa.com.ar/Dic/teclado.phphttp://www.alegsa.com.ar/Dic/puerto%20paralelo.phphttp://www.alegsa.com.ar/Dic/puerto%20paralelo.phphttp://www.alegsa.com.ar/Dic/puerto%20paralelo.phphttp://www.alegsa.com.ar/Dic/PC.phphttp://www.alegsa.com.ar/Dic/PC.phphttp://www.alegsa.com.ar/Dic/PC.phphttp://www.alegsa.com.ar/Dic/RS-232.phphttp://www.alegsa.com.ar/Dic/RS-232.phphttp://www.alegsa.com.ar/Dic/RS-232.phphttp://www.alegsa.com.ar/Dic/RS-422.phphttp://www.alegsa.com.ar/Dic/RS-422.phphttp://www.alegsa.com.ar/Dic/RS-422.phphttp://www.alegsa.com.ar/Dic/COM.phphttp://www.alegsa.com.ar/Dic/COM.phphttp://www.alegsa.com.ar/Dic/COM.phphttp://www.alegsa.com.ar/Dic/usb.phphttp://www.alegsa.com.ar/Dic/usb.phphttp://www.alegsa.com.ar/Dic/firewire.phphttp://www.alegsa.com.ar/Dic/firewire.phphttp://www.alegsa.com.ar/Dic/firewire.phphttp://www.alegsa.com.ar/Dic/sata.phphttp://www.alegsa.com.ar/Dic/sata.phphttp://www.alegsa.com.ar/Dic/sata.phphttp://www.alegsa.com.ar/Dic/puerto.phphttp://www.alegsa.com.ar/Dic/puerto.phphttp://www.alegsa.com.ar/Dic/puerto.phphttp://www.alegsa.com.ar/Dic/periferico.phphttp://www.alegsa.com.ar/Dic/periferico.phphttp://www.alegsa.com.ar/Dic/pnp.phphttp://www.alegsa.com.ar/Dic/pnp.phphttp://www.alegsa.com.ar/Dic/pnp.phphttp://www.alegsa.com.ar/Dic/conexion.phphttp://www.alegsa.com.ar/Dic/conexion.phphttp://www.alegsa.com.ar/Dic/conexion.phphttp://www.alegsa.com.ar/Dic/conexion%20en%20caliente.phphttp://www.alegsa.com.ar/Dic/conexion%20en%20caliente.phphttp://www.alegsa.com.ar/Dic/conexion%20en%20caliente.phphttp://www.alegsa.com.ar/Dic/mouse.phphttp://www.alegsa.com.ar/Dic/mouse.phphttp://www.alegsa.com.ar/Dic/mouse.phphttp://www.alegsa.com.ar/Dic/modem.phphttp://www.alegsa.com.ar/Dic/modem.phphttp://www.alegsa.com.ar/Dic/modem.phphttp://www.alegsa.com.ar/Dic/teclado.phphttp://www.alegsa.com.ar/Dic/teclado.phphttp://www.alegsa.com.ar/Dic/teclado.phphttp://www.alegsa.com.ar/Dic/impresora.phphttp://www.alegsa.com.ar/Dic/impresora.phphttp://www.alegsa.com.ar/Dic/impresora.phphttp://www.alegsa.com.ar/Dic/iMac.phphttp://www.alegsa.com.ar/Dic/iMac.phphttp://www.alegsa.com.ar/Dic/iMac.phphttp://www.alegsa.com.ar/Dic/puerto%20serial.phphttp://www.alegsa.com.ar/Dic/puerto%20serial.phphttp://www.alegsa.com.ar/Dic/puerto%20serial.phphttp://www.alegsa.com.ar/Dic/puerto%20paralelo.phphttp://www.alegsa.com.ar/Dic/puerto%20paralelo.phphttp://www.alegsa.com.ar/Dic/puerto%20paralelo.phphttp://www.alegsa.com.ar/Dic/usb%202.0.phphttp://www.alegsa.com.ar/Dic/usb%202.0.phphttp://www.alegsa.com.ar/Dic/usb%202.0.phphttp://www.alegsa.com.ar/Dic/usb%203.0.phphttp://www.alegsa.com.ar/Dic/usb%203.0.phphttp://www.alegsa.com.ar/Dic/usb%203.0.phphttp://www.alegsa.com.ar/Dic/bus.phphttp://www.alegsa.com.ar/Dic/bus.phphttp://www.alegsa.com.ar/Dic/bus.phphttp://www.alegsa.com.ar/Dic/transferencia.phphttp://www.alegsa.com.ar/Dic/transferencia.phphttp://www.alegsa.com.ar/Dic/transferencia.phphttp://www.alegsa.com.ar/Dic/Hewlett-Packard.phphttp://www.alegsa.com.ar/Dic/Hewlett-Packard.phphttp://www.alegsa.com.ar/Dic/Hewlett-Packard.phphttp://www.alegsa.com.ar/Dic/intel.phphttp://www.alegsa.com.ar/Dic/intel.phphttp://www.alegsa.com.ar/Dic/intel.phphttp://www.alegsa.com.ar/Dic/microsoft.phphttp://www.alegsa.com.ar/Dic/microsoft.phphttp://www.alegsa.com.ar/Dic/microsoft.phphttp://www.alegsa.com.ar/Dic/nec.phphttp://www.alegsa.com.ar/Dic/nec.phphttp://www.alegsa.com.ar/Dic/nec.phphttp://www.alegsa.com.ar/Dic/philips.phphttp://www.alegsa.com.ar/Dic/philips.phphttp://www.alegsa.com.ar/Dic/philips.phphttp://www.alegsa.com.ar/Dic/usb.phphttp://www.alegsa.com.ar/Dic/usb.phphttp://www.alegsa.com.ar/Dic/usb.phphttp://www.alegsa.com.ar/Dic/usb%202.0.phphttp://www.alegsa.com.ar/Dic/usb%202.0.phphttp://www.alegsa.com.ar/Dic/usb%202.0.phphttp://www.alegsa.com.ar/Dic/usb%202.0.phphttp://www.alegsa.com.ar/Dic/usb%202.0.phphttp://www.alegsa.com.ar/Dic/usb%202.0.phphttp://www.alegsa.com.ar/Dic/usb.phphttp://www.alegsa.com.ar/Dic/philips.phphttp://www.alegsa.com.ar/Dic/nec.phphttp://www.alegsa.com.ar/Dic/microsoft.phphttp://www.alegsa.com.ar/Dic/intel.phphttp://www.alegsa.com.ar/Dic/Hewlett-Packard.phphttp://www.alegsa.com.ar/Dic/transferencia.phphttp://www.alegsa.com.ar/Dic/bus.phphttp://www.alegsa.com.ar/Dic/usb%203.0.phphttp://www.alegsa.com.ar/Dic/usb%202.0.phphttp://www.alegsa.com.ar/Dic/puerto%20paralelo.phphttp://www.alegsa.com.ar/Dic/puerto%20serial.phphttp://www.alegsa.com.ar/Dic/iMac.phphttp://www.alegsa.com.ar/Dic/impresora.phphttp://www.alegsa.com.ar/Dic/teclado.phphttp://www.alegsa.com.ar/Dic/modem.phphttp://www.alegsa.com.ar/Dic/mouse.phphttp://www.alegsa.com.ar/Dic/conexion%20en%20caliente.phphttp://www.alegsa.com.ar/Dic/conexion.phphttp://www.alegsa.com.ar/Dic/pnp.phphttp://www.alegsa.com.ar/Dic/periferico.phphttp://www.alegsa.com.ar/Dic/puerto.phphttp://www.alegsa.com.ar/Dic/sata.phphttp://www.alegsa.com.ar/Dic/firewire.phphttp://www.alegsa.com.ar/Dic/usb.phphttp://www.alegsa.com.ar/Dic/COM.phphttp://www.alegsa.com.ar/Dic/RS-422.phphttp://www.alegsa.com.ar/Dic/RS-232.phphttp://www.alegsa.com.ar/Dic/PC.phphttp://www.alegsa.com.ar/Dic/puerto%20paralelo.phphttp://www.alegsa.com.ar/Dic/teclado.phphttp://www.alegsa.com.ar/Dic/mouse.phphttp://www.alegsa.com.ar/Dic/bit.phphttp://www.alegsa.com.ar/Dic/computadora.phphttp://www.alegsa.com.ar/Dic/puerto.php
  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    31/107

    31

    HiSpeed.

    USB 3.0 consume menos electricidad, es ms rpida y sus puertos son compatibles con lospuertos USB 2.0.

    Su desarrollo fue terminado en noviembre de 2008.

    QUE ES UN PUERTO FIREWIRE.

    Firewire se denomina al tipo de puerto de comunicaciones de alta velocidad desarrolladopor la compaa Apple.La denominacin real de esta interfaz es la IEEE 1394. Se trata de una tecnologa para laentrada/salida de datos en serie a alta velocidad y la conexin de dispositivos digitales.

    Esta interfaz se caracteriza principalmente por:

    - Su gran rapidez, siendo ideal para su utilizacin en aplicaciones multimedia yalmacenamiento, como videocmaras, discos duros, dispositivos pticos, etc...

    - Alcanzan una velocidad de 400 megabits por segundo, mantenindola de forma bastanteestable.

    - flexibilidad de la conexin y la capacidad de conectar un mximo de 63 dispositivos.

    - Acepta longitudes de cable de hasta 425 cm.

    - Respuesta en el momento. FireWire puede garantizar una distribucin de los datos enperfecta sincrona.

    - Alimentacin por el bus. Mientras el USB 2.0 permite la alimentacin de dispositivos queconsuman un mximo de 5v, , los dispositivos FireWire pueden proporcionar o consumirhasta 25v, suficiente para discos duros de alto rendimiento y bateras de carga rpida. Eneste punto hay que hacer resea de que existe un tipo de puerto Firewire que no suministraalimentacin, tan slo da servicio de comunicacin de datos. Estos puertos tienen slo 4contactos, en lugar de los 6 que tiene un puerto Firewire alimentado.

    - Conexiones de enchufar y listo, conocidas como plug & play. No tenemos ms que enchufun dispositivo para que funcione.

    - Conexin en caliente (permite conectar dispositivos con el PC encendido sin ningn riesgode rotura).

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    32/107

    32

    Firewire

    Bus serial de Apple; es un solo enchufe, pero pueden conectarse hasta 63 dispositivos.Transfiere informacin de hasta 400 MB por segundos.IEEE 1394

    Logotipo de FireWire. Conector FireWire de 6 pins.

    Connectores de 6 y 4 pins.

    El IEEE 1394 (conocido como FireWire por Apple Inc. y como i.Link por Sony) es unestndar multiplataforma para entrada/salida de datos en serie a gran velocidad. Sueleutilizarse para la interconexin de dispositivos digitales como cmaras digitales yvideocmaras a computadoras.

    HISTORIA

    El Firewire fue desarrollado por Apple Computer a mediados de los 90, para luegoconvertirse en el estndar multiplataforma IEEE 1394. A principios de este siglo fueadoptado por los fabricantes de perifricos digitales hasta convertirse en un estndarestablecido. Sony utiliza el estndar IEEE 1394 bajo la denominacini.Link , y TexasInstruments bajo la denominacinLynx .

    VERSIONES

    Su velocidad hace que sea la interfaz ms utilizada para audio y vdeo digital. As, se usamucho en cmaras de vdeo, discos duros, impresoras, reproductores de vdeo digital,sistemas domsticos para el ocio, sintetizadores de msica y escneres.

    Existen tres versiones:

    FIREWIRE400 (IEEE 1394-1995)

    http://es.wikipedia.org/wiki/Apple_Inc.http://es.wikipedia.org/wiki/Apple_Inc.http://es.wikipedia.org/wiki/Apple_Inc.http://es.wikipedia.org/wiki/Sonyhttp://es.wikipedia.org/wiki/Sonyhttp://es.wikipedia.org/wiki/Sonyhttp://es.wikipedia.org/wiki/Puerto_seriehttp://es.wikipedia.org/wiki/Puerto_seriehttp://es.wikipedia.org/wiki/Puerto_seriehttp://es.wikipedia.org/wiki/Digitalhttp://es.wikipedia.org/wiki/Digitalhttp://es.wikipedia.org/wiki/Digitalhttp://es.wikipedia.org/wiki/C%C3%A1mara_digitalhttp://es.wikipedia.org/wiki/C%C3%A1mara_digitalhttp://es.wikipedia.org/wiki/C%C3%A1mara_digitalhttp://es.wikipedia.org/wiki/C%C3%A1mara_de_v%C3%ADdeohttp://es.wikipedia.org/wiki/C%C3%A1mara_de_v%C3%ADdeohttp://es.wikipedia.org/wiki/Computadorahttp://es.wikipedia.org/wiki/Computadorahttp://es.wikipedia.org/wiki/Computadorahttp://es.wikipedia.org/wiki/Apple_Computerhttp://es.wikipedia.org/wiki/Apple_Computerhttp://es.wikipedia.org/wiki/Apple_Computerhttp://es.wikipedia.org/wiki/IEEEhttp://es.wikipedia.org/wiki/IEEEhttp://es.wikipedia.org/wiki/IEEEhttp://es.wikipedia.org/wiki/Sonyhttp://es.wikipedia.org/wiki/Sonyhttp://es.wikipedia.org/wiki/Sonyhttp://es.wikipedia.org/wiki/Texas_Instrumentshttp://es.wikipedia.org/wiki/Texas_Instrumentshttp://es.wikipedia.org/wiki/Texas_Instrumentshttp://es.wikipedia.org/wiki/Texas_Instrumentshttp://es.wikipedia.org/wiki/Disco_durohttp://es.wikipedia.org/wiki/Disco_durohttp://es.wikipedia.org/wiki/Disco_durohttp://es.wikipedia.org/wiki/Impresorahttp://es.wikipedia.org/wiki/Impresorahttp://es.wikipedia.org/wiki/Impresorahttp://es.wikipedia.org/wiki/Archivo:FireWire-46_Diagram.svghttp://es.wikipedia.org/wiki/Archivo:FireWire_gniazdo.jpghttp://es.wikipedia.org/wiki/Archivo:Firewire_Logo.pnghttp://es.wikipedia.org/wiki/Impresorahttp://es.wikipedia.org/wiki/Disco_durohttp://es.wikipedia.org/wiki/Texas_Instrumentshttp://es.wikipedia.org/wiki/Texas_Instrumentshttp://es.wikipedia.org/wiki/Sonyhttp://es.wikipedia.org/wiki/IEEEhttp://es.wikipedia.org/wiki/Apple_Computerhttp://es.wikipedia.org/wiki/Computadorahttp://es.wikipedia.org/wiki/C%C3%A1mara_de_v%C3%ADdeohttp://es.wikipedia.org/wiki/C%C3%A1mara_digitalhttp://es.wikipedia.org/wiki/Digitalhttp://es.wikipedia.org/wiki/Puerto_seriehttp://es.wikipedia.org/wiki/Sonyhttp://es.wikipedia.org/wiki/Apple_Inc.
  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    33/107

    33

    Lanzado en 1995. Tiene un ancho de banda de 400 Mbit/s, 30 veces mayor que el USB 1.1(12 Mbps) y similar a la del USB 2.0 (480 Mbps), aunque en pruebas realizadas, entransferencias de lectura de 5000 ficheros con un total de 300 Mb, FireWire complet elproceso con un 33% ms de velocidad que USB 2.0, debido a su arquitectura peer-to-peermientras USB utiliza arquitectura slave-master [1]. La longitud mxima permitida con unnico cable es de 4,5 metros, pudiendo utilizarse hasta 16 repetidores para prolongar lalongitud (no pudiendo sobrepasar nunca la distancia de 72 metros). Su conector estdotado de 6 pines, dos de ellos destinados a la alimentacin del dispositivo (excepto en laversin distribuida por sony, iLink, que carece de estos dos pines de alimentacin)ofreciendo un consumo de unos 7 u 8 W por puerto a 25 V (nominalmente).

    REVISINIEEE 1394A-1995

    En 2000 se implement una revisin de IEEE 1394-1995, aadindole caractersticas comodifusin asncrona, una reconfiguracin de bus ms rpida, concatenacin de paquetes, yahorro de energa en modo suspensin.

    FIREWIRE800 (IEEE 1394B-2000)

    Lanzado en 2000. Duplica aproximadamente la velocidad del FireWire 400, hasta 786.5Mbps con tecnologa full-duplex, cubriendo distancias de hasta 100 metros por cable.Firewire 800 reduce los retrasos en la negociacin, utilizando para ello 8b10b (cdigo quecodifica 8 bits en 10 bits, que fue desarrollado por IBM y permite suficientes transicionesde reloj, la codificacin de seales de control y deteccin de errores. El cdigo 8b10b essimilar a 4B/5B de FDDI (que no fue adoptado debido al pobre equilibrio de corrientecontinua), que reduce la distorsin de seal y aumenta la velocidad de transferencia. As,para usos que requieran la transferencia de grandes volmenes de informacin, resulta muysuperior al USB 2.0. Posee compatibilidad retroactiva con Firewire 400 utilizando cableshbridos que permiten la conexin en los conectores de Firewire400 de 6 pines y losconectores de Firewire800, dotados de 9 pines. No fue hasta 2003 cuando Apple lanz elprimer uso comercial de Firewire800.

    FIREWIRE S1600Y S3200 (IEEE 1394-2008)

    Anunciado en Diciembre de 2007. Permiten un ancho de banda de 1'6 y 3'2 Gbit/s, cuadruplicando la velocidad del Firewire 800, utilizando el mismo conector de 9 pines deFirewire800

    FIREWIRE S800T (IEEE 1394C-2006)

    Anunciado en Junio de 2007. Aporta mejoras tcnicas que permite el uso de FireWire conpuertos RJ45 sobre cable CAT 5, combinando as las ventajas de Ethernet conFirewire800.

    CARACTERSTICAS GENERALES

    Soporta la conexin de hasta 63 dispositivos con cables de una longitud mxima de425 cm con topologa en rbol. Soporte Plug-and-play.

    http://es.wikipedia.org/wiki/1995http://es.wikipedia.org/wiki/1995http://es.wikipedia.org/wiki/1995http://es.wikipedia.org/wiki/Ancho_de_bandahttp://es.wikipedia.org/wiki/Ancho_de_bandahttp://es.wikipedia.org/wiki/Ancho_de_bandahttp://es.wikipedia.org/wiki/Megabits_por_segundohttp://es.wikipedia.org/wiki/Megabits_por_segundohttp://es.wikipedia.org/wiki/Megabits_por_segundohttp://es.wikipedia.org/wiki/USBhttp://es.wikipedia.org/wiki/USBhttp://es.wikipedia.org/wiki/USBhttp://es.wikipedia.org/wiki/USBhttp://es.wikipedia.org/wiki/USBhttp://es.wikipedia.org/wiki/USBhttp://www.usb-ware.com/firewire-vs-usb.htmhttp://www.usb-ware.com/firewire-vs-usb.htmhttp://www.usb-ware.com/firewire-vs-usb.htmhttp://es.wikipedia.org/wiki/Metroshttp://es.wikipedia.org/wiki/Metroshttp://es.wikipedia.org/wiki/Metroshttp://es.wikipedia.org/wiki/2000http://es.wikipedia.org/wiki/2000http://es.wikipedia.org/wiki/2000http://es.wikipedia.org/wiki/Streaminghttp://es.wikipedia.org/wiki/Streaminghttp://es.wikipedia.org/w/index.php?title=Modo_suspensi%C3%B3n&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Modo_suspensi%C3%B3n&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Modo_suspensi%C3%B3n&action=edit&redlink=1http://es.wikipedia.org/wiki/2000http://es.wikipedia.org/wiki/2000http://es.wikipedia.org/wiki/2000http://es.wikipedia.org/wiki/Full-duplexhttp://es.wikipedia.org/wiki/Full-duplexhttp://es.wikipedia.org/wiki/Full-duplexhttp://es.wikipedia.org/wiki/8b10bhttp://es.wikipedia.org/wiki/8b10bhttp://es.wikipedia.org/wiki/8b10bhttp://es.wikipedia.org/wiki/IBMhttp://es.wikipedia.org/wiki/IBMhttp://es.wikipedia.org/wiki/IBMhttp://es.wikipedia.org/wiki/8b10bhttp://es.wikipedia.org/wiki/8b10bhttp://es.wikipedia.org/wiki/8b10bhttp://es.wikipedia.org/wiki/FDDIhttp://es.wikipedia.org/wiki/FDDIhttp://es.wikipedia.org/wiki/FDDIhttp://es.wikipedia.org/wiki/2007http://es.wikipedia.org/wiki/2007http://es.wikipedia.org/wiki/2007http://es.wikipedia.org/wiki/Ancho_de_bandahttp://es.wikipedia.org/wiki/Ancho_de_bandahttp://es.wikipedia.org/wiki/Ancho_de_bandahttp://es.wikipedia.org/wiki/Gigabits_por_segundohttp://es.wikipedia.org/wiki/Gigabits_por_segundohttp://es.wikipedia.org/wiki/Gigabits_por_segundohttp://es.wikipedia.org/wiki/2007http://es.wikipedia.org/wiki/2007http://es.wikipedia.org/wiki/2007http://es.wikipedia.org/wiki/RJ45http://es.wikipedia.org/wiki/RJ45http://es.wikipedia.org/wiki/RJ45http://es.wikipedia.org/wiki/Cable_de_Categor%C3%ADa_5http://es.wikipedia.org/wiki/Cable_de_Categor%C3%ADa_5http://es.wikipedia.org/wiki/Cable_de_Categor%C3%ADa_5http://es.wikipedia.org/wiki/Ethernethttp://es.wikipedia.org/wiki/Ethernethttp://es.wikipedia.org/wiki/Ethernethttp://es.wikipedia.org/wiki/Plug-and-playhttp://es.wikipedia.org/wiki/Plug-and-playhttp://es.wikipedia.org/wiki/Plug-and-playhttp://es.wikipedia.org/wiki/Plug-and-playhttp://es.wikipedia.org/wiki/Ethernethttp://es.wikipedia.org/wiki/Cable_de_Categor%C3%ADa_5http://es.wikipedia.org/wiki/RJ45http://es.wikipedia.org/wiki/2007http://es.wikipedia.org/wiki/Gigabits_por_segundohttp://es.wikipedia.org/wiki/Ancho_de_bandahttp://es.wikipedia.org/wiki/2007http://es.wikipedia.org/wiki/FDDIhttp://es.wikipedia.org/wiki/8b10bhttp://es.wikipedia.org/wiki/IBMhttp://es.wikipedia.org/wiki/8b10bhttp://es.wikipedia.org/wiki/Full-duplexhttp://es.wikipedia.org/wiki/2000http://es.wikipedia.org/w/index.php?title=Modo_suspensi%C3%B3n&action=edit&redlink=1http://es.wikipedia.org/wiki/Streaminghttp://es.wikipedia.org/wiki/2000http://es.wikipedia.org/wiki/Metroshttp://www.usb-ware.com/firewire-vs-usb.htmhttp://es.wikipedia.org/wiki/USBhttp://es.wikipedia.org/wiki/USBhttp://es.wikipedia.org/wiki/Megabits_por_segundohttp://es.wikipedia.org/wiki/Ancho_de_bandahttp://es.wikipedia.org/wiki/1995
  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    34/107

    34

    Soporta comunicacin peer-to-peer que permite el enlace entre dispositivos sinnecesidad de usar la memoria del sistema o laCPU

    Soporta conexin en caliente. Todos los dispositivos Firewire son identificados por un identificador IEEE EUI-64

    exclusivo (una extensin de lasdirecciones MACEthernet de 48-bit)

    APLICACIONES DEFIREWIREEDICIN DE VDEO DIGITAL

    La edicin de vdeo digital con FireWire ha permitido que tuviera lugar una revolucin en laproduccin del vdeo con sistemas de escritorio. La incorporacin de FireWire en cmarasde vdeo de bajo costo y elevada calidad permite la creacin de vdeo profesional enMacintosh o PC. Atrs quedan las carsimas tarjetas de captura de vdeo y las estacionesde trabajo con dispositivos SCSI de alto rendimiento. FireWire permite la captura devdeo directamente de las nuevas cmaras de vdeo digital con puertos FireWire

    incorporados y de sistemas analgicos mediante conversores de audio y vdeo a FireWire.REDES IP SOBREFIREWIRE

    Como explica Apple, "con este software instalado, se pueden utilizar entre computadorasMacintosh y perifricos los protocolos IP existentes, incluyendo AFP, HTTP, FTP, SSH, etctera. En todos los casos, se puede utilizar Bonjour (Rendezvous) para su configuracin,resolucin de nombres y descubrimiento." Si unimos la posibilidad de usar las conexionesFireWire para crear redes TCP/IP a las prestaciones de FireWire 2 (FireWire 800),tenemos razones muy serias para que Apple recupere rpidamente la atencin de losfabricantes de perifricos para satisfacer las necesidades de los usuarios de aplicacionesque requieren gran ancho de banda en redes locales, como todas las relacionadas con elvdeo digital. Por no hablar de introducirse en un posible mercado nuevo.

    TEMAS

    LICENCIAS

    COPYRIGHT

    GPL

    GNU

    LGPL

    CREATIVE COMMONS

    MIT

    http://es.wikipedia.org/wiki/Peer-to-peerhttp://es.wikipedia.org/wiki/Peer-to-peerhttp://es.wikipedia.org/wiki/Peer-to-peerhttp://es.wikipedia.org/wiki/CPUhttp://es.wikipedia.org/wiki/Conexi%C3%B3n_en_calientehttp://es.wikipedia.org/wiki/Conexi%C3%B3n_en_calientehttp://es.wikipedia.org/wiki/Conexi%C3%B3n_en_calientehttp://es.wikipedia.org/wiki/Direcciones_MAChttp://es.wikipedia.org/wiki/Redhttp://es.wikipedia.org/wiki/Redhttp://es.wikipedia.org/wiki/IPhttp://es.wikipedia.org/wiki/IPhttp://es.wikipedia.org/wiki/IPhttp://es.wikipedia.org/wiki/Apple_Filing_Protocolhttp://es.wikipedia.org/wiki/Apple_Filing_Protocolhttp://es.wikipedia.org/wiki/Apple_Filing_Protocolhttp://es.wikipedia.org/wiki/HTTPhttp://es.wikipedia.org/wiki/HTTPhttp://es.wikipedia.org/wiki/HTTPhttp://es.wikipedia.org/wiki/File_Transfer_Protocolhttp://es.wikipedia.org/wiki/File_Transfer_Protocolhttp://es.wikipedia.org/wiki/File_Transfer_Protocolhttp://es.wikipedia.org/wiki/SSHhttp://es.wikipedia.org/wiki/SSHhttp://es.wikipedia.org/wiki/SSHhttp://es.wikipedia.org/wiki/Bonjour_(software)http://es.wikipedia.org/wiki/Bonjour_(software)http://es.wikipedia.org/wiki/Bonjour_(software)http://es.wikipedia.org/wiki/TCP/IPhttp://es.wikipedia.org/wiki/TCP/IPhttp://es.wikipedia.org/wiki/TCP/IPhttp://es.wikipedia.org/wiki/TCP/IPhttp://es.wikipedia.org/wiki/Bonjour_(software)http://es.wikipedia.org/wiki/SSHhttp://es.wikipedia.org/wiki/File_Transfer_Protocolhttp://es.wikipedia.org/wiki/HTTPhttp://es.wikipedia.org/wiki/Apple_Filing_Protocolhttp://es.wikipedia.org/wiki/IPhttp://es.wikipedia.org/wiki/Redhttp://es.wikipedia.org/wiki/Direcciones_MAChttp://es.wikipedia.org/wiki/Conexi%C3%B3n_en_calientehttp://es.wikipedia.org/wiki/CPUhttp://es.wikipedia.org/wiki/Peer-to-peer
  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    35/107

    35

    QU ES UNA LICENCIA?

    Voy a intentar hacer una serie de anotaciones tratando el tema de las licencias deSoftware, dando una visin general para repasar tres de las licencias que creo son msinteresantes: la MIT, la BSD y la GPL.

    Haymuchas ms licencias Open Source,aunque no todas son Software Libre. Estas tres

    que he elegido tienen en comn 3 puntos importantes: son licencias vlidas para SoftwareLibre, son fciles de aplicar y son compatibles entre s.

    No me he fijado en su uso, aunque las licencias BSD y GPL (ms su variante LGPL) son lasms usadas (alrededor de un 77.5% de los proyectos enSourceforgees un buen indicador),sino en sus posibilidades y en su complejidad, siendo la MIT la ms simple y la GPL la mscomplicada de entender de las tres.

    Por ltimo, y antes de entrar en el tema, notar que no soy jurista y no soy experto en leyes.No hay que tomar estas anotaciones como referencia ni mucho menos. Son soloexplicaciones de estar por casa y deben tomarse como tal. No atendamos a la forma y consuerte se sacar algo til del contenido :P.

    En primer lugar es necesario definir qu es una licencia:

    Una licencia es un documento que da permiso a hacer algo.

    http://blackshell.usebox.net/archivo/286.phphttp://blackshell.usebox.net/archivo/286.phphttp://blackshell.usebox.net/archivo/286.phphttp://www.opensource.org/licenses/http://www.sourceforge.net/http://www.sourceforge.net/http://www.opensource.org/licenses/http://blackshell.usebox.net/archivo/286.php
  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    36/107

    36

    No es complicado de entender. Esta definicin unida a los derechos de autor y aplicado alos programas de computador ('Software' de ahora en adelante), es lo que entenderemosaqu comoacuerdo de licencia para el usuario final (EULA, en ingls).

    El poseedor delcopyright , una marca, una patente, o cualquier otra forma de propiedadintelectual protegida por los derechos de autor, tiene todos los derechos sobre eseelemento con cobertura legal: en nuestro caso el Software.

    El hecho de que un programa sea Copyright ao Fulanito Lpez implica que solo FulanitoLpez tiene los derechos sobre ese programa (derecho de uso, copia, distribucin; porsimplificar, pondra un enlace a la legislacin espaola, pero ese ladrillo aclarara poco).

    As que esta EULA es necesaria ya que el Software no se compra como otros productos deconsumo. Se adquiere una copia, por la que se paga o no en concepto de distribucin deSoftware, y una licencia de uso. Nunca tenedremos todos derechos sobre ese producto, yaque los retiene el titular delcopyright .

    Es lalicencia un acuerdo entre el usuario y el propietario de los derechos. Este acuerdopermite acotar al usuario lo que puede hacer y no hacer con el Software. La formula es:si

    cumples unas condiciones, puedes hacer estas cosas con mi Software .

    En base al ciertos aspectos de la licencia podemos definir dos clases de Software: elSoftware privativo y el Software Libre.

    El Software privativo se centra, como elemento ms destacable, en limitar lo que se puedehacer con el producto. Por lo general se puede decir que el Software privativo cumple losiguiente:

    Hay restricciones a su uso. No est disponible el cdigo fuente, por lo que su estudio est limitado y su

    modificacin es imposible. No pueden ser copiados y distribuidos.

    El Software Libre, por el contrario, se centra en ceder parte de los derechos sobre elproducto, es decir, en dar libertades. Por lo general se puede decir que el Software Libre

    cumple lo siguiente:

  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    37/107

    37

    Se puede usar por cualquiera para cualquier propsito: no hay restricciones de uso. Puede ser estudiado y modificado, para ello se dispone del cdigo fuente. Se puede copiar y redistribuir, con o sin modificaciones.

    Aunque las licencias del Software privativo siempre tienen una clusula final en la quelimitan su responsabilidad o la garanta que proporcionan sobre el producto que cubren, enel caso del Software Libre esto es indispensable.

    Esta necesidad se deriva directamente del hecho de que cualquiera puede modificar elproducto y redistribuirlo con esos cambios. El titular delcopyright nunca podr serresponsable de esos cambios realizados por terceros de los que puede que ni siquiera tenga

    constancia.

    De esta forma todas las licencias que voy a repasar tienen tres partes:

    1. Unas condiciones a cumplir.2. Unos derechos cedidos por el titular delcopyright .3. Una limitacin de responsabilidad.

    Licencia copyright

    El derecho de autor ycopyright constituyen dos concepciones sobre lapropiedadliteraria y artstica. El primero proviene de la familia delderecho continental,particularmentedelderecho francs,mientras que el segundo procede delderecho anglosajn(o common law ).

    El derecho de autor se basa en la idea de un derecho personal delautor,fundado en unaforma de identidad entre el autor y su creacin. El derecho moral est constituido comoemanacin de la persona del autor: reconoce que la obra es expresin de la persona delautor y as se le protege.

    La proteccin delcopyright se limita estrictamente a la obra, sin considerar atributosmorales del autor en relacin con su obra, excepto la paternidad; no lo considera como unautor propiamente tal, pero tiene derechos que determinan las modalidades de utilizacinde una obra.

    http://es.wikipedia.org/wiki/Derecho_de_propiedadhttp://es.wikipedia.org/wiki/Derecho_continentalhttp://es.wikipedia.org/w/index.php?title=Derecho_franc%C3%A9s&action=edit&redlink=1http://es.wikipedia.org/wiki/Derecho_anglosaj%C3%B3nhttp://es.wikipedia.org/wiki/Common_lawhttp://es.wikipedia.org/wiki/Common_lawhttp://es.wikipedia.org/wiki/Common_lawhttp://es.wikipedia.org/wiki/Common_lawhttp://es.wikipedia.org/wiki/Autorhttp://es.wikipedia.org/wiki/Autorhttp://es.wikipedia.org/wiki/Common_lawhttp://es.wikipedia.org/wiki/Common_lawhttp://es.wikipedia.org/wiki/Derecho_anglosaj%C3%B3nhttp://es.wikipedia.org/w/index.php?title=Derecho_franc%C3%A9s&action=edit&redlink=1http://es.wikipedia.org/wiki/Derecho_continentalhttp://es.wikipedia.org/wiki/Derecho_de_propiedad
  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    38/107

    38

    En1790,la obras protegidas por laCopyright Act de Estados Unidos eran slo los"mapas, cartas de navegacin ylibros"(no cubra las obrasmusicaleso dearquitectura).Estecopyright otorgaba al autor el derecho exclusivo a publicar las obras, por lo que slose violaba tal derecho sireimprimala obra sin el permiso de su titular. Adems, estederecho no se extenda a las "obras derivadas" (era un derecho exclusivo sobre la obra enparticular), por lo que no impeda las traducciones o adaptaciones de dicho texto. Con losaos, el titular delcopyright obtuvo el derecho exclusivo a controlar cualquier publicacinde su obra. Sus derechos se extendieron, de la obra en particular, a cualquier "obraderivada" que pudiera surgir en base a la "obra original".

    Asimismo, elCongreso de Estados Unidosincrement en1831elplazoinicialdelcopyright de 14 a 28 aos (o sea, se lleg a un mximo de 42 aos de proteccin) yen1909extendi el plazo de renovacin de 14 a 28 aos (obtenindose un mximo de 56aos de proteccin). Y, a partir de los aos50,comenz a extender los plazos existentesen forma habitual(1962,1976 y1998).

    Elsmbolo (una letra"P"mayscula ubicada dentro de uncrculo)representa la reservade los "derechos de autor sobre una grabacin sonido"(msica)y es laabreviaturapara lapalabra"fongrafo"( phonograph eningls)o registro fonogrfico. Este smbolo hacereferencia ms directamente a la obra musical en s grabada en un

    determinadodisco,casete,CD,etc., de hecho, es muy comn verlo impreso en lascontraportadas de loslbumes musicales.

    Por otro lado, el smbolo (una letra"C"mayscula dentro de unacircunferencia)hacereferencia ms propiamente al derecho de autor (copyright ) sobre obras intelectuales deotra ndole, como por ejemplo: libros, folletos, obras dramticas, obras cinematogrficas yaudiovisuales; dibujos, pinturas etc.

    La diferencia entre el significado de un smbolo y otro es muy tenue.

    Licencia GPL

    Una de las ms utilizadas es laLicencia Pblica General de GNU (GNU GPL). El autorconserva los derechos de autor (copyright), y permite la redistribucin y modificacin bajotrminos diseados para asegurarse de que todas las versiones modificadas del softwarepermanecen bajo los trminos ms restrictivos de la propiaGNU GPL.Esto hace que seaimposible crear un producto con partes no licenciadas GPL: el conjunto tiene que ser GPL.

    http://es.wikipedia.org/wiki/1790http://es.wikipedia.org/wiki/Mapashttp://es.wikipedia.org/wiki/Libroshttp://es.wikipedia.org/wiki/M%C3%BAsicahttp://es.wikipedia.org/wiki/Arquitecturahttp://es.wikipedia.org/wiki/Imprentahttp://es.wikipedia.org/wiki/Congreso_de_Estados_Unidoshttp://es.wikipedia.org/wiki/1831http://es.wikipedia.org/wiki/Plazohttp://es.wikipedia.org/wiki/1909http://es.wikipedia.org/wiki/A%C3%B1os_1950http://es.wikipedia.org/wiki/1962http://es.wikipedia.org/wiki/1976http://es.wikipedia.org/wiki/1998http://es.wikipedia.org/wiki/S%C3%ADmbolohttp://es.wikipedia.org/wiki/Phttp://es.wikipedia.org/wiki/C%C3%ADrculohttp://es.wikipedia.org/wiki/M%C3%BAsicahttp://es.wikipedia.org/wiki/Abreviaturahttp://es.wikipedia.org/wiki/Fon%C3%B3grafohttp://es.wikipedia.org/wiki/Idioma_ingl%C3%A9shttp://es.wikipedia.org/wiki/%C3%81lbum_musicalhttp://es.wikipedia.org/wiki/Casetehttp://es.wikipedia.org/wiki/CDhttp://es.wikipedia.org/wiki/%C3%81lbum_musicalhttp://es.wikipedia.org/wiki/Chttp://es.wikipedia.org/wiki/Circunferenciahttp://es.wikipedia.org/wiki/Licencia_p%C3%BAblica_general_de_GNUhttp://es.wikipedia.org/wiki/Licencia_p%C3%BAblica_general_de_GNUhttp://es.wikipedia.org/wiki/Licencia_p%C3%BAblica_general_de_GNUhttp://es.wikipedia.org/wiki/Licencia_p%C3%BAblica_general_de_GNUhttp://es.wikipedia.org/wiki/Circunferenciahttp://es.wikipedia.org/wiki/Chttp://es.wikipedia.org/wiki/%C3%81lbum_musicalhttp://es.wikipedia.org/wiki/CDhttp://es.wikipedia.org/wiki/Casetehttp://es.wikipedia.org/wiki/%C3%81lbum_musicalhttp://es.wikipedia.org/wiki/Idioma_ingl%C3%A9shttp://es.wikipedia.org/wiki/Fon%C3%B3grafohttp://es.wikipedia.org/wiki/Abreviaturahttp://es.wikipedia.org/wiki/M%C3%BAsicahttp://es.wikipedia.org/wiki/C%C3%ADrculohttp://es.wikipedia.org/wiki/Phttp://es.wikipedia.org/wiki/S%C3%ADmbolohttp://es.wikipedia.org/wiki/1998http://es.wikipedia.org/wiki/1976http://es.wikipedia.org/wiki/1962http://es.wikipedia.org/wiki/A%C3%B1os_1950http://es.wikipedia.org/wiki/1909http://es.wikipedia.org/wiki/Plazohttp://es.wikipedia.org/wiki/1831http://es.wikipedia.org/wiki/Congreso_de_Estados_Unidoshttp://es.wikipedia.org/wiki/Imprentahttp://es.wikipedia.org/wiki/Arquitecturahttp://es.wikipedia.org/wiki/M%C3%BAsicahttp://es.wikipedia.org/wiki/Libroshttp://es.wikipedia.org/wiki/Mapashttp://es.wikipedia.org/wiki/1790
  • 8/14/2019 TOPICOS SELECTOS INVESTIGACION

    39/107

    39

    Es decir, la licencia GNU GPL posibilita la modificacin y redistribucin del software, peronicamente bajo esa misma licencia. Y aade que si se reutiliza en un mismo programacdigo "A" licenciado bajo licencia GNU GPL y cdigo "B" licenciado bajo otro tipo delicencia libre, el cdigo final "C", independientemente de la cantidad y calidad de cada unode los cdigos "A" y "B", debe estar bajo la licencia GNU GPL.

    En la prctica esto hace que las licencias de software libre se dividan en dos grandesgrupos, aquellas que pueden ser mezcladas con cdigo licenciado bajo GNU GPL (y queinevitablemente desaparecern en el proceso, al ser el cdigo resultante licenciado bajoGNU GPL) y las que no lo permiten al incluir mayores u otros requisitos que no contemplanni admiten la GNU GPL y que por lo tanto no pueden ser enlazadas ni mezcladas con cdigogobernado por la licencia GNU GPL.

    En el sitio web oficial de GNU hay una lista de licencias que cumplen las condicionesimpuestas por la GNU GPL y otras que no.4

    Aproximadamente el 60% del software licenciado como software libre emplea una licenciaGPL.

    A finales de 2005, laFree Software Foundationanunci que trabajaba en la versin 3 de lalicencia GPL, cuyo primer borrador fue presentado para su discusin pblica el16 deenerode2006.La discusin se alarg 18 meses, habiendo sido publicados cuatroborradores. Finalmente, la versin oficial fue publicada el da29 de juniode2007 y es

    accesible a travs delPortal de GNU.4 La nueva versin contempla los siguientes aspectos:

    Las diversas formas en que alguna persona podra quitar libertades a los usuarios. Prohibir el uso de software libre en sistemas diseados para quitar libertades(DRM). Resolver ambigedades y aumentar la compatibilidad de GPLv3 con otras licencias. Facilitar su adaptacin a otros pases. Incluir clusulas que defiendan a la comunidad de software libre del uso indebido de

    laspatentes de software.

    Mostrar usuarios registrados. Licencia GNU

    La Licencia Pblica General de GNU o ms conocida por su