Академический Документы
Профессиональный Документы
Культура Документы
Mdulo 1. Introduccin y Conceptos p Bsicos Leobardo Hernndez Centro Tecnolgico Aragn UNAM
Mdulo 1: Diplomado en Tecnologas de Informacin 1
Agenda g
Introduccin al Diplomado Informacin Computabilidad Mquina de Turing Origen y Evolucin del Cmputo Modelo Von Neumann Sistemas Numricos Unidades de Informacin y Cdigos lgebra de Boole Matemticas Discretas Arquitectura y Organizacin de Computadoras Lenguajes Software de Aplicacin y Sistemas Mdulo 1: Diplomado en Tecnologas de Anlisis, Diseo y Complejidad de algoritmos
Informacin
Objetivos j
Establecer las bases de conocimiento para el diplomado Relacionar los conceptos p de informacin con las reas relacionadas Relacionar las Tecnologas de Informacin con el Cmputo, Matemticas, Lengaujes, y todas las disciplinas relacionadas Revisar conceptos fundamentales del cmputo y la informtica Homologar conocimiento de conceptos bsicos
Mdulo 1: Diplomado en Tecnologas de Informacin 3
Informacin
Comunicacin animal
Medio
ambiente (abejas (movimiento), felinos(olfato)) Alarmas (pjaros(odo) ) Conceptos p (p primates (g (gestos), ) p perros ( (odo, movimientos, visin))
Comunicacin humana
De
Informacin
Informacin
Proceso de adquisicin q de informacin tiene su inicio, y sus orgenes, en el desarrollo del cerebro humano Al nacer tenemos 100,000 millones de neuronas Para que funcionen necesitan comunicarse estableciendo conexiones A mayor nmero de conexiones conexiones, mayor la capacidad del cerebro Mdulo 1: Diplomado en Tecnologas de
Informacin
Informacin
Al nacer el cerebro pesa una cuarta parte del cerebro adulto A los dos aos tiene el mismo nmero de conexiones q que el adulto A los os dos a aos os pesa ta tanto to co como oe el ce cerebro eb o adulto A los tres aos Mdulo tiene el doble de conexiones 1: Diplomado en Tecnologas de
Informacin
Informacin
Al principio, se produce materia gris en exceso formndose circuitos neurales Luego, las clulas y conexiones menos usadas se descartan Despus, se empiezan a formar fibras que sostienen las interconexiones llamadas materia blanca
Mdulo 1: Diplomado en Tecnologas de Informacin 8
Informacin
En el primer ao se establecen las conexiones que permiten adquirir, procesar y almacenar la informacin Empieza a ser posible transmitirla via lenguaje
Informacin
Visin y lengua estn ntimamente relacionados Repeticin frecuente de fonemas li lingusticos ti d de l la l lengua materna t ll lleva al l establecimiento de conexiones
10
Informacin
Permiten crear representaciones mentales de objetos, eventos y relaciones Se conjuntan palabras-forma y se generan frases que se pueden enunciar Mejora capacidad de pensar
Mdulo 1: Diplomado en Tecnologas de Informacin
11
Informacin
La lengua g no deja j registros g arquelgicos q g Plausible Movimientos estilizados para indicar alguna accion i necesaria i Apuntar Lenguaje corporal Vocalizar imitando sonidos Contar con los dedos Preguntas y respuestas Sintaxis como medio de desambiguar colecciones de sonidos
Mdulo 1: Diplomado en Tecnologas de Informacin 12
Lenguaje g j Natural Origen del lenguaje: uso de signos naturales que confiere alguna ventaja evolutiva Extiende la operacin de la mente Facilita el pensamiento Lenguajes hablados: desarrollados por pequeos grupos de personas dentro de una comunidad id d especializada i li d ( (cazadores, d mdicos)
Lenguaje g j Natural
La transformacin de signos naturales a signos institucionales convierte a la tradicin en el motor del lenguaje LAS CONEXIONES NEURONALES SE DESARROLLAN POR TRADICION DE GRUPO
Mdulo 1: Diplomado en Tecnologas de Informacin
14
Lenguaje g j Natural
Una lengua g tiene races en las p propiedades p innatas La materia prima de la sntesis individual del lenguaje es la lengua que hablan los adultos Todos los nios aprenden su lengua materna con igual facilidad Todos los idiomas estn construidos para basarse en los requerimientos de los mecanismos i cerebrales b l
Mdulo 1: Diplomado en Tecnologas de Informacin 15
Lenguaje g j Natural
Protolenguajes g j
pre
Lenguajes
homo
Almacenamiento
Memoria especializada
Poemas Mdicos Cazadores
picos
Permanente
Transmite fielmente a travs del tiempo p Hoy se puede saber qu dijo Newton o Descartes No es universal por la diferencia de idiomas
Mdulo 1: Diplomado en Tecnologas de Informacin 17
18
Escritura
Rastros desde hace 18,000 , aos Fichas para contabilizar entre 8,000 y 3,000 aos Uso de escribanos en egipto- 2600 aos Primer papiro- 2200 Escritura Fontica Invencion I i d del l alfabeto lf b en el l Si Sinaii 1700 1 00 aos Con pocos smbolos se pueden expresar todas las ideas
Mdulo 1: Diplomado en Tecnologas de Informacin 19
Medios manuscritos
Otra Revolucin
Progreso Tecnolgico
En 1823, en Inglaterra, Ronalds construye el primer telgrafo en su jardn En 1825, se muestra la persistencia de la vista con el Taumatropo En 1827, Nipce hace la primera fotografa En 1827, Wheatstone construye un micrfono En 1834, Babbage propone una mquina analtica precursora de las computadoras En 1837, 83 , Morse o se e exhibe be u un te telgrafo g a o e elctrico ct co En 1857, en Francia el fonoautgrafo de Scott es el precursor del fongrafo En 1878 1878, Crooke inventa el tubo de rayos catdicos
Mdulo 1: Diplomado en Tecnologas de Informacin 22
Progreso g Tecnolgico g En 1880, Leblanc conceptualiza p la transmisin de una imagen en segmentos En 1884, Nipkow, en Alemania, produce una versin primitiva de la televisin En 1888 1888, la cmara Kodak simplifica el tomar fotografas En 1890 1890, en Inglaterra Inglaterra, Friese Friese-Greene Greene construye la primera cmara y proyector cinematogrficos
Progreso g Tecnolgico g En 1893, Dickson construye y el primer p estudio cinematogrfico en New Jersey En 1895, en Pars, se muestran las primeras pelculas En 1899 1899, Poulsen Poulsen, en Dinamarca Dinamarca, graba un sonido magnticamente En 1928 1928, oc ocurre rre la primera transmisin programada de televisin en Schenectady, NY N.Y.
Claude E. Shannon: fundador, , en 1948, , de lo que q ahora se conoce como Teora de la Informacin
Shannon
sus resultados comprueban que la expresin matemtica para la cantidad de informacin (bit) presenta misma forma de la ecuacin del principio de entropa - estado fsico y medida de desorden de un sistema - definido por la Fsica
Mdulo 1: Diplomado en Tecnologas de Informacin 25
Entropa p
Desde la Fsica: magnitud g termodinmica que mide la energa que no puede utilizarse para producir trabajo
En
Desde la Teora de Informacin: magnitud que mide la cantidad de informacin contenida en un flujo de datos
Es
decir, decir lo que aporta de informacin un dato sobre un hecho concreto Mdulo 1: Diplomado en Tecnologas de
Informacin
26
Entropa
Se calcula mediante la siguiente frmula: H = p1*log(1/p1)+p2*log(1/p2)+ .. pm*log(1/pm), donde: H es la entropa, p son las probabilidades de que aparezcan los diferentes cdigos y m el nmero total de cdigos Si se refiere a un sistema, las p se refieren las probabilidades de que se encuentre en un determinado estado y m el nmero total de posibles estados
Mdulo 1: Diplomado en Tecnologas de Informacin 27
Entropa
Se utiliza habitualmente el logaritmo g en base 2, y entonces la entropa se mide en bits Ejemplo: el lanzamiento de una moneda al aire para ver si sale cara o cruz (dos estados con probabilidad 0.5) tiene una entropa: H = 0.5*log2(1/0.5)+0.5*log2(1/0.5) = 0 5*log2(2)+0.5*log 0.5*log (2)+0 5*log2(2) = 0 0.5+0.5 5+0 5 = 1 bit
Mdulo 1: Diplomado en Tecnologas de Informacin 28
Mquina
de Turing
29
Mquina q de Turing g
Mucho antes de que se construyera la primera computadora ya se discuta la pregunta fundamental de si computadora, todos los problemas tenan, o no, una solucin Al i inicio i i d del l cuestionamiento ti i t se pensaba b que l la respuesta t poda ser s o no, es decir, una dicotoma respecto a qu problemas tenan solucin y cules no Un poco antes de iniciar la era de las computadoras, en 1936, Alan Turing imagin un dispositivo, una computadora con capacidad de clculo y memoria computadora, infinitas que, si se le planteaba correctamente un problema, poda ser capaz de resolver cualquier problema, o no resolverlo
Mdulo 1: Diplomado en Tecnologas de Informacin 30
Mquina de Turing
Si a esa computadora p ideal se le p planteaba correctamente un problema, poda iniciar los clculos tendientes a resolverlo:
Si
eventualmente la mquina se paraba, es decir terminaba su ejecucin, entonces el problema tena solucin y el procedimiento usado para resolverlo es lo que se conoce actualmente como algoritmo Si no se detena, poda significar al menos dos cosas: que el problema no tiene solucin o que el tiempo para resolverlo tiende a ser infinito infinito, o que la solucin no se conoce Mdulo 1: Diplomado en Tecnologas de
Informacin
31
Mquina q de Turing g
Ms formalmente: en 1936, , Alan Turing g contest al entscheidungsproblem, problema planteado por David Hilbert sobre si las matemticas son decidibles, es decir, si hay un mtodo definido f que pueda aplicarse a cualquier sentencia matemtica y que diga si esa sentencia es cierta o no En el artculo On Computable Numbers, Turing construy un modelo formal de computadora, la Mquina q de Turing, g, y demostr q que haba problemas que Mdulo una mquina no poda resolver 1: Diplomado en Tecnologas de
Informacin 32
Mquina de Turing
Primer modelo terico de lo que luego sera una computadora programable Con el tiempo, a este tipo de mquina se les conoci como mquinas de estado finito
Debido
a que en cada etapa de un clculo, la siguiente accin de la mquina se contrastaba con una lista finita de instrucciones de estado posibles
Mdulo 1: Diplomado en Tecnologas de Informacin 33
Mquina de Turing Mediante este modelo terico y el anlisis de complejidad de algoritmos, fue posible categorizar problemas computacionales de acuerdo a su comportamiento Apareci as as, el conjunto de problemas denominados P y NP, cuyas soluciones en tiempo polinomial se encuentran segn el determinismo y no determinismo respecto a la mquina de Turing
Computadora
Un algoritmo es un conjunto de reglas para transformar una entrada en una salida Una computadora es un dispositivo que puede ejecutar algoritmos. Toma:
1)
Un conjunto de reglas (un programa) 2) Datos de entrada (entradas desde teclado, cliks de mouse, archivo de una base de datos, etc.)
Y produce:
3)
Datos de salida (salida a monitor, una pgina web, un conjunto de resultados, etc.)
Mdulo 1: Diplomado en Tecnologas de Informacin 35
Computadora
Tpicamente entendemos: computadora digital que almacena l un programa bi binario i ( (modelo d l V Von Neumann) binario los datos se almacenan como unos y ceros programa p g almacenado la computadora p tiene memoria, y ambos, los datos y las instrucciones del programa se almacenan en esa memoria di it l - opera sobre digital b cantidades tid d di discretas t (i (i.e., unos y ceros). No continuo. computadora Puede ejecutar algoritmos
Mdulo 1: Diplomado en Tecnologas de Informacin 36
Computabilidad
y Complejidad
37
Complejidad Computacional Estudia dificultad inherente de problemas de importancia terica y/o prctica El esfuerzo f necesario i para resolver l un problema de forma eficiente puede variar enormemente t Un problema muy complejo se denomina NP-completo, lo cual significa que es imposible encontrar un algoritmo eficiente para encontrar una solucin ptima
Complejidad Computacional
abandonar un callejn sin salida (encontrar un algoritmo para la solucin ptima) para centrarse en objetivos realizables li bl ( (encontrar t algoritmos l it para obtener bt soluciones aproximadas)
Objetivo fundamental de la teora de la complejidad computacional: facilitar el avance en aquellas reas en las que es posible
Mdulo 1: Diplomado en Tecnologas de Informacin
39
Cualquier problema de optimizacin puede ser transformado en un problema de decisin. En el anlisis de complejidad se manejan, por lo tanto, los problemas de decisin, dec s , que incluyen c uye a los os de opt optimizacin ac Si se encuentra solucin a un problema de decisin, entonces se encuentra tambin solucin a un problema de optimizacin
Mdulo 1: Diplomado en Tecnologas de Informacin 40
de Problemas P: formada por todos aquellos problemas de decisin para los cuales se tiene un algoritmo de solucin que se ejecuta en tiempo polinomial en una mquina determinista de Problemas NP: formada por todos aquellos problemas de decisin para los cuales existe un algoritmo de solucin que se ejecuta en tiempo polinomial en una (hipottica) mquina no determinista. Dicho de otro modo, no se ha encontrado un algoritmo determinista que lo resuelva en tiempo polinomial Mdulo 1: Diplomado en Tecnologas de
Informacin
Clase
41
Complejidad Computacional. NP C Completitud l tit d (1) La relacin entre Clase P y Clase NP es estrecha: P NP Cualquier problema de por un algoritmo g decisin resuelto p determinstico en tiempo polinomial tambin por un algoritmo g no es resuelto p determinstico en tiempo polinomial La relacin anterior es fundamental en la teora de NPcompletitud Un famoso problema es determinar si P = NP o P NP
Es posible que para todos los problemas en NP existan algoritmos deterministas que los resuelvan en tiempo polinomial y que an no hayan sido descubiertos? Esto E t parece improbable i b bl ya que mucho h se h ha trabajado sobre estos problemas. Por otro lado, el hecho de que P NP tampoco ha sido probado. La teora de NP-completitud NP completitud se basa en el concepto de transformacin polinomial Mdulo 1: Diplomado en Tecnologas de
Informacin
43
Una transformacin polinomial es una funcin que permite cambiar la representacin de problema D1 a otro problema D2 aplicando un algoritmo determinista de tiempo polinomial Lo anterior se puede representar como D1 se transforma a D2 o D1 D2 Las transformaciones polinomiales son i importantes porque sirven i para d determinar i l la pertenencia de los problemas a las clases P y NP y permiten definir la clase NP-completo NP, NP completo
Mdulo 1: Diplomado en Tecnologas de Informacin 44
Por lo anterior p parece q que el p panorama es p poco alentador puesto que hay problemas que no se pueden resolver de forma eficiente Si embargo, Sin b an h hay esperanza: en muchas h ocasiones se generaliza de forma innecesaria; incluso cuando un problema se pueda transformar en un problema NP-completo eso no significa que no se trate de un caso especial que admite d it una solucin l i Un posible mapa de los problemas NP se muestra a continuacin:
Mdulo 1: Diplomado en Tecnologas de Informacin 45
46
Ciencias de la Computacin
Es el estudio de la computacin p ( (es decir, , procesamiento y manipulacin de datos). Interseccin de matemticas, ciencia e ingeniera Primeras inquietudes:
1.
Un problema es computable? (Algoritmos) 2. Es factible hallar una solucin a un problema? bl ? (T (Teora d de C Complejidad) l jid d) 3. Es prctico resolver un problema? (Hardware/Software)
Mdulo 1: Diplomado en Tecnologas de Informacin 47
Origen
y Evolucin de Computadoras
48
Verano, 1941
Atanasoff
y Berry crean calculadora de uso especfico para resolver sistemas de ecuaciones lineales simultneas Se empleo con modificaciones para resolver problemas logsticos de invasin de Normanda Normanda, 1945
Enero,1943
Howard
Aiken construye la Harvard Mark I que se usa inicialmente para producir tablas balsticas Primera calculadora controlada por un programa
Mdulo 1: Diplomado en Tecnologas de Informacin 49
Diciembre,1943
En
el Laboratorio de Bletchley Park se enciende la p primera computadora p electrnica programable, llamada Colossus, con 2400 bulbos La construy Thomas Flowers
En su equipo estaba Alan Turing, quien en 1937 haba publicado un trabajo matemtico acerca de la computabilidad de los problemas Ah se describe lo que hoy se llama Mquina de Turing S construy Se t para descifrar d if l los mensajes j d de l la A Armada d N Nazi i
Mdulo 1: Diplomado en Tecnologas de Informacin 50
En 1946, ENIAC
(Electronic
Numerical Integrator and Computer): totalmente electrnica, de bulbos y digital Se empez en 1943 y se termina en 1946. Construida por Mauchly y Eckert Pesa 30 toneladas y contiene 18,000 bulbos Primera computadora universal y poda realizar 100,000 operaciones por segundo
Mdulo 1: Diplomado en Tecnologas de Informacin 51
por Presper Eckert y John Mauchly en Ramington-Rand Co. Co Computadora putado a p programable og a ab e co considerada s de ada la a primera que se vende comercialmente Cuesta ms de un milln de dlares
52
1952
Primera
computadora fabricada en serie Modelo 702 de IBM diseado por Nathaniel Rochester y vendida para usos cientficos Tiene 1Kb de RAM, una unidad de cinta magnetizada y lectora de tarjetas perforadas
1958
Bell
Labs desarrolla el primer modulatordemodulator, llamado modem, que funciona a 300 baud Mdulo 1: Diplomado en Tecnologas de
Informacin
53
primera aplicacin fue llamada Whirlwind, (en 1944) y era un simulador de vuelos Primera computadora que tena que dar soluciones en tiempo real en lugar de entregarlas despus de un buen rato de hacer clculos Marina Norteamericana Aplicaciones Militares
Defensa Antimisiles Rastreo de aviones
de cobertura continental con 23 centros de operacin, conectados a travs de lneas telefnicas dedicadas, (lo cual requiri que Bell Labs inventara el modem) Conformado por dos computadoras interactivas redundantes que eran capaces de rastrear 400 aviones simultneamente
Mdulo 1: Diplomado en Tecnologas de Informacin 55
SABRE (Semi-Automatic (Semi Automatic Business Related Environment) de reservaciones para American Airlines
Se
convirti en p paradigma g de los sistemas transaccionales en lnea que empez a funcionar en 1964
Mdulo 1: Diplomado en Tecnologas de Informacin 56
En 1957 Olsen y Anderson, quienes haban participado en este trabajo, crean una empresa para fabricar y vender computadoras interactivas
Aparece Su
57
dise paquete que contena piezas que el usuario tena que ensamblar llamado Altair 8800 Lo empez a vender una empresa de Albuquerque, Nuevo Mxico, llamada MITS Esta empresa incl incluy como leng lenguaje aje de program. una adaptacin del que se usaba en las PDP-11 Llamado BASIC desarrollado por Gates y Allen quienes fundaran para venderlo la empresa Mi Microsoft ft en 1975
Mdulo 1: Diplomado en Tecnologas de Informacin 58
En 1962, la Agencia de Proyectos de Investigacin Avanzados (ARPA) del Ejrcito p g Norteamericano contrata a un psiclogo experimental llamado Licklider para estudiar un nuevo sistema de comando y control Toma como base SAGE p pero no como paradigma de seguridad nacional, sino como mecanismo para ampliar la capacidad de la mente t humana h
Mdulo 1: Diplomado en Tecnologas de Informacin 59
En lugar de los 23 centros de operacin se imagin una red de cobertura nacional de centros de pensamiento pensamiento en donde habra centros computadoras que contuvieran enormes bibliotecas
Una En
q que e no se podra entregar a cada usuario una computadora personal propona ofrecer a lo largo del campus y en los hogares de los acadmicos terminales de tipo SAGE
Mdulo 1: Diplomado en Tecnologas de Informacin
Se
61
De esta manera se dio origen g a la p primera comunidad en lnea, con pizarrones electrnicos, correo electrnico, amistades virtuales , programas gratuitos y hackers Este proyecto rpidamente llev al primer paradigma de seguridad informtica en red: Kerberos
Mdulo 1: Diplomado en Tecnologas de Informacin 62
Se
preocup de cmo construir estructuras de comunicacin q que siguieran g funcionando a pesar de que muchos de sus componentes hubieran sido destruidas
Mdulo 1: Diplomado en Tecnologas de Informacin 63
Se requieren numerosas conexiones redundantes, parecidas id superficialmente fi i l t al las redes d d de neuronas en el cerebro
Como
las redes analgicas telefnicas no permiten ms de cinco conexiones en tandem lo indicado era transmitir seales digitales Los elementos de conexin ya no eran interruptores telefnicos sino computadoras dedicadas.
la
primera
PDP 1 (Programmed Data Processor PDP-1 Processor-1) 1) diseada por Ben Gurley. familia de la tercera generacin. Usa microcircuitos.
1964, primera red local (LAN) 1966, 1966 primera red amplia (ARPAnet) (WAN)
circuitos integrados de gran escala LSI (Large Scale Integration) con 15,000 circuitos.
1970, Digital introduce la LA30 DECwriter, una terminal con teclado 1973, Bob Metcalfe inventa Ethernet
Diseo
de una red que permite a las computadoras heterogneas comunicarse en una red local
Mdulo 1: Diplomado en Tecnologas de Informacin 66
la
primera
de
un
67
1978 Xerox Corporation produce una mejora de TCP: el Internet Protocol (IP) 1979, Xerox, DEC e Intel anuncian Ethernet 1982, se funda Sun Microcomputers y libera el sistema operativo SunOS operating system basado en Unix 4.2 BSD y 4.3 BSD
Mdulo 1: Diplomado en Tecnologas de Informacin 68
Informacin y Cmputo p
codificacin es el famoso cdigo Morse que emplea dos elementos (el pulso corto y el pulso largo)
Tambin se requiere codificar informacin cuando se almacena almacena, procesa o transmite usando computadoras
El
cdigo g usado emplea p dos elementos ( (el 0 y el 1, , o el estado encendido y el estado apagado) para expresar cualquier texto, imagen sonido o entidad aritmtica
Mdulo 1: Diplomado en Tecnologas de Informacin
69
Informacin y Cmputo
TODA LA INFORMACIN SE PUEDE REPRESENTAR CON LA MENOR CANTIDAD DE SMBOLOS La informacin, entonces, toma la forma de una sucesin de ceros y unos que recibe el nombre de archivo Permite almacenarla en el disco duro de una computadora, en un disco flexible o en un CD-ROM o cinta conectado a una computadora Tambin permite transmitir informacin usando seales elctricas a travs de cables de cobre, mediante seales p o mediante ondas de luminosas a travs de fibra ptica radio
Mdulo 1: Diplomado en Tecnologas de Informacin 70
Informacin y Cmputo
cdigo que se usa emplea un octeto por carcter (un nmero o smbolo) 256 (= 2x2x2x2x2x2x2x2) octetos, para codificar caracteres distintos (maysculas, ( y , minsculas, nmeros y caracteres especiales)
Hay
71
Informacin y Cmputo
Las imgenes se convierten en secuencias binarias asignando un cierto nmero de bits a cada pixel para indicar su color color
La
informacin geomtrica est especificada en el formato (g (gif, , tif, ,p pcx, , jp jpeg, g, etc.) )
72
Informacin y Cmputo p
Los sonidos se caracterizan por el valor numrico de la amplitud de la onda sonora muestreada a intervalos determinados
La
73
Informacin y Cmputo p
Los medios magnticos (lineales o bidimensionales) usan zonas de magnetizacin y electroimanes para escribir o leer la informacin Los medios pticos usan zonas evaporadas mediante lser para escribir escribir, y cambios en la reflectividad a un rayo lser para leer
Mdulo 1: Diplomado en Tecnologas de Informacin 74
Informacin y Cmputo p
Los medio optomagnticos regrabables usan lser para calentar y electroimanes para leer y escribir
Para
lser
Almacenamiento: ubicuo
75
Informacin y Cmputo p
Informacin y Cmputo
1001010010011001010010010100101010 0101001001010100101010100101010100 1010101001010101010001011101010101 Esta E t es la l informacin i f i que se i intenta t t proteger al respaldarla, cifrarla, t transmitirla iti l o manipularla i l l
77
Informacin y Cmputo
Para que un humano P h l la pueda d ver se requiere el proceso inverso Distribucin: medios fsicos
78
Elemento de Control: Vlvula de Vaco Empleadas E l d en Cl Clculos l Ci Cientficos, tfi Balsticos y de Navegacin Lenguaje g j Mquina q y Cableado Manual Memoria: Tarjetas y Cintas perforadas
Mdulo 1: Diplomado en Tecnologas de Informacin 79
Elemento de Control: Transistor ( (menor tamao, , mayor fiabilidad) Empleadas en Clculos Cientficos, Militares, Administrativos y de Admn. Primeros Lenguajes de Programacin Memorias: Ncleos de Ferrita y Cintas Magnticas
Mdulo 1: Diplomado en Tecnologas de Informacin 80
Circuitos Integrados, Placas de Silicio o Plstico con varios componentes discretos Sistemas Operativos, Modo Interactivo Memorias de Semiconductores y Discos Magnticos
Mdulo 1: Diplomado en Tecnologas de Informacin
81
Microprocesador, todo el CPU en un nico Microprocesador circuito Gran Cantidad de Lenguajes de Programacin. Para diferentes propsitos Almacenamiento en disquete y primeras redes
Mdulo 1: Diplomado en Tecnologas de Informacin 82
Quinta Generacin, 1981-... 1981 ... Microchips. Muy Alta Integracin Sistemas Operativos ms intuitivos Programas y Aplicaciones de Usuario Datos, Imagen y Voz (Multimedia) Interconexin entre computadoras (Internet) Inteligencia Artificial
Modelo
Von Neumann
84
Modelo de la estructura de las computadoras actuales. Los elementos esenciales de este modelo son:
Memoria:
almacenamiento donde se guardan instrucciones y datos de los programas que se estn ejecutando en un momento dado Procesador (CPU o Unidad Central de Proceso): intrprete y ejecutor de un conjunto de instrucciones Entrada/salida: E t d / lid por d donde d entran t o salen l 1: Diplomado en Tecnologas de instruccionesMdulo o datos 85 Informacin
Ejecutar
Localizar
86
Bloques Funcionales
87
88
Registros Importantes
El contador de programa (PC): contiene la direccin de la siguiente instruccin a j ejecutar El registro de instrucciones (IR): aqu se guarda la instruccin q g que se est ejecutando en cada momento Los registros g p para el uso del p programador: g situados en la ALU, pueden tener diferentes estructuras segn la organizacin i i i interna t d del l procesador d
Registros Importantes
El registro de direccin de memoria (MAR): contiene la direccin de memoria donde se va a leer o escribir El B Buffer ff d de memoria i (MB) (MB): T Tambin bi llamado MDR. Contiene la informacin l d en una operacin leda i d de l lectura t ol la informacin a escribirse en una operacin d escritura de it
Mdulo 1: Diplomado en Tecnologas de Informacin 90
Ejecucin de Instrucciones
Un p programa g consta de una secuencia ordenada de instrucciones. El proceso de j de cada una de estas ejecucin instrucciones pasa por los siguientes ciclos o fases:
Bsqueda:
consiste en la lectura de la instruccin y la bsqueda de sus operandos, si los tiene Ejecucin: consiste en la ejecucin de la instruccin
Mdulo 1: Diplomado en Tecnologas de Informacin 91
hacerlo, se carga el PC en el MAR y el resultado obtenido se pasa al MB Despus, Despus el MB se pasa al RI para que se decodifique dicha instruccin
Incrementar el contenido del PC para que contenga la direccin de la siguiente instruccin Determinar el tipo de instruccin que se ha extrado y el nmero de sus operandos Si la instruccin tiene operandos deber determinarse su localizacin Leer los operandos, si los Mdulo 1: Diplomado en hay Tecnologas de
Informacin
92
Ejecutar la instruccin Almacenar los resultados en el lugar apropiado Volver al paso de bsqueda
Mdulo 1: Diplomado en Tecnologas de Informacin 93
circuito toma dos operandos de las entradas A y B y produce como resultado la salida lid Y Y. L Las operaciones i usualmente l i incluyen, l como mnimo, las siguientes:
add, dd subtract bt t and, or, not shift right, shift left En procesadores ms complejos complejos, la ALU ejecuta mucho ms instrucciones
Mdulo 1: Diplomado en Tecnologas de Informacin
95
de localidades de almacenamiento (registros) para guardar resultados temporales. Las primeras mquinas tenan justamente un registro registro, usualmente llamado acumulador. Los modernos procesadores RISC tiene al menos 32 registros. se almacena la instruccin que actualmente est siendo ejecutada j p por el p procesador.
la instruccin en el IR e inicializa seales que controlan t l la l operacin i d de l la mayora d de l las otras t unidades del procesador. Mdulo 1: Diplomado en Tecnologas de
Informacin
96
Reloj
Mayora de procesadores son sncronos: usan una seal de reloj para determinar cundo capturar la siguiente palabra de datos y realizar una operacin sobre ellos En un procesador globalmente sncrono sncrono, un reloj comn necesita estar ruteado o conectado a a cada unidad en el procesador
Mantiene M ti l la di direccin i d de memoria i d de l la siguiente i i t i instruccin t i a ser ejecutada. Se actualiza con cada ciclo de reloj para apuntar a la siguiente instruccin en el programa
Este registro se carga con la direccin de la siguiente palabra de datos que ser trada desde o almacenada en memoria
Mdulo 1: Diplomado en Tecnologas de Informacin 97
Este bus se usa para transferir direcciones a memoria y memoria mapeada a los perifricos. Es manejado por el procesador actuando como un bus maestro Este bus transporta datos hacia y desde el procesador, memoria y perifricos. Es manejado por la fuente de datos, es decir, por el procesador memoria o perifricos procesador,
Los procesadores de alto rendimiento proporcionan buses separados de direccin y datos. Para limitar el nmero de pins y la complejidad de los buses, algunos procesadores multiplexan direccin y datos en el mismo bus: esto tiene un efecto adverso en el rendimiento
Mdulo 1: Diplomado en Tecnologas de Informacin 98
Sistemas
Numricos
99
Sistema Numrico
Conjunto j de smbolos y reglas g q que se utilizan para la representacin de datos numricos o cantidades Sistema decimal: Base 10 1542 = 11000+5100+410+21 = 1103+5102+4101+2100 Base B: XY ZTB = + X B3 + Y B2 + Z B1 + T B0 X, , Y,Z, , , T toman valores entre 0, , 1, , 2, , . . . ,(B ,( - 1) )
Sistema Binario
Sistema Decimal: Diez dedos,diez smbolos distintos: 0, 1 2, 1, 2 3, 3 . . . , 8, 8 9, 9 b base 10 Sistema Binario: Corriente elctrica o no, dos simbolos distintos: 0, 1, base 2. Las computadoras representan los datos con interruptores elctricos
Un interruptor encendido (paso de corriente) representa un 1 Un interruptor apagado (sin paso de corriente) representa un 0
Cuando una computadora necesita representar un nmero mayor que 1 1, hace lo mismo que hacemos nosotros para representar un nmero mayor que 9 010 = 02 , 110 = 12 , 210 = 102 , 310 = 112 , 410 = 1002 . . .
Mdulo 1: Diplomado en Tecnologas de Informacin 101
Binario
Binario es un sistema numrico de base 2. En general, un sistema numrico de base n codifica los nmeros como:
As:
1010112 = 1 x 20 + 1 x 21 + 0 x 22 + 1 x 23 + 0 x 24 + 1 x 25 = 1 + 2 + 0 + 8 + 0 + 32 = 43
La conversin de un nmero en base 10 a un nmero en base 2 se realiza dividiendo sucesivamente el nmero entre 2 y ordenando el ltimo cociente y los restos de cada divisin empezando por el ltimo.
103
Hexadecimal
Otra base que se usa en la ciencia computacional es la base16, o hexadecimal. La base 16 requiere inventar nuevos digitos
104
Arquitectura
y Organizacin de Computadoras
105
Analgico vs Digital
Analgica: Seales elctrica de tipo continuo, la seaal puede tomar cualquier valor dentro del rango Ejemplo: voz humana rango. Digital: g Seal elctrica de tipo p discreto q que slo puede tomar una serie de valores predefinidos. Ejemplo: seal de cdigo Morse
Seal
Arquitectura q de Computadora p
(unidad central de proceso): ejecuta instructiones de programa Memoria Principal (RAM): almcena instrucciones de programa y datos durante su ejecucin. Voltil (se pierden cuando falta corriente o se apaga p p g el equipo) q p ) Almacenamiento Secundario (discos): guarda permanentemente programas (instructiones) y datos Dispositivos de Entrada: teclado, mouse, etc. Dispositivos de Salida: monitor, impresora, etc.
Mdulo 1: Diplomado en Tecnologas de Informacin
108
109
Lenguajes
111
Capas de Abstraccin
Un nivel o capa de abstraccin es una idealizacin de la realidad, para simplificar una tarea donde los detalles no son importantes p
Ejemplo:
En Ciencias de la Computacin, los niveles de abstraccin se concentran en resolver el problema y dejar que la computadora se ocupe de los detalles
Mdulo 1: Diplomado en Tecnologas de Informacin 112
Capas de Abstraccin
Los lenguajes de programacin con varios niveles de abstraccin son lenguajes de alto nivel Los lenguajes de programacin con pocos o ningn nivel de abstraccin son lenguajes de bajo nivel
Mdulo 1: Diplomado en Tecnologas de Informacin
113
Ensamblador (1) ( )
El primer nivel de abstraccin del programador es el lenguaje ensamblador. Es esencialmente una forma nemotcnica del lenguaje de mquina
Idealizacin: dea ac se puede dec decirle, e, de manera a eas simple, p e, a la a mquina lo que se desea que haga Qu se puede ignorar: que las instrucciones deben estar codificadas difi d en un f formato t bi binario i particular ti l El programa que convierte las instrucciones en ensamblador a cdigo de mquina se llama ensamblador
Mdulo 1: Diplomado en Tecnologas de Informacin 114
Ensamblador (2)
El ensamblador es de muy y bajo j nivel. Hay, y, aprox., p , una correspondencia uno a uno entre instrucciones de ensamblador e instrucciones de mquina. Esto puede ser tedioso tedioso.
115
Otra capa: C
C es el ms perdurablemente popular de los lenguajes de alto nivel inventados en los 60's y 70's. C permite comunicar los deseos al CPU sin describir explcitamente cada paso
Idealizacin: se pueden escribir expresiones con una sintaxis i t i que parece f familiar ili Qu se ignora: estas expresiones deben ser transladadas en muchas instrucciones de mquina separadas (pueden ser docenas)
Mdulo 1: Diplomado en Tecnologas de Informacin 116
Multicapas p o Multiniveles
Para q que una instruccin o ( (comando) ) de alto nivel, emitida por el usuario llegue a por la mquina q ( (bajo j nivel): ) ser entendida p
Se
requiere una serie de niveles de traduccin o interpretacin que vayan traduciendo, a medida que bajan al hardware, cada vez a menor nivel hasta llegar al lenguaje que entiende ti d l la mquina i
117
Multicapas p o Multiniveles
Para que l P la respuesta t d de l la mquina, i en lenguaje de bajo nivel, llegue a ser comprendida did
Se
requiere el proceso de traduccin o i t interpretacin t i i inversa: h hay que h hacer l lo mismo pero ahora del bajo al alto nivel por el usuario:
118
El concepto de mltiples niveles de traduccin es lo que se conoce conceptualmente como mquina multinivel Esta E t abstraccin b t i h ha d dado d origen i al los principales programas intrpretes y t d t traductores:
Intrpretes Compiladores
Mdulo 1: Diplomado en Tecnologas de Informacin 119
Compiladores (1)
El programa, escrito en C por ejemplo, se llama cdigo fuente El p programa g q que transforma o traduce el cdigo g fuente en cdigo de mquina (casi) se llama compilador
120
Compiladores (2)
Cada lenguaje de alto nivel necesita un compilador (o un intrprete, o ambos) para transformar el cdigo que los humanos pueden leer y escribir en cdigo que la mquina puede ejecutar En realidad, el compilador toma como entrada el cdigo fuente y entrega como salida un cdigo llamado objeto Este programa objeto an no es ejecutable (no es totalmente cdigo de mquina)
Mdulo 1: Diplomado en Tecnologas de Informacin 121
Compiladores p (3) ( )
El programa objeto requiere de un programa ligador (linker) que lo que, en trminos generales, hace es resolver referencias ajenas al cdigo del lenguaje:
Directivas LLamadas Etc. Etc
a funciones de bibliotecas
Compiladores (4)
Usualmente no slo hay una forma de transladar un programa fuente a cdigo ejecutable Los compiladores analizan el cdigo fuente e intentan escoger la mejor translacin a cdigo de mquina Q es mejor Qu j d depende d d de l lo que se d desee como salida del programa:
Velocidad Cdigo
Fases de Compilacin
Inventado a mediados de los 90s para d desarrollar ll aplicaciones li i en I Internet t t Entre sus objetivos de diseo estn: portabilidad y seguridad Garantiza que los nmeros sern del mismo tamao sobre cada plataforma sin importar el tamao de la mquina nativa Idealizacin: Cada computadora que ejecuta el programa se puede ver como exactamente la misma desde la perspectiva del programador. Qu se ignora: Hay grandes diferencias en el modo en que distintos procesadores implementan las mismas operaciones Mdulo 1: Diplomado en Tecnologas de
Informacin
125
El compilador de Java no produce cdigo de mquina. Produce bytes code para la Mquina Virtual Java (JVM) La JVM para una plataforma lee bytes code y lo translada (interpreta) a cdigo de mquina en tiempo de ejecucin
126
Unidades
de Informacin y
Cdigos Cdi
127
Bit y Byte
Unidades de informacin manipuladas en informtica.Se usan para describir la capacidad de los componentes de una computadora, tamao de programas y archivos BIT (BInary digiT): Unidad mnima de informacin del sistema binario. Cada bit o dgito binario puede tomar el valor 0 o 1. Con un bit p puedo hacer referencia a dos datos, , dos elementos, verdadero o falso, encencido o apagado... BYTE, Agrupacin de 8 bits (convenio) BYTE (convenio), se utiliza para almacenar un carcter. Con 1 byte (8 bits) se puede hacer referencia a 28 = 256 elementos distintos. Cdigo ASCII 256 caracteres codificables
Mdulo 1: Diplomado en Tecnologas de Informacin 128
Mltiplos del byte Mlti l Mltiplo y ( (KB) ) Kilobyte Megabyte (MB) Gigabyte (GB) Terabyte (TB) Petabyte (PB) No d N de b bytes t (potencia de 2) 210 bytes y 220 bytes 230 bytes 240 bytes 250 bytes No d N de b bytes t (decimal) 1024 bytes y 1024 KB 1024 MB 1024 GB 1024 TB No d N de b bytes t aproximados 103 bytes y 106 bytes 109 bytes 1012 bytes 1015 bytes
Anlisis,
130
Complejidad de Algoritmos
O(f(n)) -Orden Orden de f(n) f(n)-: : Conjunto de las funciones que crecen asintticamente igual o menos rpidamente que f (cota superior) (f(n)) -. de f(n)-: Conjunto de las funciones que crecen asintticamente igual o ms rpidamente que f (cota inferior) (f(n)) -Orden exacto de f(n)-: Conjunto de las funciones que crecen asintticamente igual a f
Mdulo 1: Diplomado en Tecnologas de Informacin 131
Complejidad p j de Algoritmos g
T(n).- Complejidad en tiempo para una entrada de tamao n. Nmero de instrucciones para un procesador ideal
132
Complejidad p j de Algoritmos g
Instrucciones de asignacin, entrada/salida y expresiones aritmticas cuyos datos no dependan del tamao del problema: Costo constante (1) Regla de la suma (el mximo de los costos)
133
Complejidad de Algoritmos
Regla g de la Multiplicacin p
134
Complejidad de Algoritmos
Instrucciones Condicionales: Si B entonces S1, en caso contrario S2. Aplicar la regla de la suma: (mx (B,S1,S2)) Instrucciones Iterativas: mientras B hacer S. Aplicar la regla del producto:
135
Solucin de Recurrencias
La funcin del costo de una funcin recursiva es la solucin de una recurrencia T(n!) ( ) = n*T((n-1)!) (( ) ) = ( (n)*(n-1)* ) ( ) T((n-2)!)= (( ) ) ... Se utilizan unas soluciones para resolver dos familias de recurrencias Dependen de la forma de reducir el tamao del problema en la llamada recursiva
Mdulo 1: Diplomado en Tecnologas de Informacin 136
Referencias Bibliogrficas
G. David Garson. Information Technology and Computer Applications. Idea Group Publishing. Ning Zhong. Intelligent Technologies for Information Analysis. Springer. Shailendra Palvia. The Global Issues of Information Technology Managment. Idea Group Publishing.
137
Referencias Bibliogrficas
Andrew S. Tanenbaum. Operating p g Systems. y Prentice Hall. Andrew S. Tanenbaum. Introduccin a las redes. Prentice Hall. Andrew S. Tanenbaum. Stuctured Computer p Organization. Prentice Hall. Michael Karbo. Pc Architecture. Silberschatz, A. "Sistemas Operativos" (5/e). Addison-Wesley y