Anda di halaman 1dari 9

LOS PROGRAMAS DEL SISTEMA INDICE: 1.LOS LENGUAJES BINARIO Y ENSAMBLADOR 2.LOS LENGUAJES DE ALTO NIVEL 3.

EL SISTEMA OPERATIVO 4.LOS PROGRAMAS DE APLICACIONES 5.EJEMPLOS DE SISTEMAS OPERATIVOS 6.BIBLIOGRAFIA TEMA 3: LOS PROGRAMAS DEL SISTEMA 1.LOS LENGUAJES BINARIO Y ENSAMBLADOR. Concepto de sistema informtico. Sistema:conjunto de cosas que ordenadamente relacionadas entre s contribuyen a determinado objeto. Un sistema se compone a su vez de otros sistemas. Componentes de un sistema informtico: Hardware y software:El hardware o soporte fsico es todo aquello que podemos tocar: CPU, disco duro, placa, disquetes, monitor, etc. El software o soporte lgico es todo aquello que no es hardware: los programas, ficheros, bases de datos, el sistema operativo, etc. El contenido de un disquete es software mientras que el disquete por s mismo es hardware. El software se estructura en capas, donde cada capa trata de crear una abstraccin para la capa siguiente que as puede tratar con un dispositivo virtual ms sencillo de utilizar. Lenguajes de programacin.:Los ordenadores son mquinas que slo entienden un lenguaje binario, es decir, slo entienden dos estados (encendido y apagado). Conceptualmente podemos considerar que el ordenador est compuesto por millones de interruptores donde cada interruptor puede tomar los valores 1 0, donde 1 significa que pasa corriente por ese interruptor y 0 significa que no pasa. Sin embargo, los seres humanos usamos el lenguaje natural que cuenta con muchos ms smbolos y reglas, que sin embargo no es entendido por el computador. 1

Existen varios tipos de lenguajes de programacin: Lenguajes de bajo nivel lenguaje mquina lenguaje ensamblador Los lenguajes de bajo nivel son aquellos que estn ms prximos al lenguaje que entiende el computador. El lenguaje mquina:es un lenguaje de 1s y 0s que es directamente entendible por el ordenador, es muy engorroso, es fcil cometer errores y difcil detectarlos, depende del hardware. PROBLEMA Estructuras de datos Algoritmo PROGRAMA Anlisis Codificacin Caractersticas de lenguaje maquina: La codificacin en lenguaje mquina implica una laboriosidad y unas grandes posibilidades de error. Otra de sus caractersticas es la portabilidad: un programa de estas caractersticas es absolutamente mquinadependiente. Debido a esta dependencia, es necesario tener un conocimiento profundo de la arquitectura para poder programar. Por ltimo tiene una nula capacidad de abstraccin, el salto que hay que dar entre la concepcin abstracta del programa a resolver, y la expresin de su solucin, utilizando esta nomenclatura, es inmenso. El lenguaje ensamblador: es un lenguaje de etiquetas, donde se sustituye cada instruccin mquina por una etiqueta ms fcil de recordar que un conjunto de 1s y 0s precisa que otro programa traduzca las etiquetas a lenguaje mquina menos engorroso que el lenguaje mquina depende del hardware. El lenguaje aporta una minima capacidad de abstraccin: Los cdigos de operacin tienen nombres nemotcnicos. Las direcciones de memoria donde se encuentran los operandos se pueden representar mediante nombres simblicos (identificador). El ensamblador es un programa que tiene como entrada el programa escrito en lenguaje Ensamblador (programa fuente) y como salida el mismo programa traducido a cdigo mquina. Las tareas fundamentales del programa Ensamblador son dos: 2

