La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

1 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación.

Presentaciones similares


Presentación del tema: "1 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación."— Transcripción de la presentación:

1 1 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Capítulo 1 Introducción a la Computación

2 2 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Contenido Ciclo de lectura y ejecución Interrupciones La Máquina Virtual de Java Bloques de construcción fundamentales de los programas Objetos y la Programación Orientada a Objetos Interfaces de Usuario Modernas El Internet y el World-Wide Web

3 3 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Ciclo de Lectura y Ejecución CPU, Memoria Principal, Lenguaje de Máquina, Registros, Transistores, Números Binarios

4 4 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación CPU Una computadora consiste de muchos componentes diferentes El CPU es el cerebro, cuya principal función es ejecutar programas Un programa es una lista de instrucciones no ambiguas hechas para que sean seguidas mecánicamente por la computadora

5 5 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Lenguaje de Máquina Las computadoras ejecutan instrucciones que son escritas en un lenguaje muy simple llamado lenguaje de máquina Cada tipo de computadora tiene su propio lenguaje de máquina Sólo podrá ejecutar los programas si están escritos en ese lenguaje

6 6 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Memoria Cuando el CPU ejecuta un programa, dicho programa se encuentra en la memoria principal La memoria principal consiste de una secuencia de casillas Estas casillas son numeradas y la secuencia de números es llamada dirección de memoria Una dirección provee una manera de especificar una pieza de información entre millones almacenadas en la memoria

7 7 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Ciclo de Lectura y Ejecución El CPU ejecuta un programa que es almacenado como una secuencia de instrucciones de lenguaje de máquina en la memoria principal Para ello el CPU debe leer una instrucción de la memoria y ejecutarla Esto lo hace repetidamente, por lo que se le llama ciclo de lectura y ejecución

8 8 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Registros El CPU contiene unos pocos registros internos Los registros son pequeñas unidades de memoria capaces de almacenar un número o una instrucción en lenguaje de máquina El CPU utiliza uno de estos registros (PC contador de programa) para almacenar la dirección de la siguiente instrucción que se debe ejecutar Al comienzo de cada ciclo, el CPU revisa el PC para ver que instrucción debe ejecutar. PC es actualizado con la propia ejecución del programa (usualmente es incrementado de uno en uno)

9 9 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Transistores Una computadora ejecuta programas en lenguaje de máquina mecánicamente Está construida por millones de pequeños interruptores llamados transistores La operación de una computadora origina que estos interruptores se prenden y apagan entre sí El patrón que siguen está determinado por el cableado entre ellos y el programa que se está ejecutando

10 10 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Números binarios Las instrucciones de lenguaje de máquina y los datos se expresan en números binarios Un número binario es aquel que está formado por sólo 2 valores (0 y 1) Los transistores pueden expresar adecuadamente los dos estados (prendido o apagado) Cuando se carga una instrucción de la memoria, todo lo que sucede es que ciertos interruptores se prenden y otros se apagan en un patrón que está codificado en la propia instrucción

11 11 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Resumen La memoria principal almacena programas en lenguaje de máquina y datos Estos son codificados como números binarios El CPU lee instrucciones de lenguaje de máquina de la memoria una tras otra y las ejecuta El CPU realiza este ciclo mecánicamente y por lo tanto el programa que ejecuta debe estar perfecto, completamente detallado y sin ambigüedades El CPU lo único que puede hacer es ejecutar las instrucciones tal cual como estén escritas

12 12 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Resumen

13 13 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Interrupciones Device Drivers, Bus, Interrupciones, Eventos Asíncronos, Multitareas, Sistema Operativo

14 14 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Otros Componentes del Computador Además del CPU y de la Memoria, un computador tiene otros componentes: Un disco duro para almacenar programas y datos Un teclado y ratón para entrada Un monitor e impresora para salida Un modem o targeta de red para comunicarse con otras computadoras Un scanner para digitalizar imágenes...

15 15 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Device Driver De alguna manera el CPU tiene que comunicarse con todos estos dispositivos Para cada dispositivo, existe un device driver Un device driver consiste de software que el CPU ejecuta cuando tiene que interactuar con el dispositivo respectivo

16 16 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Bus Una computadora típicamente conecta todos estos dispositivos a uno o más buses Un bus es un conjunto de cables que transportan varios tipos de información entre los dispositivos conectados a esos cables Por el bus viaja Datos Direcciones Señales de control

