Introducción a la informática La informática son las técnicas para el tratamiento automático de la información por dispositivos electrónicos digitales, aunque el primer ordenador fue analógico. Historia de la informática Los ordenadores, la y como los conocemos hoy, aparecieron gracias a Von Newman. Antes siempre que se intentaba programar se necesitaba rehacerlo todo. Eso conllevaba a que todo programa tenía muchos errores, poca funcionalidad y un alto coste. Von Newman intento hacer que cuando se programase no se rehiciera totalmente, si no tan solo aquello que fuera necesario. Esto dio paso de la lógica cableada, que era programar uniendo cables, a la lógica programada, que mantenía la parte física igual (hardware) y cambiar solo los datos (software) A partir de ahí, los ordenadores y programas tenían pocos errores, una alta funcionalidad y bajos costes. Tras esto, el hardware dejó de conllevar problemas y para mejorar el software este se dividió en sistemas operativos y aplicaciones. Sistema operativo: Es el software básico para que funcione el hardware. Uno de los primeros sistemas operativos era el U.N.I.X. Este sistema operativo era muy potente, ya que era multiusuario, multitarea, multiproceso, con red, y en algunos casos, en tiempo real. Mas tarde Bill Gates compro la patente de U.N.I.X. y lo transformo en MS DOS, un sistema operativo de texto. Tras MS DOS, Microsoft tenia pensado en trabajar en ordenadores mas potente, y comenzó a desarrollar nuevos sistemas operativos, Windows 3.1 y Windows NT (New Technology) El sistema operativo Windows 3.1 salió a la venta, pero aun necesitaba MS DOS para funcionar. Mas tarde salió el 3.11 y se finalizo el proyecto de Windows NT. Microsoft pensó en fusionar Windows 3.11 con Windows NT y comercializo los Windows 95 y 98, para mas tarde fusionarlo con NT y acabar en el Windows 2000. A la paz del desarrollo que hacia Microsoft, un profesor llamado Andrew T publico un libro sobre los sistemas operativos, e incluyo todos los códigos de M.I.N.I.X., pudiéndose distribuir. Uno de los alumnos, llamado Linus T., modifico este código y lo colgó a Internet para recibir ayuda. Tras colgar su proyecto comenzó a recibir ayuda de mucha gente. Entonces fue cuando se creo el sistema operativo LINUX. Existen varias distribuidoras, pero la más potente y gratuita completamente es Debian. Compatibilidad Existen muchos tipos de compatibilidad, entre software y software, hardware y hardware y software y hardware son las mas comunes. Las ganancias de las cosas que sean compatibles es el que tenga bajos costes cuando se necesite cambiar al hardware o software, es decir, se migre. Lenguajes de programación Los lenguajes de programación sirven para crear software. A gran escala se dividen en: - Lenguaje de bajo nivel (lenguaje maquinaa): Lenguaje que depende totalmente de la maquina. - Lenguaje de alto nivel: Compatible con ttodas las maquinas, y el mas usado. Un ejemplo de este es "C". Es un lenguaje de programación, usado para sistemas operativos. Usa características de lenguajes de alto y bajo nivel. Algoritmo: Es una secuencia finita y ordenada de paros para resolver un problema. Programa: Es la implementación de un algoritmo en un lenguaje de programación. Código fuente: Es el programa escrito en lenguaje de alto nivel. Código objeto: Es el programa escrito en lenguaje maquina. Traductor: Programa que transforma el código fuente al código maquina. - Compilador: Traduce todo el código fuentte y lo ejecuta. - Interprete: Traduce "cada instrucción" yy la ejecuta. Herramientas para desarrollar programas (Banco de trabajo) - Editor: Escribe el código fuente. - Traductor: Traduce el código fuente. - Depurador: Trata errores. - Enlazador: Trabaja con bibliotecas de sooftware. Divide y vencerás Este refrán es muy usado por programadores, y el primero en usarlo fue Von Newman dividendo el hardware en hardware y software. Luego el software se siguió dividiendo hasta las aplicaciones generales, donde a partir de ahí, las cosas se dividen en capas. Un ejemplo de división de capas es el sistema O.S.I. 1. Física 2. Enlace 3. Red 4. Transporte 5. Sesión 6. Presentación 7. Aplicación La división de capas permite independencia entre ellas, y eso conlleva a una mayor especialización en cada capa, llevando a cabo una reducción de coste, y un mayor uso. Aplicaciones ofimáticas Es el tratamiento automático de la información en las oficinas. -> Procesador de textos: Es una aplicaciónn que sirve para crear documentos, darles formato y organizarlos con una estructura. Permite trabajar aspectos del texto y con las justificaciones. A los nuevos procesadores de texto es posible añadirles gráficos dinámicos, hiperenlaces y tablas. Es posible también usar el mailing, que consiste en crear una carta y dejar los datos del cliente en blanco, para que los auto rellene el ordenador con los datos en la base de datos. -> Hoja de cálculos: Es una aplicación quee sirve para realizar cálculos de forma automática. Trabaja con elementos textuales, fechas u números. - Foco: Cuando un objeto tiene el foco se dice que la siguiente acción recaerá sobre el. Para dar foco se usan las flechas cursor o el ratón + clic. - Formulas: Aritmética, estadística, probaabilísticas, financieras... - gráficos: Representaciones visuales que resume los datos, formulas... -> Base de datos: Sirve para almacenar, reelacionar y recuperar cantidades ingentes de datos. - Atributos: Es una característica por la cual clasificamos a un conjunto de entidades. - T-UPLAS: Son conjuntos de valores de los atributos a 1 sola entidad. - Relación: Es un conjunto de T-UPLAS de las mismas características. - Clave primaria: Atributo que no puede estar repetido. En consecuencia una base de daos son todas las relaciones con los programas que trabajan en ellas. - Normalización: Es el proceso de crear y relacionar tablas. Para trabajar con bases de datos es necesario un diseño, del cual se encarga el asistente de sistemas, las tablas vacías, que las crea el administrador y el relleno, que se encarga el operador. Las bases de datos se integran entre el sistema operativo y las aplicaciones para mejorar los cambios. Tipos de base de datos 1. Jerárquica: Estaban muy enlazadas a los datos 2. Relaciónales: Las mas aceptadas S.G.B.D.R.: Sistema gestor de bases de datos relaciónales. Características: - Independencia del sistema operativo: Es posible cambiar el sistema operativo sin perder los datos. - Independencia de las aplicaciones: Es posible cambiar las aplicaciones sin cambiar los datos. - Independencia del hardware: Es posible cambiar el hardware sin cambiar los datos Lenguajes de bases de datos Existe un lenguaje estándar llamado SQL, compuesto por: - DDL: Lenguaje de definición de datos. Crrea y borra tablas (administrador) - DML: Lenguaje de manipulación de datos. Modifica tablas (usuario privilegiado) - DCL: Lenguaje de control de datos. Da y quita privilegios. (administrador) -> Presentaciones: Conjunto de diapositivaas multimedia. - Transición: Pasar de una diapositiva a otra. - Efectos dinámicos: Son los efectos que se le pueden añadir a un texto o grafico. - Plantillas: Diseños predefinidos para que solo tengas que rellenar espacios. - Hipertexto: Parte del documento donde el ratón cambia a una mano y al hacer clic te permite saltar a Internet o a otra parte de la web. -> Correo electrónico Antes el correo electrónico en si no existía, pues solo era posible la comunicación PC-PC. Mas tarde, con el sistema telefónico, se logro hacer que dos ordenadores no tuvieran que estar conectados directamente, pero si debían estar encendidos. Mas tarde aparecía Internet, y se fue mejorando en velocidad hasta el día de hoy. Formas de ataque: - Fuerza bruta: Se intenta averiguar la coontraseña probando todas las posibilidades. - Diccionario: Se intenta averiguar tu conntraseña usando las palabras de los diccionarios. - Ingeniería social: Tratan de saberlo toddo de ti. Formas de evitar los ataques: Contraseñas con mas de 8 caracteres. Que no sea una palabra que venga en un diccionario. No dar datos sobre ti. Buscar formulas para la contraseña. Arquitectura de un correo electrónico La arquitectura de un correo electrónico se basa en dos usuarios y sus servidores de correos. El proceso seria el siguiente: 1. El emisor envía el mensaje, pero no lo envía al receptor, si no que lo recibe su servidor. 2. El servidor lo almacena hasta que puede mandárselo al servidor del receptor. 3. El servidor del receptor lo guarda hasta que el receptor enciende el ordenador y se lo muestra. Para mandar mensajes es necesario tener una aplicación cliente e-mail y el servidor correspondiente. Arquitectura entre 2 usuarios de hotmail Hotmail aparte de usar un servidor e-mail tiene un servidor web para ver los e-mails usando el navegador. Internet es un canal inseguro, y un sniffer o un analizador de protocolo es capaz de captar las contraseñas, usuarios y datos que circulan en los e-mails. Esto se soluciona, o se intenta, cifrando los datos. Hotmail usa un certificado de seguridad por el cual se cifran los datos cuando lo aceptas. Peligros por Internet -Virus: Son trozos de programas malignos uunidos a programas buenos que hacen daño al ordenador y se multiplica. - Gusanos: Son programas que no dañan el oordenador pero se multiplica y colapsan la red y el ordenador. Estructura cliente servidor La aplicación cliente se comunica con la aplicación servidor mediante la capa aplicación del modelo OSI. Se considera segura por estar encima de la capa presentación, ya que es la que se encarga de la criptografía. Las aplicaciones se comunican mediante un protocolo, que es un conjunto de normas para comunicar 2 sistemas. El protocolo es HTTP, protocolo de transferencia de hiper texto, y en el se basa HTML, protocolo de marcadores de hiper texto, que se usa para crear paginas web. Para observar las paginas web es necesario un navegador, y el primero en existir fue el MOSAIC, creado junto al http en el CERN. MOSAIC evoluciono a NetScape, su versión comercial, y le salió la competencia con Internet Explorer. Tipos de paginas web -Estática: Paginas web con solo texto. - Estática con gráficos: Igual que la anteerior pero con imágenes. - Estática animada: Se le añaden imágenes dinámicas. - Dinámicas: Paginas webs actuales creadass con HTML y otros lenguajes dinámicos. Conexión de paginas web Para conectar se a paginas web lo que ocurre es un proceso de pedir y devolver servicios. El cliente le pide algo al servidor y este le manda una respuesta con lo que le haya pedido. Cuando se le pide algo al servidor este se suele comunicar con una base de datos que le dan una respuesta, o a una aplicación que se conecta a una base de datos remota. Los problemas ocurren cuando el navegador reporta errores, que te los manda el servidor web por no haber encontrado la respuesta necesaria en la base da datos. Esto conlleva a mostrar una información que rebaja la seguridad de la web y que nosotros no queremos ver.