Ensayo AFI Compiladores

4
UNIVERSIDAD RAFAEL LANDIVAR CAMPUS QUETZALTENANGO FACULTAD DE INGENIERÍA Ing. Dhaby Eugenio Xiloj C. Compiladores ENSAYO SOBRE TEMAS RELACIONADOS AL CURSO DE COMPILADORES TRATADOS EN EL SIMPOSIO Fernando Francisco Villagrán J. 2339307 Ingeniería en informática y sistemas septiembre de 2013

description

Un ensayo sobre compiladores

Transcript of Ensayo AFI Compiladores

  • UNIVERSIDAD RAFAEL LANDIVAR CAMPUS QUETZALTENANGO

    FACULTAD DE INGENIERA

    Ing. Dhaby Eugenio Xiloj C. Compiladores

    ENSAYO SOBRE TEMAS RELACIONADOS AL CURSO DE COMPILADORES TRATADOS EN EL SIMPOSIO

    Fernando Francisco Villagrn J. 2339307

    Ingeniera en informtica y sistemas

    septiembre de 2013

  • ENSAYO A continuacin se presentar un pequeo ensayo sobre los temas tratados en el VI simposio de Ingeniera. Particularmente se tomaron temas de una conferencia titulada Historia de los microprocesadores y del foro sobre Mac, Windows y Linux. En estos temas como se podr ver a lo largo de este ensayo, se abordaron temas interesantes que se relacionan a la temtica de los compiladores, algo muy importante no solamente para el curso sino para nuestra formacin como profesionales en el rea de informtica y sistemas. Entrando a la primera conferencia, se defini primeramente que el microprocesador es un circuito electrnico de propsito general, es decir, tiene diversos usos dependiendo de cmo se quiera usar. Se les conoce con las siglas CPU (unidad central de proceso) y est diseado de acuerdo a determinada arquitectura. Se sabe que hay 2 arquitecturas imperantes en cuanto al diseo de procesadores, la primera es la de Von Neumman (la ms popular por supuesto) y la segunda es la de Harvard. Indiferentemente de la arquitectura, el procesador es capaz de realizar operaciones de clculo, operaciones con dispositivos electrnicos perifricos (como la impresora por ejemplo), etc. Gracias a la gran utilidad que tiene el procesador, ha sido un importante propulsor del avance tecnolgico para la humanidad. Dentro del microprocesador hay un circuito complejo que est integrado en una pastilla de material semiconductor (la mayora es silicio). La historia nos dice que en el ao 1971 una empresa japonesa, Busicom, tena un proyecto para una nueva calculadora. Ted Hoff, ingeniero de Intel, dise un chip (circuito integrado) con una memoria capaz de hacer varias acciones. Con 4 chips como este y dos chips ms de memoria se dise el primer microprocesador de Intel, el 4004. Antes de crear el microprocesador haca falta un chip para cada parte de la calculadora, con el 4004 todas las funciones estaban integradas en un solo circuito. Este microprocesador contena 2.300 transistores y transmita con un bus de 4 bits. El 4004 poda realizar 60.000 operaciones por segundo, una miseria para nuestros das, todo un logro en los aos 70. El siguiente paso de Intel fue en 1974. Cre el 8080, un microprocesador con 4.500 transistores, un bus de 8 bits y capaz de ejecutar 200.000 instrucciones por segundo. El gran xito de la empresa lleg con el 8088 y el 8086, microprocesadores que IBM utilizara para su primer ordenador personal. Debido a la buena respuesta de los consumidores por este ordenador se convirti en un estndar y, en consecuencia, tambin sera un estndar el microprocesador de Intel. Muchas empresas lo utilizaran para sus nuevos ordenadores e incluso fabricantes de hardware clonaran a Intel.

  • Los siguientes productos de Intel fueron siempre compatibles con sus predecesores as como los microprocesadores de otros fabricantes. Empresas como IBM, AMD o Apple se han dedicado tambin a fabricar microprocesadores pero estos son compatibles a nivel ensamblador con el juego de instrucciones Intel, al menos hasta los ltimos aos. Durante los primeros aos de la historia de los microprocesadores las aportaciones de otras empresas eran pocas, en la mayora de los casos lo que se fabricaba eran clones de los productos de Intel. AMD, por ejemplo, entr fuerte en el mercado cuando la contrat IBM como segundo fabricante de sus microprocesadores. En los ltimos aos, AMD empieza a crear sus propios modelos ya que se da cuenta de que creando clones de Intel siempre estar por detrs de la gran empresa. Durante el desarrollo de los microprocesadores tambin fueron desarrollndose los lenguajes de programacin. Inicialmente los lenguajes de programacin eran solamente cdigos binarios (por lo que ser programador era una tarea muy difcil). Luego, el procesador era capaz de reconocer dichas instrucciones en cdigo binario (directamente como las pona el programador). Sin embargo, como se mencion en la conferencia de historia de los microprocesadores, se crearon los conocidos mnemonicos, es decir, una palabra especial que iba a sustitur un cdigo binario (por ejemplo MOV en lugar de alguna combinacin binaria como 10100101). As se inici el camino de los compiladores (como lo es JAVA o C# por ejemplo). Poco a poco, fue sustituyndose dicho lenguaje de bajo nivel (representado en su mxima expresin en el assembler antiguo- que es mucho menos entendible que el assembler que se conoce hoy en da- ) hasta llegar a lenguaje completamente entendible y de alto nivel como el que se maneja hoy en da. Adems, la gran mayora de lenguajes de programacin que se manejan hoy en da, estn basados en la arquitectura Von Neumann, por lo que hacen alusin de la memoria principal y de dispositivos de entrada y de salida (adems de los buses de control, datos y direcciones), etc. Por otro lado, se habl en un foro sobre los sistemas operativos (WINDOWS, MAC y LINUX). Gracias a este foro se logr recopilar informacin importante sobre los sistemas operativos en mencin. Sin embargo, lo que se habl relacionado a los compiladores fue sobre los lenguajes de programacin que estn hechos para estas plataformas. Un ejemplo claro de esto es el lenguaje JAVA. El lenguaje Java requiere de una mquina virtual, o dicho de un modo ms coloquial, un "CPU virtual" en el que se ejecuta todo el cdigo que se escribe en el lenguaje (a manera de intrprete). Esto permite que el mismo ejecutable binario pueda ejecutarse en todos los sistemas, apoyado por el software Java, a travs del uso de una mquina virtual Java (JVM). Ejecutables de Java no se ejecutan de forma nativa en el sistema operativo, es decir, ni de Windows, ni Linux ejecutan programas Java directamente.

  • Aunque el cdigo Java no se ejecuta de forma nativa, la JVM es plenamente capaz de proporcionar servicios relacionados con el sistema operativo, como el disco I/O y el acceso a la red, si los privilegios adecuados se conceden. Se hablaron temticas importantes, entre las que se analiza como por ejemplo que Windows dispone de una interfaz grafica que facilita el manejo de los procedimientos: casa comando puede ser visualizado en pantalla mediante una imagen que lo representa. Si bien, es una caracterstica que comparte con otros sistemas, Windows es el Sistema Operativo con mayor difusin en el mercado actual, y su imponente popularidad se torna elemento indispensable para la insercin de todo nuevo usuario al mundo informtico. Sin embargo, es un sistema que se debe comprar y la empresa es la nica propietaria de los cdigos fuente de sus sistemas. En contraposicin, Linux es un sistema gratuito por lo que es posible modificar su cdigo fuente. Adems, por lo mismo que Linux no es comprado no se han hecho casi que ningn virus para dicho Sistema, sin embargo, ya hoy en da hay algunos virus que podran afectarlo (cosa contraria con Windows, donde es casi imposible tener la mquina libre de virus). En el caso de MAC, hay que tomar en cuenta que los sistemas operativos funcionan para mquinas exclusivas de MAC, por lo que su precio es bastante elevado (esto podra ser visto como una desventaja). Sin embargo, algo interesante de MAC es el caso del rendimiento, ya que se ha visto como algo muy bueno de sus sistemas operativos. Al igual que en Linux, la ausencia de virus es una cosa primordial en estos sistemas operativos. Al finalizar con este ensayo, se puede llegar a la conclusin que no se puede dejar pasar por alto el tema de los compiladores o simplemente encapsularlo para un curso (como el que se est llevando en esta ocasin). Para todo ingeniero en informtica y sistemas, el tema de los compiladores es sumamente importante ya que contiene principios de informtica muy importantes que pueden ser utilizados convenientemente al momento de realizar aplicaciones en el campo profesional al momento de aplicar todos los conocimientos aprendidos en la universidad. Vemos que al hablar de microprocesadores no podemos obviar los compiladores, mucho menos al hablar de sistemas operativos. Se debe por lo tanto, tener en cuenta este tema y aprenderlo e investigar sobre l (mantenerse actualizado) para poder innovar (como uno de los objetivos que se trataban de inculcar en el VI simposio de ingeniera de la universidad Rafael Landivar).