17 17 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Diagrama simple de una Computadora

18 18 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Procesamiento de datos de I/O Los dispositivos pueden producir datos que necesitan ser procesados por el CPU ¿Cómo el CPU sabe que los datos están disponibles? Pooling El CPU periódicamente revisa si existen datos que procesar Interrupciones

19 19 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Interrupciones Es una señal enviada al CPU por otro dispositivo Proceso Se recibe la señal Se hace a un lado lo que sea que se estuviese haciendo Se atiende la interrupción Se vuelve al punto de lo que se encontraba realizando Ejemplo: presionar una tecla

20 20 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Interrupciones Un dispositivo notifica una interrupción simplemente al encender un cable El CPU guarda información acerca de lo que está haciendo El contenido de los registros, entre ellos el PC El CPU salta a una dirección de memoria predeterminada y comienza a ejecutar las instrucciones ahí almacenadas Al final el manejador de instrucciones le dice al CPU que reanude lo que estaba haciendo (restaurando los datos previamente guardados)

21 21 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Eventos asíncronos Las interrupciones le permiten al CPU manejar eventos asíncronos En el ciclo regular de leer y ejecutar, las operaciones se ejecutan en un orden predeterminado Las interrupciones hacen posible que el CPU maneje eficientemente eventos que suceden asíncronamente Ejemplo: leer información de disco El CPU solicita un dato y luego realiza otra tarea hasta que se le notifica que el dato está disponible

22 22 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Multitareas La ventaja de interrupciones sobre pooling sólo es tal si el CPU tiene otra cosa que hacer Todos los sistemas operativos modernos utilizan multitarea para realizar varias tareas a la vez El CPU reparte su tiempo atendiendo una fracción de segundo a cada tarea Ejemplo: Estar escribiendo una carta, mientras se escucha música y se baja un archivo de Internet

23 23 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Hilo de Ejecución Cada tarea individual en la que trabaja el CPU es llamada un hilo A determinado momento, sólo un hilo puede estar ejecutándose en el CPU El CPU continuará ejecutando el mismo hilo hasta que el hilo: cede el control (yield) se bloquea (espera a que ocurra algún evento asíncrono) agote su rebanada de tiempo (sólo preemptive)

24 24 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Sistema Operativo El software que realiza todo el manejo de interrupciones, y la comunicación del usuario con el hardware es llamado Sistema Operativo Una computadora no podría funcionar sin un sistema operativo, y las aplicaciones dependen de él Sistemas Operativos comunes: UNIX, Linux, DOS, Windows 98, Windows 2000 Mac OS X, entre otros.

25 25 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Máquina Virtual de Java

26 26 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Lenguajes de Alto Nivel Lenguaje de Máquina consiste de instrucciones muy simples que son ejecutadas por el CPU Sin embargo, casi todos los programas se escriben en lenguajes de alto nivel Ejemplo: Java, Pascal, C, C++, C#, FORTRAN... Los programas escritos en estos lenguajes deben ser traducidos a lenguaje de máquina para poder ser ejecutados Se utilizan compiladores e interpretes para realizar esta traducción

27 27 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Compilador Un compilador toma un programa escrito en lenguaje de alto nivel y lo traduce en un programa ejecutable en lenguaje de máquina Una vez realizada la traducción, se puede ejecutar cualquier número de veces Si se desea ejecutar el programa en otro tipo de computadora, debe ser re-traducido, usando un compilador para la computadora deseada

28 28 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Interprete A diferencia del compilador, el interprete traduce el programa instrucción por instrucción Actúa parecido a un CPU, con un ciclo de leer y ejecutar Se lee una instrucción del programa Se decide que se necesita para llevarla a cabo Se ejecutan las instrucciones de lenguaje de máquina correspondientes

29 29 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Híbrido Java usa una combinación de compilación e interpretación Los programas se compilan al lenguaje de máquina de una computadora virtual (máquina virtual de Java) Usando un interprete se traduce el bytecode en el lenguaje de máquina de la computadora real

30 30 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Híbrido

31 31 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación Características del Esquema Híbrido Es portátil El programa se puede ejecutar en toda computadora que tenga un interprete de Java Es seguro ejecutar programas en una computadora Más lento que los compilados pero más rápido que los interpretados


Descargar ppt "1 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación."

Presentaciones similares


Anuncios Google