Introducción Arquitectura y funcionamiento Software y lenguajes de programación Introducción a los Computadores: Estructura del computador CNM-130 Departamento de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia « Copyleft 2010. Reproducción permitida bajo los términos de la licencia de documentación libre GNU. Introducción Arquitectura y funcionamiento Contenido 1 Introducción 2 Arquitectura y funcionamiento 3 Software y lenguajes de programación Software de sistema Software de programación Software de aplicación Terminologı́a básica Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Ábaco chino (500 adC) Realiza operaciones aritméticas Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Ábaco chino (500 adC) Realiza operaciones aritméticas Primera calculadora mecánica Software y lenguajes de programación Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Ábaco chino (500 adC) Realiza operaciones aritméticas Primera calculadora mecánica Suanpan, ábaco chino Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Ábaco chino (500 adC) Realiza operaciones aritméticas Primera calculadora mecánica Suanpan, ábaco chino Pascalina (1642) Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Ábaco chino (500 adC) Realiza operaciones aritméticas Primera calculadora mecánica Suanpan, ábaco chino Pascalina (1642) Calculadora mecánica inventada por Blaise Pascal Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Ábaco chino (500 adC) Realiza operaciones aritméticas Primera calculadora mecánica Suanpan, ábaco chino Pascalina (1642) Calculadora mecánica inventada por Blaise Pascal Suma y resta números de hasta 7 cifras por medio de un mecanismo de ruedas y engranajes Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Ábaco chino (500 adC) Realiza operaciones aritméticas Primera calculadora mecánica Suanpan, ábaco chino Pascalina (1642) Calculadora mecánica inventada por Blaise Pascal Suma y resta números de hasta 7 cifras por medio de un mecanismo de ruedas y engranajes En 1673 Gottfried von Leibniz modifica la pascalina y crea la primera calculadora de propósito general Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Ábaco chino (500 adC) Realiza operaciones aritméticas Primera calculadora mecánica Suanpan, ábaco chino Pascalina (1642) Calculadora mecánica inventada por Blaise Pascal Suma y resta números de hasta 7 cifras por medio de un mecanismo de ruedas y engranajes En 1673 Gottfried von Leibniz modifica la pascalina y crea la primera calculadora de propósito general Pascalina Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Ábaco chino (500 adC) Realiza operaciones aritméticas Primera calculadora mecánica Suanpan, ábaco chino Pascalina (1642) Calculadora mecánica inventada por Blaise Pascal Suma y resta números de hasta 7 cifras por medio de un mecanismo de ruedas y engranajes En 1673 Gottfried von Leibniz modifica la pascalina y crea la primera calculadora de propósito general La tarjeta perforada (1801) Pascalina Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Ábaco chino (500 adC) Realiza operaciones aritméticas Primera calculadora mecánica Suanpan, ábaco chino Pascalina (1642) Calculadora mecánica inventada por Blaise Pascal Suma y resta números de hasta 7 cifras por medio de un mecanismo de ruedas y engranajes En 1673 Gottfried von Leibniz modifica la pascalina y crea la primera calculadora de propósito general La tarjeta perforada (1801) Joseph Marie Jacquard utiliza tarjetas perforadas para manejar agujas de tejer en telares mecánicos Pascalina Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Ábaco chino (500 adC) Realiza operaciones aritméticas Primera calculadora mecánica Suanpan, ábaco chino Pascalina (1642) Calculadora mecánica inventada por Blaise Pascal Suma y resta números de hasta 7 cifras por medio de un mecanismo de ruedas y engranajes En 1673 Gottfried von Leibniz modifica la pascalina y crea la primera calculadora de propósito general La tarjeta perforada (1801) Joseph Marie Jacquard utiliza tarjetas perforadas para manejar agujas de tejer en telares mecánicos Posteriormente Hernan Hollenith utilizó las tarjetas perforadas para almacenar datos en un computador. Pascalina Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Ábaco chino (500 adC) Realiza operaciones aritméticas Primera calculadora mecánica Suanpan, ábaco chino Pascalina (1642) Calculadora mecánica inventada por Blaise Pascal Suma y resta números de hasta 7 cifras por medio de un mecanismo de ruedas y engranajes En 1673 Gottfried von Leibniz modifica la pascalina y crea la primera calculadora de propósito general Pascalina La tarjeta perforada (1801) Joseph Marie Jacquard utiliza tarjetas perforadas para manejar agujas de tejer en telares mecánicos Posteriormente Hernan Hollenith utilizó las tarjetas perforadas para almacenar datos en un computador. Tarjeta perforada Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Ábaco chino (500 adC) Realiza operaciones aritméticas Primera calculadora mecánica Suanpan, ábaco chino Pascalina (1642) Calculadora mecánica inventada por Blaise Pascal Suma y resta números de hasta 7 cifras por medio de un mecanismo de ruedas y engranajes En 1673 Gottfried von Leibniz modifica la pascalina y crea la primera calculadora de propósito general Pascalina La tarjeta perforada (1801) Joseph Marie Jacquard utiliza tarjetas perforadas para manejar agujas de tejer en telares mecánicos Posteriormente Hernan Hollenith utilizó las tarjetas perforadas para almacenar datos en un computador. Tarjeta perforada Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Máquina diferencial (1822) Calculadora mecánica introducida por Charles Babbage para tabular funciones polinómicas Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Máquina diferencial (1822) Calculadora mecánica introducida por Charles Babbage para tabular funciones polinómicas En 1833 Babbage propone el diseño de un computador moderno de uso general (la máquina analı́tica) Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Máquina diferencial (1822) Calculadora mecánica introducida por Charles Babbage para tabular funciones polinómicas En 1833 Babbage propone el diseño de un computador moderno de uso general (la máquina analı́tica) Ada Augusta Lovelace propone utilizar tarjetas perforadas para la máquina de Babbage Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Máquina diferencial (1822) Calculadora mecánica introducida por Charles Babbage para tabular funciones polinómicas En 1833 Babbage propone el diseño de un computador moderno de uso general (la máquina analı́tica) Ada Augusta Lovelace propone utilizar tarjetas perforadas para la máquina de Babbage Réplica de la máquina diferencial Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Máquina diferencial (1822) Calculadora mecánica introducida por Charles Babbage para tabular funciones polinómicas En 1833 Babbage propone el diseño de un computador moderno de uso general (la máquina analı́tica) Ada Augusta Lovelace propone utilizar tarjetas perforadas para la máquina de Babbage Mark I (1944) Réplica de la máquina diferencial Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Máquina diferencial (1822) Calculadora mecánica introducida por Charles Babbage para tabular funciones polinómicas En 1833 Babbage propone el diseño de un computador moderno de uso general (la máquina analı́tica) Ada Augusta Lovelace propone utilizar tarjetas perforadas para la máquina de Babbage Mark I (1944) Construida por Howard H. Aiken en la Universidad de Harvard Réplica de la máquina diferencial Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Máquina diferencial (1822) Calculadora mecánica introducida por Charles Babbage para tabular funciones polinómicas En 1833 Babbage propone el diseño de un computador moderno de uso general (la máquina analı́tica) Ada Augusta Lovelace propone utilizar tarjetas perforadas para la máquina de Babbage Mark I (1944) Construida por Howard H. Aiken en la Universidad de Harvard Empleaba señales electromagnéticas para mover las partes mecánicas Réplica de la máquina diferencial Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Máquina diferencial (1822) Calculadora mecánica introducida por Charles Babbage para tabular funciones polinómicas En 1833 Babbage propone el diseño de un computador moderno de uso general (la máquina analı́tica) Ada Augusta Lovelace propone utilizar tarjetas perforadas para la máquina de Babbage Réplica de la máquina diferencial Mark I (1944) Construida por Howard H. Aiken en la Universidad de Harvard Empleaba señales electromagnéticas para mover las partes mecánicas Mark I Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Máquina diferencial (1822) Calculadora mecánica introducida por Charles Babbage para tabular funciones polinómicas En 1833 Babbage propone el diseño de un computador moderno de uso general (la máquina analı́tica) Ada Augusta Lovelace propone utilizar tarjetas perforadas para la máquina de Babbage Réplica de la máquina diferencial Mark I (1944) Construida por Howard H. Aiken en la Universidad de Harvard Empleaba señales electromagnéticas para mover las partes mecánicas ENIAC (1946) Mark I Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Máquina diferencial (1822) Calculadora mecánica introducida por Charles Babbage para tabular funciones polinómicas En 1833 Babbage propone el diseño de un computador moderno de uso general (la máquina analı́tica) Ada Augusta Lovelace propone utilizar tarjetas perforadas para la máquina de Babbage Réplica de la máquina diferencial Mark I (1944) Construida por Howard H. Aiken en la Universidad de Harvard Empleaba señales electromagnéticas para mover las partes mecánicas ENIAC (1946) Construida por John Presper Eckert y John William Mauchly en la Universidad de Pennsylvania Mark I Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Máquina diferencial (1822) Calculadora mecánica introducida por Charles Babbage para tabular funciones polinómicas En 1833 Babbage propone el diseño de un computador moderno de uso general (la máquina analı́tica) Ada Augusta Lovelace propone utilizar tarjetas perforadas para la máquina de Babbage Réplica de la máquina diferencial Mark I (1944) Construida por Howard H. Aiken en la Universidad de Harvard Empleaba señales electromagnéticas para mover las partes mecánicas ENIAC (1946) Construida por John Presper Eckert y John William Mauchly en la Universidad de Pennsylvania Utilizaba tubos de vacı́o Mark I Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Máquina diferencial (1822) Calculadora mecánica introducida por Charles Babbage para tabular funciones polinómicas En 1833 Babbage propone el diseño de un computador moderno de uso general (la máquina analı́tica) Ada Augusta Lovelace propone utilizar tarjetas perforadas para la máquina de Babbage Réplica de la máquina diferencial Mark I (1944) Construida por Howard H. Aiken en la Universidad de Harvard Empleaba señales electromagnéticas para mover las partes mecánicas Mark I ENIAC (1946) Construida por John Presper Eckert y John William Mauchly en la Universidad de Pennsylvania Utilizaba tubos de vacı́o ENIAC Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Máquina diferencial (1822) Calculadora mecánica introducida por Charles Babbage para tabular funciones polinómicas En 1833 Babbage propone el diseño de un computador moderno de uso general (la máquina analı́tica) Ada Augusta Lovelace propone utilizar tarjetas perforadas para la máquina de Babbage Réplica de la máquina diferencial Mark I (1944) Construida por Howard H. Aiken en la Universidad de Harvard Empleaba señales electromagnéticas para mover las partes mecánicas Mark I ENIAC (1946) Construida por John Presper Eckert y John William Mauchly en la Universidad de Pennsylvania Utilizaba tubos de vacı́o ENIAC Introducción Arquitectura y funcionamiento Historia de los computadores Primera generación (1951–1958) Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Primera generación (1951–1958) Tubos de vacı́o Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Primera generación (1951–1958) Tubos de vacı́o Ingreso de datos por medio de tarjetas perforadas Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Primera generación (1951–1958) Tubos de vacı́o Ingreso de datos por medio de tarjetas perforadas Alto consumo de energı́a y necesidades de ventilación Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Primera generación (1951–1958) Tubos de vacı́o Ingreso de datos por medio de tarjetas perforadas Alto consumo de energı́a y necesidades de ventilación Uso de tambores giratorios para el almacenamiento primario Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Primera generación (1951–1958) Tubos de vacı́o Ingreso de datos por medio de tarjetas perforadas Alto consumo de energı́a y necesidades de ventilación Uso de tambores giratorios para el almacenamiento primario Univac I (universal automatic computer I): Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Primera generación (1951–1958) Tubos de vacı́o Ingreso de datos por medio de tarjetas perforadas Alto consumo de energı́a y necesidades de ventilación Uso de tambores giratorios para el almacenamiento primario Univac I (universal automatic computer I): Primera computadora producida en forma comercial Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Primera generación (1951–1958) Tubos de vacı́o Ingreso de datos por medio de tarjetas perforadas Alto consumo de energı́a y necesidades de ventilación Uso de tambores giratorios para el almacenamiento primario Univac I (universal automatic computer I): Primera computadora producida en forma comercial Utilizada por el departamento de censos norteamericano (1951) Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Primera generación (1951–1958) Tubos de vacı́o Ingreso de datos por medio de tarjetas perforadas Alto consumo de energı́a y necesidades de ventilación Uso de tambores giratorios para el almacenamiento primario Univac I (universal automatic computer I): Primera computadora producida en forma comercial Utilizada por el departamento de censos norteamericano (1951) Crece industria de procesamiento de datos Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Primera generación (1951–1958) Tubos de vacı́o Ingreso de datos por medio de tarjetas perforadas Alto consumo de energı́a y necesidades de ventilación Uso de tambores giratorios para el almacenamiento primario Univac I (universal automatic computer I): Primera computadora producida en forma comercial Utilizada por el departamento de censos norteamericano (1951) Crece industria de procesamiento de datos Surgen FORTRAN y ALGOL Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Primera generación (1951–1958) Tubos de vacı́o Ingreso de datos por medio de tarjetas perforadas Alto consumo de energı́a y necesidades de ventilación Uso de tambores giratorios para el almacenamiento primario Univac I (universal automatic computer I): Primera computadora producida en forma comercial Utilizada por el departamento de censos norteamericano (1951) Crece industria de procesamiento de datos Surgen FORTRAN y ALGOL IBM comienza a construir computadoras Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Primera generación (1951–1958) Tubos de vacı́o Ingreso de datos por medio de tarjetas perforadas Alto consumo de energı́a y necesidades de ventilación Uso de tambores giratorios para el almacenamiento primario Univac I (universal automatic computer I): Primera computadora producida en forma comercial Utilizada por el departamento de censos norteamericano (1951) Crece industria de procesamiento de datos Surgen FORTRAN y ALGOL IBM comienza a construir computadoras Software y lenguajes de programación Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Primera generación (1951–1958) Tubos de vacı́o Ingreso de datos por medio de tarjetas perforadas Alto consumo de energı́a y necesidades de ventilación Consola de Univac I Uso de tambores giratorios para el almacenamiento primario Univac I (universal automatic computer I): Primera computadora producida en forma comercial Tarjeta perforada (FORTRAN) Utilizada por el departamento de censos norteamericano (1951) Crece industria de procesamiento de datos Surgen FORTRAN y ALGOL IBM comienza a construir computadoras Tubo de vacı́o Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Primera generación (1951–1958) Tubos de vacı́o Ingreso de datos por medio de tarjetas perforadas Alto consumo de energı́a y necesidades de ventilación Consola de Univac I Uso de tambores giratorios para el almacenamiento primario Univac I (universal automatic computer I): Primera computadora producida en forma comercial Tarjeta perforada (FORTRAN) Utilizada por el departamento de censos norteamericano (1951) Crece industria de procesamiento de datos Surgen FORTRAN y ALGOL IBM comienza a construir computadoras Tubo de vacı́o Introducción Arquitectura y funcionamiento Historia de los computadores Segunda generación (1959–1964) Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Segunda generación (1959–1964) Transistores Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Segunda generación (1959–1964) Transistores Aumento de velocidad, reducción de espacio Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Segunda generación (1959–1964) Transistores Aumento de velocidad, reducción de espacio Menor consumo de energı́a, reducción de costos Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Segunda generación (1959–1964) Transistores Aumento de velocidad, reducción de espacio Menor consumo de energı́a, reducción de costos Memoria de núcleos magnéticos Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Segunda generación (1959–1964) Transistores Aumento de velocidad, reducción de espacio Menor consumo de energı́a, reducción de costos Memoria de núcleos magnéticos Almacenan información por medio de las propiedades magnéticas de sus componentes Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Segunda generación (1959–1964) Transistores Aumento de velocidad, reducción de espacio Menor consumo de energı́a, reducción de costos Memoria de núcleos magnéticos Almacenan información por medio de las propiedades magnéticas de sus componentes Memoria no volátil Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Segunda generación (1959–1964) Transistores Aumento de velocidad, reducción de espacio Menor consumo de energı́a, reducción de costos Memoria de núcleos magnéticos Almacenan información por medio de las propiedades magnéticas de sus componentes Memoria no volátil Escribir un programa no requiere comprensión plena del hardware Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Segunda generación (1959–1964) Transistores Aumento de velocidad, reducción de espacio Menor consumo de energı́a, reducción de costos Memoria de núcleos magnéticos Almacenan información por medio de las propiedades magnéticas de sus componentes Memoria no volátil Escribir un programa no requiere comprensión plena del hardware IBM vende su primer sistema de disco magnético Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Segunda generación (1959–1964) Transistores Aumento de velocidad, reducción de espacio Menor consumo de energı́a, reducción de costos Memoria de núcleos magnéticos Almacenan información por medio de las propiedades magnéticas de sus componentes Memoria no volátil Escribir un programa no requiere comprensión plena del hardware IBM vende su primer sistema de disco magnético Surgen terminales remotas: unidades que transmiten datos a la máquina a distancia Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Segunda generación (1959–1964) Transistores Aumento de velocidad, reducción de espacio Menor consumo de energı́a, reducción de costos Memoria de núcleos magnéticos Almacenan información por medio de las propiedades magnéticas de sus componentes Memoria no volátil Escribir un programa no requiere comprensión plena del hardware IBM vende su primer sistema de disco magnético Surgen terminales remotas: unidades que transmiten datos a la máquina a distancia Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Segunda generación (1959–1964) Transistores Aumento de velocidad, reducción de espacio Menor consumo de energı́a, reducción de costos Memoria de núcleos magnéticos Almacenan información por medio de las propiedades magnéticas de sus componentes Memoria no volátil Escribir un programa no requiere comprensión plena del hardware IBM vende su primer sistema de disco magnético Surgen terminales remotas: unidades que transmiten datos a la máquina a distancia Software y lenguajes de programación Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Segunda generación (1959–1964) Transistores Aumento de velocidad, reducción de espacio Transistores Menor consumo de energı́a, reducción de costos Memoria de núcleos magnéticos Almacenan información por medio de las propiedades magnéticas de sus componentes Memoria no volátil Memoria de núcleos magnéticos Escribir un programa no requiere comprensión plena del hardware IBM vende su primer sistema de disco magnético Surgen terminales remotas: unidades que transmiten datos a la máquina a distancia IBM 1401 Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Segunda generación (1959–1964) Transistores Aumento de velocidad, reducción de espacio Transistores Menor consumo de energı́a, reducción de costos Memoria de núcleos magnéticos Almacenan información por medio de las propiedades magnéticas de sus componentes Memoria no volátil Memoria de núcleos magnéticos Escribir un programa no requiere comprensión plena del hardware IBM vende su primer sistema de disco magnético Surgen terminales remotas: unidades que transmiten datos a la máquina a distancia IBM 1401 Introducción Arquitectura y funcionamiento Historia de los computadores Tercera generación (1964–1971) Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Tercera generación (1964–1971) Circuitos integrados Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Tercera generación (1964–1971) Circuitos integrados Aumento de velocidad, reducción de tamaño Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Tercera generación (1964–1971) Circuitos integrados Aumento de velocidad, reducción de tamaño Menor consumo de energı́a, reducción de costos Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Tercera generación (1964–1971) Circuitos integrados Aumento de velocidad, reducción de tamaño Menor consumo de energı́a, reducción de costos Flexibilidad de los programas y estandarización de modelos Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Tercera generación (1964–1971) Circuitos integrados Aumento de velocidad, reducción de tamaño Menor consumo de energı́a, reducción de costos Flexibilidad de los programas y estandarización de modelos Surgimiento de sistemas operativos y lenguajes estructurados: Ada y Pascal Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Tercera generación (1964–1971) Circuitos integrados Aumento de velocidad, reducción de tamaño Menor consumo de energı́a, reducción de costos Flexibilidad de los programas y estandarización de modelos Surgimiento de sistemas operativos y lenguajes estructurados: Ada y Pascal Utilización de memorias RAM y ROM Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Tercera generación (1964–1971) Circuitos integrados Aumento de velocidad, reducción de tamaño Menor consumo de energı́a, reducción de costos Flexibilidad de los programas y estandarización de modelos Surgimiento de sistemas operativos y lenguajes estructurados: Ada y Pascal Utilización de memorias RAM y ROM IBM lanza al mercado la serie 360 Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Tercera generación (1964–1971) Circuitos integrados Aumento de velocidad, reducción de tamaño Menor consumo de energı́a, reducción de costos Flexibilidad de los programas y estandarización de modelos Surgimiento de sistemas operativos y lenguajes estructurados: Ada y Pascal Utilización de memorias RAM y ROM IBM lanza al mercado la serie 360 Aparecen las primeras calculadoras de bolsillo Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Tercera generación (1964–1971) Circuitos integrados Aumento de velocidad, reducción de tamaño Menor consumo de energı́a, reducción de costos Flexibilidad de los programas y estandarización de modelos Surgimiento de sistemas operativos y lenguajes estructurados: Ada y Pascal Utilización de memorias RAM y ROM IBM lanza al mercado la serie 360 Aparecen las primeras calculadoras de bolsillo Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Tercera generación (1964–1971) Circuitos integrados Aumento de velocidad, reducción de tamaño Menor consumo de energı́a, reducción de costos Flexibilidad de los programas y estandarización de modelos Surgimiento de sistemas operativos y lenguajes estructurados: Ada y Pascal Utilización de memorias RAM y ROM IBM lanza al mercado la serie 360 Aparecen las primeras calculadoras de bolsillo Software y lenguajes de programación Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Tercera generación (1964–1971) Circuitos integrados Aumento de velocidad, reducción de tamaño Menor consumo de energı́a, reducción de costos Circuito integrado Intel 8742 Flexibilidad de los programas y estandarización de modelos Surgimiento de sistemas operativos y lenguajes estructurados: Ada y Pascal Utilización de memorias RAM y ROM IBM lanza al mercado la serie 360 Aparecen las primeras calculadoras de bolsillo IBM S/360 Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Tercera generación (1964–1971) Circuitos integrados Aumento de velocidad, reducción de tamaño Menor consumo de energı́a, reducción de costos Circuito integrado Intel 8742 Flexibilidad de los programas y estandarización de modelos Surgimiento de sistemas operativos y lenguajes estructurados: Ada y Pascal Utilización de memorias RAM y ROM IBM lanza al mercado la serie 360 Aparecen las primeras calculadoras de bolsillo IBM S/360 Introducción Arquitectura y funcionamiento Historia de los computadores Cuarta generación (1964–1971) Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Cuarta generación (1964–1971) Microprocesadores (circuito integrado independiente) Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Cuarta generación (1964–1971) Microprocesadores (circuito integrado independiente) Reemplazo de memorias con núcleos magnéticos por memorias electrónicas (chips de silicio) Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Cuarta generación (1964–1971) Microprocesadores (circuito integrado independiente) Reemplazo de memorias con núcleos magnéticos por memorias electrónicas (chips de silicio) IBM introduce los discos duros Winchester (estándar de la industria) Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Cuarta generación (1964–1971) Microprocesadores (circuito integrado independiente) Reemplazo de memorias con núcleos magnéticos por memorias electrónicas (chips de silicio) IBM introduce los discos duros Winchester (estándar de la industria) Surgen las microcomputadoras o Computadores Personales (PC´s) Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Cuarta generación (1964–1971) Microprocesadores (circuito integrado independiente) Reemplazo de memorias con núcleos magnéticos por memorias electrónicas (chips de silicio) IBM introduce los discos duros Winchester (estándar de la industria) Surgen las microcomputadoras o Computadores Personales (PC´s) En 1975 William Henry Gates y Paul Allen fundan Microsoft Corporation Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Cuarta generación (1964–1971) Microprocesadores (circuito integrado independiente) Reemplazo de memorias con núcleos magnéticos por memorias electrónicas (chips de silicio) IBM introduce los discos duros Winchester (estándar de la industria) Surgen las microcomputadoras o Computadores Personales (PC´s) En 1975 William Henry Gates y Paul Allen fundan Microsoft Corporation En 1976 Steven Wozniak y Steven Jobs crean Apple Computer Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Cuarta generación (1964–1971) Microprocesadores (circuito integrado independiente) Reemplazo de memorias con núcleos magnéticos por memorias electrónicas (chips de silicio) IBM introduce los discos duros Winchester (estándar de la industria) Surgen las microcomputadoras o Computadores Personales (PC´s) En 1975 William Henry Gates y Paul Allen fundan Microsoft Corporation En 1976 Steven Wozniak y Steven Jobs crean Apple Computer Ken Thompson, Dennis Ritchie y Douglas Mcllroy desarrollan el sistema operativo UNIX Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Cuarta generación (1964–1971) Microprocesadores (circuito integrado independiente) Reemplazo de memorias con núcleos magnéticos por memorias electrónicas (chips de silicio) IBM introduce los discos duros Winchester (estándar de la industria) Surgen las microcomputadoras o Computadores Personales (PC´s) En 1975 William Henry Gates y Paul Allen fundan Microsoft Corporation En 1976 Steven Wozniak y Steven Jobs crean Apple Computer Ken Thompson, Dennis Ritchie y Douglas Mcllroy desarrollan el sistema operativo UNIX Software y lenguajes de programación Introducción Arquitectura y funcionamiento Historia de los computadores Cuarta generación (1964–1971) Microprocesadores (circuito integrado independiente) Reemplazo de memorias con núcleos magnéticos por memorias electrónicas (chips de silicio) IBM introduce los discos duros Winchester (estándar de la industria) Surgen las microcomputadoras o Computadores Personales (PC´s) En 1975 William Henry Gates y Paul Allen fundan Microsoft Corporation En 1976 Steven Wozniak y Steven Jobs crean Apple Computer Ken Thompson, Dennis Ritchie y Douglas Mcllroy desarrollan el sistema operativo UNIX Software y lenguajes de programación Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Cuarta generación (1964–1971) Microprocesadores (circuito integrado independiente) Reemplazo de memorias con núcleos magnéticos por memorias electrónicas (chips de silicio) Intel 4004 IBM introduce los discos duros Winchester (estándar de la industria) Surgen las microcomputadoras o Computadores Personales (PC´s) Disco IBM 3340 En 1975 William Henry Gates y Paul Allen fundan Microsoft Corporation En 1976 Steven Wozniak y Steven Jobs crean Apple Computer Ken Thompson, Dennis Ritchie y Douglas Mcllroy desarrollan el sistema operativo UNIX Apple II Introducción Arquitectura y funcionamiento Software y lenguajes de programación Historia de los computadores Cuarta generación (1964–1971) Microprocesadores (circuito integrado independiente) Reemplazo de memorias con núcleos magnéticos por memorias electrónicas (chips de silicio) Intel 4004 IBM introduce los discos duros Winchester (estándar de la industria) Surgen las microcomputadoras o Computadores Personales (PC´s) Disco IBM 3340 En 1975 William Henry Gates y Paul Allen fundan Microsoft Corporation En 1976 Steven Wozniak y Steven Jobs crean Apple Computer Ken Thompson, Dennis Ritchie y Douglas Mcllroy desarrollan el sistema operativo UNIX Apple II Introducción Arquitectura y funcionamiento Software y lenguajes de programación Resumen Tomado de http://www.youtube.com/watch?v=2r0e8D0DqpA Introducción Arquitectura y funcionamiento Software y lenguajes de programación Conceptos básicos Computador: máquina que manipula datos de acuerdo a un conjunto de instrucciones Los computadores pueden ser programados Introducción Arquitectura y funcionamiento Software y lenguajes de programación Conceptos básicos Computador: máquina que manipula datos de acuerdo a un conjunto de instrucciones Los computadores pueden ser programados El conjunto de instrucciones (programa) puede ser almacenado El programa puede ser ejecutado posteriormente Introducción Arquitectura y funcionamiento Software y lenguajes de programación Conceptos básicos Computador: máquina que manipula datos de acuerdo a un conjunto de instrucciones Los computadores pueden ser programados El conjunto de instrucciones (programa) puede ser almacenado El programa puede ser ejecutado posteriormente Introducción Arquitectura y funcionamiento Software y lenguajes de programación Hardware y Software Hardware: componentes fı́sicos de una computadora Unidad central de proceso Memoria Buses Periférico o dispositivos de entrada/salida (E/S) Introducción Arquitectura y funcionamiento Software y lenguajes de programación Hardware y Software Hardware: componentes fı́sicos de una computadora Unidad central de proceso Memoria Buses Periférico o dispositivos de entrada/salida (E/S) Software: conjunto de programas que controlan el funcionamiento de una computadora Introducción Arquitectura y funcionamiento Software y lenguajes de programación Hardware y Software Hardware: componentes fı́sicos de una computadora Unidad central de proceso Memoria Buses Periférico o dispositivos de entrada/salida (E/S) Software: conjunto de programas que controlan el funcionamiento de una computadora Software de sistema: sistema operativo, compiladores, programas de comunicaciones, bibliotecas estándares Software de aplicaciones: bases de datos, navegadores, hojas de cálculo, procesadores de texto, etc. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Hardware y Software Hardware: componentes fı́sicos de una computadora Unidad central de proceso Memoria Buses Periférico o dispositivos de entrada/salida (E/S) Software: conjunto de programas que controlan el funcionamiento de una computadora Software de sistema: sistema operativo, compiladores, programas de comunicaciones, bibliotecas estándares Software de aplicaciones: bases de datos, navegadores, hojas de cálculo, procesadores de texto, etc. Introducción Arquitectura y funcionamiento Vista computador personal 1 Monitor 2 Placa base 3 Procesador 4 Puertos ATA 5 Memoria principal (RAM) 6 Placas de expansión 7 Fuente eléctrica 8 Unidad de almacenamiento óptico 9 Disco duro 10 Teclado 11 Ratón Software y lenguajes de programación Introducción Arquitectura y funcionamiento Software y lenguajes de programación Arquitectura Eckert-Mauchly Unidad Lógica Aritmética (ULA): realiza operaciones aritméticas y lógicas Unidad de control: interpreta instrucciones y emite órdenes para los demás componentes Introducción Arquitectura y funcionamiento Software y lenguajes de programación Arquitectura Eckert-Mauchly Unidad Lógica Aritmética (ULA): realiza operaciones aritméticas y lógicas Unidad de control: interpreta instrucciones y emite órdenes para los demás componentes Memoria central: dispositivos de almacenamiento de información (ROM y RAM) Introducción Arquitectura y funcionamiento Software y lenguajes de programación Arquitectura Eckert-Mauchly Unidad Lógica Aritmética (ULA): realiza operaciones aritméticas y lógicas Unidad de control: interpreta instrucciones y emite órdenes para los demás componentes Memoria central: dispositivos de almacenamiento de información (ROM y RAM) Dispositivos de entrada y salida (E/S): dispositivos de comunicación con el exterior Introducción Arquitectura y funcionamiento Software y lenguajes de programación Arquitectura Eckert-Mauchly Unidad Lógica Aritmética (ULA): realiza operaciones aritméticas y lógicas Unidad de control: interpreta instrucciones y emite órdenes para los demás componentes Memoria central: dispositivos de almacenamiento de información (ROM y RAM) Dispositivos de entrada y salida (E/S): dispositivos de comunicación con el exterior Introducción Arquitectura y funcionamiento Software y lenguajes de programación Arquitectura Eckert-Mauchly Unidad Lógica Aritmética (ULA): realiza operaciones aritméticas y lógicas Unidad de control: interpreta instrucciones y emite órdenes para los demás componentes Memoria central: dispositivos de almacenamiento de información (ROM y RAM) Dispositivos de entrada y salida (E/S): dispositivos de comunicación con el exterior Introducción Arquitectura y funcionamiento Software y lenguajes de programación Memorias Memoria primaria (memorias de acceso aleatorio) Registros del procesador: memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Memorias Memoria primaria (memorias de acceso aleatorio) Registros del procesador: memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas. Memoria principal: contiene los programas en ejecución y los datos con que operan. La unidad aritmético-lógica (ALU) puede transferir información muy rápidamente entre un registro del procesador y localizaciones del almacenamiento principal (direcciones de memoria). Introducción Arquitectura y funcionamiento Software y lenguajes de programación Memorias Memoria primaria (memorias de acceso aleatorio) Registros del procesador: memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas. Memoria principal: contiene los programas en ejecución y los datos con que operan. La unidad aritmético-lógica (ALU) puede transferir información muy rápidamente entre un registro del procesador y localizaciones del almacenamiento principal (direcciones de memoria). Memoria caché: tipo especial de memoria de acceso rápido. Parte de la información de la memoria principal se duplica en la memoria caché. Cuando se accede por primera vez a un dato, se hace una copia en el caché; los accesos siguientes se realizan a dicha copia, haciendo que el tiempo de acceso medio al dato sea menor. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Memorias Memoria primaria (memorias de acceso aleatorio) Registros del procesador: memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas. Memoria principal: contiene los programas en ejecución y los datos con que operan. La unidad aritmético-lógica (ALU) puede transferir información muy rápidamente entre un registro del procesador y localizaciones del almacenamiento principal (direcciones de memoria). Memoria caché: tipo especial de memoria de acceso rápido. Parte de la información de la memoria principal se duplica en la memoria caché. Cuando se accede por primera vez a un dato, se hace una copia en el caché; los accesos siguientes se realizan a dicha copia, haciendo que el tiempo de acceso medio al dato sea menor. Memoria secundaria (dispositivos de almacenamiento masivo) Conjunto de dispositivos periféricos para el almacenamiento masivo de datos (disquetes, disco duro, unidades pticas, unidades de memoria flash y discos Zip). Introducción Arquitectura y funcionamiento Software y lenguajes de programación Memorias Memoria primaria (memorias de acceso aleatorio) Registros del procesador: memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas. Memoria principal: contiene los programas en ejecución y los datos con que operan. La unidad aritmético-lógica (ALU) puede transferir información muy rápidamente entre un registro del procesador y localizaciones del almacenamiento principal (direcciones de memoria). Memoria caché: tipo especial de memoria de acceso rápido. Parte de la información de la memoria principal se duplica en la memoria caché. Cuando se accede por primera vez a un dato, se hace una copia en el caché; los accesos siguientes se realizan a dicha copia, haciendo que el tiempo de acceso medio al dato sea menor. Memoria secundaria (dispositivos de almacenamiento masivo) Conjunto de dispositivos periféricos para el almacenamiento masivo de datos (disquetes, disco duro, unidades pticas, unidades de memoria flash y discos Zip). Con mayor capacidad que la memoria principal, pero más lenta que ésta. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Memorias Memoria primaria (memorias de acceso aleatorio) Registros del procesador: memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas. Memoria principal: contiene los programas en ejecución y los datos con que operan. La unidad aritmético-lógica (ALU) puede transferir información muy rápidamente entre un registro del procesador y localizaciones del almacenamiento principal (direcciones de memoria). Memoria caché: tipo especial de memoria de acceso rápido. Parte de la información de la memoria principal se duplica en la memoria caché. Cuando se accede por primera vez a un dato, se hace una copia en el caché; los accesos siguientes se realizan a dicha copia, haciendo que el tiempo de acceso medio al dato sea menor. Memoria secundaria (dispositivos de almacenamiento masivo) Conjunto de dispositivos periféricos para el almacenamiento masivo de datos (disquetes, disco duro, unidades pticas, unidades de memoria flash y discos Zip). Con mayor capacidad que la memoria principal, pero más lenta que ésta. Introducción Arquitectura y funcionamiento Memorias Memoria RAM (Random Access Memory) Software y lenguajes de programación Introducción Arquitectura y funcionamiento Memorias Memoria RAM (Random Access Memory) Memoria en la que se puede tanto leer como escribir información Software y lenguajes de programación Introducción Arquitectura y funcionamiento Memorias Memoria RAM (Random Access Memory) Memoria en la que se puede tanto leer como escribir información Los datos almacenados pueden ser accesados en cualquier orden (random) Software y lenguajes de programación Introducción Arquitectura y funcionamiento Software y lenguajes de programación Memorias Memoria RAM (Random Access Memory) Memoria en la que se puede tanto leer como escribir información Los datos almacenados pueden ser accesados en cualquier orden (random) Los datos son retornados independiente de su ubicación fı́sica y de los datos previamente almacenados Introducción Arquitectura y funcionamiento Software y lenguajes de programación Memorias Memoria RAM (Random Access Memory) Memoria en la que se puede tanto leer como escribir información Los datos almacenados pueden ser accesados en cualquier orden (random) Los datos son retornados independiente de su ubicación fı́sica y de los datos previamente almacenados Memoria donde el procesador recibe las instrucciones y guarda los resultados. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Memorias Memoria RAM (Random Access Memory) Memoria en la que se puede tanto leer como escribir información Los datos almacenados pueden ser accesados en cualquier orden (random) Los datos son retornados independiente de su ubicación fı́sica y de los datos previamente almacenados Memoria donde el procesador recibe las instrucciones y guarda los resultados. Memoria volátil: su información se pierde al interrumpirse el flujo de corriente eléctrica Introducción Arquitectura y funcionamiento Software y lenguajes de programación Memorias Memoria RAM (Random Access Memory) Memoria en la que se puede tanto leer como escribir información Los datos almacenados pueden ser accesados en cualquier orden (random) Los datos son retornados independiente de su ubicación fı́sica y de los datos previamente almacenados Memoria donde el procesador recibe las instrucciones y guarda los resultados. Memoria volátil: su información se pierde al interrumpirse el flujo de corriente eléctrica Introducción Arquitectura y funcionamiento Software y lenguajes de programación Memorias Memoria RAM (Random Access Memory) Memoria en la que se puede tanto leer como escribir información Los datos almacenados pueden ser accesados en cualquier orden (random) Los datos son retornados independiente de su ubicación fı́sica y de los datos previamente almacenados Memoria donde el procesador recibe las instrucciones y guarda los resultados. Memoria volátil: su información se pierde al interrumpirse el flujo de corriente eléctrica Memoria ROM (Read Only Memory) Introducción Arquitectura y funcionamiento Software y lenguajes de programación Memorias Memoria RAM (Random Access Memory) Memoria en la que se puede tanto leer como escribir información Los datos almacenados pueden ser accesados en cualquier orden (random) Los datos son retornados independiente de su ubicación fı́sica y de los datos previamente almacenados Memoria donde el procesador recibe las instrucciones y guarda los resultados. Memoria volátil: su información se pierde al interrumpirse el flujo de corriente eléctrica Memoria ROM (Read Only Memory) Destinada sólo a ser leı́da (no se escribible) Introducción Arquitectura y funcionamiento Software y lenguajes de programación Memorias Memoria RAM (Random Access Memory) Memoria en la que se puede tanto leer como escribir información Los datos almacenados pueden ser accesados en cualquier orden (random) Los datos son retornados independiente de su ubicación fı́sica y de los datos previamente almacenados Memoria donde el procesador recibe las instrucciones y guarda los resultados. Memoria volátil: su información se pierde al interrumpirse el flujo de corriente eléctrica Memoria ROM (Read Only Memory) Destinada sólo a ser leı́da (no se escribible) Almacena programas necesarios para iniciar el computador y de diagnóstico Introducción Arquitectura y funcionamiento Software y lenguajes de programación Memorias Memoria RAM (Random Access Memory) Memoria en la que se puede tanto leer como escribir información Los datos almacenados pueden ser accesados en cualquier orden (random) Los datos son retornados independiente de su ubicación fı́sica y de los datos previamente almacenados Memoria donde el procesador recibe las instrucciones y guarda los resultados. Memoria volátil: su información se pierde al interrumpirse el flujo de corriente eléctrica Memoria ROM (Read Only Memory) Destinada sólo a ser leı́da (no se escribible) Almacena programas necesarios para iniciar el computador y de diagnóstico Memoria no volátil: su información se conserva al interrumpirse el flujo de corriente eléctrica Introducción Arquitectura y funcionamiento Software y lenguajes de programación Memorias Memoria RAM (Random Access Memory) Memoria en la que se puede tanto leer como escribir información Los datos almacenados pueden ser accesados en cualquier orden (random) Los datos son retornados independiente de su ubicación fı́sica y de los datos previamente almacenados Memoria donde el procesador recibe las instrucciones y guarda los resultados. Memoria volátil: su información se pierde al interrumpirse el flujo de corriente eléctrica Memoria ROM (Read Only Memory) Destinada sólo a ser leı́da (no se escribible) Almacena programas necesarios para iniciar el computador y de diagnóstico Memoria no volátil: su información se conserva al interrumpirse el flujo de corriente eléctrica Introducción Arquitectura y funcionamiento Software y lenguajes de programación Memorias Memoria RAM (Random Access Memory) Memoria en la que se puede tanto leer como escribir información Los datos almacenados pueden ser accesados en cualquier orden (random) Los datos son retornados independiente de su ubicación fı́sica y de los datos previamente almacenados Memoria donde el procesador recibe las instrucciones y guarda los resultados. Memoria volátil: su información se pierde al interrumpirse el flujo de corriente eléctrica Memoria ROM (Read Only Memory) Destinada sólo a ser leı́da (no se escribible) Almacena programas necesarios para iniciar el computador y de diagnóstico Memoria no volátil: su información se conserva al interrumpirse el flujo de corriente eléctrica Introducción Arquitectura y funcionamiento Software y lenguajes de programación Memorias Memoria RAM (Random Access Memory) Memoria en la que se puede tanto leer como escribir información Los datos almacenados pueden ser accesados en cualquier orden (random) Los datos son retornados independiente de su ubicación fı́sica y de los datos previamente almacenados Memoria donde el procesador recibe las instrucciones y guarda los resultados. Memoria volátil: su información se pierde al interrumpirse el flujo de corriente eléctrica Módulos formato SIMM Memoria ROM (Read Only Memory) Destinada sólo a ser leı́da (no se escribible) Almacena programas necesarios para iniciar el computador y de diagnóstico Memoria no volátil: su información se conserva al interrumpirse el flujo de corriente eléctrica Memoria ROM (BIOS) Introducción Arquitectura y funcionamiento Software y lenguajes de programación Memorias Memoria RAM (Random Access Memory) Memoria en la que se puede tanto leer como escribir información Los datos almacenados pueden ser accesados en cualquier orden (random) Los datos son retornados independiente de su ubicación fı́sica y de los datos previamente almacenados Memoria donde el procesador recibe las instrucciones y guarda los resultados. Memoria volátil: su información se pierde al interrumpirse el flujo de corriente eléctrica Módulos formato SIMM Memoria ROM (Read Only Memory) Destinada sólo a ser leı́da (no se escribible) Almacena programas necesarios para iniciar el computador y de diagnóstico Memoria no volátil: su información se conserva al interrumpirse el flujo de corriente eléctrica Memoria ROM (BIOS) Introducción Arquitectura y funcionamiento Software y lenguajes de programación Dispositivos auxiliares y periféricos Disco duro: sistema de grabación magnética digital que almacena los datos del usuario y en la mayorı́a de los casos el sistema operativo de la computadora. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Dispositivos auxiliares y periféricos Disco duro: sistema de grabación magnética digital que almacena los datos del usuario y en la mayorı́a de los casos el sistema operativo de la computadora. Monitor: dispositivo de salida que muestra, mediante una interfaz, los resultados del procesamiento de una computadora. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Dispositivos auxiliares y periféricos Disco duro: sistema de grabación magnética digital que almacena los datos del usuario y en la mayorı́a de los casos el sistema operativo de la computadora. Monitor: dispositivo de salida que muestra, mediante una interfaz, los resultados del procesamiento de una computadora. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Dispositivos auxiliares y periféricos Disco duro: sistema de grabación magnética digital que almacena los datos del usuario y en la mayorı́a de los casos el sistema operativo de la computadora. Monitor: dispositivo de salida que muestra, mediante una interfaz, los resultados del procesamiento de una computadora. Teclado: periférico, fı́sico o virtual utilizado para la introducción de órdenes y datos. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Dispositivos auxiliares y periféricos Disco duro: sistema de grabación magnética digital que almacena los datos del usuario y en la mayorı́a de los casos el sistema operativo de la computadora. Monitor: dispositivo de salida que muestra, mediante una interfaz, los resultados del procesamiento de una computadora. Teclado: periférico, fı́sico o virtual utilizado para la introducción de órdenes y datos. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Dispositivos auxiliares y periféricos Disco duro: sistema de grabación magnética digital que almacena los datos del usuario y en la mayorı́a de los casos el sistema operativo de la computadora. Monitor: dispositivo de salida que muestra, mediante una interfaz, los resultados del procesamiento de una computadora. Teclado: periférico, fı́sico o virtual utilizado para la introducción de órdenes y datos. Ratón: periférico utilizado para la entrada y el control de datos. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Dispositivos auxiliares y periféricos Disco duro: sistema de grabación magnética digital que almacena los datos del usuario y en la mayorı́a de los casos el sistema operativo de la computadora. Monitor: dispositivo de salida que muestra, mediante una interfaz, los resultados del procesamiento de una computadora. Teclado: periférico, fı́sico o virtual utilizado para la introducción de órdenes y datos. Ratón: periférico utilizado para la entrada y el control de datos. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Dispositivos auxiliares y periféricos Disco duro: sistema de grabación magnética digital que almacena los datos del usuario y en la mayorı́a de los casos el sistema operativo de la computadora. Monitor: dispositivo de salida que muestra, mediante una interfaz, los resultados del procesamiento de una computadora. Teclado: periférico, fı́sico o virtual utilizado para la introducción de órdenes y datos. Ratón: periférico utilizado para la entrada y el control de datos. Impresora: produce copias permanente en papel de textos o gráficos de documentos almacenados en formato electrónico. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Dispositivos auxiliares y periféricos Disco duro: sistema de grabación magnética digital que almacena los datos del usuario y en la mayorı́a de los casos el sistema operativo de la computadora. Monitor: dispositivo de salida que muestra, mediante una interfaz, los resultados del procesamiento de una computadora. Teclado: periférico, fı́sico o virtual utilizado para la introducción de órdenes y datos. Ratón: periférico utilizado para la entrada y el control de datos. Impresora: produce copias permanente en papel de textos o gráficos de documentos almacenados en formato electrónico. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de sistema: permite que el hardware funcione. Sistemas operativos: conjunto de programas destinados a permitir una administración eficaz de los recursos del computador. Se estima que Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de sistema: permite que el hardware funcione. Sistemas operativos: conjunto de programas destinados a permitir una administración eficaz de los recursos del computador. Se estima que Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de sistema: permite que el hardware funcione. Sistemas operativos: conjunto de programas destinados a permitir una administración eficaz de los recursos del computador. Se estima que Controladores de dispositivo: programas informáticos que permiten al sistema operativo interactuar con los periféricos. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de sistema: permite que el hardware funcione. Sistemas operativos: conjunto de programas destinados a permitir una administración eficaz de los recursos del computador. Se estima que Controladores de dispositivo: programas informáticos que permiten al sistema operativo interactuar con los periféricos. Herramientas de diagnóstico: monitorea y controla la funcionalidad del hardware. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de sistema: permite que el hardware funcione. Sistemas operativos: conjunto de programas destinados a permitir una administración eficaz de los recursos del computador. Se estima que Controladores de dispositivo: programas informáticos que permiten al sistema operativo interactuar con los periféricos. Herramientas de diagnóstico: monitorea y controla la funcionalidad del hardware. Servidores: programas que realizan algunas tareas en beneficio de otras aplicaciones llamadas “clientes”. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de sistema: permite que el hardware funcione. Sistemas operativos: conjunto de programas destinados a permitir una administración eficaz de los recursos del computador. Se estima que Controladores de dispositivo: programas informáticos que permiten al sistema operativo interactuar con los periféricos. Herramientas de diagnóstico: monitorea y controla la funcionalidad del hardware. Servidores: programas que realizan algunas tareas en beneficio de otras aplicaciones llamadas “clientes”. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos. Editores de texto: programas que permiten crear y modificar archivos digitales compuestos únicamente por texto y sin formato. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos. Editores de texto: programas que permiten crear y modificar archivos digitales compuestos únicamente por texto y sin formato. Compiladores: programas que traducen un programa escrito en un lenguaje de programación a otro lenguaje que la máquina será capaz de interpretar. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos. Editores de texto: programas que permiten crear y modificar archivos digitales compuestos únicamente por texto y sin formato. Compiladores: programas que traducen un programa escrito en un lenguaje de programación a otro lenguaje que la máquina será capaz de interpretar. Intérpretes: programas escritos en lenguajes de alto nivel capaces analizar y ejecutar otros programas. A diferencia de los compiladores, los intérpretes traducen el programa a medida que lo ejecutan. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos. Editores de texto: programas que permiten crear y modificar archivos digitales compuestos únicamente por texto y sin formato. Compiladores: programas que traducen un programa escrito en un lenguaje de programación a otro lenguaje que la máquina será capaz de interpretar. Intérpretes: programas escritos en lenguajes de alto nivel capaces analizar y ejecutar otros programas. A diferencia de los compiladores, los intérpretes traducen el programa a medida que lo ejecutan. Enlazadores: programas que toman los archivos de código objeto generados durante el proceso de compilación y los enlaza con bibliotécas para generar un archivo ejecutable. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos. Editores de texto: programas que permiten crear y modificar archivos digitales compuestos únicamente por texto y sin formato. Compiladores: programas que traducen un programa escrito en un lenguaje de programación a otro lenguaje que la máquina será capaz de interpretar. Intérpretes: programas escritos en lenguajes de alto nivel capaces analizar y ejecutar otros programas. A diferencia de los compiladores, los intérpretes traducen el programa a medida que lo ejecutan. Enlazadores: programas que toman los archivos de código objeto generados durante el proceso de compilación y los enlaza con bibliotécas para generar un archivo ejecutable. Depuradores: programas que limpian los errores de otros programas informáticos. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos. Editores de texto: programas que permiten crear y modificar archivos digitales compuestos únicamente por texto y sin formato. Compiladores: programas que traducen un programa escrito en un lenguaje de programación a otro lenguaje que la máquina será capaz de interpretar. Intérpretes: programas escritos en lenguajes de alto nivel capaces analizar y ejecutar otros programas. A diferencia de los compiladores, los intérpretes traducen el programa a medida que lo ejecutan. Enlazadores: programas que toman los archivos de código objeto generados durante el proceso de compilación y los enlaza con bibliotécas para generar un archivo ejecutable. Depuradores: programas que limpian los errores de otros programas informáticos. Entornos de Desarrollo Integrados (IDE): agrupan a las anteriores herramientas, usualmente en un entorno visual, de forma que el programador no necesite introducir múltiples comandos para compilar, interpretar, depurar, etc. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos. Editores de texto: programas que permiten crear y modificar archivos digitales compuestos únicamente por texto y sin formato. Compiladores: programas que traducen un programa escrito en un lenguaje de programación a otro lenguaje que la máquina será capaz de interpretar. Intérpretes: programas escritos en lenguajes de alto nivel capaces analizar y ejecutar otros programas. A diferencia de los compiladores, los intérpretes traducen el programa a medida que lo ejecutan. Enlazadores: programas que toman los archivos de código objeto generados durante el proceso de compilación y los enlaza con bibliotécas para generar un archivo ejecutable. Depuradores: programas que limpian los errores de otros programas informáticos. Entornos de Desarrollo Integrados (IDE): agrupan a las anteriores herramientas, usualmente en un entorno visual, de forma que el programador no necesite introducir múltiples comandos para compilar, interpretar, depurar, etc. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de aplicación: permite a los usuarios llevar a cabo una o varias tareas especı́ficas, en cualquier campo de actividad susceptible de ser automatizado o asistido. Aplicaciones ofimáticas: conjunto de programas para el uso en oficinas y entornos profesionales. Incluyen procesadores de texto, hojas de cálculo, programas de presentación, sistemas de gestiòn de bases de datos, etc. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de aplicación: permite a los usuarios llevar a cabo una o varias tareas especı́ficas, en cualquier campo de actividad susceptible de ser automatizado o asistido. Aplicaciones ofimáticas: conjunto de programas para el uso en oficinas y entornos profesionales. Incluyen procesadores de texto, hojas de cálculo, programas de presentación, sistemas de gestiòn de bases de datos, etc. Software educativo: software destinado a la enseñanza y el auto aprendizaje. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de aplicación: permite a los usuarios llevar a cabo una o varias tareas especı́ficas, en cualquier campo de actividad susceptible de ser automatizado o asistido. Aplicaciones ofimáticas: conjunto de programas para el uso en oficinas y entornos profesionales. Incluyen procesadores de texto, hojas de cálculo, programas de presentación, sistemas de gestiòn de bases de datos, etc. Software educativo: software destinado a la enseñanza y el auto aprendizaje. Software médico: software utilizado para fines médicos. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de aplicación: permite a los usuarios llevar a cabo una o varias tareas especı́ficas, en cualquier campo de actividad susceptible de ser automatizado o asistido. Aplicaciones ofimáticas: conjunto de programas para el uso en oficinas y entornos profesionales. Incluyen procesadores de texto, hojas de cálculo, programas de presentación, sistemas de gestiòn de bases de datos, etc. Software educativo: software destinado a la enseñanza y el auto aprendizaje. Software médico: software utilizado para fines médicos. Software de cálculo numérico: programas que simulan procesos matemáticos complejos que describen fenómenos reales. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de aplicación: permite a los usuarios llevar a cabo una o varias tareas especı́ficas, en cualquier campo de actividad susceptible de ser automatizado o asistido. Aplicaciones ofimáticas: conjunto de programas para el uso en oficinas y entornos profesionales. Incluyen procesadores de texto, hojas de cálculo, programas de presentación, sistemas de gestiòn de bases de datos, etc. Software educativo: software destinado a la enseñanza y el auto aprendizaje. Software médico: software utilizado para fines médicos. Software de cálculo numérico: programas que simulan procesos matemáticos complejos que describen fenómenos reales. Software de diseño asistido (CAD): herramientas computacionales que asisten a ingenieros, arquitectos y a otros profesionales del diseño en sus respectivas actividades. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de aplicación: permite a los usuarios llevar a cabo una o varias tareas especı́ficas, en cualquier campo de actividad susceptible de ser automatizado o asistido. Aplicaciones ofimáticas: conjunto de programas para el uso en oficinas y entornos profesionales. Incluyen procesadores de texto, hojas de cálculo, programas de presentación, sistemas de gestiòn de bases de datos, etc. Software educativo: software destinado a la enseñanza y el auto aprendizaje. Software médico: software utilizado para fines médicos. Software de cálculo numérico: programas que simulan procesos matemáticos complejos que describen fenómenos reales. Software de diseño asistido (CAD): herramientas computacionales que asisten a ingenieros, arquitectos y a otros profesionales del diseño en sus respectivas actividades. Software de Control Numérico (CAM): programas destinados a controlar las fases de manufactura de un producto, incluyendo la planeación del proceso y la producción, maquinado, calendarización, administración y control de calidad. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación del software Software de aplicación: permite a los usuarios llevar a cabo una o varias tareas especı́ficas, en cualquier campo de actividad susceptible de ser automatizado o asistido. Aplicaciones ofimáticas: conjunto de programas para el uso en oficinas y entornos profesionales. Incluyen procesadores de texto, hojas de cálculo, programas de presentación, sistemas de gestiòn de bases de datos, etc. Software educativo: software destinado a la enseñanza y el auto aprendizaje. Software médico: software utilizado para fines médicos. Software de cálculo numérico: programas que simulan procesos matemáticos complejos que describen fenómenos reales. Software de diseño asistido (CAD): herramientas computacionales que asisten a ingenieros, arquitectos y a otros profesionales del diseño en sus respectivas actividades. Software de Control Numérico (CAM): programas destinados a controlar las fases de manufactura de un producto, incluyendo la planeación del proceso y la producción, maquinado, calendarización, administración y control de calidad. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Programa: conjunto de instrucciones escritas en forma codificada que el computador puede traducir a su propio lenguaje. Estas instrucciones le dicen al computador qué operaciones ejecutar y en qué orden. Código fuente: tipo de programa escrito por un programador en algún lenguaje de programación, pero que no es directamente ejecutable por el computador, sino que debe ser traducido a otro lenguaje (el lenguaje de máquina o código objeto) que pueda ser ejecutado por el hardware del computador. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Programa: conjunto de instrucciones escritas en forma codificada que el computador puede traducir a su propio lenguaje. Estas instrucciones le dicen al computador qué operaciones ejecutar y en qué orden. Código fuente: tipo de programa escrito por un programador en algún lenguaje de programación, pero que no es directamente ejecutable por el computador, sino que debe ser traducido a otro lenguaje (el lenguaje de máquina o código objeto) que pueda ser ejecutado por el hardware del computador. Programa Objeto: programa que resulta de la traducción del lenguaje fuente (código fuente) a un lenguaje de máquina, es decir a aquel que es inteligible por el computador. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Programa: conjunto de instrucciones escritas en forma codificada que el computador puede traducir a su propio lenguaje. Estas instrucciones le dicen al computador qué operaciones ejecutar y en qué orden. Código fuente: tipo de programa escrito por un programador en algún lenguaje de programación, pero que no es directamente ejecutable por el computador, sino que debe ser traducido a otro lenguaje (el lenguaje de máquina o código objeto) que pueda ser ejecutado por el hardware del computador. Programa Objeto: programa que resulta de la traducción del lenguaje fuente (código fuente) a un lenguaje de máquina, es decir a aquel que es inteligible por el computador. Intérpretes: programas que traducen las instrucciones de un programa escrito en algún lenguaje de programación, en una secuencia de instrucciones de máquina (lenguaje de máquina). El intérprete traduce las instrucciones del programa fuente una por una y las ejecuta inmediatamente. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Programa: conjunto de instrucciones escritas en forma codificada que el computador puede traducir a su propio lenguaje. Estas instrucciones le dicen al computador qué operaciones ejecutar y en qué orden. Código fuente: tipo de programa escrito por un programador en algún lenguaje de programación, pero que no es directamente ejecutable por el computador, sino que debe ser traducido a otro lenguaje (el lenguaje de máquina o código objeto) que pueda ser ejecutado por el hardware del computador. Programa Objeto: programa que resulta de la traducción del lenguaje fuente (código fuente) a un lenguaje de máquina, es decir a aquel que es inteligible por el computador. Intérpretes: programas que traducen las instrucciones de un programa escrito en algún lenguaje de programación, en una secuencia de instrucciones de máquina (lenguaje de máquina). El intérprete traduce las instrucciones del programa fuente una por una y las ejecuta inmediatamente. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Compilador: al igual que los intérpretes, los compiladores traducen un programa escrito en algún lenguaje de programación en una secuencia de instrucciones de máquina (lenguaje de máquina) que se pueden ejecutar. A diferencia de los intérpretes, el compilador sólo traduce: Un programa que ha sido compilado puede correr por si solo, pues en el proceso de compilación se lo transforma en otro lenguaje (lenguaje máquina). Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Compilador: al igual que los intérpretes, los compiladores traducen un programa escrito en algún lenguaje de programación en una secuencia de instrucciones de máquina (lenguaje de máquina) que se pueden ejecutar. A diferencia de los intérpretes, el compilador sólo traduce: Un programa que ha sido compilado puede correr por si solo, pues en el proceso de compilación se lo transforma en otro lenguaje (lenguaje máquina). Un intérprete traduce el programa cuando lo lee, convirtiendo el código del programa directamente en acciones. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Compilador: al igual que los intérpretes, los compiladores traducen un programa escrito en algún lenguaje de programación en una secuencia de instrucciones de máquina (lenguaje de máquina) que se pueden ejecutar. A diferencia de los intérpretes, el compilador sólo traduce: Un programa que ha sido compilado puede correr por si solo, pues en el proceso de compilación se lo transforma en otro lenguaje (lenguaje máquina). Un intérprete traduce el programa cuando lo lee, convirtiendo el código del programa directamente en acciones. La ventaja del intérprete es que dado cualquier programa es posible interpretarlo en cualquier plataforma (sistema operativo), en cambio el archivo generado por el compilador sólo funciona en la plataforma que fue creado. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Compilador: al igual que los intérpretes, los compiladores traducen un programa escrito en algún lenguaje de programación en una secuencia de instrucciones de máquina (lenguaje de máquina) que se pueden ejecutar. A diferencia de los intérpretes, el compilador sólo traduce: Un programa que ha sido compilado puede correr por si solo, pues en el proceso de compilación se lo transforma en otro lenguaje (lenguaje máquina). Un intérprete traduce el programa cuando lo lee, convirtiendo el código del programa directamente en acciones. La ventaja del intérprete es que dado cualquier programa es posible interpretarlo en cualquier plataforma (sistema operativo), en cambio el archivo generado por el compilador sólo funciona en la plataforma que fue creado. Un archivo compilado puede ser distribuido fácilmente conociendo la plataforma, mientras que un archivo interpretado no funciona si no se tiene el intérprete. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Compilador: al igual que los intérpretes, los compiladores traducen un programa escrito en algún lenguaje de programación en una secuencia de instrucciones de máquina (lenguaje de máquina) que se pueden ejecutar. A diferencia de los intérpretes, el compilador sólo traduce: Un programa que ha sido compilado puede correr por si solo, pues en el proceso de compilación se lo transforma en otro lenguaje (lenguaje máquina). Un intérprete traduce el programa cuando lo lee, convirtiendo el código del programa directamente en acciones. La ventaja del intérprete es que dado cualquier programa es posible interpretarlo en cualquier plataforma (sistema operativo), en cambio el archivo generado por el compilador sólo funciona en la plataforma que fue creado. Un archivo compilado puede ser distribuido fácilmente conociendo la plataforma, mientras que un archivo interpretado no funciona si no se tiene el intérprete. La velocidad de ejecución de un archivo compilado es de 10 a 20 veces superior a la de un archivo interpretado. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Compilador: al igual que los intérpretes, los compiladores traducen un programa escrito en algún lenguaje de programación en una secuencia de instrucciones de máquina (lenguaje de máquina) que se pueden ejecutar. A diferencia de los intérpretes, el compilador sólo traduce: Un programa que ha sido compilado puede correr por si solo, pues en el proceso de compilación se lo transforma en otro lenguaje (lenguaje máquina). Un intérprete traduce el programa cuando lo lee, convirtiendo el código del programa directamente en acciones. La ventaja del intérprete es que dado cualquier programa es posible interpretarlo en cualquier plataforma (sistema operativo), en cambio el archivo generado por el compilador sólo funciona en la plataforma que fue creado. Un archivo compilado puede ser distribuido fácilmente conociendo la plataforma, mientras que un archivo interpretado no funciona si no se tiene el intérprete. La velocidad de ejecución de un archivo compilado es de 10 a 20 veces superior a la de un archivo interpretado. Introducción Arquitectura y funcionamiento Clasificación de los lenguajes . . . Según su nivel de abstracción Según la forma de ejecución Según el paradigma Software y lenguajes de programación Introducción Arquitectura y funcionamiento Clasificación de los lenguajes . . . Según su nivel de abstracción Lenguajes Máquina Lenguajes de bajo nivel Lenguajes de medio nivel Lenguajes de alto nivel Según la forma de ejecución Según el paradigma Software y lenguajes de programación Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación de los lenguajes . . . Según su nivel de abstracción Lenguajes Máquina Lenguajes de bajo nivel Lenguajes de medio nivel Lenguajes de alto nivel Según la forma de ejecución Según el paradigma Lenguajes Máquina Conjunto de instrucciones que puede ejecutar el computador (CPU). Está compuesto por un conjunto de instrucciones binarias (0 y 1) ejecutadas en secuencia. Representan acciones (“on”, “off”) que la máquina podrı́a realizar. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación de los lenguajes . . . Según su nivel de abstracción Lenguajes Máquina Lenguajes de bajo nivel Lenguajes de medio nivel Lenguajes de alto nivel Según la forma de ejecución Según el paradigma Lenguajes de bajo nivel Proporciona poca o ninguna abstracción del microprocesador del computador. Es “bajo” por ofrecer una reducida abstracción entre el lenguaje y el hardware Máxima velocidad con mı́nimo uso de memoria. Requiere conocer en detalle la arquitectura de la máquina. Ejemplo: el lenguaje ensamblador. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación de los lenguajes . . . Según su nivel de abstracción Lenguajes Máquina Lenguajes de bajo nivel Lenguajes de medio nivel Lenguajes de alto nivel Según la forma de ejecución Según el paradigma Lenguajes de medio nivel Presenta caracterı́sticas que los acercan a los lenguajes de bajo nivel. Posee cualidades que lo hacen un lenguaje más cercano al humano y, por tanto, de alto nivel. Expertos consideran al lenguaje C, un lenguaje de medio nivel. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación de los lenguajes . . . Según su nivel de abstracción Lenguajes Máquina Lenguajes de bajo nivel Lenguajes de medio nivel Lenguajes de alto nivel Según la forma de ejecución Según el paradigma Lenguajes de alto nivel De fácil comprensión por estar formado por elementos de lenguajes naturales como el inglés. Diseñado más para la capacidad cognitiva humana, en lugar de la capacidad ejecutora de las máquinas. Ejemplos: Basic, Fortran, COBOL. Introducción Arquitectura y funcionamiento Clasificación de los lenguajes . . . Según su nivel de abstracción Según la forma de ejecución Lenguajes compilados Lenguajes interpretados Según el paradigma Software y lenguajes de programación Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación de los lenguajes . . . Según su nivel de abstracción Según la forma de ejecución Lenguajes compilados Lenguajes interpretados Según el paradigma Lenguajes compilados Son traducidos partir de su código fuente por medio de un compilador. El archivo generado es ejecutable para una determinada plataforma. Ejemplos: Fortran, Pascal, la familia de lenguajes de C, incluyendo C++ y Objective C pero no Java. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación de los lenguajes . . . Según su nivel de abstracción Según la forma de ejecución Lenguajes compilados Lenguajes interpretados Según el paradigma Lenguajes interpretados Son ejecutado por medio de un intérprete. Las instrucciones se traducen o interpretan una a una siendo tpicamente unas 10 veces más lentos que los programas compilados. Ejemplos: Lisp, Bash, Basic. Introducción Arquitectura y funcionamiento Clasificación de los lenguajes . . . Según su nivel de abstracción Según la forma de ejecución Según el paradigma Paradigma imperativo o por procedimientos Paradigma funcional Paradigma lógico Paradigma orientado a objetos Software y lenguajes de programación Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación de los lenguajes . . . Según su nivel de abstracción Según la forma de ejecución Según el paradigma Paradigma imperativo o por procedimientos Paradigma funcional Paradigma lógico Paradigma orientado a objetos Paradigma imperativo Conjunto de instrucciones que el computador debe ejecutar. Enfoque que describe la programación en términos del estado del programa y sentencias que cambian dicho estado. Los programas imperativos le indican al computador cómo realizar una tarea. La implementación de hardware de la mayorı́a de computadores es imperativa. Ejemplos: BASIC, C, C++, Fortran, Pascal, Java, Perl, PHP. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación de los lenguajes . . . Según su nivel de abstracción Según la forma de ejecución Según el paradigma Paradigma imperativo o por procedimientos Paradigma funcional Paradigma lógico Paradigma orientado a objetos Paradigma funcional Enfoque de programación declarativo basado en la utilización de funciones matemáticas. Hace énfasis en la aplicación de funciones, en contraste con el concepto de estado del cómputo (paradigma imperativo) No es necesario bajar al nivel de la máquina para describir el proceso llevado a cabo por el programa. Ejemplos: La familia de lenguajes LISP (en particular Scheme), ML o Haskell, R. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación de los lenguajes . . . Según su nivel de abstracción Según la forma de ejecución Según el paradigma Paradigma imperativo o por procedimientos Paradigma funcional Paradigma lógico Paradigma orientado a objetos Paradigma lógico Forma parte de los paradigmas declarativos en los que se especfica qué deberı́a hacer el computador y no cómo. Tiene como caracterstica principal la aplicación de las reglas de la lógica para inferir conclusiones a partir de datos. El PROLOG es el lenguaje emblemático del paradigma. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Clasificación de los lenguajes . . . Según su nivel de abstracción Según la forma de ejecución Según el paradigma Paradigma imperativo o por procedimientos Paradigma funcional Paradigma lógico Paradigma orientado a objetos Paradigma orientado a objetos Estilo de programación que utiliza objetos como bloque fundamental de construcción. Los bloques son un conjunto complejo de datos (atributos) y funciones (métodos) que poseen una determinada estructura y forman parte de una organización. Los atributos definen el estado del objeto; los métodos, su comportamiento. Ejemplos: Visual Basic, C++, PHP. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Bits y Bytes Bit: dı́gito binario que toma como posible valor 0 ó 1. El bit es la unidad mı́nima de almacenamiento empleada en informática. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Bits y Bytes Bit: dı́gito binario que toma como posible valor 0 ó 1. El bit es la unidad mı́nima de almacenamiento empleada en informática. Un bit representa dos posibles estados: “encendido” (1) o “apagado” (0), “verdadero” o “falso”, “abierto” o “cerrado”, “presencia” o “ausencia” de energı́a, etc. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Bits y Bytes Bit: dı́gito binario que toma como posible valor 0 ó 1. El bit es la unidad mı́nima de almacenamiento empleada en informática. Un bit representa dos posibles estados: “encendido” (1) o “apagado” (0), “verdadero” o “falso”, “abierto” o “cerrado”, “presencia” o “ausencia” de energı́a, etc. Con un bit sólo es posible representar dos valores. Para representar o codificar más información en un dispositivo digital, es neceario usar una mayor cantidad de bits. Con 2 bits por ejemplo: Introducción Arquitectura y funcionamiento Software y lenguajes de programación Bits y Bytes Bit: dı́gito binario que toma como posible valor 0 ó 1. El bit es la unidad mı́nima de almacenamiento empleada en informática. Un bit representa dos posibles estados: “encendido” (1) o “apagado” (0), “verdadero” o “falso”, “abierto” o “cerrado”, “presencia” o “ausencia” de energı́a, etc. Con un bit sólo es posible representar dos valores. Para representar o codificar más información en un dispositivo digital, es neceario usar una mayor cantidad de bits. Con 2 bits por ejemplo: 22 = 4 posibilidades: 0 0 : “apagado”–“apagado”. 0 1 : “apagado”–“encendido”. 1 0 : “encendido”–“apagado”. 1 1 : “encendido”–“encendido”. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Bits y Bytes Bit: dı́gito binario que toma como posible valor 0 ó 1. El bit es la unidad mı́nima de almacenamiento empleada en informática. Un bit representa dos posibles estados: “encendido” (1) o “apagado” (0), “verdadero” o “falso”, “abierto” o “cerrado”, “presencia” o “ausencia” de energı́a, etc. Con un bit sólo es posible representar dos valores. Para representar o codificar más información en un dispositivo digital, es neceario usar una mayor cantidad de bits. Con 2 bits por ejemplo: 22 = 4 posibilidades: 0 0 : “apagado”–“apagado”. 0 1 : “apagado”–“encendido”. 1 0 : “encendido”–“apagado”. 1 1 : “encendido”–“encendido”. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Bits y Bytes Bit: dı́gito binario que toma como posible valor 0 ó 1. El bit es la unidad mı́nima de almacenamiento empleada en informática. Un bit representa dos posibles estados: “encendido” (1) o “apagado” (0), “verdadero” o “falso”, “abierto” o “cerrado”, “presencia” o “ausencia” de energı́a, etc. Con un bit sólo es posible representar dos valores. Para representar o codificar más información en un dispositivo digital, es neceario usar una mayor cantidad de bits. Con 2 bits por ejemplo: 22 = 4 posibilidades: 0 0 : “apagado”–“apagado”. 0 1 : “apagado”–“encendido”. 1 0 : “encendido”–“apagado”. 1 1 : “encendido”–“encendido”. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Bits y Bytes Con tres bits tendremos 23 = 8 combinaciones posibles: 000, 001, 010, 011, 100, 101, 110, 111 A través de secuencias de bits, se puede codificar cualquier valor discreto como números, palabras, e imágenes. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Bits y Bytes Con tres bits tendremos 23 = 8 combinaciones posibles: 000, 001, 010, 011, 100, 101, 110, 111 A través de secuencias de bits, se puede codificar cualquier valor discreto como números, palabras, e imágenes. Cuatro bits forman un nibble, y pueden representar hasta 24 = 16 valores diferentes. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Bits y Bytes Con tres bits tendremos 23 = 8 combinaciones posibles: 000, 001, 010, 011, 100, 101, 110, 111 A través de secuencias de bits, se puede codificar cualquier valor discreto como números, palabras, e imágenes. Cuatro bits forman un nibble, y pueden representar hasta 24 = 16 valores diferentes. Ocho bits forman un octeto, y se pueden representar hasta 28 = 256 valores diferentes. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Bits y Bytes Con tres bits tendremos 23 = 8 combinaciones posibles: 000, 001, 010, 011, 100, 101, 110, 111 A través de secuencias de bits, se puede codificar cualquier valor discreto como números, palabras, e imágenes. Cuatro bits forman un nibble, y pueden representar hasta 24 = 16 valores diferentes. Ocho bits forman un octeto, y se pueden representar hasta 28 = 256 valores diferentes. En general, con n bits se pueden representar hasta 2n valores diferentes. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Bits y Bytes Con tres bits tendremos 23 = 8 combinaciones posibles: 000, 001, 010, 011, 100, 101, 110, 111 A través de secuencias de bits, se puede codificar cualquier valor discreto como números, palabras, e imágenes. Cuatro bits forman un nibble, y pueden representar hasta 24 = 16 valores diferentes. Ocho bits forman un octeto, y se pueden representar hasta 28 = 256 valores diferentes. En general, con n bits se pueden representar hasta 2n valores diferentes. En la mayorı́a de los computadores ocho bits forman un byte (siendo equivalente al octeto) pero hay excepciones. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Bits y Bytes Con tres bits tendremos 23 = 8 combinaciones posibles: 000, 001, 010, 011, 100, 101, 110, 111 A través de secuencias de bits, se puede codificar cualquier valor discreto como números, palabras, e imágenes. Cuatro bits forman un nibble, y pueden representar hasta 24 = 16 valores diferentes. Ocho bits forman un octeto, y se pueden representar hasta 28 = 256 valores diferentes. En general, con n bits se pueden representar hasta 2n valores diferentes. En la mayorı́a de los computadores ocho bits forman un byte (siendo equivalente al octeto) pero hay excepciones. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Dirección de memoria Número que identifica la posición en la memoria asignada a un dispositivo. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Dirección de memoria Número que identifica la posición en la memoria asignada a un dispositivo. La dirección es utilizada para la comunicación entre el software y el dispositivo. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Dirección de memoria Número que identifica la posición en la memoria asignada a un dispositivo. La dirección es utilizada para la comunicación entre el software y el dispositivo. La dirección de memoria le permite a un programa o a un dispostivo de hardware recuperar la información que ha almacenado con antelación. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Dirección de memoria Número que identifica la posición en la memoria asignada a un dispositivo. La dirección es utilizada para la comunicación entre el software y el dispositivo. La dirección de memoria le permite a un programa o a un dispostivo de hardware recuperar la información que ha almacenado con antelación. Palabra Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Dirección de memoria Número que identifica la posición en la memoria asignada a un dispositivo. La dirección es utilizada para la comunicación entre el software y el dispositivo. La dirección de memoria le permite a un programa o a un dispostivo de hardware recuperar la información que ha almacenado con antelación. Palabra Cadena finita de bits que es tratada por los circuitos como una sola entidad, por la unidad de control como una instrucción y por la unidad aritmética-lógica como una cantidad. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Dirección de memoria Número que identifica la posición en la memoria asignada a un dispositivo. La dirección es utilizada para la comunicación entre el software y el dispositivo. La dirección de memoria le permite a un programa o a un dispostivo de hardware recuperar la información que ha almacenado con antelación. Palabra Cadena finita de bits que es tratada por los circuitos como una sola entidad, por la unidad de control como una instrucción y por la unidad aritmética-lógica como una cantidad. Se les asigna una dirección de memoria. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Dirección de memoria Número que identifica la posición en la memoria asignada a un dispositivo. La dirección es utilizada para la comunicación entre el software y el dispositivo. La dirección de memoria le permite a un programa o a un dispostivo de hardware recuperar la información que ha almacenado con antelación. Palabra Cadena finita de bits que es tratada por los circuitos como una sola entidad, por la unidad de control como una instrucción y por la unidad aritmética-lógica como una cantidad. Se les asigna una dirección de memoria. El tamaño de una palabra hace referencia al número de bits contenidos en ella. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Dirección de memoria Número que identifica la posición en la memoria asignada a un dispositivo. La dirección es utilizada para la comunicación entre el software y el dispositivo. La dirección de memoria le permite a un programa o a un dispostivo de hardware recuperar la información que ha almacenado con antelación. Palabra Cadena finita de bits que es tratada por los circuitos como una sola entidad, por la unidad de control como una instrucción y por la unidad aritmética-lógica como una cantidad. Se les asigna una dirección de memoria. El tamaño de una palabra hace referencia al número de bits contenidos en ella. Los computadores modernos normalmente tienen un tamaño de palabra de 16, 32 64 bits. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Dirección de memoria Número que identifica la posición en la memoria asignada a un dispositivo. La dirección es utilizada para la comunicación entre el software y el dispositivo. La dirección de memoria le permite a un programa o a un dispostivo de hardware recuperar la información que ha almacenado con antelación. Palabra Cadena finita de bits que es tratada por los circuitos como una sola entidad, por la unidad de control como una instrucción y por la unidad aritmética-lógica como una cantidad. Se les asigna una dirección de memoria. El tamaño de una palabra hace referencia al número de bits contenidos en ella. Los computadores modernos normalmente tienen un tamaño de palabra de 16, 32 64 bits. Introducción Arquitectura y funcionamiento Terminologı́a básica Caracteres: están formados por Dı́gitos decimales: 0, 1, 2, . . . , 9 Software y lenguajes de programación Introducción Arquitectura y funcionamiento Terminologı́a básica Caracteres: están formados por Dı́gitos decimales: 0, 1, 2, . . . , 9 Letras: A, B, . . . , Z y a, b, . . . , z. Software y lenguajes de programación Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Caracteres: están formados por Dı́gitos decimales: 0, 1, 2, . . . , 9 Letras: A, B, . . . , Z y a, b, . . . , z. Sı́mbolos especiales: $, @, %, &, *, (, ), -, +, ?, /, etc. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Caracteres: están formados por Dı́gitos decimales: 0, 1, 2, . . . , 9 Letras: A, B, . . . , Z y a, b, . . . , z. Sı́mbolos especiales: $, @, %, &, *, (, ), -, +, ?, /, etc. Campos: Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Caracteres: están formados por Dı́gitos decimales: 0, 1, 2, . . . , 9 Letras: A, B, . . . , Z y a, b, . . . , z. Sı́mbolos especiales: $, @, %, &, *, (, ), -, +, ?, /, etc. Campos: Grupo de caracteres o bytes que transmiten algún significado. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Caracteres: están formados por Dı́gitos decimales: 0, 1, 2, . . . , 9 Letras: A, B, . . . , Z y a, b, . . . , z. Sı́mbolos especiales: $, @, %, &, *, (, ), -, +, ?, /, etc. Campos: Grupo de caracteres o bytes que transmiten algún significado. Las instrucciones de los lenguajes están constituidas por varios campos. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Caracteres: están formados por Dı́gitos decimales: 0, 1, 2, . . . , 9 Letras: A, B, . . . , Z y a, b, . . . , z. Sı́mbolos especiales: $, @, %, &, *, (, ), -, +, ?, /, etc. Campos: Grupo de caracteres o bytes que transmiten algún significado. Las instrucciones de los lenguajes están constituidas por varios campos. Un campo puede estar constituido por una o más palabras. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Caracteres: están formados por Dı́gitos decimales: 0, 1, 2, . . . , 9 Letras: A, B, . . . , Z y a, b, . . . , z. Sı́mbolos especiales: $, @, %, &, *, (, ), -, +, ?, /, etc. Campos: Grupo de caracteres o bytes que transmiten algún significado. Las instrucciones de los lenguajes están constituidas por varios campos. Un campo puede estar constituido por una o más palabras. Un campo que consiste de letras puede utilizarse para representar el nombre de una persona. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Caracteres: están formados por Dı́gitos decimales: 0, 1, 2, . . . , 9 Letras: A, B, . . . , Z y a, b, . . . , z. Sı́mbolos especiales: $, @, %, &, *, (, ), -, +, ?, /, etc. Campos: Grupo de caracteres o bytes que transmiten algún significado. Las instrucciones de los lenguajes están constituidas por varios campos. Un campo puede estar constituido por una o más palabras. Un campo que consiste de letras puede utilizarse para representar el nombre de una persona. Introducción Arquitectura y funcionamiento Terminologı́a básica Registro Grupo de campos relacionados. Software y lenguajes de programación Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Registro Grupo de campos relacionados. En un sistema de nómina, el registro de un empleado en particular podrı́a estar compuesto por los siguientes campos: Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Registro Grupo de campos relacionados. En un sistema de nómina, el registro de un empleado en particular podrı́a estar compuesto por los siguientes campos: Número de seguro social (campo alfanumérico). Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Registro Grupo de campos relacionados. En un sistema de nómina, el registro de un empleado en particular podrı́a estar compuesto por los siguientes campos: Número de seguro social (campo alfanumérico). Nombre (campo alfabtico). Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Registro Grupo de campos relacionados. En un sistema de nómina, el registro de un empleado en particular podrı́a estar compuesto por los siguientes campos: Número de seguro social (campo alfanumérico). Nombre (campo alfabtico). Dirección (campo alfanumérico). Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Registro Grupo de campos relacionados. En un sistema de nómina, el registro de un empleado en particular podrı́a estar compuesto por los siguientes campos: Número de seguro social (campo alfanumérico). Nombre (campo alfabtico). Dirección (campo alfanumérico). Sueldo por hora (campo numérico). Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Registro Grupo de campos relacionados. En un sistema de nómina, el registro de un empleado en particular podrı́a estar compuesto por los siguientes campos: Número de seguro social (campo alfanumérico). Nombre (campo alfabtico). Dirección (campo alfanumérico). Sueldo por hora (campo numérico). Deducciones (campo numérico). Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Registro Grupo de campos relacionados. En un sistema de nómina, el registro de un empleado en particular podrı́a estar compuesto por los siguientes campos: Número de seguro social (campo alfanumérico). Nombre (campo alfabtico). Dirección (campo alfanumérico). Sueldo por hora (campo numérico). Deducciones (campo numérico). Percepciones de un año a la fecha (campo numérico). Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Registro Grupo de campos relacionados. En un sistema de nómina, el registro de un empleado en particular podrı́a estar compuesto por los siguientes campos: Número de seguro social (campo alfanumérico). Nombre (campo alfabtico). Dirección (campo alfanumérico). Sueldo por hora (campo numérico). Deducciones (campo numérico). Percepciones de un año a la fecha (campo numérico). Monto por concepto de impuestos (campo numérico). Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Registro Grupo de campos relacionados. En un sistema de nómina, el registro de un empleado en particular podrı́a estar compuesto por los siguientes campos: Número de seguro social (campo alfanumérico). Nombre (campo alfabtico). Dirección (campo alfanumérico). Sueldo por hora (campo numérico). Deducciones (campo numérico). Percepciones de un año a la fecha (campo numérico). Monto por concepto de impuestos (campo numérico). Introducción Arquitectura y funcionamiento Terminologı́a básica Archivos Grupo de registros relacionados. Software y lenguajes de programación Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Archivos Grupo de registros relacionados. Se utilizan para almacenar información en forma masiva, relacionada con una entidad, persona o cosas. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Archivos Grupo de registros relacionados. Se utilizan para almacenar información en forma masiva, relacionada con una entidad, persona o cosas. El archivo de nómina de una empresa contiene un registro para cada empleado. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Archivos Grupo de registros relacionados. Se utilizan para almacenar información en forma masiva, relacionada con una entidad, persona o cosas. El archivo de nómina de una empresa contiene un registro para cada empleado. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Archivos Grupo de registros relacionados. Se utilizan para almacenar información en forma masiva, relacionada con una entidad, persona o cosas. El archivo de nómina de una empresa contiene un registro para cada empleado. Bases de datos Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Archivos Grupo de registros relacionados. Se utilizan para almacenar información en forma masiva, relacionada con una entidad, persona o cosas. El archivo de nómina de una empresa contiene un registro para cada empleado. Bases de datos Grupo de archivos relacionados. Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Archivos Grupo de registros relacionados. Se utilizan para almacenar información en forma masiva, relacionada con una entidad, persona o cosas. El archivo de nómina de una empresa contiene un registro para cada empleado. Bases de datos Grupo de archivos relacionados. Al conjunto de programas diseñados para crear y administrar bases de datos se les denomina sistema de administración de bases de datos (DBMS). Introducción Arquitectura y funcionamiento Software y lenguajes de programación Terminologı́a básica Archivos Grupo de registros relacionados. Se utilizan para almacenar información en forma masiva, relacionada con una entidad, persona o cosas. El archivo de nómina de una empresa contiene un registro para cada empleado. Bases de datos Grupo de archivos relacionados. Al conjunto de programas diseñados para crear y administrar bases de datos se les denomina sistema de administración de bases de datos (DBMS). Introducción Arquitectura y funcionamiento Terminologı́a básica Jerarqua de datos Software y lenguajes de programación Introducción Arquitectura y funcionamiento Software y lenguajes de programación Referencias M.A. Criado Programación en lenguajes estructurados Alfaomega Grupo Editor, S.A. de C.V. Primera Edición, 2006 Colaboradores de Wikipedia Wikipedia, La enciclopedia libre http://es.wikipedia.org/wiki/Wikipedia:Portada