INTRODUCCION A LA INFORMATICA *Informática: técnica para el tratamiento automático de la infamación por dispositivos electrónicos y digitales. INFORMATICA ? ? ? INFORMACION + AUTOMATICO La informática comienza en el año 1946. El primer ordenador fue el ENIAC, analógico, aunque hoy en día son electrónicos. La informática se utiliza cada día a todas horas, por ejemplo: * Satélites (TV, meteorología, teléfonos, GPS) * Tragaperras. * Aires acondicionados * Lógica cableada: en la lógica cableada todo va por cables. En los tiempos de dicha lógica todo se tenía que rehacer ante un error, había que empezar de 0. Es decir, que ante cualquier problema todo se tenia que hacer de nuevo, y por este motivo, los costes eran muy elevados, hasta tal situación que un solo ordenador se lo podía permitir una sola nación. El alto coste era motivo por el gran número de errores que se producían, por lo que se tenían que comprar nuevas cosas y rehacer los sistemas. En la actualidad, gracias a Von Newman, la funcionalidad de los ordenadores es mucho más alta y por ello se comercian muchísimo más con ellos. Es rara la familia que hoy en día no posea un ordenador. Al dividir la informática en Hardware y Software, la complejidad bajo y por lo tanto también el número de errores, y de esta forma comienzan a bajar los precios. Es así como entramos en la economía de escala. Von Newman era un experto en solucionar problemas, y por eso, al observar los distintos problemas se dio cuenta que todos tenían una parte común, a la que llamamos procesador, y hoy en día gracias a la economía de escala, microprocesadores. HISTORIA: * Hardware: Dispositivos ? Lógica cableada *Software: Programas y datos ? Lógica Programada *Hardware: es la parte automática y física de un ordenador (monitor, pantalla, etc.) *Software: es la parte de la información consta de: programas (ordenes) y datos (configuración). *Lógica cableada: aquella que todo iba por cables, es decir, si surgía algún problema había que rehacerlo todo de nuevo. *Lógica programada: es el resultado de unificación de la parte común, ya que se le instalaban programas (software) para que esta funcione. SISTEMA OPERATIVO * Sistema operativo: es el software básico para que funcione el hardware. Ej.: Unix, MSDOS, Windows, Linux. MSDOS fue el primer disco flexible que evoluciono hasta Windows, apareció en los primeros PC. Los primeros ordenadores tenían incorporados UNIX, Hill Gate compro MSDOS, evolucionándolo hasta Windows cambiándoles la patente. MSDOS ? texto (por comandos, debías saberlo para utilizar MSDOS). WINDOWS ? gráficos. *Windows: es un sistema visual mediante GUI (metáfora visual de los procesos) parecido al Maquintosh. Windows empezó a sacar el W 3.1 y 3.11, haciendo mejoras para acostumbrar ala gente al W NT, mucho mas avanzado, mas tarde del 3.11 sacaron el W.95, W.98, W.2000 y por ultimo y mas reciente W.2003, para unificar ambos en uno solo, con un interfaz GUI. *Microprocesador: circuito integrado, trabaja con un subconjunto de UNIX. *GUI: interfaz grafica de usuario, es un sistema grafico, en el cual no se utilizan comandos, solo gráficos (mucho más sencillo de utilizar). *UNIX: es un sistema operativo multiusuario (varios usuarios mandando información a un mismo ordenador), multitarea, en red, etc. Andrew T. escribió un libro mas un apéndice de minix en código C, uno de sus alumnos Linus T. hizo un programa para disqueteras, este lo colgó en Internet, y fueron modificándolo y mejorándolo hasta producir un sistema operativo, conocido actualmente como Linux. Es un sistema operativo libre, es decir, gratis, no como Windows que es no libre. Ambos tienen un sistema GUI (de ventanas en este caso). UNIX ? Dos ? MSDOS ? WINDOWS. ? LINUX ? Slackers. ? Suse ? Redhat ? Debian (es el más difícil de instalar). Linux utiliza escritorios gráficos como: KDE y GNOME. Las distribuciones son conjuntos de software que van desde el sistema operativo hasta as aplicaciones (juegos de desarrollo, de tipo científico, educativos, etc.) LIBRE CASI LIBRE NO LIBRE DEBIAN REDHAT NOVELL LINUX SUSE WINDOWS SLACKWARE Linux no se utiliza mucho en el mercado porque tiene una imagen muy floja a pesar de que es igual o mejor que Windows, al tener poca imagen, no inspira confianza, no como Windows que tiene una imagen bastante consolidada. *Encriptar: consiste en enviar un mensaje, y durante su “viaje” cifrarlo por si alguien lo intercede que no sepa lo significa, volviendo a su estado original cuando llegue al destinatario. COMPATIBILIDAD La compatibilidad consiste en la capacidad para ejecutar programas de una computadora a otra (compatibilidad Hardware/Software). PC + WINDOWS (compatible); PC+ WINDOWS + Aplic. WINDOWS (compatible); PC + LINUX + Aplic. WINDOWS. Esto se debe a que la aplicación Windows no es compatible con linux, ya que es otro sistema operativo. En la mayor parte de los ordenadores hay instalados Windows, ya que era el único sistema operativo existente. Linux a pesar de ser libre, no sale al mercado por su alto coste en aplicaciones, ya que solo hay aplicaciones Windows y habría que desarrollarlos de nuevo para Linux. El coste seria del tipo de desarrollo, y de preparación a los usuarios. También de mantenimiento ya que es nueva y tiene errores, con lo que puedes o no interesarnos las aplicaciones compatibles o no de Linux. LENGUAJE DE PROGRAMACION Antes de Newman solo existía hardware, este tuvo la brillante idea de unir la parte común en una sola (hardware), es decir, diferenciar el hardware del software, dándole así más funcionalidad. El lenguaje de programación, sirve para crear aplicaciones. Hay dos tipos de lenguaje, de alto y bajo nivel: * Lenguaje de bajo nivel: (lenguaje maquina) depende de la maquina, (si cambiabas una ristra, el ordenador ya no funcionaba), este lenguaje, tenia un coste bastante alto, ya que si lo querías utilizar en otra maquina no valía, teniéndolo que cambiar de nuevo. * Lenguaje de alto nivel: apareció mas tarde, este lenguaje ya no dependía de la maquina, esto hacia tener una mayor compatibilidad, puesto que sin cambiar nada, o apenas nada se podía utilizar en mas maquinas. Este lenguaje sirve para hacer aplicaciones más eficientes y de hoy en día (más modernas). El lenguaje en C, sirve para programar aplicaciones, y hardware, porque tiene propiedades de bajo nivel y alto nivel. Ej.: Unix fue programado en C, dándole programas de sistema operativo (uno o varios), para compilar (traducir de lenguaje maquina a lenguaje de alto nivel) programas en C, este hizo una gran evolución siendo compatible con las nuevas maquinas. TIPOS DE LENGUAJES El lenguaje sirve para los sistemas operativos, como: COBOL: sirve para hacer programas de gestión (especificas). FORTRAN: traductor de formulas (especializado para hacer cálculos científicos y matemáticas) PASCAL: enseña a programar (con técnicas cuidadas) MODULA2: “ “ “ “ “ “. ADA: programación de diapositivas militar (aviones, misiles, etc.) LISP: para hacer programas de inteligencia artificial (robots). PROLOG: “ “ “ “ “ “. COMO SE HACE UN SOFTWARE *Algoritmo: proviene de algoritmo, es decir, secuencia finita y ordenada de pasos para resolver un problema. *Programas: es la implementación en un lenguaje de programación (C/ visual Basic) de un algoritmo. *Código programa fuente: programa que esta escrito en un lenguaje de alto nivel (cualquier programa escrito en C, pascal, etc.). *Código programa objeto: programa escrito en código maquina. *Traductor: es un programa que transforma el código fuente en código objeto (compiladores o intérpretes). *Interprete: traduce “cada instrucción) y la ejecuta (traduce y ejecuta, traduce y ejecuta, así sucesivamente). *Compiladores: traduce todo el código fuente y una vez traducida ya podemos ejecutarlo. Ej.: Windows fue traducida, ya solo la ejecutamos cada vez que encendemos el ordenador. CODIG. Fuente ? traduc.? CODIG. Objeto PASOS PARA HACER UN PROGRAMA 1.- Hacer logaritmo para resolver el problema. 2.- Crear un programa para solucionar el problema. 3.- Traducir programa. HERRAMIENTAS PARA EL DESARROLLO DE SOFTWARE *Editor: sirve para escribir el código fuente. *Traductor: sirve para traducir el código fuente; al traducirlo ya tengo el código para ejecutarlo. *Depurador: detecta donde te as equivocado (trata los errores). *Enlazador: utiliza bibliotecas de software (permite enlazar software ya existentes con los nuestros). Todo lo citado anteriormente, se le denomina “banco de trabajo” o IDE (entorno de desarrollo integrado). DISEÑO MODULAR EN DIVIDE Y VENCERAS Hardware fue un problema bastante grave, pero cuando Von Newman dividió hard de software y este en aplicaciones y sistemas operativos. Esto produjo una especialización en varios problemas muchísimo mas simples. La división de esto produce una mayor especialización en funciones concretas, esto lleva a una economía de escala. HARDWARE ? SOFTWARE ? APLICACIONES ? JUEGOS ? HARDWARE S.O. TRADUCTOR HARDWARE Ej.: *ISO: es una organización internacional de estandarización. Este creo un estándar llamado OSI. *OSI: interconexión de sistema abierto relacionado con las redes de ordenador (modelo de referencia). OSI se basa en un sistema de 7 capas estandarizado por ISO: 7.- Aplicaciones: Internet Explorer. 6.- Presentación: introduce unos programas que ocultan la información dándonos seguridad. 5.- Sesión: puntos de sincronización en los que se busca otro servidor para seguir obteniendo la información que buscas (programas de descarga). 4.- Transporte: se encarga de que la información llegue ordenada. 3.- Red: conectadas entre un ordenador y otro por routers. 2.- Enlace: nos asegura de que los errores producidos en la capa física se corrigen (control de flujo de información). 1.- Física: características físicas, mecánicas, etc. Esto es un banco de trabajo modular, creando independencia entre capas. Las capas nos darán: un diseño modular (conseguir objetivo en divide y vencerás) e independencia (una mayor especificación). Todo este conjunto, produce un menor coste, con lo que conlleva a un mayor uso, es decir, economía de escala. Ej.: Un sistema operativo, una red (OSI), se hacen por capas. APLICACIONES OFIMATICA Partimos del hardware y de los sistemas operativos (libres, no libres, etc.), seguimos con las herramientas de desarrollo (fabricando aplicaciones especificas), las aplicaciones generales (como ofimática). *Aplicaciones ofimáticas: tratamiento automático de la información de la oficina. Estos programas se realizan con IDE (banco de trabajo integrado), ya que sirve para hacer estos programas. Estas aplicaciones Windows cuestan dinero. En Linux es gratis. En las aplicaciones ofimáticas hay: procesadores de texto, hoja de cálculo, base de datos, presentaciones, correo electrónico y creador de páginas Web. PROCESADOR DE TEXTO Un procesador de texto es un programa (aplicación) que sirve para crear documentos, darles formato y organizarlos con una estructura (capítulos, paginas, márgenes, sangrías, interlineado,…). Permite trabajar aspectos estéticos del texto (tamaño, tipo, y color de letra, negrita, estilo, subrayado,…), y también permite con justificaciones en bloque de texto (a la izquierda, a la derecha y centrado); se le puede incorporar gráficos (también dinámicos), hiperenlaces y tabla de datos y de calculo (embebidas o enlazadas) una utilización muy importante es el Mailing (variación del Marketing, consiste en enviar publicidad personalizada por correo). HOJA DE CÁLCULO Esta aplicación que sirve para realizar cálculos de forma automática. Trabaja con elementos textuales (rotulos), fecha (a diversos formatos) y por último números. Lo mas importante de todo es que con lo citado anteriormente, se pueden hacer formulas. • foco: un objeto tiene foco cuando la siguiente acción va a realizarse sobre el. Para ordenar esta acción se escribe B2 o se pincha con el ratón. De esta manera se abriría ese foco. Sirve para editar formulas. En una celda solo puede haber un rotulo, numero o fecha. Los rótulos sirven para explicar, los números son las fechas (los datos) y las formulas (relacionan los datos). • Psicología de la percepción: hay que trabajar con formas (tipo de letra) y colores. Los datos van en colores distintos al d los formulas y constantes; para que nadie toque las celdas de formulas, se pueden proteger, para evitar errores o cambios sin querer. También se pueden ocultar. TIPOS DE FORMULAS *Aritméticas: las mas básicas (+,-,*, /). *Estadísticas: matemáticas (calcular medias, variantes, etc.) *Abalistica: meteorológica (probabilidades de que va a llores, la fuerza del viento, etc.) *Financiera: saber que tal va la bolsa. *Ingeniería: calcular la resistencia de un material. *Lógica: sucesión lógica para saber que va a pasar). GRAFICOS Los gráficos son representaciones visuales (mas fácil de entender para los humanos) que resumen los datos, formulas, etc. Hay varios tipos de gráficos: gráficos de sectores, de barras, radiales, logarítmicas, de puntos, etc. Podemos integrar gráficos en el procesador de texto, pudiendo mas tarde modificarlos. Al igual que la hoja de calculo en el procesador de texto. DATOS ? FORMULAS ? GRAFICOS. Las aplicaciones de la hoja de cálculo tienen aplicaciones en los campos de la ciencia (encartas), ayuda en temas de decisiones en la dirección de una empresa, etc. BASE DE DATOS La base de datos es una aplicación que sirve para almacenar, relacionas y recuperar ingentes cantidades de datos. Conceptos. *Atributo: características por la que clasificamos y calificamos ordenes a un conjunto de identidades. *T-uplas: conjunto de atributos o conjunto de valores de los atributos de una identidad. *Relación o tabla: conjunto de t-uplas de las mismas características, es decir, con el mismo número. *Clave primaria: es aquel campo que solo debe y puede estar una vez en la tabla, es decir, no debe tener un valor igual. Ej.: DNI, matricula del coche, nº de matriculación. La importancia que tiene las base de datos relacionales, es que permiten relacionar tablas entre si, relacionándose entre las claves primarias. *Normalización: proceso por el cual se relacionan y crean tablas, esto lo hace los analistas de sistemas. Para trabajar con una base de datos es necesario un diseño (creación y relación [solo el esqueleto]) y rellenar las tablas. Las herramientas principales que relacionan todo lo citado anteriormente es el sistema de gestión de base de datos relacionales (SGBDR). Trabajar con base de datos evita redundancia, esto quiere decir que disminuye los errores. TIPO DE BASE DE DATOS Las primeras fueron: -Jerárquicas: muy acopladas a los datos yy programas. Existen en medios bancarios, etc. -En red: “ “ “ “ “ “ “ “ “ “ “ “. -Sistemas de bases de datos relacionales:: ya no están acoplados, convirtiéndose en la más aceptada en el mercado (la más común). -Persistentes: son las más actuales. -Orientadas a objeto: “ “. -SGBDR: sistema gestorial de bases de dattos relacional. Es el software que sirve de interfaz entre el usuario y los datos, y este a la vez interfaz entre el usuario y los datos, y esta a la vez interfaz entre el sistema operativo y las aplicaciones. Como consecuencia trae: independencia del sistema operativo, de las aplicaciones, del hardware, seguridad de no perder la información, permite un control de acceso, evita la redundancia, y mantiene y controla la integridad. LENGUAJE DE BASE DE DATOS -DDL: definición de datos. Crea y borra ttablas (vacías). Es la herramienta de trabajo de los administradores. -DML: lenguaje de manipulación de datos. Inserta, crea, modifica, elimina y consulta registros. Lo utiliza un usuario en privilegios adecuados. -DCL: lenguaje de control de datos. Otorgga o quita privilegios, también es la herramienta del administrador. Estos 3 lenguajes se unificaron en un estándar, llamado SQL, es una garantía de utilizar todas las bases de datos. PRESENTACION Una presentación es un conjunto de diapositivas multimedia (unión de texto, graficas y sonidos). Mediante la transición (paso de una diapositiva a otra) conseguimos una secuencia de diapositivas con gráficos y sonidos. Las letras pueden tener una función u otra en función del efecto dinámico que se le de al texto. *Plantilla: diseño predefinido que se pueden utilizar en una presentación. A las presentaciones podemos añadirles hiperenlaces, que pueden ser a la Web o incluso a la propia presentación (cuentos multimedia). Los programas especializados en presentaciones son: PowerPoint (Windows), Guadalinex Impress (Linux), etc. Las diapositivas sirven para ofrecer una imagen incorporativa, imagen de un producto que se quiera vender, e incluso un proyecto o un diseño, un plan, etc. (las universidades sueles utilizar mucho las diapositivas). Dicho de una manera más convencional, sirve para vender, según como sea la presentación se venderá mejor o peor el producto. CORREO ELECTRONICOS (e-mail) La comunicación empezó de PC en PC, después a un sistema telefónico, basado en un ordenador propio, el cual estaba conectado a una red telefónica (BBS) cuando este ordenador fallaba no te podías conectar. Con la evolución de Internet y el sistema telefónico, a través de el te podías mandar correos con tus amigos, estos solo permitían texto, ya que la tecnología era básica, poco a poco fue evolucionando, llegando a la actualidad, pudiendo mandar correos con texto, imágenes, sonido, e incluso videos. En resumen el correo electrónico se basa en la utilización de Internet para nuestra comunicación. TIPOS DE ATAQUES -Fuerza brutas: es la forma de recuperar una clase probando todas las combinaciones posibles de caracteres hasta encontrar aquellas que permite el acceso. Se puede evitar, poniendo una contraseña entre 8 y 12 caracteres. -Diccionario: consiste en utilizar palabrras de los diccionarios. Se evita no poniendo una palabra de estas. -Ingeniería social: obtienen información sobre ti de una forma fácil, como una llamada de teléfono, etc. Estos 3 ataques se pueden evitar cogiendo una frase y poner la primera inicial de cada palabra. Para hacerse un correo electrónico, necesitamos un usuario, una contraseña (deberás escribirla dos veces por si existe algún error, etc.), una información sensible (deberá de ser falsa para evitar la ingeniería social, que puede describir todos nuestros datos), y una identificación grafica, que consiste en que el usuario reconocerá unos caracteres (sirve para corroborar que quien se hace la cuenta es un ser humano).Su administración consiste en que el usuario, puede crear y borrar carpetas o crear, borrar, enviar, responder, y mover los mensajes. ARQUITECTURA DE UN SISTEMA DE CORREOS ELECTRONICOS Consta de una plataforma (hardware, plataforma cliente, plataforma servidor, etc. El ordenador que se quiere conectar a Inter. Es la plataforma cliente, mediante una infraestructura de telecomunicaciones (Internet), comunicamos ambas por la plataforma servidor. Estas plataformas son muy complejas. Sobre plataforma y servidores va con un sistema operativo más una aplicación de correo electrónico, llamada aplicación cliente. En el servidor también debe tener un sistema operativo más aplicación, llamada aplicación servidor. El sistema operativo del cliente no tiene porque ser tan potente, el único requisito es que sea en red. El servidor debe estar en red y debe ser multitarea y multiusuario (no tiene porque serlo, pero en la practica en lo mejor). Internet es un canal inseguro, por lo que debemos hacernos usuarios, con su correspondiente contraseña. El servidor Web habla http y el servidor e-mail html. Todo lo que envíes por Internet puede ser capturado por programas llamados analizadores de protocolo o sniffers. Para convertir Internet en un canal seguro, deberás cifrar la contraseña (texto cifrado). A este proceso se le llama cifrar o encriptar, el paso contrario seria descifrar o desencriptar. Este proceso se hace en muy poco tiempo, ya que solo debes saber la clave. Si una red es insegura, te saldrá un certificado de seguridad, si aceptas, instantáneamente los datos sensibles se encriptaran. *Desciframiento de César: método primitivo para cifrar y descifrar un mensaje. *ENIGMA: maquina utilizada en la 2ª GM, esta cifraba los mensajes, gracias a dicha maquina pudimos descubrir el desembarco de Normandia. VIRUS *Gusano: es un programa, que te copia un sistema, entra en otro ordenado y copia otro sistema, y así sucesivamente. El problema que tiene este es que te satura el ordenador y las comunicaciones de CPU, etc. *Virus: trozo de programa malo unido a un trozo bueno. Ese trozo 1º se multiplica y 2º hace daño de forma que borra un disco duro, te puede atacar ala placa base, etc. ESTRUCTURA CLIENTE/SERVIDOR La aplicación cliente se conecta con la aplicación servidor mediante la aplicación del modelo OSI. La capa de presentación es la que se encarga de la criptografía. Lo demás se considera parte insegura. La estructura cliente/servidor + navegador es a lo que mas estamos acostumbrados a ver. Se sobrentiende que ya es seguro puesto que la comunicación pasa ya encriptada gracias a la presentación CARTA DE APLICACIÓN Ambas aplicaciones (aplica. Cliente/ aplica. Servidor) se unen por protocolos. *Protocolo: conjunto de normas para comunicar dos sistemas *Protocolo http: protocolo de transición de hipertexto. Http tiene un lenguaje, html (lenguaje de marcadores hipertexto). http se creo gracias a un científico de partículas subatómicas, cuya necesidad era comunicarse con rapidez y ligereza, creando MOSAIC (1er navegador), al ver que no tenia beneficio invento su empresa NETSCAPE, poco después le salio competencia, Internet Explorer (Microsoft). Las paginas Web’s solo eran texto (estáticos) después se le añadieron gráficos (estáticos) y ya por ultimo gráficos dinámicos, se necesita la mezcla de Html + Java Script. *Java: tecnología que se efectúa en el cliente y se guarda en el servidor. es bastante potente. *#C: lenguaje en C en Internet, para programas de mas actualidad. *Visualbasic.net: evolución de visualbasic para online. *AsP: *PHP: orientado a Unix. COMO FUNCIONA http Los clientes utilizan un interfaz GUI (mayor comodidad) + interfaz con servidor Web, que busca información en una base de datos SGBD. También podemos contactar con SGBD pero para ello debemos saber SQL. También hay servidores de aplicaciones, consiste en un ordenador a la que se esta ejecutando la aplicación deseado.