Академический Документы
Профессиональный Документы
Культура Документы
Qu es la Informtica?
Conjunto de disciplina y tecnologas que trata de la adquisicin, representacin, almacenamiento, tratamiento y transmisin de la informacin.
Estas operaciones se pueden realizar automticamente utilizando mquinas (sistemas) denominadas computadoras.
Segn la RAE
Conjunto de conocimientos cientficos y tcnicas que hacen posible el tratamiento automtico de la informacin por medio de ordenadores.
La informtica no es arreglar ordenadores!
Qu es la Informtica?
mbitos de aplicacin
Procesamiento de datos administrativos Ciencias fsicas e ingeniera Ciencias de la vida y tcnicas Ciencias sociales y del comportamiento Arte y humanidades Ingeniera con ayuda de computadora
Qu es un ordenador?
RAE:
Mquina electrnica dotada de una memoria de gran capacidad y de mtodos de tratamiento de la informacin, capaz de resolver problemas aritmticos y lgicos gracias a la utilizacin automtica de programas registrados en ella.
Wikipedia:
Es una mquina electrnica que recibe y procesa datos para convertirlos en informacin til.
Qu es un ordenador?
Otra definicin:
Mquina capaz de aceptar datos a travs de un medio de entrada, procesarlos automticamente bajo el control de un programa previamente almacenado y proporcionar la informacin resultante a travs de un medio de salida.
Qu es un ordenador?
Elementos
Mquina electrnica Tratamiento de la informacin Operaciones sencillas (aritmticas y lgicas) Programas Entrada / Salida
Tipos de ordenadores
Ordenador personal (PC) Ordenador porttil Mainframe Smartphone Tablet Micro-controlador
Parte 1
Ejemplos.
baco Regla de clculo
Operandos y resultados se representan por longitudes ln(ab) = ln(a) + ln(b)
Ordenadores electrnicos
COLOSSUS (1943)
Debido a una reciente desclasificacin de documentos britnicos de la Segunda Guerra Mundial se ha descubierto que la primera computadora electrnica fue el Colossus Construccin secreta con el objetivo de descifrar los mensajes militares secretos del ejrcito alemn, codificados con la mquina Enigma Con 1500 vlvulas Alan Turing particip en su construccin
Ordenadores electrnicos
1946: primera generacin vlvulas electrnicas de vaco 1959: segunda generacin transistores (IBM 1401) 1965: tercera generacin circuitos integrados, multiproceso (IBM S/360) 1970: cuarta generacin microminiaturizacin de los circuitos electrnico
Primera generacin
ENIAC
Construccin secreta (uso militar: construccin de tablas matemticas para balstica) Programable en hardware (por cambio de conmutadores y conexiones) Utiliza aritmtica decimal Con sus 18000 vlvulas de vaco y 1500 rels pes 30 toneladas y ocup 140 metros cuadrados, 5000 clculos por segundo
Primera generacin
ENIAC: programacin
Primera generacin
ENIAC: reemplazo de un tubo estropeado
Primera generacin
EDVAC (John von Neumann: 1950)
Evolucin de ENIAC. Implementacin de arquitectura von Neumann de los ordenadores actuales:
Estructura de mquina de Babbage (E/S, ALU, Unidad de control y memoria). Aritmtica binaria. Programa almacenado en memoria.
Primera generacin
UNIVAC I (UNIVersal Automatic Computer I) (1951)
Primer ordenador fabricado en serie El primero funcion durante 12 aos ininterrumpidamente (24 horas al da)
Segunda generacin
Uso del transistor
Dispositivo similar a la vlvula de vacio pero
Slido Ms fcil de fabricar Menor consumo y calor disipado Ms pequeo Ms duradero
Tercera generacin
Circuitos integrados
En una placa de silicio se construye un circuito con una funcin electrnica compleja: Circuitos mejores (coste, complejidad y fiabilidad) Aumento de velocidad (reduccin de espacio) Reduccin de consumo Uso de circuitos integrados tambin en las memorias
Tercera generacin
Ley de Moore
El nmero de transistores por unidad de superficie en circuitos integrados se duplicaba cada ao.
Ahora cada 18 meses, hasta 2017
Tercera generacin
Grandes computadores y pequeos terminales
Un ordenador central da servicio a terminales locales o remotos Tcnicas de comparticin de recursos y procesamiento concurrente Tcnica de memoria virtual, el usuario cree que hay ms memoria
Cuarta generacin
Se desarrolla el microprocesador Se colocan ms circuitos dentro de un "chip"
LSI - Large Scale Integration circuit VLSI - Very Large Scale Integration circuit
Cuarta generacin
Primer ordenador personal.
Lisa: Primer ordenador personal, con ratn e interfaz grfica, fabricado por Apple
Parte 2
HARDWARE
Hardware
La palabra hardware se refiere a las partes fsicas del ordenador.
En castellano, soporte fsico
Definicin:
Conjunto de circuitos electrnicos, cables, armarios, dispositivos electromagnticos, y otros elementos fsicos que forman la computadora.
CPU
Registros
Memoria cache
rea de cdigo
10010100100101010 10010010001000001 1001010010010
ALU
Unidad de control
Unidad de control
Lee la instruccin siguiente y la decodifica Lee los valores de la memoria o de los registros Pide a la ALU que realice la operacin con los datos Guarda los valores en memoria o en los registros Vuelve a empezar
Estructura funcional
Tamao de palabra
Conjunto de bits que el procesador utiliza como unidad Elementos que dependen
Tamao de los registros Tamao de las instrucciones Tamao mximo de la memoria RAM
Unidad de salida:
Dispositivo por donde se obtienen los resultados de los programas ejecutados en la computadora
Ejemplos: Pantalla, impresora, altavoz ...
Una instruccin puede tardar uno o ms ciclos La velocidad de la CPU se puede medir en trminos de la frecuencia del reloj, en Herzios
Ej., 2.3 Ghz
Familias de procesadores
Intel
8086, 80286: 16bits 80386, 80486: 32bits Pentium I, Pentium II, Pentium III: 32bits i3, i5, i7: 64bits
ARM
Muy usados en los dispositivos mviles Poco consumo energtico
Potencia de un ordenador
Factores importantes para determinar la potencia de un ordenador:
Tamao de palabra Capacidad de la memoria Frecuencia de reloj Ancho de banda
Potencia de un ordenador
Tamao de palabra
Unidad mnima con la que opera el ordenador Puede permitir operaciones ms complejas en un solo ciclo
Capacidad de la memoria
Memoria cache
Permite acceder ms rpido a los datos ms frecuentes
Memoria RAM
Ms memoria RAM evita paginacin
Potencia de un ordenador
Frecuencia de reloj
Si la frecuencia es alta, indica que la CPU puede ejecutar ms ciclos (operaciones) por segundo Se mide en Ghz (gigaherzios)
Ancho de banda
Indica la cantidad de informacin que se puede transferir por segundo entre una unidad y otra. Por ejemplo, decir que el ancho de banda entre la memoria y el procesador es de 133 MB/s, quiere decir que en 1 segundo se pueden transferir 133 MB.
Potencia de un ordenador
Comparar caractersticas
Ej., http://cpuboss.com/cpus/Intel-Pentium2020M-vs-Intel-Core-i3-3120M Benchmarks
Parte 3
1 2 3
Pregunta
Cuntos valores puede almacenar un byte?
Acceso: 568056
Contar en binario
Conteo en base 10
09 10 19 20 29 90 ... 99 100 ... 109
Conteo en binario
01 10 11 100 ... 101 110 111
Contar en binario
Aadir un bit dobla el nmero de patrones
Bits 1 2 3 4 5 6 Valores 2 4 8 16 32 64
7
8
128
256
Matemticamente:
n bits permiten representar 2 valores
Contar en binario
Estrategia
Cada dgito tiene un peso
En base 10, cada dgito tiene 10 veces ms peso que su vecino de la derecha En base 2, cada dgito tiene 2 veces ms peso que su vecino de la derecha
Multiplicar cada dgito por su peso, e ir sumando los valores obtenidos para cada dgito
Contar en binario
Binario Decimal
Pregunta
Qu nmero decimal corresponde al nmero binario 110010100? Bits Valores
1 2 3 4 5 2 4 8 16 32
6
Digito1 Base0 + Digito2 Base1 + .. + Digiton Basen-1 7 8
64
128 256
Acceso: 568056
Pregunta
Qu nmero decimal corresponde al nmero binario 110010100?
Pregunta
Dados 7 bits, cul es el nmero mximo de valores que se pueden representar?
Acceso: 568056
Pregunta
Cul es el nmero natural ms grande que se puede representar con un byte?
Acceso: 568056
AND
Corresponde a la conjuncin lgica Dados dos bits, B1 y B2 Tiene como resultado 1 si ambos son 1
OR
Corresponde a la disyuncin lgica Dados dos bits, B1 y B2 Tiene como resultado 1 si al menos uno de ellos es 1
0 0
1 0
0 0
0 0
1 0
1 0
Pregunta
Si Bit1 = 1 y Bit2 = 1, cul es el resultado de la operacin: Bit1 AND (NOT Bit2) ?
Acceso: 568056
Pregunta
Si Bit1 = 1 y Bit2 = 0, cul es el resultado de la operacin: Bit2 OR (Bit1 AND (NOT Bit2)) ?
Acceso: 568056
Codificacin de la informacin
Codificacin de caracteres
Permite convertir un carcter de un lenguaje natural en un smbolo de otro sistema de representacin (ej., bits) Necesaria para manejar datos alfanumricos
Normas de codificacin
ASCII UTF-8 ISO 8859-1
Pregunta
En la codificacin ASCII el nmero 9 se representa con 1001 porque ese es su valor en binario.
Verdadero Falso
Mltiplos
1 Kilobyte (o KB) = 210 Bytes = 1024 Bytes 1 Megabyte (o MB) = 220 Bytes = 1.048.576 Bytes 1 Gigabyte (o GB) = 230 Bytes = 1.073.741.824 Bytes 1 Terabyte (o TB) = 240 Bytes 1 Petabyte (o PB) = 250 Bytes 1 Exabyte (o EB) = 260 Bytes
Mltiplos
Kilobyte
Texto, un byte por letra (ms o menos) E-mail de una pgina: 2 KB
Megabyte
Audio en MP3: 1 MB por minuto CD de audio: 700 MB
Por qu caben pocas canciones?
Mltiplos
Megabyte
Memoria RAM: 4 GB, 8 GB, etc. Disco duro: 750 GB Flash drive: 16 GB
Terabyte
Disco duro: 2 TB
Parte 4
SOFTWARE
Software
Conjunto de programas (del sistema operativo, de utilidades y de los usuarios) ejecutables por el ordenador.
Lenguajes de programacin
La CPU ejecuta instrucciones muy simples codificadas como 0s y 1s
Estas instrucciones son el cdigo mquina
Lenguajes de programacin
Lenguajes de alto nivel
Permite expresar soluciones con una sintaxis ms cercana al programador
Ofrece construcciones que abstraen de los detalles de la mquina
Construcciones tpicas
Condicionales: if valor-verdadero then accin Bucle: while (valor-verdadero) do accin Llamadas a funciones: enviar_mensaje(hola)
Lenguajes de programacin
Ejemplos
C / C++ Java Javascript Ruby
Lenguajes de programacin
Pero si el ordenador slo entiende lenguaje mquina
Compiladores Intrpretes
Lenguajes de programacin
Compilador
Programa que traduce un lenguaje de alto nivel a lenguaje mquina
Ejemplo. C/C++
n=0 while ( n < 10 ) print n * 2 n = n +1 end print Terminado instr1 : n = 0 instr2: n < 10 instr3 : iffalse-goto instr8 instr4 : v = n* 2 instr5 : print v instr6 : n = n + 1 instr7 : goto instr2 instr8 : print Terminado
Compilador
Lenguajes de programacin
Compiladores.
Ventajas.
Produce cdigo optimizado para un determinado tipo de CPU (arquitectura de la CPU, ej., x86-64bits)
Desventajas
Cada vez que se hace un cambio en el programa hay que volver a compilar Hay que crear tantos ejecutables como arquitecturas de CPU se quieran soportar
Lenguajes de programacin
Intrpretes
Es un programa que se encarga de ejecutar otros programas escritos en cierto lenguaje
Ejemplo. Javascript en el navegador
Ventajas
Es suficiente un intrprete para cada arquitectura
El interprete emula el trabajo de la CPU
Desventajas
Es menos eficiente No todo el mundo quiere mostrar el cdigo fuente
Lenguaje de programacin
Ejemplo de cdigo
Lenguaje de programacin Java Lenguaje de programacin Ruby Elementos bsicos
Asignaciones Operaciones Sentencias de control: condicional y bucle
Probar lenguajes
Ruby: http://tryruby.org Varios: http://repl.it Tutorial interactivo: http://www.codecademy.com/
Tipos de Software
Software de sistema
Sistemas operativos Controladores de dispositivo Utilidades
Software de programacin
Compiladores, interpretes Entornos de programacin
Software de aplicacin
Aplicaciones ofimticas Juegos Diseo asistido, etc.
Parte 5
SISTEMA OPERATIVOS
Se disearon ensambladores para facilitar las tareas de programacin, y se crearon bibliotecas de funciones comunes
Sistema Operativo
Concepto de Sistema Operativo (SO):
Programa que acta como intermediario entre el usuario y el hardware de un computador
Propsito
Proporcionar un entorno en el cual el usuario pueda ejecutar programas Crea una capa de abstraccin (para el programador) sobre el hardware. El SO trata de administrar el hardware de manera eficiente. Gestionar el sistema de archivos
Sistemas Operativo
Definicin
Programa o conjunto de programas que facilitan el uso de los recursos hardware a usuarios y programas y gestionan los recursos para que se usen de una manera eficiente.
Los sistemas operativos y la arquitectura del computador tienen una gran influencia mutua
Los sistemas operativos se desarrollan para facilitar el uso del hardware
Sistema Operativo
Esquema de funcionamiento
El usuario se comunica con las aplicaciones
El SO proporciona comandos e interfaz de usuario (servicios para usuarios)
Las aplicaciones usan los servicios del SO (ej., leer fichero) El SO gestiona el hardware
Servicios bsicos
Gestin de los recursos hardware bsicos (memoria, tiempo de CPU, etc.) Interfaz de usuario Interfaz del programador Sistema de ficheros Gestin de perifricos de entrada/salida Arranque del ordenador (boot) Servicios de red (ej., soporte TCP/IP) Sistemas de seguridad Programas de utilidad
Administrador de procesos
Windows: Taskmgr.exe Linux: top
Los bytes de un fichero pueden corresponder un programa, una imagen, un texto, etc. El sistema de ficheros proporciona una correspondencia entre la localizacin fsica del fichero y el nombre que se utiliza para referirse a l.
Interfaces de usuario
Interfaces de ventanas
Windows GNOME KDE XFCE
Interfaces de comandos
MS-DOS Bash
Sistema de ficheros
Tipos de sistemas de ficheros
FAT 16 y FAT 32
Desarrollado para MS-DOS Tamao mximo de archivo: 2 GB y 4 GB Tamao mximo de un disco: 2 GB y 2 TB
NTFS
Disponible en Windows XP y posteriores
Ext 3 y Ext 4
Usados normalmente en Linux
Sistema de ficheros
Estructura de directorios
Organizacin jerrquica de ficheros Un directorio puede contener
Ficheros Otros directorios
El sistema de ficheros trata ficheros y directorios de manera homognea (en muchas ocasiones)
Sistema de ficheros
Sistema de ficheros
Propiedades de un fichero (o directorio)
Nombre y extensin Tamao Fecha de creacin Fecha de modificacin Fecha del ltimo uso Permisos del fichero
Quin puede hacer qu con el fichero?
Windows
Cada unidad una raz (ej., C: ) Separador \ Insensible a maysculas y minsculas Por defecto, no sistema de permisos
Usos
Probar sistemas operativos (ej., Linux) Dividir un ordenador en otros ms limitados
Mquinas Virtuales
VMWare
De pago
Virtual Box
https://www.virtualbox.org/ Libre y gratuita
Distribuciones Linux
Ubuntu
http://www.ubuntu.com/desktop
Fedora
http://fedoraproject.org/es/
Backtrack
Especializada en anlisis de redes
Parte 6
SOFTWARE LIBRE
Software libre
Software que respeta la libertad del usuario Breve historia
En los 60-70 era comn compartir el software En los aos 80 comenz el boom del software priv. Problema con una impresora Xerox sin cdigo fuente 1984, proyecto GNU
Software libre
Libertad 0
Usar
Libertad 1
Adaptar
Libertad 2
Distribuir
Libertad 3
Publicar mejoras
Software libre
Software libre
Licencias libres
Copyright es implcito Explicitan qu esta permitido Copyleft
Tipos de licencias
Licencias permisivas
Derechos de la persona que recibe el programa
Licencias fuertes
Derechos de la persona que recibe la redistribucin
Software libre
GNU GPL
Creada por la FSF Licencia ms usada (ej., Linux kernel) copyleft, all rights reversed Permite
Redistribucin en forma binaria, pero dar acceso al cdigo fuente es obligatorio Solo es posible integrar con cdigo con licencia compatible (ej., BSD, que no contradice ninguna libertad) Viral effect
Software libre
GNU GPL
El propietario es ahora el poseedor del software Si el cdigo tiene elementos patentados
Hace falta un licencia de uso gratuita
GPL v3
Prohibe el bloqueo hardware de cdigo modificado Ej. TiVo Seguridad vs. libertad
Software libre
Licencia BSD
Surge en Berkeley (Software Distribution) El contribuyente ya ha pagado por el software Problema
No garantiza el mantenimiento de libertades de las posibles redistribuciones
Incluye un disclaimer
Software libre
Licencia BSD
Licencia permisiva Obligacin de dar crdito a los autores Permite redistribucin binaria con/sin cdigo fuente Cambios en el original permitidos Integracin sin restricciones Licencias parecidas
X-Window, Tcl/Tk, Apache
Software libre
GNU LGPL
Permite que los programas libres se usen con programas privativos Pensado para libreras
Affero GPL
Considera servicios via web, que no se considera redistribucin
Licencias duales
Ej., KDE y Trolltech/QT
Pregunta
El software libre siempre es gratuito,
VERDADERO FALSO
Creative Commons
Organizacin sin nimo de lucro
Fundada por Lawrence Lessig Profesor de derecho de Stanford Desarrolla planes para ayudar a reducir las barreras legales de la creatividad por medio de nueva legislacin y de las nuevas tecnologas.
Creative Commons
4 condiciones
Combinacin 6 licencias
Creative Commons
Reconocimiento (BY)
Copiar, distribuir, exhibir y obras derivadas Requiere reconocer y citar la obra original
No comercial (NC)
Permite fines no comerciales
Creative Commons
Reconocimiento (CC-BY) Reconocimiento Compartir bajo la misma licencia (CC-BYSA) Reconocimiento Sin Obras Derivadas (CC-BY-ND) Reconocimiento No Comercial (CC-BY-NC) Reconocimiento No Comercial- Compartir bajo la misma licencia (CC-BY-NC-SA) Reconocimiento No Comercial- Sin Obras Derivadas (CCBY-NC-ND) Todas exigen la condicin de reconocimiento. Condicin de compartir bajo la misma licencia y la de sin obras derivadas son incompatibles entre s, y se permite no incluir a ninguna de las dos.
Stone Soup
Parte 6
TECNOLOGAS DE INTERNET
Internet
Internet es una red mundial que interconecta millones de dispositivos de diferente naturaleza, como son servidores, ordenadores personales, mviles, y en general cualquier dispositivo con capacidades de gestin de red. Red de redes
La arquitectura de Internet est pensado para conectar redes heterogneas Los dispositivos se conectan a una red, y a partir de ah pueden comunicarse con el resto
Internet
Acuerdo en los protocolos de comunicacin
Diferentes protocolos para diferentes tipos de tareas a la hora de realizar la comunicacin
Protocolo
Define el formato y el orden de los mensajes intercambiados entre dos o ms entidades que se estn comunicado, y las acciones que se llevan a cabo al enviar y recibir los mensajes.
Internet
Organizacin de los protocolos
Nivel superior hace uso del inmediatamente inferior
Capa de aplicacin
DNS POP3
TCP
IP
UDP
ICMP DHCP
Internet
Parte pblica
Red global que conecta otras redes, bien pblicas o privadas
Parte privada
Intranet Redes no accesibles sin autorizacin
Elementos clave
Arquitectura:
Cliente Servidor Recursos
WWW Arquitectura
Arquitectura cliente servidor
Cliente es un programa que realiza una peticin para obtener un recurso Servidor es un programa que responde a las peticiones de los clientes Cliente y servidor posiblemente residen en mquinas distintas
WWW Arquitectura
Los recursos estn identificados por una URL
URL: Uniform Resource Locator
Ej., http nmero opcional
protocolo://host:puerto/ruta
Dominio o IP (ej., www.google.com, 173.194.41.216)
Ejemplos
http://en.wikipedia.org/wiki/Computing http://62.34.42.23:8080/foto.jpg
WWW HTTP
Formato de mensajes
GET /imagenes/spiderman HTTP/1.1 User-agent: Mozilla/4.0 Accept: image/jpeg Accept-language:es
Peticin
HTTP/1.1 200 OK Server: Apache/1.3.0 (Unix) Last-Modified: 22 Jun 2013 09:23 Content-Length: 6821 Content-Type: text/html datos datos datos
Respuesta
WWW HTTP
Tipos de peticiones (las ms importantes)
GET : Pide un recurso POST : Incluye datos en la peticin
User agent
Quin hace la peticin (ej., un navegador) Sirve para ajustar el contenido
WWW HTTP
Status
200 OK 404 Not Found
El recurso no est disponible
403 Forbidden
No se tienen permisos suficientes para acceder al recurso
WWW HTTP
Cookies
HTTP es un protocolo sin estado
Un servidor no puede recordar sus clientes Dificulta recordar claves, guardar preferencias, etc.
Una cookie es una pequea cantidad de datos que el servidor almacena en el cliente.
El cliente tiene la responsabilidad de almacenar la cookie y devolver sin modificar en cada peticin Tienen una fecha de expiracin
WWW HTTP
Cookies
1. El cliente hace una peticin a un servidor 2. El servidor responde con el recurso y la cookie 3. El cliente devuelve la cookie al servidor en cada nueva peticin
1. Peticin
2. 3.
Respuesta
WWW DNS
Motivacin
Identificar un host mediante su direccin IP no es sencillo para un humano Sera mejor asignar nombres legibles los host
WWW DNS
Ejemplo de resolucin
1. 2. 3. 4. Buscar en DNS del ISP Buscar en DNS superior Redirigir a otro DNS Devolver el resultado (4, 5 y 6)
5.
2.
3.
4.
Protocolos TCP/IP
Protocolo TCP
Es un protocolo de transporte Asegura la recepcin de mensajes entre dos entidades
La capa de aplicacin hace uso de TCP para enviar mensajes
Hace uso del protocolo IP para encontrar el camino entre las dos entidades
Protocolos TCP/IP
Protocolo IP
Protocolo de red Se encarga de enrutar mensajes entre mquinas Hace uso de paquetes Capaz de trabajar sobre diferentes tipos de redes Direccin IP para identificar un host
Utilidades
Comprobar que una mquina es alcanzable
ping
Comprobar IP en Windows
ipconfig
Comprobar IP en Linux
ifconfig
Otros protocolos
SMTP
Envo de correo electrnico
POP3 e IMAP
Recepcin de correo electrnico
DHCP
Asignacin de IPs a equipos
HTML
HyperText Markup Language
Lenguaje utilizado para crear pginas web Lenguaje de marcado: basado en etiquetas
Las etiquetas se anidan
<body> <h1>Mi pgina</h1> <p>Un prrafo</p> <body/>