Temario de informática TEMARIO DE INFORMÁTICA Ÿ 1. Conceptos informáticos básicos Ÿ · Antecedentes históricos · Hardware / Software · Periféricos · Lenguajes de programación · Programas de aplicación · Conectividad de equipos: redes Ÿ Segunda Generación, 1952-1964 Ÿ Ÿ Ÿ 2. Sistemas Operativos: tipos y particularidades · LINUX · MS Windows Ÿ Ÿ 3. Automatización de oficinas Ÿ o Procesadores texto, hojas cálculo, bases de datos, gráficos y autoedición o Paquetes Integrados Ofimática Ÿ Ÿ Información Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Informática Ÿ Ÿ Ÿ El término nace en Francia en 1962, INFORMATIQUE, INFORmation autoMATIQUE. Adoptado por España en 1968, INFORMÁTICA, INFORmación autoMÁTICA. En Inglés COMPUTER SCIENCE. Definición: Informática: Conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento racional y automático de la información. Ÿ Ÿ Ÿ Antecedentes Históricos Ÿ Primera Generación, 1940-1952 Microchips. Muy Alta Integración. Sistemas Operativos más intuitivos. Programas y Aplicaciones de Usuario. Datos, Imagen yVoz. (Multimedia) Interconexión entre las computadoras.(Internet) Inteligencia Artificial. Analógico vs. Digital Ÿ Ÿ Ÿ Objetivo:Tratamiento racional y automático de la información. Medio: Los Ordenadores. Microprocesador, toda la CPU en un único circuito. Gran Cantidad de Lenguajes de Programación. Para diferentes propósitos. Almacenamiento en disquete y primeras redes. Quinta Generación, 1981-... Ÿ Definición. Conjunto de hechos o condiciones que pueden ser objeto de una COMUNICACIÓN, de una INTERPRETACIÓN, de unTRATAMIENTO. Circuitos Integrados, Placas de Silicio o Plástico con varios componentes discretos. Sistemas Operativos, Modo Interactivo. Memorias de Semiconductores y Discos Magnéticos. Cuarta Generación, 1971-1981 Ÿ 1.- CONCEPTOS INFORMÁTICOS BÁSICOS Elemento de Control:Transistor. (menor tamaño, mayor fiabilidad) Empleadas en Cálculos Científicos, Militares, Administrativos y de Gestión. Primeros Lenguajes de Programación. Memorias: Núcleos de Ferrita y Cintas Magnéticas. Tercera Generación, 1964-1971 Ÿ ·Herramientas ofimáticas Elemento de Control: Válvula de Vacío.Empleadas en Cálculos Científicos, Balísticos y de Navegación. Lenguaje Máquina y Cableado Manual.Memoria: Tarjetas y Cintas perforadas. Líneas de demora de Mercurio. Ÿ Ÿ Información en forma de Señal Eléctrica. Definición. Señal Analógica: Señales eléctricas de tipo continuo, la señal puede tomar cualquier valor dentro del rango. Ejemplo:Voz Humana. Definición. Señal Digital: Señal eléctrica de tipo discreto, la señal sólo puede tomar una serie de valores predefinidos. Ejemplo: Señal de Código Morse. Computadora Analógica, actualmente menos del 5%. Computadora Digital, actualmente más del 95 %. Sistema de Numeración Definición. Conjunto de símbolos y reglas que se utilizan para la representación de datos numéricos o cantidades. Sistema decimal: Base 10. 1542 = 1×1000+5×100+4×10+2×1 = 1×103+5×102+4×101+2×100 Hardware: Parte física. Todo aquello que se puede ver y tocar, ordenadores y periféricos. Software: Parte Lógica. Programas y datos que permiten sacar partido a los ordenadores y periféricos. Personal Informático: Conjunto de personas que realizan alguna función en un entorno informático. Base B: XY ZT(B = · · · + X × B3 +Y × B2 + Z × B1 +T × B0 X,Y,Z,T . . . toman valores entre 0, 1, 2, . . . , (B − 1) HARDWARE/SOTWARE Sistema Binario HARDWARE: palabra procedente del inglés definido por la RAE como el conjunto de elementos materiales que conforman una computadora;, sin embargo, es usual que sea utilizado en una forma más amplia, generalmente para describir componentes físicos de una tecnología, así el hardware puede ser de un equipo militar importante, un equipo electrónico, un equipo informático o un robot. En informática también se aplica a los periféricos de un ordenador tales como el disco duro, CD-ROM, disquetera (floppy), etc... En dicho conjunto se incluyen los dispositivos electrónicos y electromecánicos, circuitos, cables, armarios o cajas, periféricos de todo tipo y cualquier otro elemento físico involucrado. Sistema Decimal: Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Diez dedos, diez símbolos distintos: 0, 1, 2, 3, . . . , 8, 9, base 10. Sistema Binario: Corriente eléctrica o no, dos símbolos distintos: 0, 1, base 2. Los ordenadores representan los datos con interruptores eléctricos. Un interruptor encendido (paso de corriente) representa un 1. Un interruptor apagado (sin paso de corriente) representa un 0. Cuando un ordenador necesita representar un número mayor que 1, hace lo mismo que hacemos nosotros para representar un número mayor que 9. 0(10 = 0(2 1(10 = 1(2 2(10 = 10(2 3(10 = 11(2 4(10 = 100(2 . . . La conversión de un número en base 10 a un número en base 2 se realiza dividiendo sucesivamente el número entre 2 y ordenando el último cociente y los restos de cada división empezando por el último. Bit y Byte Unidades de información manipuladas en informática. Se usan para describir la capacidad de los componentes de un ordenador, tamaño de los programas y ficheros. Definición. BIT, BInary digiT: Unidad mínima de información del sistema binario. Cada bit, o digito binario puede tomar el valor 0 ´o 1. Con un bit puedo hacer referencia a dos datos, dos elementos, verdadero o falso, encendido o apagado... Definición. BYTE, Agrupación de 8 bits (convenio), se utiliza para almacenar un carácter. Con 1 byte (8 bits) se puede hacer referencia a 28 = 256 elementos distintos. Código ASCII 256 caracteres codificables Múltiplos del byte El hardware se refiere a todos los componentes físicos (que se pueden tocar), en el caso de una computadora personal serían los discos, unidades de disco, monitor, teclado, la placa base, el microprocesador, étc. En cambio, el SOFTWARE es intangible, existe como información, ideas, conceptos, símbolos, .. Una buena metáfora sería un libro: las páginas y la tinta son el hardware, mientras que las palabras, oraciones, párrafos y el significado del texto (información) son el software. Una computadora sin software sería tan inútil como un libro con páginas en blanco. Tipos de hardware Se clasifica generalmente en básico y complementario, entendiendo por básico todo aquel dispositivo necesario para iniciar el funcionamiento de la computadora, y el complementario como su nombre indica sirve para realizar funciones específicas más allá de las básicas. Los ordenadores o computadoras son aparatos electrónicos capaces de interpretar y ejecutar comandos programados para operaciones de entrada, salida, cálculo y lógica; reciben entradas (datos para su procesamiento), producen salidas (resultados del procesamiento), procesan información, y almacenan información. Todo sistema informático tiene componentes de hardware dedicados a estas funciones: 1. Periféricos de entrada 2. Periféricos de salida 3. Periféricos de entrada/salida 4. Unidad central de procesamiento. 5. Memoria. Periféricos de entrada (E) Pilares básicos de la informática: Son los que permiten al usuario que introduzca información desde el exterior. Entre ellos podemos encontrar: teclado, ratón (mouse), escáner, SAI (Sistema de Alimentación Ininterrumpida), micrófono, etc. Periféricos de salida (S) las operaciones de entrada y salida. Son los que muestran al usuario el resultado de las operaciones realizadas por el PC. En este grupo podemos encontrar: monitor, impresora, altavoces, etc. Controladores de disco y placas de expansión: son tarjetas (circuitos impresos) donde se conectan y controlan los periféricos. Periféricos de entrada/salida (E/S) Memoria Son los dispositivos que pueden aportar simultáneamente información exterior al PC y al usuario. Aquí se encuentran: módem (MOdulador/DEModulador), ZIP, Memorias de pequeño tamaño, (USB, flash, etc.) Componente del hardware en el que se almacena la información procesada por el ordenador. La memoria puede estar constituida físicamente por: Un conjunto de circuitos electrónicos, en cuyo caso estaremos haciendo referencia a la memoria interna. Unidad Central de Procesamiento (CPU) Es la computadora real, la "inteligencia" de un sistema de computación. Memoria RAM Son los dispositivos que permiten el almacenamiento temporal de información para que la Unidad de Procesamiento pueda ser capaz de ejecutar sus programas. Hardware Gráfico El hardware gráfico lo constituyen las tarjetas gráficas. Poseen su propia Unidad de Proceso (GPU) y memoria. Placa base La placa base es una tarjeta de circuito impreso a la que se conectan las demás partes de la computadora. Tiene instalados una serie de circuitos integrados, entre los que se encuentra el chipset, que sirve como centro de conexión entre el procesador, la memoria RAM, los buses de expansión y otros dispositivos. Va instalada dentro de una caja que por lo general está hecha de chapa y tiene un panel para conectar dispositivos externos y muchos conectores internos y zócalos para instalar componentes dentro de la caja. La placa base, además, incluye un software llamado BIOS, que le permite realizar las funcionalidades básicas, como pruebas de los dispositivos, vídeo y manejo del teclado, reconocimiento de dispositivos y carga del sistema operativo. Microprocesador: Es el cerebro del ordenador. Se encarga de realizar todas las operaciones de cálculo y de controlar lo que pasa en el ordenador recibiendo información y dando órdenes para que los demás componentes trabajen. El Bus: El bus de la placa base es la circuitería por donde circulan los datos que van y vienen del microprocesador. Bus de transmisión de datos: líneas físicas por donde circulan los datos que se han leído o que se van a escribir (entrada/salida). Bus de transmisión de direcciones: líneas físicas por donde circulan las direcciones desde donde se va a leer (entrada) o donde se va a escribir (salida). Bus de control: líneas físicas por donde circulan las órdenes de control (entrada/salida) Bios: Basic Input / Output System. Es una memoria especial que tiene toda la información necesaria para hacer funcionar el ordenador correctamente y gestionar Dispositivos que se basan en alguna propiedad física estable del medio para guardar la información: propiedades ópticas, magnéticas o dieléctricas. En este segundo caso se hace referencia a la memoria externa. Memoria interna La información que se procesa en el ordenador debe permanecer en alguna parte para poder hacer uso de ella en cualquier momento. La memoria interna del ordenador se clasifica en: RAM: Random Access Memory (memoria de acceso aleatorio). Es volátil. Permite leer y escribir y se pierde al apagar el ordenador, por lo que debe de guardarse en otro tipo de soporte antes de apagar el ordenador. La RAM puede compararse con los buzones de un portal. Cada una de las celdas corresponde a un bit. Cada celda tiene un indicativo, que es la dirección de acceso. Por eso se llama memoria de acceso aleatorio. Se puede acceder a una celda en concreto sin pasar por el resto. ROM: Read Only Memory (memoria sólo de lectura). Es permanente, no puede ser alterada y se utiliza para guardar algunos programas fundamentales para el ordenador. Está asociada a la BIOS. Memoria caché Es una memoria especial de acceso muy rápido. Su función es la de almacenar los datos y el código utilizados en las últimas operaciones del procesador. Habitualmente el ordenador utiliza repetidas veces la misma operación. Se compone de diferentes chips. Memoria de almacenamiento externo También denominada de almacenamiento masivo. Son discos magnéticos u ópticos que pueden ser flexibles o rígidos. Los discos flexibles o floppys son discos extraibles y de poca capacidad, los discos rígidos son más rápidos, seguros y de mayor capacidad. Métodos de almacenamiento: Magnéticos: unidades de almacenamiento (Discos duros, disquetes o floppy),HD y cintas. Se basan en las propiedades magnéticas de los materiales ferromagnéticos (como las cintas de música o vídeo). Ópticos: CD Rom y WORM. Se basa en la alteración de una superficie mediante perforaciones con láser. No se pueden reescribir (salvo los CD-RW o DVD-RW). Magneto ópticos: Se basan en las propiedades de magnetización de materiales en caliente y de la reflexión de la luz polarizada en materiales magnetizados. Controladoras Son los que introducen datos externos al ordenador para su posterior tratamiento por parte de la CPU. Estos datos pueden provenir de distintas fuentes, siendo la principal un ser humano. Los periféricos de entrada más habituales son: Controlan el flujo de datos entre el sistema y un componente de hardware. Ÿ Ÿ PERIFÉRICOS Ÿ Ÿ Se denominan periféricos tanto a las unidades o dispositivos a través de los cuales el ordenador se comunica con el mundo exterior, como a los sistemas que almacenan o archivan la información, sirviendo de memoria auxiliar de la memoria principal. Ÿ Ÿ Ÿ Ÿ Se entenderá por periférico a todo conjunto de dispositivos que, sin pertenecer al núcleo fundamental del ordenador, formado por la CPU y la memoria central, permitan realizar operaciones de entrada/salida (E/S) complementarias al proceso de datos que realiza la CPU. Estas tres unidades básicas en un ordenador, CPU, memoria central y el subsistema de E/S, están comunicadas entre sí por tres buses o canales de comunicación. A pesar de que el término periférico implica a menudo el concepto de“adicional pero no esencial”, muchos de ellos son elementos fundamentales para un sistema informático. El teclado y el monitor, imprescindibles en cualquier ordenador personal de hoy en día, son posiblemente los periféricos más comunes, y es posible que mucha gente no los considere como tal debido a que generalmente se toman como parte necesaria de un ordenador. El ratón (Mouse) es posiblemente el ejemplo más claro de este aspecto. Hace menos de 20 años no todos los ordenadores personales incluían este dispositivo. El sistema operativo MS-DOS, el más común en esa época, tenía una interfaz de línea de comandos para la que no era necesario el empleo de un mouse, todo se hacía mediante comandos de texto. Fue con la popularización de Finder, sistema operativo de la Macintosh de Apple y la posterior aparición de Windows cuando el ratón comenzó a ser un elemento imprescindible en cualquier hogar dotado de un ordenador personal. Actualmente existen sistemas operativos con interfaz de texto que tampoco hacen uso del mouse como, por ejemplo, algunos sistemas básicos de UNIX y Linux. Ÿ Ÿ Periféricos de salida Son los que reciben información que es procesada por la CPU y la reproducen para que sea perceptible para el usuario. Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Se encargan de guardar o salvar los datos de los que hace uso la CPU para que ésta pueda hacer uso de ellos una vez que han sido eliminados de la memoria principal, ya que ésta se borra cada vez que se apaga el ordenador. Pueden ser internos, como un disco duro, o extraíbles, como un CD. Los más comunes son: Ÿ Ÿ Los periféricos pueden clasificarse en 4 categorías principales: Ÿ Ÿ · Periféricos de entrada: Captan y envían los datos al dispositivo que los procesará. Ÿ Ÿ Ÿ · · · Periféricos de salida: Son dispositivos que muestran o proyectan información hacia el exterior del ordenador. La mayoría son para informar, alertar, comunicar, proyectar o dar al usuario cierta información; de la misma forma se encargan de convertir los impulsos eléctricos en información legible para el usuario. Periféricos de almacenamiento: Son los dispositivos que almacenan datos e información por bastante tiempo. La memoria RAM no puede ser considerada un periférico de almacenamiento, ya que su memoria es volátil y temporal. Periféricos de comunicación: Son los periféricos que se encargan de comunicarse con otras máquinas o computadoras, ya sea para trabajar en conjunto, o para enviar y recibir información. Periféricos de entrada Monitor I mpresoras Altavoces Auriculares Fax Periféricos de almacenamiento Ÿ Tipos de periféricos Teclado Mouse Cámara web Escáner Micrófono Conversor Analógico digital Escáner de código de barras Joystick Tableta digitalizadora Pantalla táctil Ÿ Ÿ Ÿ Disco duro Grabadora y/o lector de CD Grabadora y/o lector de DVD Grabadora y/o lector de Blu-ray Grabadora y/o lector de HD-DVD Memoria Flash Cintas magnéticas Tarjetas perforadas Memoria portátil Disquete Pendrive Periféricos de comunicación EL SOFTWARE Definición de Software: Software se refiere al equipamiento lógico o soporte lógico de un ordenador digital, y comprende el conjunto de los componentes lógicos necesarios para hacer posible la realización de tareas específicas; en contraposición a los componentes físicos del sistema, llamados hardware. Veamos. La CPU (siglas de Unidad Central de Procesamiento) (la caja o torre), está constituida por dos tipos de elementos: el hardware y el software. El hardware representa todos los elementos físicos que la integran mientras que el software, por el contrario, tiene que ver con sus componentes lógicos. Básicamente, hablamos de software para referirnos a todos aquellos programas y procedimientos que el ordenador es capaz de leer ya que están escritos en lenguaje máquina y que por eso permite que ésta pueda operar. Para ser más específicos, podemos referirnos a una definición de la IEEE (leído i-e-cubo, corresponde a las siglas de Instituto de Ingenieros Electricistas y Electrónicos, una asociación técnicoprofesional mundial), según la cual software es “la suma total de los programas de cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema de cómputo”. Tipología de Software: Hay diversos tipos de software: de sistema, operativo y de programación. El software de sistema: Es aquel que permite el funcionamiento del hardware, y en él se incluye el sistema operativo, los controladores de dispositivos, los servidores y las herramientas de diagnóstico. Incluye: Ÿ Ÿ Ÿ Ÿ Sistemas operativos. Controladores de dispositivos. Herramientas de diagnóstico. Utilidades. El software de programación: Le aporta al programador los elementos para poder escribir los programas en lenguaje máquina y utilizar diversos tipos de programación, como por ejemplo los idiomas de programación, los compiladores de texto (Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar), etc. Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Editores de texto. Compiladores. Interpretes. Enlazadores. Depuradores. Entornos integrados de desarrollo. Software de aplicación: Son los programas que utiliza el usuario para realizar una o más tareas en cualquier tipo de actividad: aplicaciones ofimáticas, software educativo, procesadores de texto, bases de datos, archivos de datos, videojuegos, etc. Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Aplicaciones de uso industrial. Aplicaciones ofimáticas. Software educativo. Software médico. Bases de datos. Videojuegos. Archivos de datos. El software también adopta distintas formas, que pueden variar desde el código fuente (que es el texto creado por el programador) hasta el código objeto (es la traducción a lenguaje máquina del código fuente que realiza un compilador para que pueda ser leído por la computadora). Código fuente: El código fuente de un programa informático (o software) es un conjunto de líneas de texto que son las instrucciones que debe seguir la computadora para ejecutar dicho programa. Por tanto, en el código fuente de un programa está descrito por completo su funcionamiento. El código fuente de un programa está escrito por un programador en algún lenguaje de programación, pero en este primer estado no es directamente ejecutable por la computadora, sino que debe ser traducido a otro lenguaje (el lenguaje máquina o código objeto) que sí pueda ser ejecutado por el hardware de la computadora. Para esta traducción se usan los llamados compiladores, ensambladores, intérpretes y otros sistemas de traducción. El término código fuente también se usa para hacer referencia al código fuente de otros elementos del software, como por ejemplo el código fuente de una página web que está escrito en el lenguaje de marcado HTML o en JavaScript u otros lenguajes de programación web y que es posteriormente ejecutado por el navegador web para visualizar dicha página cuando es visitada. En cuanto a la creación, desarrollo y modificación que pueden realizarse sobre el software, entra en juego lo que se conoce como software libre o propietario. El primero, el software libre, es aquel en el que los usuarios tienen libertad para poder ejecutar, copiar y modificar el software. Mientras que esto no sucede con el que es de propietario ya que este solamente pueden hacer estas acciones los creadores o dueños de la licencia del software. Código objeto: En programación, se llama código objeto al código que resulta de la compilación del código fuente. Consiste en lenguaje máquina o bytecode y se distribuye en varios archivos que corresponden a cada código fuente compilado. Para obtener un programa ejecutable se han de enlazar todos los archivos de código objeto con un programa llamado enlazador (linker). Código ejecutable: Código ejecutable corresponde a las unidades de programas, donde el ordenador puede realizar las instrucciones compiladas mediante el compilador y el enlazador de librerías. Generalmente se confunde con el código objeto, ya que al leer su estructura se comprende como símbolos. Pero en realidad, este código se encuentra empaquetado y listo para ser ejecutado en cualquier computadora. Generalmente vienen con la extensión EXE o COM, si los han de ejecutar computadoras con Sistema Operativo de Windows o con bits de marca que trae Linux para ser ejecutable. El beneficio que esto trae es que al tener el código ejecutable, podemos saber que la compilación fue realizada correctamente y que el programa, si no tiene errores de manejo, puede funcionar correctamente, ya que está libre de errores de variables, signos y demás. Su función es permitir o facilitar la interacción entre dos o más equipos, o entre una computadora y otro periférico externo a la computadora. Entre ellos se encuentran los siguientes: Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Fax-Módem Tarjeta de red TarjetaWireless Tarjeta Bluetooth Controladores de puertos (serie, paralelo, infrarrojo, etc.) Hub USB TarjetaWXD Ÿ Mediante un programa que va adaptando las instrucciones conforme son encontradas. A este proceso se lo llama interpretar y a los programas que lo hacen se los conoce como intérpretes. Ÿ Traduciendo este programa al programa equivalente escrito en lenguaje de máquina. A ese proceso se lo llama compilar y al traductor se lo conoce como compilador. CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN LENGUAJES DE PROGRAMACIÓN Los lenguajes de programación se determinan según el nivel de abstracción, según la forma de ejecución y según el paradigma de programación que poseen cada uno de ellos y esos pueden ser: Origen Según su nivel de abstracción Con la llegada de los ordenadores personales aparecen las secuencias de posiciones de llaves eléctricas que debían conectarse para obtener una acción determinada, una llave conectada era un 1 y una llave desconectada era un 0. Lenguajes de bajo nivel Ÿ Una sucesión de llaves en cualquiera de sus dos posiciones definía una secuencia de ceros y unos (por ejemplo: 0100011010011101...) que venía a representar una instrucción o un conjunto de instrucciones (programa) para el ordenador (o computador) en el que se estaba trabajando. A esta primera forma de especificar programas para un ordenador se la denomina lenguaje máquina o código máquina, que se base en el código binario de 0s y 1s. La necesidad de recordar secuencias de programación para las acciones usuales llevó a denominarlas con nombres fáciles de memorizar y asociar: ADD (sumar), SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina), etc. A esta secuencia de posiciones se le denominó "instrucciones", y a este conjunto de instrucciones se le llamó lenguaje ensamblador. Posteriormente aparecieron diferentes lenguajes de programación, los cuales reciben su denominación porque tienen una estructura sintáctica similar a los lenguajes escritos por los humanos. Concepto Los lenguajes de bajo nivel son lenguajes de programación que se acercan al funcionamiento de una computadora. El lenguaje de más bajo nivel es, por excelencia, el código máquina. A éste le sigue el lenguaje ensamblador, ya que al programar en ensamblador se trabajan con los registros de memoria de la computadora de forma directa. Lenguajes de medio nivel Hay lenguajes de programación que son considerados por algunos expertos como lenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertas características que los acercan a los lenguajes de bajo nivel pero teniendo, al mismo tiempo, ciertas cualidades que lo hacen un lenguaje más cercano al humano y, por tanto, de alto nivel. Lenguajes de alto nivel Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés. En BASIC, lenguaje de alto nivel muy extendido, los comandos como "IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir al ordenador que pare si CONTADOR es igual a 10. Según la forma de ejecución Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente un ordenador. Lenguajes compilados Consiste en un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Un lenguaje de programación permite a uno o más programadores especificar de manera precisa: sobre qué datos debe operar el ordenador, cómo deben ser estos almacenados y transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como sucede con el lenguaje Léxico. Una característica relevante de los lenguajes de programación es precisamente que más de un programador pueda tener un conjunto común de instrucciones que puedan ser comprendidas entre ellos para realizar la construcción del programa de forma compartida. Los procesadores usados en los ordenadores son capaces de entender y actuar según lo indican programas escritos en un lenguaje fijo llamado lenguaje de máquina. Todo programa escrito en otro lenguaje puede ser ejecutado de dos maneras: Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Se requiere una ejecución de compilación antes de procesar los datos de un problema. Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario). Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que después de haber compilado el programa, ya no aparecen errores en el código. de hoja de cálculo y de base de datos. Lenguajes interpretados Se puede también utilizar una alternativa diferente a los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la compilación, para utilizarlo en una ejecución futura, el programador sólo carga el programa fuente en el ordenador junto con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada instrucción del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente. La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez y traducir a lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo o bucle, cada instrucción del ciclo tendrá que volver a ser interpretado cada vez que se ejecute el ciclo, lo cual hace que el programa sea más lento en tiempo de ejecución (porque se va revisando el código en tiempo de ejecución) pero más rápido en tiempo de diseño (porque no se tiene que estar compilando a cada momento el código completo). El intérprete elimina la necesidad de realizar una compilación después de cada modificación del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelación deberá ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una ejecución. Según el paradigma de programación Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno que otro sino que cada uno tiene ventajas y desventajas. También hay situaciones donde un paradigma resulta más apropiado que otro. Atendiendo al paradigma de programación, se pueden clasificar los lenguajes en: Ÿ Lenguajes imperativos / estructurado Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ Ÿ BASIC Pascal C Cobol Lenguajes orientados a objetos Action Script Ada C++ VB.NET Visual FoxPro Delphi Java JavaScrip Perl PHP (en su versión 5) PowerBuilder PROGRAMAS DE APLICACIÓN Los programas de aplicación suelen resultar una solución informática para la automatización de ciertas tareas complicadas como pueden ser la contabilidad o la gestión de un almacén. Ciertas aplicaciones desarrolladas 'a medida' suelen ofrecer una gran potencia ya que están exclusivamente diseñadas para resolver un problema específico. Otros, llamados paquetes integrados de software, ofrecen menos potencia pero a cambio incluyen varias aplicaciones, como un programa procesador de textos, Los programas de aplicación se dividen en muchos tipos, entre los cuales se pueden nombrar: 1. procesadores de texto: Lotus Word Pro, Microsoft Word, Corel WordPerfect, OpenOffice.orgWriter. 2. hojas de cálculo: Quattro Pro, Lotus 1-2-3, OpenOffice.org Calc, Microsoft Excel. 3. manejo de base de datos: MySQL, Microsoft Access,Visual FoxPro, dBase. 4. comunicación de datos: Safari, Mozilla Firefox, MSN Explorer, Internet Explorer, Netscape Navigator, Kazaa, MSN Messenger, Yahoo! Messenger, ICQ, AOL Instant Messenger, Opera. 5. Multimedia: XMMS, Mplayer, Windows Media Player, Winamp, RealPlayer, QuickTime. 6. presentaciones: Microsoft Power Point, OpenOffice.org Impress, Corel Presentations,Windows Movie Maker. 7. diseño gráfico: Corel Draw, GIMP, Corel PHOTO-PAINT, Corel Painter, Adobe Photoshop, Microsoft Photo Editor, Microsoft Paint, Microsoft Publisher, AutoCAD, Macromedia Fireworks, Macromedia FreeHand. 8. edición: Corel Ventura,QuarkXpress , Adobe PageMaker, Adobe InDesign, FrmaMaker, Adobe Acrobat. 9. de cálculo: Maple: es un programa matemático de propósito general capaz de realizar cálculos simbólicos, algebraicos y de álgebra computacional. Su nombre proviene de MAthematical PLEasure (Placer Matemático).). 10. de finanzas: Microsoft Money. 11. de correo electrónico: Outlook Express, MozillaThunderbird 12. de compresión de archivos: WinZip, gzip,WinRar. 13. de presupuestación de obras: DataObra, Presto. 14. Autoedición:In Design, QuarkXpress, Pagemaker 15. Creación de páginas web: Dreamweaver, Kompozer, Frontpage 16. Juegos. 17. Antivirus. CONECTIVIDAD DE EQUIPOS, REDES. Introducción a las Redes: conectividad de equipos Las redes en general, consisten en "compartir recursos", y uno de sus objetivos es hacer que todos los programas, datos y equipo estén disponibles para cualquiera de la red que así lo solicite, sin importar la localización física del recurso y del usuario. En otras palabras, el hecho de que el usuario se encuentre a 1000 km de distancia de los datos, no debe evitar que este los pueda utilizar como si fueran originados localmente. Un segundo objetivo consiste en proporcionar una alta fiabilidad, al contar con fuentes alternativas de suministro. Por ejemplo todos los archivos podrían duplicarse en dos o tres máquinas, de tal manera que si una de ellas no se encuentra disponible, podría utilizarse una de las otras copias. Además, la presencia de múltiples CPUs significa que si una de ellas deja de funcionar, las otras pueden ser capaces de encargarse de su trabajo, aunque se tenga un rendimiento global menor. Otro objetivo es el ahorro económico. Los ordenadores pequeños tienen una mejor relación coste / rendimiento, comparada con la ofrecida por las máquinas grandes. Estas son, a grandes rasgos, diez veces más rápidas que el más rápido de los microprocesadores, pero su coste es miles de veces mayor. Este desequilibrio ha ocasionado que muchos diseñadores de sistemas construyan sistemas constituidos por poderosos ordenadores personales, uno por usuario, con los datos guardados en una o más máquinas que funcionan como servidor de archivos compartidos. Este objetivo conduce al concepto de redes con varios ordenadores en el mismo edificio. A este tipo de red se le denomina LAN (red de área local), en contraste con lo extenso de una WAN (red de área extendida), a la que también se conoce como red de gran alcance. Una LAN es una red de ordenadores, es decir, dos o más equipos conectados entre sí, de manera que pueden compartir todos los recursos del sistema, tales como: impresoras, cd-rom, disco duro, internet, etc... El término de "red local" se aplica al conjunto de equipos comunicados mediante cables conectados a las tarjetas de red instaladas en cada una de las máquinas (o mediante tarjetas wifi sin cables). Otro objetivo del establecimiento de una red de ordenadores, es que puede proporcionar un poderoso medio de comunicación entre personas que se encuentran muy alejadas entre sí. Con el ejemplo de una red es relativamente fácil para dos o más personas que viven en lugares separados, escribir informes juntos. Cuando un autor hace un cambio, se refleja de modo inmediato, en lugar de esperar varios días para recibirlos por carta. Esta rapidez hace que la cooperación entre grupos de individuos que se encuentran alejados, y que anteriormente había sido imposible de establecer, pueda realizarse ahora. Hay tipologías muy diversas (bus, estrella, anillo) y diferentes protocolos de acceso. A pesar de esta diversidad, todas las LAN comparten la característica de poseer un alcance limitado (normalmente abarcan un edificio) y de tener una velocidad suficiente para que la red de conexión resulte invisible para los equipos que la utilizan. la fiabilidad del sistema, evitar los tiempos de espera en la transmisión de datos, permitir un mejor control de la red y permitir de forma eficiente el aumento del número de ordenadores en la red. Las formas más habituales que nos podemos encontrar en estas redes informáticas son las siguientes: Topología de red en bus En ella todas las estaciones comparten el mismo canal de comunicaciones, toda la información circula por ese canal y cada una de ellas recoge la información que le corresponde. Es una de las más utilizadas y la podemos encontrar en las llamadas redes Ethernet. Este tipo de red es sencillo de instalar, la cantidad de cable utilizada es mínima, tiene una gran flexibilidad a la hora de aumentar o disminuir el número de estaciones y el fallo de una estación no repercute en la red. Sin embargo, la ruptura de una cable puede dejarla totalmente inutilizada. Los inconvenientes que nos podemos encontrar en este tipo de red son: La longitud no puede sobrepasar los 2000 metros. No es demasiado segura ya que otros usuarios pueden recopilar información sin ser detectados. Al haber un único bus, aunque varias estaciones intenten transmitir a la vez, solo una de ellas podrá hacerlo. Esto supone que cuantas más estaciones tenga la red, más complicado será el control de flujo. Además de proporcionar un acceso compartido, las LAN modernas también proporcionan al usuario multitud de funciones avanzadas. Hay paquetes de software de gestión para controlar la configuración de los equipos en la LAN, la administración de los usuarios y el control de los recursos de la red. Topología de red en anillo Tipos de Redes En las primeras redes de este tipo los datos se movían en una única dirección, de manera que toda la información tenía que pasar por todas las estaciones hasta llegar a la de destino donde se quedaba. Las redes más modernas disponen de dos canales y transmiten en direcciones diferentes por cada uno de ellos. Actualmente podemos encontrar este entorno en redesToken Ring de IBM. Las redes de área local se dividen en redes punto a punto, multipunto y redes con estructura cliente/servidor. Una red punto a punto es aquella en la que todo equipo puede realizar el mismo tipo de funciones y no existe ninguna PC con una situación privilegiada con respecto al resto. El control sobre los datos es difícil ya que se ponen los recursos de un PC a disposición del resto de los equipos de la red. Una red multipunto es aquella en la que todos los equipos se conectan a una línea troncal (común). Cada equipo debe tener un conector que una la línea del equipo con la línea troncal. Una red con estructura cliente/servidor es aquella en la que existen equipos que actúan como servidores de la red y que realizan operaciones especiales que el resto de los ordenadores de la red no pueden realizar, de forma que se consigue una organización centralizada. Estos equipos deben estar tecnológicamente preparados para los equipos que van a realizar las operaciones. Topología Se denomina topología de red a la forma geométrica en que están distribuidas las estaciones de trabajo y los cables que las conectan. Las estaciones de trabajo de una red se comunican entre sí mediante una conexión física, y el objeto de la topologías es buscar la forma más económica y eficaz de conectarlas para, al mismo tiempo, facilitar En ella todas las estaciones están conectadas entre sí formando un anillo, de forma que cada estación sólo tiene contacto directo con otras dos. Este tipo de redes permite aumentar o disminuir el número de ordenadores sin dificultad, pero a medida que aumenta el flujo de información, será menor la velocidad de respuesta de la red. Un fallo en una estación puede dejar bloqueada la red, pero un fallo en un canal de comunicaciones la dejará bloqueada en su totalidad, siendo difícil localizar el fallo. Topología de red en estrella Este tipo de red de ordenadores es de las más antiguas. Todas las estaciones de trabajo están conectadas directamente al servidor y todas las comunicaciones se han de hacer necesariamente a través de él. Este método de topología permite añadir o quitar máquinas fácilmente. Si se produce un fallo en alguna de las estaciones, no repercutirá en el funcionamiento general de la red, pero si el servidor falla, toda la red se vendrá abajo. El coste e implementación de este tipo de red de computadoras es caro debido a la gran cantidad de cableado y lo complejo de su estructura. Topología estrella/bus En esta topología se combinan dos tipos de red anteriormente mencionados. Un multiplexor de señal ocupa el lugar del ordenador central de la configuración en estrella, estando determinadas estaciones de trabajo conectadas a él, y otras conectadas en bus junto a los multiplexores. Esta tipo de red ofrece ventajas en edificios que cuentan con grupos de trabajo separados por grandes distancias. Como se ha visto, existen diferentes tipos de redes para unir ordenadores, estaciones de trabajo, servidores, y otros elementos informáticos y de red. Dependiendo del tipo de empresa o compañía, podremos encontrar un sistema u otro. Topología en árbol La topología en árbol es similar a la de bus pero se permiten ramificaciones a partir de un punto llamado raíz, aunque no se permiten bucles. De esta forma, si se produce algún error en alguno de los bus, no afectara; al funcionamiento de los otros. Esta topología es usada cuando se quiere tener la red parcializada, es decir, dividida en distintas subredes.