Febrero 2011
Contenido
Unidad I. Introducción........................................................................................................................1
1.1 Revisión de modelo Von Neumann..........................................................................................1
Origen............................................................................................................................................1
Organización..................................................................................................................................2
1.2 Del problema al programa cargado..........................................................................................2
1.3 Lenguajes formales...................................................................................................................4
Ejemplos de lenguajes formales.................................................................................................4
Especificación de lenguajes formales.........................................................................................4
1.4 Editores....................................................................................................................................5
1.4.1 De carácter........................................................................................................................5
1.4.2 De línea.............................................................................................................................5
1.4.3 De pantalla........................................................................................................................5
1.5 Lenguajes de programación.....................................................................................................6
1.5.1 Niveles (bajo, intermedio y alto).......................................................................................6
1.5.2 Tipos (intérpretes y compiladores)....................................................................................8
1.5.3 Comparación entre intérpretes y compiladores................................................................8
Bibliografía.........................................................................................................................................9
Índice de Figuras
Figura 1 Arquitectura de Von Neumann.............................................................................................1
Figura 2 Fases para la creación de un programa................................................................................3
IFE-0436 SOFTWARE DE SISTEMAS
Unidad I. Introducción
Origen
El nacimiento u origen de la arquitectura Von Neumann surge a raíz de una colaboración
en el proyecto ENIAC del matemático de origen húngaro, John Von Neumann. Este trabajaba en
1945 en el Laboratorio Nacional Los Álamos cuando se encontró con uno de los constructores de
1
IFE-0436 SOFTWARE DE SISTEMAS
la ENIAC. Compañero de Albert Einstein, Kurt Gödel y Alan Turing en Princeton, Von Neumann se
interesó por el problema de la necesidad de recablear la máquina para cada nueva tarea.
En 1949 había encontrado y desarrollado la solución a este problema, consistente en
poner la información sobre las operaciones a realizar en la misma memoria utilizada para los
datos, escribiéndola de la misma forma, es decir en código binario. Su "EDVAC" fue el modelo de
las computadoras de este tipo construidas a continuación. Se habla desde entonces de la
arquitectura de Von Neumann, aunque también diseñó otras formas de construcción. El primer
computador comercial construido en esta forma fue el UNIVAC I, fabricado en 1951 por la Sperry-
Rand Corporation y comprado por la Oficina del Censo de Estados Unidos.
Organización
Los ordenadores con esta arquitectura constan de cinco partes: La unidad aritmético-
lógica o ALU, la unidad de control, la memoria, un dispositivo de entrada/salida y el bus de datos
que proporciona un medio de transporte de los datos entre las distintas partes.
Un ordenador con esta arquitectura realiza o emula los siguientes pasos secuencialmente:
Enciende el ordenado y obtiene la siguiente instrucción desde la memoria en la dirección
indicada por el contador de programa y la guarda en el registro de instrucción.
Aumenta el contador de programa en la longitud de la instrucción para apuntar a la
siguiente.
Decodifica la instrucción mediante la unidad de control. Ésta se encarga de coordinar el
resto de componentes del ordenador para realizar una función determinada.
Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del programa,
permitiendo así operaciones repetitivas. El contador puede cambiar también cuando se
cumpla una cierta condición aritmética, haciendo que el ordenador pueda 'tomar
decisiones', que pueden alcanzar cualquier grado de complejidad, mediante la aritmética y
lógica anteriores.
Vuelve al paso 1.
2
IFE-0436 SOFTWARE DE SISTEMAS
externas o de biblioteca no quedan resueltas, por lo que todavía, el código objeto no puede ser
ejecutado.
Ligar las llamadas a funciones no resueltas. Este paso se realiza a través de un ligador
(linker), el que se encarga de: a partir de los códigos objeto y de las bibliotecas de rutinas
(conjunto de códigos objetos de las funciones de biblioteca) generar un módulo ejecutable
directamente por el computador (programa ejecutable).
Dependiendo del entorno de trabajo y de las herramientas de desarrollo que se estén
utilizando para la generación de programas, algunos de los pasos anteriores pueden quedar
ocultos a la vista del desarrollador.
3
IFE-0436 SOFTWARE DE SISTEMAS
Las cadenas están formadas por un conjunto de símbolos que pertenecen a un mismo
lenguaje, existen dos formas de componer una sentencia o función con los símbolos:
Sintaxis
Semántica
4
IFE-0436 SOFTWARE DE SISTEMAS
1.4 Editores
Los editores son aplicaciones de software que permiten a los programadores escribir el
texto de los programas en la computadora. A diferencia de los procesadores de palabras, los
editores no permiten algunas características de formato, es decir, no permiten justificar, centrar
texto, ni tipos de letras ni otras características de formato de texto.
1.4.1 De carácter
Editor de Caracteres Privados
Situación: El uso de logos u otros ítems para ser usados en cualquier documento se puede
volver engorroso con los métodos tradicionales.
Recomendación: Windows XP tiene una característica que permite personalizar logos o
cualquier otro ítem para ser utilizado en cualquier documento. El Editor de Caracteres Privados
(Private Character Editor) se puede acceder en digitando “Eudcedit” sin las comillas en la ruta
Inicio/Ejecutar.
Una vez haya construido y guardado el diseño de su selección, puede accederlo a través
del Mapa de Caracteres, al cual se llega por la ruta Inicio/Todos los programas/Accesorios/Mapa
de caracteres
En el tipo de letra se selecciona Todas las Fuentes (caracteres privados) y aparecerán sus
adiciones. Las podrá copiar y pegar en cualquier documento.
1.4.2 De línea
Esta clase de editores fueron los precursores de los editores de pantalla completa.
Permitían al programador editar una sola línea a la vez. El programador debe especificar qué línea
se debe editar.
Hay aún dos editores de líneas que son populares:
vi Es una abreviación para visual. vi es un editor basado en UNIX.
Edlin Es una contracción de Edit lines. Edlin se puede utilizar en una plataforma de MS-
DOS.
1.4.3 De pantalla
Son más fáciles de usar que los editores de líneas, porque los programadores editan
cualquier línea en cualquier momento. Los editores de pantalla completa pueden proporcionar
varias herramientas útiles para los programadores, por ejemplo:
Menús de cortina. En los editores de pantalla completa pueden haber comandos para
hacer alguna tarea específica, estos comandos suelen ordenarse y agruparse en menús
que se despliegan hacia abajo (como una cortina), de modo que el programador no tiene
que aprenderlos de memoria.
Integración con compiladores e intérpretes. La integración de los programas compiladores
e intérpretes con editores, ofrece muchas ventajas para los programadores. Esto significa
que el código puede ser escrito, editado, compilado o interpretado, y ejecutado desde el
mismo programa. Esto difiere de los editores de líneas, donde un programa por separado
desarrolla cada función.
5
IFE-0436 SOFTWARE DE SISTEMAS
Primera generación
6
IFE-0436 SOFTWARE DE SISTEMAS
Segunda generación
El lenguaje de programación de segunda generación (por sus siglas en inglés, 2GL), es el
lenguaje ensamblador. Se considera de segunda generación porque, aunque no es lenguaje nativo
del microprocesador, un programador de lenguaje ensamblador debe entender la arquitectura del
microprocesador (cosas como sus registros e instrucciones).
Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguaje que evitaba los
inconvenientes, a costa de ceder un poco en las ventajas.
Estos lenguajes se llaman “de tercera generación” o “de alto nivel”, en contraposición a los
“de bajo nivel” o “de nivel próximo a la máquina”.
Principales lenguajes de alto nivel: Ada, ALGOL, Basic, C (en realidad es un lenguaje de
medio nivel), C++, CT, Clipper, Cobol, Fortran, Java, Lexico, Logo, Object Pascal, Pascal, Perl, PHP,
PL/SQL, Python, Modula-2, Lenguajes funcionales o Haskell o Lisp.
7
IFE-0436 SOFTWARE DE SISTEMAS
8
IFE-0436 SOFTWARE DE SISTEMAS
Bibliografía
Aviles, J. I. (10 de Octubre de 2007). Mi Tecnológico. Obtenido de
http://www.mitecnologico.com/Main/EditoresDeCaracter