Traducir a cdigo binario los cdigos simblicos de operacin: existe una equivalencia uno a uno entre Ensamblador y cdigo maquina. Traducir a direcciones de memoria reales las direcciones simblicas del programa fuente: El programa fuente debe suministrar al Ensamblador la lista de nombres simblicos que el programa manipula y algunas caractersticas de las necesidades de almacenamiento de la informacin a almacenar. Las direcciones reales asignadas por el programa ensamblador, no suelen ser absolutas sino relativas. Ser un segundo programa: el cargador, quien se encargue de transformar dichas direcciones en absolutas. 2.LOS LENGUAJES DE ALTO NIVEL. Los llamados Lenguajes de Alto Nivel son los ms utilizados hoy en da como lenguajes de programacin y fueron desarrollados entre los aos 50 y 60. Pertenecen a esta categora la tercera y la cuarta generacin. Una de las caractersticas de estos lenguajes es que permiten que los algoritmos se expresen en un nivel y estilo de escritura fcilmente legible y comprensible por otros programadores (capacidad de abstraccin), otra de sus caractersticas es la Transportabilidad, es decir, estn implementadas sobre varias mquinas de forma que un programa puede ser fcilmente Transportado (Transferido) de una mquina a otra sin una revisin sustancial. En este sentido son Independientes de la mquina. Algunos ejemplos de estos lenguajes de alto nivel son: PASCAL, APL y FORTRAN = FORmula TRANslation (para aplicaciones cientficas), COBOL = Common Business Oriented Languaje (para aplicaciones de procesamiento de datos), SNOBOL (para aplicaciones de procesamiento de textos), LISP = LISt Procesing y PROLOG (para aplicaciones de inteligencia artificial), C y ADA (para aplicaciones de programacin de sistemas) y PL/I (para aplicaciones de propsitos generales). COMPARACIN Un ejemplo para comprender la diferencia entre los lenguajes de alto nivel y los lenguajes de ms bajo nivel es: un lenguaje de bajo nivel est ms cerca de las caractersticas de un lenguaje tipo mquina en particular, y ms alejado de poder ser comprendido por un humano. Cuanto ms alto es el nivel del lenguaje, ms sencillo es comprenderlo y utilizarlo. Existe tambin una estrecha relacin entre las sentencias en lenguaje de alto nivel y sus formas en lenguaje mquina codificada (lenguaje de bajo nivel). La principal diferencia aqu es que en los lenguajes de alto nivel se utilizan smbolos como: `X', `Y', `Z', `A', etc para sumar, `M' para multiplicar, etc; mientras que en un lenguaje ensamblador o mquina se requieren cdigos numricos del estilo: OC1A4, AV7J9, etc, para que sea comprensible por la mquina. La programacin en un lenguaje de alto nivel requiere, por tanto, algn tipo de interfaz con el lenguaje mquina para que el programa pueda ejecutarse. Las interfaces ms comunes son: un compilador, y un intrprete. El compilador traduce el programa a otro equivalente en el lenguaje `X' de la mquina residente como un paso separado antes de la ejecucin del programa, en cambio, el intrprete ejecuta directamente las instrucciones en un lenguaje `Y' de alto nivel, sin un paso de procesamiento previo. La compilacin es, en general, un proceso ms eficiente que la interpretacin en la mayora de los tipos de mquina, esto se debe principalmente a que las sentencias dentro de un bucle deben ser reinterpretadas cada vez que se ejecutan por un intrprete, con un compilador, cada sentencia es interpretada y luego traducida a lenguaje mquina solo una vez. Algunos lenguajes interpretados son: APL, PROLOG y LISP. El resto de los lenguajes: Pascal, FORTRAN, COBOL, PL/1, SNOBOL, C, Ada y Modula2 son normalmente lenguajes compilados. 3

En algunos casos, un compilador ser utilizable alternativamente para un lenguaje interpretado (como LISP) y un intrprete podr funcionar con un lenguaje compilado (como el interprete SNOBOL4 de los laboratorios Bell). Normalmente la interpretacin es preferible a la compilacin en un entorno de programacin experimental o de educacin, donde cada nueva ejecucin del programa implica un cambio en el propio texto del programa. La calidad de diagnstico y depuracin que soportan los lenguajes interpretados es generalmente mejor que la de los lenguajes compilados, puesto que los mensajes de error se refieren directamente a sentencias del texto del programa original. Adems, la ventaja de la eficiencia que se adjudica tradicionalmente a los lenguajes compilados frente a los interpretados puede ser pronto eliminado, debido a la evolucin de las mquinas cuyos lenguajes son ellos mismos lenguajes de alto nivel, como por ejemplo: las nuevas maquinas LISP, las cuales han sido diseadas recientemente por Symbolics y Xerox Corporations. HISTORIA El programador, diseador e implementador de un lenguaje de programacin debe comprender la evolucin histrica de los lenguajes para poder apreciar por qu presentan caractersticas diferentes. Por ejemplo, los lenguajes ms jvenes desaconsejan (o prohben) el uso de las sentencias GOTO, y esto es correcto en el contexto de las filosofas actuales de ingeniera del software y programacin estructurada. Pero hubo un tiempo en que la sentencia GOTO, combinada con la IF, era la nica estructura de control disponible, ya que el programador no dispona de la construccin WHILE o de un IFTHENELSE . Por tanto, cuando se ve un lenguaje como FORTRAN, el cual tiene sus races en los comienzos de la historia de los lenguajes de programacin, uno no debe sorprenderse de ver la antigua sentencia GOTO dentro de su repertorio. Lo ms importante es que la historia nos permite ver la evolucin de familias de lenguajes de programacin, ver la influencia que ejercen las arquitecturas y aplicaciones de las computadoras sobre el diseo de los lenguajes y evitar futuros defectos de diseo. Los que son estudiados hoy en da se han elegido debido a su mayor influencia y amplio uso entre los programadores, as como por sus distintas caractersticas de diseo e implementacin. Colectivamente cubren los aspectos ms importantes con los que ha de enfrentarse el diseador de lenguajes y la mayora de las aplicaciones con las que se enfrenta el programador. Vemos que FORTRAN I es un ascendente directo de FORTRAN II, mientras que FORTRAN, COBOL, ALGOL 60, LISP, SNOBOL y los lenguajes ensambladores, influyeron en el diseo de PL/1. Tambin hay varios lenguajes que estn prefijados por las letras ANSI. Esto significa que el American National Standards Institute ha adoptado esa versin del lenguaje como el estndar nacional, reforzando as la transportabilidad de los programas de una mquina a otra. Finalmente, la notacin algebraica ordinaria, por ejemplo, influy fuertemente en el diseo de FORTRAN y ALGOL. Por otra parte, el ingls influy en el desarrollo de COBOL. El lambda clculo de Church dio los fundamentos de la notacin funcional de LISP, mientras que el algoritmo de Markov motiv el estilo de reconocimiento de formas de SNOBOL. La arquitectura de computadoras de Von Neumann, la cual fue una evolucin de la mquina de Turing, es el modelo bsico de la mayora de los diseos de computadoras de las ultimas tres dcadas. Esta maquina no solo influy en los primeros lenguajes de programacin sino que tambin suministraron el esqueleto operacional sobre el que evolucion la mayora de la programacin de sistemas. COMPILADORES E INTERPRETES Compilador: Programa que lee las lneas escritas en un lenguaje de alto nivel, tambin llamado cdigo fuente, y las traduce a otro que pueda ejecutar la computadora, tambin llamado cdigo objeto.

Intrprete: Es un traductor que realiza la operacin de compilacin paso a paso. Para cada sentencia que compone el texto de entrada, se realiza una traduccin, ejecuta dicha sentencia y vuelve a iniciar el proceso con la sentencia siguiente. Diferencias: La principal ventaja del proceso de compilacin frente al de interpretacin es que los programas se ejecutan mucho ms rpidamente una vez compilados, debido a que han sido completamente traducidos a lenguaje mquina; por el contrario, es ms cmodo desarrollar un programa mediante un intrprete que mediante un compilador puesto que en el intrprete las fases de edicin y ejecucin estn ms integradas. La depuracin de los programas suele ser ms fcil en los intrpretes que en los compiladores puesto que el cdigo fuente est presente durante la ejecucin. Estas ventajas pueden incorporarse al compilador mediante la utilizacin de entornos de desarrollo y depuradores simblicos en tiempo de ejecucin. PARTES DE UN COMPILADOR Pueden distinguirse dos fases principales: una fase de anlisis, en la cul se lee el programa fuente y se estudia la estructura y el significado del mismo; y otra fase de sntesis, en la que se genera el programa objeto. Adems, en un compilador pueden distinguirse algunas estructuras de datos comunes: la ms importante de ellas es el gestor de tabla, junto con el manipulador de errores. El esquema general de un compilador podra ser el siguiente: Analizador Lxico: Mdulo que transforma el programa fuente en Tokens (unidades de informacin que es capaz de manejar el analizador sintctico). Identifica los smbolos y avisa de posibles errores sobre la forma en la que est escrita el programa. Analizador Sintctico: Mdulo que analiza los Tokens. Comprueba que las sentencias que componen el programa fuente son correctas en el lenguaje que est escrito. Analizador Semntico: Mdulo que se ocupa de analizar si la sentencia tiene algn significado, ya que se pueden encontrar sentencias que son sintcticamente correctas pero que no se pueden ejecutar porque carecen de sentido. Generador de Cdigo Intermedio: Superada la fase de anlisis, se genera un Cdigo Intermedio (generalmente lenguaje ensamblador) para luego crear el cdigo mquina. Optimizador de Cdigo: A partir del Cdigo Intermedio se crea un nuevo cdigo ms compacto y eficiente, eliminando sentencias que no se ejecutan nunca, simplificando expresiones aritmticas, etc... Generador de Cdigo: Es la fase final del compilador. Genera el cdigo objeto, es decir, el ejecutable. 3.EL SISTEMA OPERATIVO. El Sistema Operativo es el soporte lgico que controla el funcionamiento del equipo fsico. Es un conjunto de programas y funciones que ocultan los detalles del hardware, ofreciendo al usuario una via sencilla y flexible de acceso al mismo. Es un programa bsico que corre en un sistema, maneja los componentes del sistema, posee una interfaz comn a las otras aplicaciones, y es el encargado de ejecutar dichas aplicaciones, recibe los comandos de los usuarios. En resumen, Sistema Operativo es el conjunto de Programas que ordenadamente relacionados entre s 5

permiten a los computadores realizar sus tareas, que son principalmente facilitar la tarea del usuario y gestionar de forma eficiente los recursos. La parte central del sistema operativo, est ejecutndose continuamente, por lo que existen dos tipos de ncleo o kernel: Kernel monoltico: contiene gran parte de la funcionalidad del sistema operativo. Microkernel: es un proceso pequeo y el resto de la funcionalidad la dan otros procesos. Existen diferentes tipos de sistemas operativos: Sistemas multitarea: puede realizar varios procesos a la vez; los recursos del sistema de cada proceso estn protegidos, por lo que existe un mecanismo de control de procesos. Sistema multiusuario: permiten que varios usuarios usen el sistema de forma simultnea, es un sistema de pertenencias y permisos sobre archivos y procesos. La interfaz grfica de usuario hace las capacidades grficas del sistema, puede evitar aprender lenguajes de comandos y simplificar el uso de algunas aplicaciones; generalmente esta basada en un dispositivo puntero, como puede ser por ejemplo del ratn. La interfaz grafica fue inventada en los aos 70 por Xerox, pero se hizo popular en los aos 80 con Apple. Actualmente casi todos los sistemas modernos poseen interfaz grafica. 4.LOS PROGRAMAS DE APLICACIONES. Programas de Aplicaciones Son los que resuelven un problema concreto de los usuarios y que no son suministrados con el sistema operativo. Son programas diseados y codificados por analistas y programadores de aplicaciones conjuntamente con los usuarios. Los programas de aplicacin pueden ser por ejemplo: procesadores de texto, hojas de clculo, bases de datos, aplicaciones grficas, Internet, etc. Procesadores de Texto: Son utilizados para escribir cartas, memorndums y otros documentos, El usuario teclea una serie de letras o prrafos, y son mostradas en la pantalla. El usuario puede fcilmente adherir, borrar y cambiar el texto hasta que el documento quede exactamente como se desea. Algunas caractersticas avanzadas que encontramos en la actualidad en los procesadores de texto son: corrector de ortografa, diccionario de sinnimos, presentacin preliminar del texto antes de imprimir. Ejemplos de procesadores de texto: Word, AmiPro, Wordperfect. Hojas de Clculo Una Hoja de Clculo es una herramienta para calcular y evaluar nmeros. Tambin ofrece capacidades para crear informes y presentaciones para comunicar lo que revelan los anlisis; el usuario teclea los datos y las frmulas que sern usadas para obtener los resultados; despus el programa aplica las frmulas a los datos y as obtiene los resultados; una de sus caractersticas mas importantes es la habilidad de preguntar (Condicionales)"what IF" "QUE PASARA SI?", cambiando los datos and rpidamente re calculando los nuevos resultados. La mayora de las Hojas de Clculo cuentan tambin con la posibilidad de graficar estos resultados en 6

diferentes estilos de grficas (Barras, Lneas, Pastel, etc). Ejemplos de Hojas de Clculo: Excel, Lotus 123, Quatro. Bases de Datos: La DBMS (Data Base Management System) es la herramienta que las computadoras utilizan para realizar el procesamiento y almacenamiento ordenado de los datos. Una base de datos es un recipiente para colecciones relacionadas de datos. Por ejemplo, un a agenda puede ser una base de datos donde se almacenan los nombres, direcciones y nmeros telefnicos de amigos y contactos de negocios. La Base de Datos de una Compaa puede contener informacin acerca de los consumidores, vendedores, empleados, venta s en inventario. Ejemplos de Bases de Datos: Access, FoxPro, Approach. Paquetes de Presentacin. Software que permite al usuario disear presentaciones para desplegarlas a travs de la misma computadora o imprimir diapositivas y acetatos. Contienen opciones avanzadas para integrar efectos en cada cambio de diapositiva. Ejemplos: Presentation, Power Point. 5.EJEMPLOS DE SISTEMAS OPERATIVOS. Los ejemplos ms famosos de sistemas operativos, don Windows, MSDOS y Unix. Windows: interfaz grfica de fcil manejo por lo cual, es el mas utilizado actualmente. MSDOS: sistema operativo no grfico que esta en desuso. Unix: Aparece a finales de los 70, Unix ofreci capacidades desconocidas hasta el momento, como puede ser la multitare, multiusuario y portable. Por lo que establece las caractersticas bsicas de los sistemas operativos actuales. La filosofia de Unix es tener aplicaciones sencillas que se combinana entre si, Unix fue el sistema operativo en el que se baso el desarrollo de Internet. Los sistemas operativos actuales: Linux: Linux es un clon de UNIX basado en el modelo de software libre, este solo provee el kernel del sistema. Existen varios grupos y empresas que hacen distribuciones de GNU/Linux, la que contiene un sistema de instalacion y de paquetes de software. Entre estas destacan, Debian, Redhat, Mandrake, Suse etc. Microsoft windows: Sistema operativo multitarea basado en un ambiente grfico, ampliamente usado en sistemas de escritorio Intel, inicialmente basado en DOS, las ltimas versiones estn basadas en un microkernel (NT). Ej. XP, 2000 6.BIBLIOGRAFIA:

Algunas de las paginas que hemos utilizado para obtener la informacin necesaria para la realizacin del trabajo. http://www.monografias.com/trabajos/tendprog/tendprog.shtml http://www.geocities.com/Athens/Temple/2269/001.htm http://www.dlsi.ua.es/~marco/tema3/sld086.htm http://www.deguate.com/infocentros/tecnologia/softwareII/info2.htm http://www.tectimes.com/cda/glosario.asp?texto=C&codpalabra=64 http://www.tectimes.com/cda/glosario.asp?texto=I&codpalabra=152 http://www.lcc.uma.es/docencia/ETSIInf/pl/apuntes/pl1/lecc11.html http://www.iespana.es/canalhanoi/informatica/software.htm http://www.lafacu.com/apuntes/informatica/Sistemas_Operativos_en_Red_y_Distribuidos/ default.htm Programa Fuente F A S E D E A N L I S I S Analizador Lxico 8

Analizador Sintctico Analizador Semntico MANIPULADOR DE ERRORES GESTOR DE TABLA F A S E D E S N T E S I S Generador de Cdigo Intermedio Optimizador de Cdigo Generador de Cdigo Programa Objeto