Guía Del estudiante Modalidad a distancia Modulo: INFORMATICA DATOS DE IDENTIFICACION TUTOR HECTOR MAURICIO LEAL PARGA Teléfono 000-000-0000 E-mail [email protected] Lugar CERES – SABANA DE OCCIDENTE – Corporación Universitaria Minuto de Dios – Rectoría Cundinamarca 1 BIENVENIDA El presente trabajo es una recopilación a través de guías del modulo Informática, que se dictara en el primer semestre de 2010, en CERES – Sabana de Occidente –, contiene definiciones de los libros recomendados por la Unidad académica -Universidad del Tolima IDEA, como información extraída principalmente de la Internet. Debemos citar que los contenidos están basados en los lineamientos de la Unidad académica Universidad del Tolima IDEA, las explicaciones del docente, como también gran parte de ella basada en los libros recomendados por IDEA. 2 INTRODUCCION En el desarrollo del modulo a través de guías se podrá encontrar conceptos básicos de informática, así como una introducción a Hardware y Software. Las definiciones son tomadas principalmente de documentos y lecturas extraídas de de Internet, También debemos indicar que los libros donde se basa este modulo son: Introducción a las Computadoras y al procesamiento de Información y Fundamentos de Informática. Estos libros han sido recomendados por IDEA, por lo tanto hay conceptos es extraída de estos libros. El impacto local que se pretende desarrollar en los estudiantes con el modulo Informática, es que identifiquen como se organizan la información en las organizaciones y especialmente en la oficina de Saludo Ocupacional y en su entorno sociocultural para que puedan analizar y realizar con ella procesos informáticos. 3 UNIDAD DE TRABAJO No.1 Hardware y Software Preguntas Generadoras - ¿Cómo se puede definir una computadora? ¿Qué diferencia encuentra entre las diferentes generaciones de computadoras? ¿Las generaciones de computadoras reflejan el avance de la tecnología? ¿Por qué? ¿Cómo han Influido las computadoras en las actividades del mundo de hoy? ¿Qué es un dispositivo de almacenamiento? ¿Qué es la memoria principal? ¿Qué entiende por Unidad Central de Proceso? ¿Qué es la multimedia? ¿Qué es el software? ¿Para qué le sirve el software a la computadora? ¿Qué diferencia hay entre hardware y software? ¿Para qué se utilizan los sistemas operativos? ¿Qué es un sistema operativo?. ¿Cuál es la importancia de los sistemas operativos?. ¿Cuál es la Función de un compilador? ¿Cuál es la diferencia entre un lenguaje de alto nivel y uno de bajo nivel? - INDICADORES - Reconocer y diferenciar las generaciones de computadoras, su clasificación y los componentes. - Reconocer y diferenciar los diferentes tipos de Software, su clasificación y aplicación. 4 TEMAS A DESARROLLAR EN LA UNIDAD - Historia y evolución de la computadora Clasificación de las computadoras Descripción de la computadora y sus componentes Dispositivos de Entrada y Salida. Dispositivos de almacenamiento de datos. La memoria principal y su función Unidad Central de Proceso y sus componentes Sistema Binario Categoría de los lenguajes Evolución del Software Sistemas operativos Compiladores Lenguajes de programación Evolución Aplicaciones del software Herramientas de productividad personal MARCO TEORICO DE FORMACION - Historia y evolución de la computadora Por siglos los hombres han tratado de usar fuerzas y artefactos de diferente tipo para realizar sus trabajos, para hacerlos más simples y rápidos. La historia conocida de los artefactos que calculan o computan, se remonta a muchos años antes de Jesucristo. El Ábaco Dos principios han coexistido respecto a este tema. Uno es usar cosas para contar, ya sea los dedos, piedras, conchas, semillas. El otro es colocar esos objetos en posiciones determinadas. Estos principios se reunieron en el ábaco, instrumento que sirve hasta el día de hoy, para realizar complejos cálculos aritméticos con enorme rapidez y precisión. En el Siglo XVII en occidente se encontraba en uso la regla de cálculo, calculadora basada en las investigaciones de Nappier, Gunther y Bissaker. John Napier (1550-1617) descubre la relación entre series aritmética y geométricas, creando tablas que llama logaritmos. Edmund Gunter se encarga de marcar los logaritmos de Napier en líneas. Bissaker por su parte coloca las líneas de Nappier y Gunter sobre un pedazo de madera, creando de esta manera la regla de cálculo. Durante más de 200 años, la regla de cálculo es perfeccionada, convirtiéndose en una calculadora de bolsillo, extremadamente versátil. Por el año 1700 las calculadoras numéricas digitales, representadas por el ábaco y las calculadoras análogas representadas por la regla de cálculo, eran de uso común en toda Europa. 5 La Pascalina La primera máquina de calcular mecánica, un precursor del ordenador digital, fue inventada en 1642 por el matemático francés Blaise Pascal. Aquel dispositivo utilizaba una serie de ruedas de diez dientes en las que cada uno de los dientes representaba un dígito del 0 al 9. Las ruedas estaban conectadas de tal manera que podían sumarse números haciéndolas avanzar el número de dientes correcto. En 1670 el filósofo y matemático alemán Gottfried Wilhelm Leibniz perfeccionó esta máquina e inventó una que también podía multiplicar. El inventor francés Joseph Marie Jacquard, al diseñar un telar automático, utilizó delgadas placas de madera perforadas para controlar el tejido utilizado en los diseños complejos. Durante la década de 1880 el estadístico estadounidense Herman Hollerith concibió la idea de utilizar tarjetas perforadas, similares a las placas de Jacquard, para procesar datos. Hollerith consiguió compilar la información estadística destinada al censo de población de 1890 de Estados Unidos mediante la utilización de un sistema que hacía pasar tarjetas perforadas sobre contactos eléctricos. La máquina analítica También en el siglo XIX el matemático e inventor británico Charles Babbage elaboró los principios de la computadora digital moderna. Inventó una serie de máquinas, como la máquina diferencial, diseñadas para solucionar problemas matemáticos complejos. Muchos historiadores consideran a Babbage y a su socia, la matemática británica Augusta Ada Byron (1815-1852), hija del poeta inglés Lord Byron, como a los verdaderos inventores de la computadora digital moderna. La tecnología de aquella época no era capaz de trasladar a la práctica sus acertados conceptos; pero una de sus invenciones, la máquina analítica, ya tenía muchas de las características de un ordenador moderno. Incluía una corriente, o flujo de entrada en forma de paquete de tarjetas perforadas, una memoria para guardar los datos, un procesador para las operaciones matemáticas y una impresora para hacer permanente el registro. Primeros Ordenadores Los ordenadores analógicos comenzaron a construirse a principios del siglo XX. Los primeros modelos realizaban los cálculos mediante ejes y engranajes giratorios. Con estas máquinas se evaluaban las aproximaciones numéricas de ecuaciones demasiado difíciles como para poder ser resueltas mediante otros métodos. Durante las dos guerras mundiales se utilizaron sistemas informáticos analógicos, primero mecánicos y más tarde eléctricos, para predecir la trayectoria de los torpedos en los submarinos y para el manejo a distancia de las bombas en la aviación. Ordenadores electrónicos 1944 marca la fecha de la primera computadora, al modo actual, que se pone en funcionamiento. Es el Dr. Howard Aiken en la Universidadde Harvard, Estados Unidos, quien la presenta con el nombre de Mark I. Es esta la primera máquina procesadora de información. La Mark I funcionaba eléctricamente, instrucciones e información se introducen en ella por medio de tarjetas perforadas y sus componentes trabajan basados en principios electromecánicos. A pesar de su peso superior a 5 toneladas y su lentitud comparada con los equipos actuales, fue la primer máquina en poseer todas las características de una verdadera computadora. La primera computadora terminada de construir en 1946, por J.P.Eckert y J.W.Mauchly en la Universidad de Pensilvania, U.S.A. y se le llamó ENIAC. Con ella se inicia una nueva era, en la cual la computadora pasa a ser el centro del desarrollo tecnológico, y de una profunda modificación en el comportamiento de las sociedades. Durante la II Guerra Mundial(1939-1945), un equipo de científicos y matemáticos que trabajaban en Bletchley Park, al norte de Londres, crearon lo que se consideró el primer ordenador digital totalmente electrónico: el Colossus. Hacia diciembre de 1943 el Colossus, que incorporaba 1.500 6 válvulas o tubos de vacío, era ya operativo. Fue utilizado por el equipo dirigido por Alan Turing para descodificar los mensajes de radio cifrados de los alemanes. En 1939 y con independencia de este proyecto, John Atanasoff y Clifford Berry ya habían construido un prototipo de máquina electrónica en el Iowa State College (EEUU). Este prototipo y las investigaciones posteriores se realizaron en el anonimato, y más tarde quedaron eclipsadas por el desarrollo del Calculador e integrador numérico electrónico (en inglés ENIAC, Electronic Numerical Integrator and Computer ) en 1945. El ENIAC, que según se demostró se basaba en gran medida en el ordenador Atanasoff-Berry (en inglés ABC, Atanasoff-Berry Computer), obtuvo una patente que caducó en 1973, varias décadas más tarde. El ENIAC contenía 18.000 válvulas de vacío y tenía una velocidad de varios cientos de multiplicaciones por minuto, pero su programa estaba conectado al procesador y debía ser modificado manualmente. Se construyó un sucesor del ENIAC con un almacenamiento de programa que estaba basado en los conceptos del matemático húngaro-estadounidense John Von Neumann. Las instrucciones se almacenaban dentro de una llamada memoria, lo que liberaba al ordenador de las limitaciones de velocidad del lector de cinta de papel durante la ejecución y permitía resolver problemas sin necesidad de volver a conectarse al ordenador. A finales de la década de 1950 el uso del transistor en los ordenadores marcó el advenimiento de elementos lógicos más pequeños, rápidos y versátiles de lo que permitían las máquinas con válvulas. Como los transistores utilizan mucha menos energía y tienen una vida útil más prolongada, a su desarrollo se debió el nacimiento de máquinas más perfeccionadas, que fueron llamadas ordenadores o computadoras de segunda generación. Los componentes se hicieron más pequeños, así como los espacios entre ellos, por lo que la fabricación del sistema resultaba más barata. Circuitos integrados A finales de la década de 1960 apareció el circuito integrado (CI), que posibilitó la fabricación de varios transistores en un único sustrato de silicio en el que los cables de interconexión iban soldados. El circuito integrado permitió una posterior reducción del precio, el tamaño y los porcentajes de error. El microprocesador se convirtió en una realidad a mediados de la década de 1970, con la introducción del circuito de integración a gran escala (LSI, acrónimo de Large Scale Integrated) y, más tarde, con el circuito de integración a mayor escala (VLSI, acrónimo de Very Large Scale Integrated), con varios miles de transistores interconectados soldados sobre un único sustrato de silicio. Generaciones Teniendo en cuenta las diferentes etapas de desarrollo que tuvieron las computadoras, se consideran las siguientes divisiones como generaciones aisladas con características propias de cada una, las cuáles se enuncian a continuación. Primera Generación (1951-1958) (Bulbos ) Características Principales: Sistemas constituidos por tubos de vacío, desprendían bastante calor y tenían una vida relativamente corta. Máquinas grandes y pesadas. Se construye el ordenador ENIAC de grandes dimensiones (30 toneladas). Alto consumo de energía. El voltaje de los tubos era de 300 v y la posibilidad de fundirse era grande. 7 Almacenamiento de la información en tambor magnético interior. Un tambor magnético disponía de su interior del ordenador, recogía y memorizaba los datos y los programas que se le suministraban. Continúas fallas o interrupciones en el proceso. Requerían sistemas auxiliares de aire acondicionado especial. Programación en lenguaje máquina, consistía en largas cadenas de bits, de ceros y unos, por lo que la programación resultaba larga y compleja. Alto costo. Uso de tarjetas perforadas para suministrar datos y los programas. Computadora representativa UNIVAC y utilizada en las elecciones presidenciales de los E.U.A. en 1952. Fabricación industrial. La iniciativa se aventuro a entrar en este campo e inició la fabricación de computadoras en serie. Segunda generación (1959-1964) (Transistores) Cuando los tubos de vacío eran sustituidos por los transistores, estas últimas eran más económicas, más pequeñas que las válvulas miniaturizadas consumían menos y producían menos calor. Por todos estos motivos, la densidad del circuito podía ser aumentada sensiblemente, lo que quería decir que los componentes podían colocarse mucho más cerca unos a otros y ahorrar mucho más espacio. Características Principales: Transistor como potente principal. El componente principal es un pequeño trozo de semiconductor, y se expone en los llamados circuitos transistorizados. Disminución del tamaño. Disminución del consumo y de la producción del calor. Su fiabilidad alcanza metas inimaginables con los efímeros tubos al vacío. Mayor rapidez, la velocidad de las operaciones ya no se mide en segundos sino en ms. Memoria interna de núcleos de ferrita. Instrumentos de almacenamiento: cintas y discos. Mejoran los dispositivos de entrada y salida, para la mejor lectura de tarjetas perforadas, se disponía de células fotoeléctricas. Introducción de elementos modulares. Aumenta la confiabilidad. Las impresoras aumentan su capacidad de trabajo. Lenguajes de programación más potentes, ensambladores y de alto nivel (fortran, cobol y algol). 8 Aplicaciones comerciales en aumento, para la elaboración de nóminas, facturación y contabilidad, etc. Tercera generación (1964 - 1971) Circuito integrado (chips) Características Principales: Circuito integrado desarrollado en 1958 por Jack Kilbry. Circuito integrado, miniaturización y reunión de centenares de elementos en una placa de silicio o (chip). Menor consumo de energía. Apreciable reducción de espacio. Aumento de fiabilidad y flexibilidad. Aumenta la capacidad de almacenamiento y se reduce el tiempo de respuesta. Generalización de lenguajes de programación de alto nivel. Compatibilidad para compartir software entre diversos equipos. Computadoras en Serie 360 IBM. Teleproceso: Se instalan terminales remotas, que accesen la Computadora central para realizar operaciones, extraer o introducir información en Bancos de Datos, etc... Multiprogramación: Computadora que pueda procesar varios Programas de manera simultánea. Tiempo Compartido: Uso de una computadora por varios clientes a tiempo compartido, pues el aparato puede discernir entre diversos procesos que realiza simultáneamente. Renovación de periféricos. Instrumentación del sistema. Ampliación de aplicaciones: en Procesos Industriales, en la Educación, en el Hogar, Agricultura, Administración, Juegos, etc. La mini computadora. Cuarta generación (1971-1982) (Microcircuito integrado) El microprocesador: el proceso de reducción del tamaño de los componentes llega a operar a escalas microscópicas. La micro miniaturización permite construir el microprocesador, circuito integrado que rige las funciones fundamentales del ordenador. Las aplicaciones del microprocesador se han proyectado más allá de la computadora y se encuentra en multitud de aparatos, sean instrumentos médicos, automóviles, juguetes, electrodomésticos, etc. 9 Memorias Electrónicas: Se desechan las memorias internas de los núcleos magnéticos de ferrita y se introducen memorias electrónicas, que resultan más rápidas. Al principio presentan el inconveniente de su mayor costo, pero este disminuye con la fabricación en serie. Sistema de tratamiento de base de datos: el aumento cuantitativo de las bases de datos lleva a crear formas de gestión que faciliten las tareas de consulta y edición. Lo sistemas de tratamiento de base de datos consisten en un conjunto de elementos de hardwarey software interrelacionados que permite un uso sencillo y rápido de la información Características Principales Microprocesador: Desarrollado por Intel Corporation a solicitud de una empresa Japonesa (1971). El Microprocesador: Circuito Integrado que reúne en la placa de Silicio las principales funciones de la Computadora y que va montado en una estructura que facilita las múltiples conexiones con los restantes elementos. Se minimizan los circuitos, aumenta la capacidad de almacenamiento. Reducen el tiempo de respuesta. Gran expansión del uso de las Computadoras. Memorias electrónicas más rápidas. Sistemas de tratamiento de bases de datos. Generalización de las aplicaciones: innumerables y afectan prácticamente a todos los campos de la actividad humana: Medicina, Hogar, Comercio, Educación, Agricultura, Administración, Diseño, Ingeniería, etc... Multiproceso. Microcomputador Generación Posterior y La Inteligencia Artificial (1982- ) El propósito de la Inteligencia Artificial es equipar a las Computadoras con "Inteligencia Humana" y con la capacidad de razonar para encontrar soluciones. Otro factor fundamental del diseño, la capacidad de la Computadora para reconocer patrones y secuencias de procesamiento que haya encontrado previamente, (programación Heurística) que permita a la Computadora recordar resultados previos e incluirlos en el procesamiento, en esencia, la Computadora aprenderá a partir de sus propias experiencias usará sus Datos originales para obtener la respuesta por medio del razonamiento y conservará esos resultados para posteriores tareas de procesamiento y toma de decisiones. El conocimiento recién adquirido le servirá como base para la próxima serie de soluciones. Características Principales: Mayor velocidad. Mayor miniaturización de los elementos. Aumenta la capacidad de memoria. Multiprocesador (Procesadores interconectados). Lenguaje Natural. Lenguajes de programación: PROGOL (Programming Logic) y LISP (List Processing). Máquinas activadas por la voz que pueden responder a palabras habladas en diversas lenguas y dialectos. 10 Capacidad de traducción entre lenguajes que permitirá la traducción instantánea de lenguajes hablados y escritos. Elaboración inteligente del saber y número tratamiento de datos. Características de procesamiento similares a las secuencias de procesamiento Humano. La Inteligencia Artificial recoge en su seno los siguientes aspectos fundamentales: Sistemas Expertos Un sistema experto no es una Biblioteca (que aporta información), si no, un consejero o especialista en una materia (de ahí que aporte saber, consejo experimentado). Un sistema experto es un sofisticado programa de computadora, posee en su memoria y en su estructura una amplia cantidad de saber y, sobre todo, de estrategias para depurarlo y ofrecerlo según los requerimientos, convirtiendo al sistema en un especialista que está programado. Duplica la forma de pensar de expertos reconocidos en los campos de la medicina, estrategia militar, exploración petrolera, etc... Se programa a la computadora para reaccionar en la misma forma en que lo harían expertos, hacia las mismas preguntas, sacaba las mismas conclusiones iniciales, verificaba de la misma manera la exactitud de los resultados y redondeaba las ideas dentro de principios bien definidos. Lenguaje natural Consiste en que las computadoras (y sus aplicaciones en robótica) puedan comunicarse con las personas sin ninguna dificultad de comprensión, ya sea oralmente o por escrito: hablar con las máquinas y que éstas entiendan nuestra lengua y también que se hagan entender en nuestra lengua. Robótica Ciencia que se ocupa del estudio, desarrollo y aplicaciones de los robots. Los Robots son dispositivos compuestos de sensores que reciben Datos de Entrada y que están conectados a la Computadora. Esta recibe la información de entrada y ordena al Robot que efectúe una determinada acción y así sucesivamente. Las finalidades de la construcción de Robots radican principalmente en su intervención en procesos de fabricación. ejemplo: pintar en spray, soldar carrocerías de autos, trasladar materiales, etc... Reconocimiento De La Voz Las aplicaciones de reconocimiento de la voz tienen como objetivo la captura, por parte de una computadora, de la voz humana, bien para el tratamiento del lenguaje natural o para cualquier otro tipo de función. Bibliografía - Clasificación de las computadoras Supercomputadoras · Una supercomputadora es el tipo de computadora más potente y más rápido que existe en un momento dado. · Estas máquinas están diseñadas para procesar enormes cantidades de información en poco tiempo y son dedicadas a una tarea específica. 11 · Asimismo son las más caras, sus precios alcanzan los 30 MILLONES de dólares y más; y cuentan con un control de temperatura especial, ésto para disipar el calor que algunos componentes alcanzan a tener. · Unos ejemplos de tareas a las que son expuestas las supercomputadoras son los siguientes: 1. Búsqueda y estudio de la energía y armas nucleares. 2. Búsqueda de yacimientos petrolíferos con grandes bases de datos sísmicos. 3. El estudio y predicción de tornados. 4. El estudio y predicción del clima de cualquier parte del mundo. 5. La elaboración de maquetas y proyectos de la creación de aviones, simuladores de vuelo. · Debido a su precio, son muy pocas las supercomputadoras que se construyen en un año. Macrocomputadoras · Las macrocomputadoras son también conocidas como Mainframes. · Los mainframes son grandes, rápidos y caros sistemas que son capaces de controlar cientos de usuarios simultáneamente, así como cientos de dispositivos de entrada y salida. · Los mainframes tienen un costo de varios millones de dólares. · De alguna forma los mainframes son más poderosos que las supercomputadoras porque soportan más programas simultáneamente. Pero las supercomputadoras pueden ejecutar un sólo programa más rápido que un mainframe. · En el pasado, los Mainframes ocupaban cuartos completos o hasta pisos enteros de algún edificio, hoy en día, un Mainframe es parecido a una hilera de archiveros en algún cuarto con piso falso, ésto para ocultar los cientos de cables de los periféricos, y su temperatura tiene que estar controlada. Minicomputadoras · En 1960 surgió la minicomputadora, una versión más pequeña de la Macrocomputadora. · Al ser orientada a tareas específicas, no necesitaba de todos los periféricos que necesita un Mainframe, y esto ayudó a reducir el precio y costos de mantenimiento. · Las Minicomputadoras, en tamaño y poder de procesamiento, se encuentran entre los mainframes y las estaciones de trabajo. · En general, una minicomputadora, es un sistema multiproceso (varios procesos en paralelo) capaz de soportar de 10 hasta 200 usuarios simultáneamente. · Actualmente se usan para almacenar grandes bases de datos, automatización industrial y aplicaciones multiusuario. Microcomputadoras · Las microcomputadoras o Computadoras Personales (PC´s) tuvieron su origen con la creación de los microprocesadores. 12 · Un microprocesadores "una computadora en un chic", o sea un circuito integrado independiente. · Las PC´s son computadoras para uso personaly relativamente son baratas y actualmente se encuentran en las oficinas, escuelas y hogares. · El término PC se deriva de que para el año de 1981 , IBM®, sacó a la venta su modelo"IBM PC", la cual se convirtió en un tipo de computadora ideal para uso "personal", de ahí que el término "PC" se estandarizó y los clones que sacaron posteriormente otras empresas fueron llamados "PC y compatibles", usando procesadores del mismo tipo que las IBM , pero a un costo menor y pudiendo ejecutar el mismo tipo de programas. - Descripción de la computadora y sus componentes El AREA DE PROCESAMIENTO. Los componentes que pertenecen al área de procesamiento se sitúan sobre la placa madre (también denominada placa principal) de la computadora. Se usa el término placa madre debido a que todos los demás grupos de componentes y dispositivos periféricos son controlados a través de la misma. Con la excepción de los puertos de entrada y salida de datos y el dispositivo de almacenamiento masivo, que de hecho son periférico, la placa madre constituye la computadora en sí. Actúa como el componente central de todo sistema. La placa principal determina la categoría a la cual pertenece el sistema en términos generales (que depende de las condiciones). Trataremos las clases o categorías mas adelante. El procesamiento o el tratamiento de los datos tiene lugar siempre sobre la placa madre. Si la computadora se encuentra dentro de una carcasa de sobremesa, la placa madre esta adosada al fondo de la misma. Sin embargo, las carcasas y minitorre se hacen cada vez más populares. En estas carcasas verticales, la placa principal se encuentra adosada de forma vertical a un lateral. Las dimensiones de placa madre (es decir, su tamaño, la ubicación de los orificios de montaje, etc.) pueden variar según el fabricante. Algunas placas madres proceden de fabricantes de marcay otros provienen de suministros poco conocidos que proporcionan placas sin marca. La mayoría de las placas sin marca tienen las mismas dimensiones y por eso siempre encajan en el mismo lugar. No obstante, los fabricantes de marca no quieren que los demás sustituyan sus placas originales por otras, y por eso encontramos que frecuentemente las conexiones se colocan de forma especial (por ejemplo las de una red) para que solo se puedan utilizar las de la casa que suministro la computadora. Una de las ventajas de las computadoras clónicas (sin marca conocida) es que en las mismas suelen ser más fácil intercambiar o agregar componentes de mayor capacidad y rendimiento. Al algunos fabricantes, tales como Zenith y Tandon, han vuelto a descubrir un viejo procedimiento: tratar la placa principal como si fuese una tarjeta de expansión. Así el fondo de la carcasa contiene únicamente el bus y varias ranuras de expansión. 13 Al igual de otras tarjetas de expansión, este tipo de placa madre se conecta a una de estas ranuras. La ventaja de esta configuración es la de reemplazar fácilmente la placa principal con otra mas potente. Sin embargo hay que usar la misma marca. Por desgracia, esto significa que acaba dependiendo de los últimos avances tecnológicos de un fabricante en concreto y de sus niveles de precios. Las placas principales modernas normalmente consisten en un material no conductor que es insensible al calor (Pertinax). Se puede imaginar este tipo de construcción como una serie de capas de circuitosimpresos. La corriente fluye a través de líneas conductoras sobre cada capa. Estas líneas están conectadas a los chips y a otros componentes ubicados en la superficie de la placa. Estas líneas o circuitos pueden apreciarse a simple vista sobre la placa madre. La interrupción de estas líneas conductoras, bien debido a daños físicos o bien debido a un corto circuito, suele provocar que toda la placa puede inutilizarse. Debido a la compleja construcción de multicapas de la placa madre, es prácticamente imposible proceder a la reparación de estos componentes. Así, pues, trate de manipular la placa madre con precaución. Tal como señalamos anteriormente, la placa principal contiene todos los componentes electrónicos necesarios para procesar datos. Los componentes más importantes, que son el procesador y su acompañante numérico, el procesador matemático, constituye el cuartel general de la computadora para la emisión de ordenes. Partes fundamentales también son, la memoria del sistema y de trabajo, así como los buses de datos y de direcciones. Comentaremos sobre estos componentes y otros de la placa madre más adelante en los siguientes temas. No todos los componentes pueden intercambiarse por otros, ni siquiera por componentes más potentes. El PROCESADOR (CPU). El chip más importante de cualquier placa madre es el procesador. Sin el la computadora no podría funcionar. A menudo este componente se determina CPU, que describe a la perfección su papel dentro del sistema. El procesador es realmente el elemento central del proceso de procesamiento de datos. El CPU gestiona cada paso en el proceso de los datos. Actúa como el conductor de supervisión de los componentes de hardware del sistema. Esta unidad directa o indirectamente con todos los demás componentes de la placa principal. Por lo tanto, muchos grupos de componentes reciben ordenes y son activados de forma directa por la CPU. El procesador esta equipado con buses de direcciones, de datos y de control, que le permiten llevar acabo sus tareas. Estos sistemas de buses están configurados de forma distinta según sea la categoría del procesador, lo que analizaremos más adelante. Durante el desarrollode las PC, la arquitectura a lo que podríamos llamar unidades funcionales internas de los procesadores, han evolucionado drásticamente. Sea incorporado cada vez mayor número de transistores y circuitos integrados dentro de un espacio sumamente reducido, con objeto de satisfacer las demandas cada vez más exigentes de mayores prestaciones. El procesador para computadoras personales más avanzados que se dispone en el mercado es el Intel 80486. Este procesador esta ubicado sobre una placa de cerámica de aproximadamente 20 cm² y con un espesor de apenas 2 ó 3 centímetros, más de 1.2 millones de transistores, la CPU, el coprocesador matemático y adicionalmente 8kb de memoria caché. Más adelante nos referimos a estos componentes en detalle. Puesto que se hayan varios componentes en un espacio tan reducido, hace falta aplicar una técnica especial de fabricación. Estas técnicas permiten construir elementos que miden nada más que un micrómetro. Esta técnica fue implementada por la firma Intel. Para apreciar la 14 miniaturización en cuestión, piense que un cabello humano tiene un anchura que se extendería sobre 100 unidades de estas. La configuración y la capacidad del procesador son los factores que determinan el rendimiento general de la computadora personal. El chip del procesador define en que categoría debe incluirse en cada computadora. Un factor importante para determinar la prestación de un procesador es su frecuencia de reloj o su velocidad de trabajo. La CPU depende de un cristal de cuarzo para su funcionamiento, que constituye una fuente externa de frecuencia, la frecuencia del reloj, se mide en impulsos por segundo, descritos como megahergios (MHz). Un megahergio equivale a un millón de impulsos por segundo. Por lo tanto una CPU de 80386 que funciona a una velocidad de 33 MHz puede realizar una operación unos 33 millones de veces cada segundo. Intel es el fabricante principal de procesadores para computadoras de IBM y compatibles. Los procesadores 8086, 80286, 80386, 80486, producidos por Intel desde 1978 representan cuatro generaciones y cuatro categorías de prestaciones dentro de la historia de los microprocesadores. Los otros componentes de la placa madre han evolucionado junto con el procesador en sí. Estos componentes han sido adaptados según se ha ido presentado los cambios efectuados en las características del procesador, al igual que la utilización de un nuevo tipo de motor con lleva cambios en otras partes de un automóvil. Para entender la información ofrecida en este tema, primero hay que saber como ha cambiado el procesador a lo largo de los años. Así, comentaremos brevemente sobre la historia de las computadoras personales y la evolución de los microprocesadores. EL PUNTO DE PARTIDA DE LA HISTORIA DE LA PC: LA CPU 8086/8088 DE INTEL. La empresa Intel introdujo el microprocesador 8086 de 16 bits en el año 1978. Era el primer procesador que podía disponer de los avances tecnológicos conseguidos en lenguajes de programación de alto nivel y en sistemas operativos más potentes, con lo cual se obtuvo la base para el diseño de las computadoras. Desde entonces, todos los sistemas compatibles IBM se basan, en última instancia, en la CPU 8086. Todos los descendientes de la 8086 de Intel han de ser capaces de emular este procesador. El software que se desarrollo para el 8086 también tenía que ser compatible con chips posteriores. El chip 8086 disponía de una estructura real de 16 bits, que el permitía trabajar con un formato de datos de 16 bits, tanto interna como externamente. Pero el elevado precio de los componentes de memoria requeridos para su uso, dificulto su comercialización. La empresa IBM contrato la firma Intel para diseñar el sucesor del chip 8086, se llama CPU 8088. Las primeras computadoras personales se introdujeron en el mercado en 1981. Estas computadoras, que contaban con una capacidad de 16kb de memoria, una unidad de cinta en forma de cassette, y un monitor monocromo de color verde sin prestaciones gráficas. Ya hace más de 15 años de este acontecimiento. Externamente, el chip 8088 solo usaba un formato de 8 bits para su bus de datos. Pero internamente, trabaja con 16 bits, como el procesador 8086. La CPU 8086/8088 fue equipada con un bus de direcciones de 20 bits, que el permitía seleccionar 2 elevado a la 20 ubicaciones de memoria en forma directa, equivalente a 1 MB (1,048,576 bytes), lo que definía el límite físico de la memoria de este procesador. En sus inicios, en sus inicios 15 funcionaba a una frecuencia de reloj impresionante de 4.77MHz. Las computadoras XT eran versiones mejoradas de las PC de IBM, con la incorporación de un disco duro. Más adelante los modelos de Turbo XT compatibles, contaban con velocidades 8 MHz, 10 MHz e incluso 12MHz. Comparado con la potencia disponible hoy en día, es difícil imaginar cual era la utilidad de una computadora con un procesador 8086/8088. No obstante, el software que se disponía aquellos días no precisaba mucha potencia. Incluso un programa de tratamiento de textos reciente, como el programa Word 5.5 de Microsoft, podría funcionar correctamente con una CPU 8088. EL 80286. Pronto Intel introdujo un procesador más sofisticado, la CPU 80286, que elevo las prestaciones de la PC a un nuevo nivel. El procesador 80286 usaba un bus de datos de 16 bits, tanto interna como externamente, con lo cual superaba a su predecesor, sobre todo con respecto a la cada vez mas potente nuevas aplicaciones. Se amplio también el bus de direcciones de este procesador para direccionar 16 MB de memoria. Otra diferencia básica entre el procesador 80286 y su predecesor era el juego de comandos condensada en la CPU. Aumento el numero de instrucciones que podría ejecutarse por segundo, no solamente durante una mayor frecuencia de reloj, sino también mediante una estructura de comandos más eficiente. Como resultado se multiplico por tres el valor de MIPS (millones de instrucciones por segundo). De todas formas, la diferencia predominante entre las CPU 8086/8088 y 80286 radica en la adición de un nuevo modelo operativo. En el modo real o normal, la 286 funciona de la misma manera que su predecesor, con la misma limitación de un MB de memoria: Pero su mayor velocidad de reloj y juego de comandos más eficientes permitía superar a sus predecesores, incluso en el modo real. El nuevo modo operativo, llamado modo protegido, le permite al procesador 80286 direccionar y gestionar más memoria, hasta 16 MB. Así es posible procesar varias aplicaciones diferentes simultáneamente. A esta técnica se le llama multitarea. El 80286 fue el primer procesador Intel capaz de realizar multitareas que disfrutó de una fuerte comercialización. En todo esto, solo unas cuantas aplicaciones, tales como Lotus 1-2-3 y Windows de Microsoft podían aprovecharse de esta capacidad. El sistema operativo MS/PCDos de las PC por sí solo no puede funcionar en el modo protegido puesto que solo puede poner 640 KB de memoria de trabajo a disposición de las aplicaciones. Sin embargo, existen otros sistemas operativos, como el UNIX y el OS/2, ofrecen mucho mas en este sentido. En las PC de la categoría AT ( tecnología avanzada), el procesador 286 se encuentra a menudo en la misma forma y en el mismo lugar que en la CPU 8086/8088. En cambio, hay que notar que el chip 286 no se fabricó con un formato completo. Es decir, tanto puede ser una lámina cuadrada que se sujeta mediante clips metálicos, puede ser un chip de forma cuadrada montada en un zócalo de plástico. Su ubicación sobre las distintas placas madre puede variar también. Normalmente, la única manera de identificar este chip es mediante las siglas grabadas sobre su superficie. EL 80386. La siguiente generación de procesadores para la PC trajo consigo importantes cambios en el mundo de la PC. Con la CPU 80386 DX, Intel ofreció un chip de proceso que era ampliamente superior al de sus predecesores. El 386 DX era el primer procesador de 32 Bites que pudo usarse en placas madre de las PC. Al doblar la anchura externa e interna del bus de datos utilizado en el 286, tanto interna como externamente, se le abrieron nuevos horizontes a las computadoras personales. 16 Las aplicaciones gráficas, que anteriormente corrían lentamente, ahora podrían funcionar con más rapidez. Asimismo, el uso de las interfaces gráficas de usuario (GUI), que requieren mucha más potencia del procesador, dado que redefinen toda la pantalla después de cada acción, comenzó a ser realmente posible y práctico después de haberse introducido en 80386. Desde que las velocidades de los relojes se elevaron de 16 a 33 y 40 MHz y que se instaló un caché externo de memoria (ver más adelante) para incrementar el rendimiento del procesador, casi todas las computadoras modernas pueden clasificarse como "computadoras gráficas", una distinción que ya existía desde hacía algún tiempo entre las computadoras Apple, Commodore, Amiga y Atari ST que utilizan procesadores Motorola. Desde que el bus de direcciones se expandió a 32 bits, el chip puede direccionar directamente 4.294.967.296 (2 elevado a la 32) localizaciones de memoria, o 4 gigabytes de RAM. Esto hace posible direccionar incluso 64 terabytes de forma virtual, lo que permite otro modo de operación, llamado el modo real virtual. Con este modo de operación, es posible efectuar la multitarea bajo MS- /PC-DOS porque cada aplicación involucrada en el proceso de multitarea recibe una CPU virtual con 1 MB de memoria. Estas computadoras virtuales por separado operan como varios procesadores 8088 independientes, trabajando en paralelo en un solo sistema. No obstante, para crear este mundo artificial en la PC, se necesitaba otra ampliación del sistema operativo. Esta adición pronto fue introducida por Microsoft con la versión 3.0 del entorno gráfico de usuario MS-Windows. Al igual que la CPU 286, la 386 permanece completamente compatible con códigos objeto en relación a sus predecesores. Esto significa que todos los sistemas operativos y aplicaciones diseñados para procesadores 8086 u 80286 también funcionarán en la CPU 386, sólo que mucho más deprisa. El 386 también entiende los juegos de comandos utilizados por los chips más antiguos y los tiempos de ejecución son más rápidos. A una velocidad de reloj idéntica, por ejemplo 16 MHz, el 386 puede alcanzar dos veces los MIPS (millones de instrucciones por segundo) que la CPU 80286. Una característica especial de la generación 386 es que cuenta con una versión "degradada" del procesador, llamada 386SX con velocidades de reloj entre 16 y 25 MHz. "Degradada" quiere decir en este contexto que el 386SX utiliza una estructura de 32 bits sólo de forma interna. En este sentido no es inferior a su hermano el 386 "puro". No obstante, externamente el SX utiliza un bus de datos que tiene el mismo tamaño que el bus encontrado en la CPU 286. También el bus de direcciones del "SX" es similar al del 286, lo cual le limita en aplicaciones multitarea. El 386SX consiste básicamente en un procesador 386 en una placa madre 286. Este es el motivo por el que el SX ejecuta muchas tareas de forma mas lenta que la de su hermano mayor, el 386 "puro". Debe estar cambiando constantemente entre su estructura interna propia de 32 bits y la operación externa de 16 bits, lo cual cuesta tiempo. El 386DX es fácilmente identificable en el marco de la placa madre. Tiene forma cuadrada, una inscripción que lo distingue, y una impresión en tinta azul-roja. Esta CPU 386DX está normalmente localizada transversalmente frente a las ranuras de expansión de la placa madre. Puesto que los procesadores de la clase 386SX son considerablemente más pequeños, es difícil localizarlos. En vez de estar montados en un zócalo como otros procesadores Intel, están soldados directamente al circuito madre. Así pues, no pueden sacarse ni intercambiarse. Si una CPU 386SX deja de funcionar, deberá cambiarse toda la placa madre. 17 LA ACTUAL ESTRELLA DE LA FAMILIA INTEL. EL PROCESADOR 1486 El último procesador de Intel es el i486. Esta CPU, que es mas que un procesador, se llama chip integrado. Este chip agrupa cuatro grupos de funciones distintas (la CPU real, un coprocesador matemático, un controlador caché y dos memorias de caché con 4k cada una) en un solo componente. El i486 trabaja interna y externamente con una estructura completa de 32 bits y puede alcanzar frecuencias de reloj que van desde 25 hasta 50 MHz. La diferencia principal entre el i486 y sus predecesores, particularmente el chip 386, es el elevado nivel de integración del i486, Incluso un 386 con un coprocesador, no puede compararse a un i486. La estructura del i486 tiene un controlador caché que está construido dentro del chip, junto con dos cachés de 4k. Al igual que el caché on-chip actúa como un buffer entre el procesador y la memoria de trabajo. La operación básica del caché integrado es idéntica a la del "caché de segundo nivel" externo, véase la descripción en el apartado 2.1.6, que explica el principio de caché RAM en detalle. Él caché interno localizado en el i486 está organizado como un caché "a través de una escritura buffer". Este método lee los datos, que no pueden encontrarse en el caché, desde la memoria de trabajo y traslada esta información a la CPU y al caché. Las operaciones de escritura para localizaciones de memoria que actualmente están almacenadas en el caché, se efectúan tanto a las localizaciones de la memoria de trabajo como a las del caché. Esto asegura que la información en el caché esté actualizada. Un algoritmo de gestión interna efectúa un buffer en estas operaciones de lectura y escritura, hasta que el bus externo está disponible y puede realizarse un acceso de escritura a la memoria de trabajo de la computadora. Esto libera al procesador e impide períodos de espera. Los contenidos del caché que menos se utilizan durante un cierto período de tiempo, se identifican mediante un algoritmo de control especial y vuelven a escribirse la próxima vez que se "refresca" el caché. Debido al controlador interno caché, la CPU, con su elevada frecuencia de operación, rara vez debe esperar a la lentitud de la RAM de la máquina. El caché actúa como un tipo de buffer inteligente, una característica que también puede aplicarse al controlador caché. Ya que esta técnica es capaz de impedir cualquier período de espera, el i486 puede ejecutar casi todas las operaciones en un solo ciclo de reloj. Esta capacidad, por sí sola, hace que el i486 sea superior al 386. El i486 tiene un conjunto de comandos completo, que incluye todos los conjuntos de comandos utilizados por sus predecesores. Esto da lugar a una estructura de procesador compleja. Al igual que sus predecesores, el i486 es un CISC (Com-plex Instruction Set Computer) y es compatible en forma descendente hasta el 8086. La compatibilidad descendente significa que el i486 ejecutará aplicaciones originalmente escritas para los procesadores anteriores. Debido a sus amplios conjuntos de comandos, los procesadores CISC se caracterizan por una gran flexibilidad con las aplicaciones lo cual, no obstante, puede también implicar una reducción de su velocidad. Otros procesadores, los llamados RISC (Reduced Instruction Set Computer) alcanzan unos niveles de rendimiento superiores utilizando un reducido conjunto de comandos, que normalmente está unido a una aplicación específica (como, por ejemplo, CAD). No obstante, esto significa que el conjunto de comandos del procesador puede no ser capaz de ejecutar otras aplicaciones. Así pues, la velocidad aumenta mientras que la flexibilidad disminuye. El i486 es algo así como un compromiso entre un nivel máximo de flexibilidad y una velocidad de procesamiento que es significativamente elevada para una computadora personal. La complejidad 18 del procesador CISC y la velocidad del procesador RISC están satisfactoriamente combinadas en el 486. Sin embargo, Intel ha desarrollado un sucesor al i486. El nuevo procesador de 64 bits, llamado 80586 o Pentium. Ahora que ya se tiene una visión general de la historia de los microprocesadores Intel, pasamos a la pregunta que le interesa a todos los usuarios: ¿Qué procesador se requiere para una aplicación específica? La prensa técnica en el campo de la informática tiende a hacer que las computadoras estén listas para salir a la venta. Así pues, puede parecer como si cierto tipo de hardware y software fuera obsoleto muchos meses antes de que esto sucediera realmente. Incluso dentro del siempre cambiante campo de la informática, suelen aparecer productos que rompen todos los moldes sólo dos veces al año. Así pues, si lee estas publicaciones con frecuencia, no asuma automáticamente que las predicciones sean totalmente exactas. Cuando se compra el hardware, muchos usuarios de computadoras no tienen en consideración la aplicación que van a utilizar con el mismo. Normalmente, sólo están interesados en los sistemas más recientes o en el que está actualmente en venta. Sin embargo, la forma mejor y más económica para determinar el hardware que se necesita es considerar cómo va a ser utilizado y con qué aplicación. Desde el punto de vista de la aplicación, la selección de una configuración, determinada de hardware en un principio en una consecuencia de la decisión de utilizar un determinado software. Por ejemplo, supongamos que vaya a utilizar su computadora principalmente para procesar texto, dado que quiere preparar en su casa lo que finalmente llevara a la oficina o a la inversa. Otros programas no le interesan. Por supuesto, que se sobre entiende que se quiere trabajar con el mismo procesador de textos en casa y en la oficina. Si este programa es una aplicación DOS como Microsoft Word5.5, una computadora 286 es suficiente para sus necesidades. Sin embargo, si en la oficina está instalado Microsoft Word para Windows 2.0 y se tiene que trabajar con el mismo en casa entonces su computadora debe ajustarse a unos requisitos distintos. Aunque vaya a ejecutar las mismas tareas que con Microsoft Word 5.5 (es decir, escribir cartas) necesitara una computadora más potente. Mientras vaya a tratar principalmente contextos y cálculos, una computadora personal equipada con una CPU 286. Esto incluye la utilización de la máquina para propósitos de negocios tales como contabilidad, teneduría de libros, inventario y correspondencia. Pero también es cierto que algunas aplicaciones exigencias más elevadas al sistema. Esto es especialmente válido cuando la aplicación utiliza un entorno gráfico de usuario, tal como Windows. En estos casos un 386 sería más adecuado y de acuerdo a las características se podrá optar entre 386SX y un 386DX. Normalmente, un 486 solo es necesario cuando quiera ejecutar aplicaciones especiales, tales como programa CAD complejos. INCREMENTOS PROCESADOR. DEL RENDIMIENTO MEDIANTE LA INSTALACION DE UN NUEVO El rendimiento de un chip procesador no puede aumentarse. Apretando tornillos no lograremos nada que él no pueda dar por sí mismo. A menudo sucede lo contrario: debido a una configuración errónea el sistema opera a un rendimiento menor al potencial. 19 Solo cabe configurar óptimamente la computadora para obtener mejores resultados. Aunque esto no aumentara la capacidad operativa de su procesador, asegura que un sistema funcione a pleno rendimiento. Es imposible mejorar su computadora personal a una generación elevada de procesadores simplemente instalando una nueva CPU. Recuerde que los procesadores están unidos a otros componentes de la placa madre a través de varios sistemas bus. Estas conexiones están dispuestas de forma distinta en cada tipo de procesador. Así la única forma de mejorar su 286 a un 386 o un 386 a un 486 es sustituir totalmente la placa madre. EL AUMENTO DE LA FRECUENCIA DE RELOJ DEL SISTEMA: UNA CUESTION POLEMICA. Dentro de la misma generación de procesadores (por ejemplo, la generación 386), es teóricamente posible aumentar gradualmente el rendimiento del procesador, mediante un sistema que aumente la frecuencia del reloj, esto aumentaría el número de operaciones que el procesador podría ejecutar cada segundo, aumentando de esta forma la productividad del procesador. De este modo, se puede crear un 386 de 20 MHz a un 386 de 25 MHz, simplemente cambiando el reloj del sistema por un más potente. Probablemente el procesador no podrá funcionar a la frecuencia aumentada ya que no fue diseñado para operar a esa velocidad. No obstante, incluso si usted también a instalado una CPU capaz de manejar la velocidad aumentada del reloj, podría encontrarse con problemas adicionales ya que las placas madre y sus componentes, especialmente el juego de chips, tampoco estaban diseñados para operar a esa velocidad o frecuencia aumentada. Así pues, el éxito de este tipo de mejora no puede garantizarse ya que muchas operaciones con periodo de tiempo crítico dependen de la velocidad de reloj con que opera la CPU. Puesto que este tipo de mejora rara vez funciona, no la discutiremos en detalle. Asimismo recuerde que no vale la pena aumentar el funcionamiento de su sistema mediante una velocidad de reloj superior a un 25%, pues se corre el riesgo de dañar el procesador. El único modo de aumentar el funcionamiento de el significativamente, es sustituir la placa madre de su computadora. EL COPROCESADOR. El termino completo es &uml; coprocesador matemático¨, con este nombre se puede deducir que no se trata de un elemento central, si no de un asistente. Un coprocesador matemático aumenta la velocidad de una computadora, ocupándose de algunas de las tareas de la CPU. No obstante el coprocesador no es un componente indispensable en una maquina. Se puede instalar un coprocesador en la placa madre, siempre y cuando esta disponga de la ranura correspondiente. Puesto que lo que hace la CPU no es otra cosa de cálculos, el lector podría estar preguntándose porque necesita ayuda para realizarlos. Lo que ocurre es que la CPU solo puede llevar a cabo operaciones aritméticas básicas con números enteros. La CPU tiene problemas para procesar operaciones con valores fraccionarios puesto que no son números enteros. Así la CPU requiere bastante tiempo para resolverlas. Siempre deban realizar muchos cálculos complejos (por ejemplo, al calcular funciones tangentes, exponenciales y raíces) puede disminuir su velocidad considerablemente, debido especialmente a la unidad de procesamiento tiene que ejecutar también otras tareas simultáneamente. Especialmente en aquellas operaciones en las cuales se trabaja con fracciones y cifras muy complicadas en cuestiones aritméticas de coma flotante, el coprocesador muestra su idoneidad. En aquellos campos de aplicación donde se requieren muchas posiciones decimales y los errores de 20 redondeo deben de mantenerse tan insignificantes como sea posible, resulta imprescindible la utilización de un coprocesador. Un coprocesador puede ser extremadamente útil para realizar este tipo de cálculos. Normalmente, las aplicaciones científicas y técnicas requieren un coprocesador matemático. No obstante, para utilizar un coprocesador los programas deben estar específicamente diseñados para ello. De nuevo el paquete de software que vaya usted a utilizar constituye el factor decisivo que determinara si su sistema debe estar equipado con un coprocesador. Algunos paquetes de programas modernos de CAD/CAM, como AutoCAD, requieren un coprocesador. Un coprocesador es también útil para utilizar gráficos vectoriales. Sin embargo, no aumenta el rendimiento de las aplicaciones que utilizan gráficas de puntos. Con cada generación de CPU utilizada en sistemas de computadoras personales Intel, también introducía sus correspondiente coprocesador. Así las familias de procesadores Intel, desde 8088 al 80386, tienen sus compañeros coprocesadores matemáticos, el 8087, 80287, 80387SX y 80387. Sin embargo, otros fabricantes, como AMD, CYRIX, ITT, y ULSI, también fabrican coprocesadores. Los coprocesadores de estos fabricantes pueden utilizarse sin ningún problema. Son totalmente compatibles con los coprocesadores de Intel, en ocasiones son más rápidos y precisos y siempre más económicos. Aunque la denominación del modelo utilizado por los distintos fabricantes para cada generación de procesadores varía, es fácil determinar para cada línea de CPU se ha diseñado un coprocesador dado. Los coprocesadores están todavía más críticamente ajustados a la velocidad del reloj que los procesadores normales. Por lo tanto, debe asegurarse que cualquier coprocesador que seleccione para su sistema este diseñado para manejar la frecuencia de reloj de su computadora. Para ello, debe considerar varios factores. Los coprocesadores para computadoras 286, al contrario que los coprocesadores de las demás familias de los procesadores, operan a solo 2/3 de la capacidad de la frecuencia de reloj del sistema. Esto significa que, para una computadora 286 de 16 MHz, podría realmente utilizar un coprocesador diseñado para operar a 12 MHz. Por parte de Intel ya se ofertan coprocesadores cuyo margen de frecuencia va de 6 a 20 MHz. Puesto que la frecuencia del procesador es solo 2/3 de la frecuencia real del sistema, solo hay un pequeño aumento en el rendimiento cuando se añade un coprocesador a una CPU 286. Habría un mayor aumento en el rendimiento con un sistema 386 porque este sistema utiliza un coprocesador que funciona a la velocidad real del sistema. Tal como mencionamos, el coprocesador para el 486 ya está construido en el chip de procesador. Como resultado, ya no es necesario que los dos procesadores se comuniquen mediante un externo. El 486SX, la versión base del 486, no está equipada con un coprocesador integrado, pero puede instalarse un coprocesador externo 487SX. Puesto que estos dos procesadores, al igual que las familias inferiores de procesadores, diseñados para varias aplicaciones especificas. Por ejemplo, se ha diseñado un coprocesador que se utiliza específicamente con el paquete de software de AutoCAD. Weitek también ha desarrollado un coprocesador mayor y significativamente más rápido que puede conectarse a las mayorías de placas 386 y 486. Normalmente, las placas madres 386 están equipadas con un zócalo capaz de aceptar tanto el Intel 80387 como el Weitek 1167. Muchas placas 486 también pueden aceptar un Weitek 4167 además del coprocesador integrado. Puesto que el procesador Weitek opera de forma más precisa que el Intel estándar, se utiliza a menudo en aplicaciones científicas. 21 EMULACIONES DEL COPROCESADOR. No hace tanto que los coprocesadores costaban una fortuna, si bien su utilización era necesaria como hoy en algunas aplicaciones. Por esta razón, la alternativa más socorrida era servirse de un emulador de coprocesador, dichos programas de emulación han sido diseñados para dotar a la CPU de la metodología de trabajo de un coprocesador y hacerlas actuar como si dispusieran del correspondiente chip numérico. Algunos de esos programas registran un elevado rendimiento y funcionan de forma excelente. Su Software de aplicaciones, asimismo, adecuado. También los programas de aplicación trabajan bien con estas emulaciones. Aun así, no llegan a sustituir las alternativas de hardware. En la actualidad los precios de los coprocesadores son tan bajos que las alternativas de adquisición son bajas. AUMENTO DEL RENDIMIENTO DEL COPROCESADOR MEDIANTE LA UTILIZACION DE ZOCALOS FAST. En general los coprocesadores pueden aplicarse ya lo expuesto en relación con la sustitución de procesadores en los tema 2.1.1. Únicamente puede añadirse la posibilidad que ofrece el 286 de mejorar el rendimiento del procesador numérico con independencia del resto de componentes de la placa madre. Como ya hemos mencionado, la NPU 287 opera a una frecuencia de reloj de 2/3. Esto admite modificaciones si se agrega al zócalo del procesador un zócalo fast que sea entonces el que incorpore al coprocesador. Este Trubozócalo contiene su propio cuarzo y actúa, por tanto, independientemente de la frecuencia de reloj del sistema. Los zócalos rápidos se pueden obtener en todas las frecuencias del 286. El chip del coprocesador que debe instalarse encima de ellos tiene que estar configurado, naturalmente, para la frecuencia en cuestión. Esto se mantiene igual. Emplear este método para que el procesador funcione bastante más rápidamente que la CPU no tiene mucho sentido: es como disponer de una calculadora muy veloz que no pueda ofrecer resueltos por tener que adecuarse al ritmo de reacción de su dueño. EL SISTEMA DE BUS. El bus es algo así como el correo de una computadora. Asume todas las tareas relacionadas con la comunicación que van dirigidas a la placa principal, desde el envío de paquetes de datos hasta la puesta a punto y supervisión de números telefónicos, pasando por la devolución de información cuando el receptor está ausente o se retrasa. El bus vincula la CPU con la placa madre o con las tarjetas de expansión. A través de él se reproducen caracteres en el monitor o se escriben informaciones procedentes de un escáner directamente en la memoria de trabajo, esquivando la CPU. El bus puede, por ejemplo, abastecer una tarjeta de audio con datos en forma de música desde la memoria de trabajo, liberando al procesador de esa tarea. Asimismo se encarga de interrumpir sus operaciones si el sistema registra algún error, ya sea que un sector de la memoria no pueda leerse correctamente o que la impresora, que como no también opera bajo su dirección, se haya quedado sin papel. En pocas palabras, el bus es el elemento responsable de la correcta interacción entre los diferentes componentes de la computadora. Es, por tanto, su dispositivo central de comunicación. Resulta obvio, pues, que un dispositivo tan importante y complejo puede ejercer una influencia decisiva sobre el desarrollo de los procesos informativos. Es también evidente que de la capacidad operativa del bus dependerá en buena medida el rendimiento general de la maquina. Por todo ello, hemos decidido abordar este tema con más detenimiento. LOS COMPONENTES DEL BUS 22 Un bus está compuesto ni más ni menos que de conductos. Imagíneselos simplemente como hilos, porque, a decir verdad, esta imagen se acerca mucho a la realidad. En efecto, buena parte de las conexiones de la CPU no son sino conductos del bus. Si exceptuamos unas cuantas funciones adicionales, estos conductos constituyen la única vía de contacto del procesador con el mundo exterior. A través de las mencionadas vais, la CPU puede acceder a la memoria de trabajo para interpretar las instrucciones de un programa ejecutable o para leer, modificar o trasladar los datos ahí ubicados. Los conductos especialmente destinados al transporte de datos reciben el nombre de buses de datos. No basta con que el procesador escriba en el bus de datos sus informaciones-cualquiera que sea su formato, es necesario también que establezca cual va a ser el destino de los mismos. Esta operación se lleva a cabo seguramente ya lo habrá adivinado a través de otro grupo de conductos conocido como el bus de direcciones. A los dos ya mencionados debe añadirse el llamado bus de sistema (también conocido como bus de control). Su participación es necesaria porque, como ya hemos comentado, al bus se hallan conectados otros dispositivos, aparte de la CPU y la memoria de trabajo. Si no existiese un mecanismo de control, las operaciones de acceso iniciadas por diferentes componentes en procesos de escritura, lectura o direccionamiento se sumirían en un autentico caos. Para evitarlo esta el bus del sistema. Este bus permite el acceso de los distintos usuarios, el se encarga de identificar si se trata de un proceso de escritura o lectura etc. Por supuesto, el bus el bus de control es, también, en primera instancia, un sistema de conductos. Pero entonces, ¿cómo puede ser- se estarán ustedes preguntando-que un sistema compuesto simplemente por cables sea capaz de dirigir tareas tan complejas como el direccionamiento? Esa tarea la asume el controlador de bus, un componente o mejor dicho, un grupo de componentes, de cuya existencia aun no habíamos hablado. El controlador es el autentico cerebro del sistema de bus. Se ocupa, a través del bus del sistema, de evitar cualquier colisión y de que toda la información llegue al destino prefijado. Seguramente resulta obvio que la capacidad operativa del bus en general depende, entre otras cosas, de la "inteligencia" del sistema de control. Los factores más determinantes son la velocidad y la amplitud del bus, esto es, el numero de conductos de datos que operan en paralelo. Probablemente lo recuerda: en las CPU del 286 y del 386SX son 16, en las del 386DX y en las del 486, 32. En el apartado de los procesadores ya hemos tratado este tema. El número de conductos de datos de una CPU es un parámetro apenas modificable. En la frecuencia de reloj del bus, por el contrario, si pueden introducirse cambios. En este sentido, son varios los Setup del BIOS entre ellos sobresale el AMIBIOS que ofrecen la posibilidad de variar la velocidad del bus. El primer AT de IBM, lanzado en 1984, registraba una frecuencia de bus de 8 MHz. Dicha frecuencia sigue siendo un valor estándar hoy en día, si bien puede mejorarse considerablemente mediante tarjetas de expansión. Si dispone de u BIOS con la opción arriba mencionada debería considerar un aumento significativo de la frecuencia del Bus para alcanzar los 10 o 12MHz. Ello le permitirá incrementar el rendimiento de su tarjeta gráfica o del controlador del disco duro. Lamentablemente, en modelos antiguos de controladores se pueden presentar problemas. Los controladores MFM más antiguos como, por ejemplo, el WD1003 (entre otros) suelen reaccionar a este tipo de ajustes con fallos de escritura ocasionales. En estos casos no le quedara más remedio que recuperar la frecuencia original de su Bus AT. 23 LAS RANURAS DE EXPANSION. Las ranuras de expansión de puede decir que son los enchufes madre del sistema del Bus. A través de ellas, el Bus tiene acceso a tarjetas de expansión como el adaptador gráfico o el controlador del disco duro. No es precios que abarquen todos los conductos del Bus. Así, a menudo vemos como sobre la placa madre de una CPU de 32 bits hay ranuras para conductos de datos de solo 8 o 16 bits. Estas ranuras, también llamadas Slots, se encuentran en la parte trasera izquierda de la placa madre. Se trata de las ranuras alargadas y negras en las que, probablemente, ya se encuentren encajadas algunas tarjetas. Las pequeñas, compuestas de un solo elemento, son las ranuras de 8 bits y las largas, divididas en dos partes, son las de 16. A veces puede advertirse también una ranura adicional especialmente larga o curvada. Esta recibe las tarjetas de expansión de memoria, que, en las placas madre del 386 o del 486 suelen disponer de un Bus de 32 bits. A continuación vamos a describir con detalle lops diferentes sistemas de Bus de expansión. EL BUS ISA. Las siglas ISA hacen referencia a la (I)nduistrial (S)tandart (A)rchitecture (Arquitectura Industrial Estandarizada). Cuando en la actualidad se habla de estándares industriales o del bus ISA se suele hacer pensando en el Bus AT de 16 bits. Este preconcepto no es, de todos modos, absolutamente adecuado pues la denominación ya se empleaba en los tiempos del XT de IBM y por razones muy validas. Las ranuras de expansión uniformes del XT fueron unas de las razones fundamentales para la enorme difusión de este tipo de computadoras y la de sus sucesores. Las mismas representan de la forma más clara el concepto de la arquitectura abierta de las computadoras, la cual, a través de la incorporación de tarjetas de expansión de todo tipo, capacita a la computadora para realizar cualquier clase de tarea, sobre todo las relacionadas con entornos industriales. Las ranuras del XT incluían, junto al Bus de direcciones de 20 bits, un solo Bus de datos de 8 bits. Su capacidad operativa era, por tanto, y desde una perspectiva actual bastante limitada. Como ya hemos apuntado, en las mayorías de las placas madres encontramos, junto a las citadas ranuras de 16 bits, dos o más ranuras de 8 bits. Ello se debe a la ambición de economizar (¿ tacañería ?) del fabricante, pues la introducción de tarjetas de 8 bits es, naturalmente, posible en los slots de 16 bits. Con una frecuencia de reloj de 8MHz, el Bus AT alcanza un índice máximo de transmisión de datos de 6.5 MB/S, un valor más que aceptable pero que es plenamente utilizado por muy pocas tarjetas. Pero desde hace poco, y merced a la cada vez más común utilización de CPU de 32 bits, pueden emplearse sistemas de Bus capaces de alcanzar cotas de transmisión de datos más elevadas. EL BUS EISA. Las siglas EISA corresponden a la (E)nhanced (I)ndustrial (S)tandart (A)rchitecture, que vendría a ser algo así como la arquitectura industrial estandarizada y ampliada. En la practica el Bus EISA no es sino una prolongación del Bus AT, desarrollada por los fabricantes de computadoras más importantes del mundo ( a excepción de IBM) a fin de enfrentar los cada vez más importantes retos planteados por los procesadores de 32 bits. El BUS EISA es un Bus de 32 bits autentico. Esto significa que los 32 conductos de datos de su CPU están disponibles en el slot de expansión correspondiente. 24 El índice notablemente superior de transmisión de datos no es la única ventaja que lo caracteriza frente al BUS ISA. Hay un rasgo mucho más importante y habitualmente menos tomado en cuenta que lo define: la capacidad multiusuario. Esta posibilita el acceso común de varios procesadores a un mismo Bus, con lo cual problemas como la configuración de una computadora en paralelo a través de tarjetas de CPU, tendrían fácil solución. EL BUS MCA. El bus MCA o MICROCHANNEL, como se le suele denominar, no es en realidad un bus, sino una especie de sistema de canalización, en el cual los datos no son transmitidos al receptor correspondiente mediante un código simple de direccionamiento, sino que, prácticamente, tienen que ser recogidos por él. Para ello, previamente se informa al receptor (que puede ser, por ejemplo, la tarjeta gráfica) sobre el punto en el que se encuentran los datos y se le da acceso a un canal, por el cual pueden ser transportados. Este proceso tiene lugar sin la participación de la CPU. El MICROCHANNEL, que fue desarrollado por IBM para su línea de equipos PS/2, alcanza, con esta metodología un índice de rendimiento nada despreciable. La cota de transmisión de datos puede llegar a los 20 MB/s y además el procesador, también mejora su ritmo operativo. Sin embargo, este sistema no ha conseguido implantarse fuera de la generación IBM PS/2 para la que fue diseñado. La razón de ello no es otra que su total incompatibilidad con las demás tarjetas existentes. Por consiguiente, si desea instalar una placa MICROCHANNEL tendrá que descartar los componentes del sistema que ya disponía y adquirir los que se corresponden con ella. Y todo esto a un precio superior al que usted estaba acostumbrado. En efecto, hasta la más insignificante ampliación, pensemos, por ejemplo, en una ranura adicional, requiere elementos electrónicos costosos y complejos (al fin y al cabo el objetivo es liberar de trabajo a la CPU) para adaptarse al MICROCHANNEL. Este hecho, junto a la difícil situación de las patentes, llevo al resto de fabricantes a desarrollar el estándar EISA arriba descrito. LA MEMORIA DE TRABAJO La placa principal contiene cada componente integral de las computadoras personales. La memoria de trabajo, al igual que la CPU, es fundamental para la operación del sistema. Incluso el sistema operativo que se necesita para llevar a cabo un programa, necesita esta memoria para cargarse. La memoria de trabajo actúa como una especia de "memoria a corto plazo" y frecuentemente nos referimos a ella como RAM (Memoria de Acceso Aleatorio). La CPU utiliza esta memoria para realizar sus funciones normales. Los contenidos de la memoria de trabajo se cambian y se actualizan, según se necesite, mientras el procesador esté en funcionamiento. Con frecuencia, las diferentes secciones de los programas se leen desde el disco duro y se almacenan en la memoria mientras el programa se ejecuta. La memoria de trabajo es una memoria temporal, porque toda la información almacenada se pierde cuando la computadora se desconecta. Sin embargo, los dispositivos de almacenamiento como los discos duros y los disquetes, son capaces de conservar la información de manera permanente. LA RAM DE 640 Kb: HASTA HACE POCO UN ESTANDAR. Las computadoras personales se suministran hoy, según su tipo, con memorias de hasta 8 MB. No hace demasiado tiempo, la medida estándar para la memoria de trabajo de una PC era de 640k, por lo que en aquella ‚poca, 1 MB se consideraba una cantidad increíble de memoria. 25 Y lo mejor de todo era que los programas funcionaban con esa memoria. Antes de profundizar en la materia y ocuparnos de la administración de la memoria, veamos las distintas partes de la memoria de trabajo de una PC. CHIPS DE MEMORIA. En las computadoras personales actuales se utilizan aproximadamente unos 12 tipos distintos de chips de memoria. Estos chips se combinan de diferentes maneras según el tamaño y alcance de la memoria de trabajo en concreto. La compatibilidad con una placa de memoria dada viene determinada por las tomas (zócalos) que hay en esa placa. Los chips simplemente se enchufan a esas tomas, por lo que el soldador, que se utilizaba años atrás para realizar ampliaciones de memoria, ya no es necesario. Los distintos chips que se utilizan para la memoria de trabajo pueden dividirse en dos grupos: chips DRAM (RAM din mica) y SIMM (Single In- line Memory Module) o SIP (Single In- line Packages). La diferencia entre estos dos grupos es fácil de explicar. Mientras los chips de RAM din mica constan de elementos individuales de chips sencillos, en los módulos SIMM o SIP varios chips RAM se agrupan en un solo elemento. Por lo tanto, Los SIMM o SIP son simplemente un grupo de chips RAM que se han soldado conjuntamente para formar un único componente. Más adelante analizaremos esta cuestión m s detalladamente. CHIPS DE RAM DINAMICA. Los chips de RAM din mica están situados en unas pequeñas carcasas negras para chips con patillas que sobresalen de sus lados mayores. Estas patillas permiten que el chip esté conectado al resto del sistema. Según la capacidad del chip éste tendrá 16, 18, o incluso 20 patillas. Los chips están disponibles en capacidades de 64, 256 kilobytes e incluso de 1 megabits, y por lo general contienen las inscripciones correspondientes (4164, 41256, y 411000 o 411024 respectivamente). En los últimos tiempos se ha venido haciendo más popular una versión especial de chips RAM que utiliza una estructura de bit cuádruple. Estos chips tienen cuatro veces más capacidad de almacenamiento que un chip normal de 1 bit, y están disponibles en los modelos 464, 4256 y 4400. Sin embargo, no debe preocuparse por las denominaciones de chips RAM, ya que con un poco de práctica podrá determinar la capacidad de un chip RAM por el numero de patillas de cada chip (los chips de 64 y 256 kilobits tienen 16, los de 464 y los de 1000 kilobits tienen 18 y los chips de bits cuádruple tienen 20 patillas) y por los tres a cuatro últimos dígitos que hay inscritos en la carcasa del chip. Este tipo de chips RAM se denominan "din micos" porque los contenidos de su memoria deben refrescarse continuamente. Esto significa que estos chips están sometidos a un "ciclo de refresco" constante. Esto sucede simplemente por la naturaleza de estos componentes, porque el elemento real de almacenamiento es solamente el condensador, que puede estar cargado o descargado. Dado que un elemento así puede presentar dos estados, representan exactamente el valor de un bit. Por lo tanto, se necesita un condensador para cada bit. Por ejemplo, un chip de un megabit, capas de almacenar exactamente 1,040,576 bits de información, necesita más de un millón de condensadores. Sin embargo, uno de estos condensadores pierde su carga después de un corto periodo de tiempo. Para conservar la información almacenada en el chip durante más tiempo del establecido, es necesario leer el estado de los condensadores del chip antes de que se pierda su carga y seguidamente recargarlos. Esto es el mencionado "ciclo de refresco". 26 No se puede acceder a la información almacenada en el chip mientras éste está siendo refrescado. Dado que los intervalos entre cada reposición varían según los distintos tipos de chips, puede escoger entre chips RAM más rápidos y más lentos. El tiempo de acceso de los chips RAM viene especificados en nanosegundos, y por lo general oscila entre 70 y 120 nanosegundos. Contra mayor sea el tiempo de acceso, m s lento ser el chip. ACERCA DE BITS Y BYTES. Como ya hemos mencionado anteriormente, estos chips tienen capacidades que varían entre 64 y 1024 kilobits. Sin embargo, la memoria de trabajo de una PC está dispuesta en segmentos de kilobytes. Como debe saber, ocho bits forman un byte, por o tanto, ocho chips de 64 kilobits cada uno equivalen a 64k de memoria. Los chips RAM se agrupan en hileras de nueve elementos cada una. Ocho de estos elementos se utilizan para almacenar los bits reales de datos, por lo que pueden almacenar entre 64 y 1024k, según sea el tipo de chip que se utilice. El noveno chip actúa como elemento de control y es el responsable de realizar la comprobación de paridad. Durante el proceso operativo, las filas de chips realizan constantemente una suma de comprobación que se coteja con los bits de paridad almacenados en el noveno chip. LA TECNICA DE LOS TRES CHIPS. En un principio, los chips cuádruples mencionados anteriormente, de los cuales el más utilizado en las PC's es el chip de 4X256 kilobits, parecen ser una excepción al método de agrupación de nueve chips conjuntamente. Sin embargo, resulta más fácil de entender si se imagina el chip cuádruple simplemente como cuatro chips individuales de 256 kilobits. Una hilera de chips de 256 kilobits puede constar, o bien de nueve chips individuales de 256 kilobits o bien de dos chips cuádruples de 256 m s un chip de 256 kilobits (2X4+1=9), que hacen un total de tres chips. De esta manera, una hilera completa de chips solamente ocupa un tercio del espacio porque sólo se necesitan tres tomas de chip en lugar de nueve, incluso teniendo en cuenta que los chips cuádruples tienen dos patillas más en cada lado que los chips normales de 256 kilobits. MODULOS SIP Y SIMM. Los módulos SIP y SIMM se crearon como resultado de las aplicaciones de la computadora que continuamente necesitaban más memoria. Cada módulo corresponde a una hilera completa de chips de memoria. Dado que el espacio que ocupan estos módulos es considerablemente más pequeño que el que utilizan las tomas convencionales DRAM, se puede instalar más memoria en la placa principal. Estos módulos están disponibles en grupos de nueve chips y de tres chips; la ordenación de tres chips parece ser la que tiene más aceptación. Sin embargo, no todas las placas principales son compatibles con esta tecnología. Si la placa no es compatible con el modulo de tres chips, es posible que surjan problemas de memoria o incluso mensajes de errores de paridad "Parity error", que indican que la placa no soporta los módulos. Estos módulos de memoria están disponibles en capacidades de 256k, 1 MB y 4 MB. Los módulos SIP (Single In-line Packages) tienen una hilera de 30 patillas pequeñas insertadas en la banda de toma correspondiente. Sin embargo, Los SIMM (Single In-line Memory Module) utilizan una banda de contacto parecida a las que se utilizan en las tarjetas de expansión. Por tanto, los SIMM están insertados en conectores envueltos o tipo snap. LOS BANCOS DE MEMORIA. 27 Sea cual sea el tipo de elementos de memoria que se utiliza, la memoria situada en la placa principal de una PC se ha organizado en dos bancos de memoria desde la generación de la PC 286. El primero se denomina "Banco0" y el segundo "Banco 1". Dado que, por lo general, es posible instalar diferentes tipos de chips de memoria, la capacidad de un banco de memoria depende del tipo de chips que utilice. Por esta razón, las placas 286 más antiguas pueden alcanzar dos valores máximos, de 1 o de 4 MB de RAM, dependiendo de si se utilizan chips de 256 kilobits o chips de 1 megabit. Las placas principales de las PC de alta velocidad 386 y 486 contienen casi siempre SIMM. Cuando se utilizan módulos de 4 MB, se pueden alcanzar capacidades de memoria de 32 MB "en la placa". Esto es posible porque un banco de memoria, por regla general, incluye cuatro tomas o zócalos, por lo tanto, un total de ocho tomas puede recibir SIMM. Algunas placas contienen incluso 16 tomas de este tipo, por lo cual se puede instalar hasta un máximo de 64 MB de RAM en la placa. COMBINACION DE DISTINTOS CHIPS DE MEMORIA. Dentro de un mismo banco de memoria, solo se deben utilizar chips de memoria de igual capacidad. Sin embargo, se permite el uso de chips con distintos tiempos de acceso. Los accesos a memoria se comportar simplemente con referencia al chip más débil del sistema. Aunque dentro de un banco de memoria se pueden mezclar chips de distintos fabricantes, en ocasiones esto pudiera traer problemas. No siempre está permitido utilizar chips con diferentes capacidades entre los bancos de memoria de una placa principal. LA ADMINISTRACION DE MEMORIA DE LAS COMPUTADORAS COMPATIBLES IBM. Ya mencionamos con anterioridad en este capítulo la correlación existente entre generaciones de procesadores y memoria direccionable cuando se analizaron las diferentes generaciones de procesadores de computadoras personales. Durante los últimos once años el límite de memoria física ha aumentado de manera espectacular. Como resultado, la cantidad de memoria que puede direccionarse gracias a estos procesadores ha crecido de 1 MB a 4 gigabytes. Ya sea un 386 o un 486, los sistemas actuales de las PC de alta velocidad son compatibles hacia abajo con la PC original IBM de 1981, basada en la CPU 8088 esto significa que todas las generaciones de PC son todavía capaces de operar en el mismo modo de la PC original y también utilizan el mismo sistema operativo. Aunque este sistema operativo se encuentra en su sexta generación, todavía obliga a las PC modernas a trabajar muy por abajo de su potencial. Además del problema de compatibilidad con el 8088 y el uso de DOS, en las computadoras actuales nos encontramos con el problema que se esconde en la administración de la memoria. El 8088 dividía su memoria direccionable en un segmento para el sistema operativo y los programas de aplicación (un máximo de 640k de memoria de trabajo) y en otro segmento de sistema de memoria o controlador de memoria. El último segmento contiene segmentos de dirección para el adaptador de video, el sistema BIOS y los otros componentes del hardware, el cual se fijo en un tamaño de 384k. La suma total dio un resultado de 1024k o 1 MB de memoria. Este sistema utilizó por completo toda la franja de memoria direccionable por la CPU 8088. El 80286 y sus sucesores disponen de una franja de memoria direccionable bastante mas amplia, que va desde 1 MB. Los requerimientos ineludibles de compatibilidad con el 8088 determinaron la capacitación de las líneas 286, 386, y 486 para trabajar en "Real Adress Mode" (modo real de direccionamiento). En este modo operativo el bus de direcciones queda restringido a los conductos A0 hasta A19, en otras palabras, a los 20 conductos de direccionamiento con que cuenta el 8088. 28 De este modo, la franja de memoria direccionable se reduce a 1 MB. Así, las computadoras rápidas experimentan una restricción y operan como los equipos 8088 de más alto rendimiento. Los procesadores sólo pueden aprovechar la capacidad completa de los 24 o 32 bits si operan en "modo protegido". Sólo de este modo es posible el aprovechamiento de la "memoria extendida" y del espacio de memoria direccionable que excede 1 MB como memoria de trabajo. Por desgracia, este modo operativo es totalmente ajeno al DOS, pues este sistema fue desarrollado originalmente para su integración en un equipo que ni lo conocía ni lo necesitaba. En este sentido, puede decirse que el MS-DOS se ha quedado obsoleto. MEMORIA EXTENDIDA Y EXPANDIDA. Mediante la ampliación del bus de direcciones, primero a 24 y después a 32 conductos, se consiguió aumentar la franja de memoria direccionable. Así se creó la "memoria extendida", no utilizable por el DOS y no apta para el almacenamiento de programas. De todos modos, el DOS, a partir de su versión 4.01, incluye algunos controladores que aportan cierta utilidad a este tipo de memoria. Gracias a ellos y al VDISK.SYS, puede instalarse un disco virtual en la memoria extendida. Cabe también la posibilidad de instalar en la memoria extendida dispositivos de control del disco duro o de la impresora. Pero esta forma tan práctica de liberar de tareas a la memoria de trabajo no impedir que en la pantalla del usuario del DOS aparezca el mensaje de "insuficient memory" (memoria insuficiente). Únicamente ciertos productos muy selectos de software, entre ellos el LOTUS 123 versión 2.2, consiguen utilizar la memoria extendida. Existe una posibilidad de ampliar la memoria de trabajo para las aplicaciones DOS y es el aprovechamiento de la ventana EMS. se trata de un sector de memoria no utilizado y situado en el marco de los 384 KB de la memoria del sistema (controller Memory). El principio EMS es realmente complejo, pero con un poco de fantasía se puede asimilar. Según la EMS (especificación de memoria expandida), pueden utilizarse todos los espacios direccionables vacíos entre 640 KB y 1 MB para fusionar en ellos sectores de memoria procedentes de otros espacios direccionables. La "ventana" que se consigue de esta manera muestra siempre la parte de la memoria que se esta empleando en cada momento. La totalidad de la memoria fusionada (hasta 32 MB) queda dividida en páginas con sus correspondientes direcciones lógicas. Para posibilitar el resaltado casi instantáneo de páginas de memoria adicionales, es preciso que la conexión rápida entre las direcciones de las memorias lógicay física(ventana EMS) se produzca en un segundo plano. Para poder ampliar la memoria según las directrices EMS es imprescindible cargar un determinado controlador al ponerse el sistema en funcionamiento. Los 286 y los 8088 precisan para este fin un hardware especial dotado de Bank-switching-Logic (lógica de conmutación de bancos). Por esta razón, el controlador de software depende también del hardware y viene siendo distribuido conjuntamente con las placas madre con capacidad EMS o con las tarjetas de expansión de memoria. Pero no todas las placas madre 286 soportan la EMS. Muchas se ayudan en tarjetas de expansión de memoria determinadas, como, por ejemplo, la Intel-Avobe-Board. Los procesadores de aplicaciones 386 y 486 disponen de un "Virtual-Address-Mode"(modo virtual de direcci¢n) que facilita la operatividad de un sistema EMS dirigido únicamente por software. Se puede decir, por tanto, que estas computadoras ya salen de fábrica preparadas para acogerse a la metodología EMS. Desde el DOS 5.0 se incluye con vistas a ello un controlador especial EMS(EMM386.EXE). También hay otros programas que, como el 386MAX o el QEMM se adaptan a la ventana EMS, a fin de incrementar el volumen de memoria de trabajo disponible para el DOS y sus aplicaciones. Estos programas son independientes de hardware y por ello no requieren ningún entorno especial. De todos modos, cabe señalar que algunos de ellos pueden presentar problemas. 29 Desde la aparición de su versión 4.01, el DOS puede incorporar una llamada "High Memory Area"(área de memoria alta) en los primeros 64 KB de la memoria direccionable, cuyo volumen supera el megabyte y, desde el lanzamiento de su versión 5.0, puede incluso descargar partes del sistema operativo residentes en los más altos sectores de la memoria, de modo que queden libres más de 620 kB de la memoria de trabajo. Mediante el gestionador de memoria XMS conocido como HIMEM.SYS, programas como el Windows 3.0 a modo de aplicación del DOS, pueden acceder sin restricciones a toda la memoria existente y ponerla a disposición del resto de las aplicaciones. Para ello el Windows 3.0 asume el control total de la memoria y precisamente ello es causa de los problemas que plantea este asunto. Ya va siendo hora de que DOS sea sustituido por un sistema operativo autentico, capaz de trabajar en modo protegido y preparado para seguir el ritmo que marque la memoria direccionable ampliada de los procesadores más rápidos. IBM ha logrado esto con la versión 2.0 del ya conocido OS/2. Esta operación la reportar mas ventajas en cuanto al manejo de memoria. Por otra parte, la ampliación de la memoria de un 386 o de un 486 que se opere bajo el Windows resulta siempre ventajosa, ya que se agiliza su administración. Lo ideal en estos casos son 8 MB. Si usted únicamente trabaja con el DOS y sus aplicaciones, una ampliación de memoria no tendría mucho sentido. Contrariamente, si lo que utiliza es el OS/2, cualquier ampliación será bienvenida, pues cuanto mayor sea el volumen de RAM, mas rápido ser el funcionamiento del software. LA MEMORIA DEL SISTEMA. Como ya hemos mencionado, cuando IBM desarrollo la PC, el segmento de memoria entre 640k y 1 MB estaba reservado para uso del sistema. Esta franja de dirección se ha reservado desde entonces para la ROM (memoria de solo lectura). Así, y a diferencia de la RAM, desde la ROM sólo se quede leer, y no escribir. De hecho, El término "ROM" ya no se aplica a cada parte de la memoria del sistema. Sin embargo, todavía implica que toda esta franja de dirección está controlada por el sistema. Por lo tanto, esta memoria está controlada por el hardware, y no se puede utilizar por software externo bajo ninguna circunstancia. Esto también puede aplicarse a los diferentes sistemas BIOS internos de una PC. Cada placa principal está equipada con un sistema BIOS o un BIOS principal, también llamado ROM BIOS. El sistema BIOS está situado en la parte superior del sistema de memoria. Los últimos 64kB por debajo del límite de 1 MB en cada PC, están reservados para este propósito. Un segmento de dirección de 192k, reservado para sistemas adaptadores BIOS que se utilizan en su PC compatibles con IBM, está situado directamente debajo del segmento del sistema BIOS. Estos segmentos pueden incluir EGA-BIOS o VGA BIOS, así como los BIOS para un controlador de disco duro SCSI. Las tarjetas de conexión también deben ser direccionables a través de una dirección específica de ROM. Si en su sistema hay varias tarjetas de expansión que necesitan su propio BIOS, este segmento de memoria reservada puede saturarse y dar lugar a conflictos de dirección. Esto es algo que debería tener en cuenta antes de comprar un hardware de este tipo. Muchas tarjetas de expansión ofrecen direcciones BIOS que el usuario puede seleccionar, con lo que se pueden evitar muchos conflictos de dirección. ! Mucho cuidado con la PC IBM originales¡ Estos equipos disponen de un ROM BASIC que permite funcionar a la computadora aunque no encuentre ningún sistema operativo para cargarlo en la 30 memoria de trabajo. El ROM BASIC ocupa otros 64 kilobytes de la franja direccionable prevista para el Adapter-BIOS, con lo cual éste se reduce aún más. Debajo del espacio direccionable del Adapter-BIOS se encuentra la franja de la Video-RAM con una extensión de 128 kB. De este modo quedan distribuidos los 384 kB disponibles. Debe quedar claro que estamos hablando de espacios de direccionamiento, no de contenidos de la memoria. Con esto queremos decir que los datos de extensión ofrecidos no guardan relación con las capacidades de almacenamiento, sino con las direcciones por las que se guía la CPU cuando necesita dirigirse a los puntos correspondientes de la memoria. Exceptuando la Video-RAM y la ventana-EMS(ver apartado siguiente), a estas direcciones de memoria solo puede accederse por medio de un acceso de lectura. Físicamente los contenidos de memoria se encuentran detrás de sus respectivos espacios direccionables (véase, por ejemplo, en la tarjeta gráfica, la Video-RAM y el Video-BIOS). En efecto, el BIOS del sistema se encuentra en la placa madre y otros BIOS se hallan en determinadas tarjetas. Los BIOS vienen almacenados como programa rutina en uno o dos de los elementos llamados EPROM. Las siglas EPROM significan (E)rasable and (P)rogrammable (R)ead (O)nly (M)emory, y designan, en definitiva, un componente de la memoria ROM que puede ser borrado y programado. si se utiliza un hardware apropiado y técnicas especificas, los elementos EPROM, fuera de la PC, admiten también la escritura. LA VENTANA EMS. En el marco del espacio direccionable ya descrito y en dependencia del numero y el tamaño del los Adapter-BIOS y de la presencia eventual de un ROM BASIC, queda una franja continua de 64 kB como mínimo sin emplear. Este sector, desde el establecimiento de la Expanded Memory Specification (EMS), por las firmas Lotus, Intel y Microsoft (LIM), puede ser utilizado por los sistemas operativos y sus aplicaciones, para fusionar paginas de memoria adicionales a través de un controlador EMS especial. En el apartado 2.1.4 hemos abordado este punto con más detalle. EL PRINCIPIO ROM SHADOW. De lo que hemos explicado hasta ahora se deduce claramente que físicamente, la memoria del sistema no se sirve de la capacidad de almacenamiento de los elementos RAM instalados; no emplea ni un solo byte de los mismos. Tanto en el sentido físico, como desde la perspectiva de los espacios direccionables, la memoria del sistema se halla radical y limpiamente separada de la memoria de trabajo. Así, los elementos de memoria destinados al almacenamiento que se colocan sobre la placa madre quedan a completa disposición de la memoria de trabajo. En las computadoras modernas suele contarse con la posibilidad de instalar la llamada ShadowRAM a través del CMOS-Setup. Esta opción sirve para fundir los contenidos BIOS de la memoria del sistema en la RAM. Los mencionados contenidos quedan copiados como una sombra (shadow) en la memoria de trabajo. Esto tiene el objetivo de acelerar los accesos de la CPU a dichos contenidos, ya que un acceso a la RAM es sustancialmente más rápido que uno a la ROM. Las opciones Shadow se ofrecen por muchas PC-BIOS para el System-BIOS y el Video-BIOS. La activación de la opción suele venir preconfigurada. El AMI-BIOS le presenta el usuario un detallado informe de las correspondencias Shadow para todo el espacio de memoria del sistema para que, además del Video-BIOS y del System-BIOS, como extra, pueda copiarse el Adapter-BIOS en la RAM. Para establecer esta definición de forma técnicamente impecable, debe restárseles el espacio que físicamente está a disposición de la memoria de trabajo un sector de extensión suficiente como 31 para poder ser reconvertido en "memoria Shadow". Y es que para que los contenidos BIOS que van a copiarse sean aceptados debe haberse determinado un sector de memoria fijo exclusivamente para ese uso. El espacio precisado se le "sustrae", pues, a la memoria de trabajo, que queda, así, reducida. LA SHADOW-RAM REDUCE LA MEMORIA DE TRABAJO. La reconversión de memoria de trabajo en Shadow-RAM no está exenta de complicaciones. Hay varias técnicas y cada una de ellas provoca efectos diferentes en la memoria de trabajo. Sobre todo en el terreno de los modernos BIOS 286 suele pasar que, curiosamente, al activar la opción Shadow, se "arrancan" 256 kB de la memoria de trabajo, independientemente de la cantidad de espacio que en realidad se utilice para la Shadow-ROM. Esto implica que, con una capacidad de almacenamiento global de 1 MB, la memoria extendida queda reducida, pasando de 384 a 128 kB. Dejando aparte el hecho de que vaya a activarse o no una opción Shadow, muchos BIOS 386 y 486 reservan 384 kB de la memoria de trabajo. De este modo lo habitual es que de, por ejemplo, 4096 kb de memoria instalada, queden útiles 640 kB de almacenamiento convencional y 3072 kB de memoria ampliada. Otros prefieren extraer de la memoria de trabajo la cantidad exacta de capacidad que precisan para la Shadow. La activación de esta opción implica, eso sí, un aumento en el rendimiento del sistema que, al menos en una 386 y 486, se aprecia muy claramente. Pero la perdida de capacidad de almacenamiento ligada a ella puede no compensar(especialmente en el caso de los 286) el nivel de rendimiento alcanzado. Con carácter de excepción (comúnmente en placas con chips NEAT) encontramos en el CMOS ampliado una opción designada como "RAM Relocation", "Relocate Option" o "Remapping". Gracias a ella podemos, en caso de no emplear la opción Shadow, incorporar de nuevo a la memoria de trabajo el espacio que le habíamos extraído. Se trata de un procedimiento un tanto complejo, que a los 286 con poca memoria global puede, sin embargo, serles de gran ayuda. LA MEMORIA CACHE. Desde la aparición en el mercado de procesadores con frecuencia de reloj de 25 o incluso 33 MHz o más, una memoria de trabajo constituida por RAM dinámica ya no está preparada para satisfacer las exigencias de la CPU en términos de tiempo de acceso. Con esas frecuencias, el procesador se ve forzado a aguardar continuamente hasta que la memoria de trabajo reaccione, lo cual conlleva que su capacidad operativa no sea aprovechada al máximo. En principio, la memoria de trabajo debería poder ser sustituida completamente por componentes estáticos de RAM que permitiesen intervalos de acceso bastante más breves. Pero esto sería demasiado caro. Por eso, en los casos en relación a equipos 386 y 486 de altas frecuencias, se ha recurrido a un método que ya se utilizaba en las gigantescas computadoras de los años setenta: la instalación de una RAM cache externa. "Externa" quiere decir, en este contexto, que se sitúa fuera de la CPU, en su entorno y unida a ella por el sistema bus. En los 486, la memoria caché‚ que estamos describiendo recibe también el nombre de "caché‚ de segundo nivel", se ubica físicamente sobre la placa madre y consta de una serie de componentes estáticos de RAM con una capacidad de 64 o 256 kilobits. 32 Así pues, con este procedimiento pueden obtenerse cachés de 64 o 256 kilobytes, tamaño bastante inferior al de la memoria de trabajo. La vigilancia de la memoria caché corre a cargo del controlador caché 82385 de Intel. EL FUNCIONAMIENTO DE LA RAM CACHE. La RAM caché está, pues, situada entre la CPU y la memoria de trabajo y opera a modo de memoria intermedia. Dado que las computadoras compatibles IBM procesan las instrucciones de forma secuencial (por orden de llegada), los mejores programas son los escritos partiendo del "principio de localidad". Este principio determina que al ponerse en marcha el programa se utilicen partes de memoria de un sector inmediato, ubicadas en serie y lo más cerca posible unas de otras. Los saltos a zonas de la memoria más alejadas ("far jumps") son poco frecuentes. Para activar un bucle de programación que vaya a ejecutarse con asiduidad, debe extraerse de la memoria una y otra vez la misma instrucción. La memoria caché funciona de forma que ante una solicitud de la CPU, el fragmento de la memoria a leer y el que le sigue han de ser cargados primero en la memoria caché y luego enviados a la CPU. Cualquier usuario que conozca las bases técnicas de la programación sabe que la próxima solicitud de la CPU hará referencia al mismo sector de la memoria o a uno vecino del anteriormente consultado. Así, con este método al memoria caché puede satisfacer, en la mayoría absoluta de los casos, las consultas formuladas. Si no dispusiéramos de ella, la memoria de trabajo tendría, una vez más, que pasar a la acción. El procedimiento descrito optimiza, asimismo, los accesos del procesador a la memoria de trabajo. El aprovechamiento de la operatividad de los procesadores de alto rendimiento depende, así, de la capacidad que tenga la memoria caché de satisfacer a la CPU. Frente a un fallo de la caché la CPU se ve obligada a recurrir a la relativamente más lenta memoria de trabajo. Los fabricantes de placas madre utilizan estrategias de caché muy diversas. Las diferencias residen en la manera de almacenar y localizar los datos y los usos que se le dan al contenido de esta memoria. También los procesos de reproducción, es decir, los principios que rigen el modo de copiar la memoria de trabajo sobre la caché, pueden diferir unos de otros. Las dimensiones de la memoria caché son igualmente importantes, pero no vamos a recrearnos aquí¡ sobre las peculiaridades que distinguen a un principio de reproducción asociativo total de uno parcial. En resumen puede decirse que las placas con una frecuencia idéntica pero con o sin caché‚ externa son tan diferentes como la noche del día. Solo mediante una RAM caché puede aprovecharse de forma real toda la capacidad de un procesador. Incluso en las placas 386SX las diferencias mencionadas se hacen palpables. Respecto a las dimensiones de la memoria caché, cabe señalar que una computadora con el DOS tiene más que suficiente con 64 Kb (es el tamaño ideal). Comparaciones efectuadas revelaron que, por ejemplo, un 486 que opere bajo el DOS se verá alentizado en proporción a las dimensiones de la caché instalada. El rendimiento del mismo, tras la ampliación de una memoria caché de 64 a 256 kilobytes se redujo en un 10% aproximadamente. Bajo el OS/2, en cambio, se constató un claro aumento de la capacidad operativa. LOS CHIPS DE LA PLACA MADRE. Acercándose ya al fin de esta descripción de los componentes involucrados en tareas de procesamiento, vamos a abordar el último grupo de elementos situado regularmente sobre la placa madre. Se trata del juego de chips, que es un grupo de circuitos integrados con un elevado grado de armonización interna que actúa, por así decirlo, como auxiliar de la CPU en las tareas de dirección y control de la computadora. Estos componentes ayudan al procesador a organizar, entre otras cosas, el acceso a la memoria de trabajo y al bus de datos o direcciones. 33 Hay un buen número de juegos de chips que suele estar soldado de forma fija sobre los distintos tipos de place madre. Entre los fabricantes más conocidos se incluyen Chips & Tecnologies, Symphony, OPTI, UMC, VLSI, Video Seven, Headland, etc. Los hay de todo tip. evidentemente, no podemos centrarnos ahora en describir todas y cada una de las diferencias existentes entre los diferentes juegos. Las incompatibilidades o problemas entre determinados juegos de chips y componentes de hardware concretos son frecuentes. Así, por ejemplo, podemos citar, por experiencia, que las placas de los equipos 486 con juego de chips Forex suelen presentar incompatibilidad con algunas tarjetas gráficas, entre ellas con la Diamond Speedstar HiColor. Otras tarjetas gráficas con las mismas especificaciones técnicas, funcionan, no obstante, sin tacha. Queremos dejar claro en este punto que las incompatibilidades entre componentes de hardware asociadas a determinados juegos de chips y placas madre son fenómenos frecuentes. En este apartado nos gustaría detenernos especialmente en el llamado juego de chips NEAT, que suele encontrarse en las placas de las computadoras 286 y 386SX. Las siglas NEAT significan "New Enhanced Advanced Tecnology" y vienen a referirse al nuevo AT ampliado, tomando la denominación AT como sinónimo de computadora con bus de 16 bits. Este juego de chips consta de un controlador de bus(82C211), un controlador de memoria (82C212), un buffer de datos y direcciones (82C215) y un controlador de periféricos (82C206). En las placas del 386 estos chips reciben nombres un tanto diferentes (82C811,82C812,82C815 y 82C806), si bien realizan, especialmente, las mismas funciones. Los juegos de chips (el mas conocido es el NET de chips & Tecnologies) ofrecen una función ampliada de Setup, con la cual es posible la programación bit a bit de los registros de control. Entre otras cosas, permite efectuar una especie de direccionamiento de la memoria que posibilita rápidos cambios entre dos bancos de la misma mientras ambos son utilizados. Mientras un banco está siendo refrescado, puede accederse al otro, obteniendo, en consecuencia, un ritmo de acceso a memoria mucho más rápido. Este procedimiento conocido como "Page Interleavin" es empleado también por otros fabricantes de chips NEAT, como, por ejemplo, OPTI. Pero la configuración correcta del CMOS en estos chips es realmente compleja. Si usted desconoce lo que se esconde detrás de cada opción configurativa, ser mejor que siga utilizando los valores preconfigurados. Otros tipos de chips diferentes de los NEAT también pueden ser objeto de manipulación a través de setups del CMOS especializados o ampliados. Todas las posibles configuraciones. por regla general, los juegos de chips de placas nuevas suelen salir de fabrica con una configuración óptima para su uso estándar y no tienen porque ser modificados. Autor: Juan Carlos Maggi Cardenas - Estudiante Ingeniería Industrial - Dispositivos de Entrada y Salida. Los Dispositivos de Entrada: Estos dispositivos permiten al usuario del computador introducir datos, comandos y programas en el CPU. El dispositivo de entrada más común es un teclado similar al de las máquinas de escribir. La información introducida con el mismo, es transformada por el ordenador en modelos reconocibles. Los datos se leen de los dispositivos de entrada y se almacenan en la memoria central o interna. Los Dispositivos de Entrada, convierten la información en señales eléctricas que se almacenan en la memoria central. Los Tipos de Dispositivos de Entrada Más Comunes Son: 34 a) Teclado: El teclado es un dispositivo eficaz para introducir datos no gráficos como rótulos de imágenes asociados con un despliegue de gráficas. Los teclados también pueden ofrecerse con características que facilitan la entrada de coordenadas de la pantalla, selecciones de menús o funciones de gráficas. Teclado 101: El teclado pesa 1.1 Lb y mide 11.6 Pulgadas de ancho, 4.3 pulgadas de profundidad y 1.2 de altura. Entre los accesorios disponibles se encuentran: cableado para Sun, PC(PS/2) y computadoras Macintosh. Las dimensiones de este teclado son su característica principal. Es pequeño. Sin embargo se siente como un teclado normal. Teclado Ergonómico: Al igual que los teclados normales a través de éste se pueden introducir datos a la computadora pero su característica principal es el diseño del teclado ya que éste evita lesiones y da mayor comodidad al usuario, ya que las teclas se encuentran separadas de acuerdo al alcance de nuestras manos, lo que permite mayor confort al usuario. Teclado para Internet:El nuevo Internet Keyboard incorpora 10 nuevos botones de acceso directo, integrados en un teclado estándar de ergonómico diseño que incluye un apoya manos. Los nuevos botones permiten desde abrir nuestro explorador Internet hasta ojear el correo electrónico. El software incluido, posibilita la personalización de los botones para que sea el teclado el que trabaje como nosotros queramos que lo haga. Teclado Alfanumérico: Es un conjunto de 62 teclas entre las que se encuentran las letras, números, símbolos ortográficos, Enter, alt, etc; se utiliza principalmente para introducir texto. Teclado de Función: Es un conjunto de 13 teclas entre las que se encuentran el ESC, tan utilizado en sistemas informáticos, más 12 teclas de función. Estas teclas suelen ser configurables pero por ejemplo existe un convenio para asignar la ayuda a F1. Teclado Numérico: Se suele encontrar a la derecha del teclado alfanumérico y consta de los números así como de un Enter y los operadores numéricos de suma, resta, etc. Teclado Especial: Son las flechas de dirección y un conjunto de 9 teclas agrupadas en 2 grupos; uno de 6 (Inicio y fin entre otras) y otro de 3 con la tecla de impresión de pantalla entre ellas. Teclado de Membrana: Fueron los primeros que salieron y como su propio nombre indica presentan una membrana entre la tecla y el circuito que hace que la pulsación sea un poco más dura. Teclado Mecánico: Estos nuevos teclados presentan otro sistema que hace que la pulsación sea menos traumática y más suave para el usuario. b) Ratón ó Mouse: Es un dispositivo electrónico que nos permite dar instrucciones a nuestra computadora a través de un cursor que aparece en la pantalla y haciendo clic para que se lleve a cabo una acción determinada; a medida que el Mouse rueda sobre el escritorio, el cursor (Puntero) en la pantalla hace lo mismo. Tal procedimiento permitirá controlar, apuntar, sostener y manipular varios objetos gráficos (Y de texto) en un programa. A este periférico se le llamó así por su parecido con un roedor. Existen modelos en los que la transmisión se hace por infrarrojos eliminando por tanto la necesidad de cableado. Al igual que el teclado, el Mouse es el elemento periférico que más se utiliza en una PC (Aunque en dado caso, se puede prescindir de él). 35 Los "ratones" han sido los elementos que más variaciones han sufrido en su diseño. Tipos de Mouse: Existen diferentes tecnologías con las que funciona el Mouse: Mecánica: era poco precisa y estaba basada en contactos físicos eléctricos a modo de escobillas que en poco tiempo comenzaban a fallar. Óptica: es la más utilizada en los "ratones" que se fabrican ahora. Opto mecánica: son muy precisos, pero demasiado caros y fallan a menudo. Existen "ratones", como los trackballs, que son dispositivos en los cuales se mueve una bola con la mano, en lugar de estar abajo y arrastrarla por una superficie. Mouse Óptico Mouse Trackball: Es una superficie del tamaño de una tarjeta de visita por la que se desliza el dedo para manejar el cursor, son estáticos e ideales para cuando no se dispone de mucho espacio. Hay otro tipo de "ratones" específicos para algunas aplicaciones, como por ejemplo las presentaciones en PC. Estos "ratones" suelen ser inalámbricos y su manejo es como el del tipo TrackBall o mediante botones de dirección. Y por último, podemos ver modelos con ruedas de arrastre que permiten visualizar más rápidamente las páginas de Internet. c) Micrófono: Los micrófonos son los transductores encargados de transformar energía acústica en energía eléctrica, permitiendo, por lo tanto el registro, almacenamiento, transmisión y procesamiento electrónico de las señales de audio. Son dispositivos duales de los altoparlantes, constituyendo ambos transductores los elementos más significativos en cuanto a las características sonoras que sobre imponen a las señales de audio. Existen los llamados micrófonos de diadema que son aquellos, que, como su nombre lo indica, se adhieren a la cabeza como una diadema cualquiera, lo que permite al usuario mayor comodidad ya no necesita sostenerlo con las manos, lo que le permite realizar otras actividades. d) Scanner: Es una unidad de ingreso de información. Permite la introducción de imágenes gráficas al computador mediante un sistema de matrices de puntos, como resultado de un barrido óptico del documento. La información se almacena en archivos en forma de mapas de bits (bit maps), o en otros formatos más eficientes como Jpeg o Gif. Existen scanners que codifican la información gráfica en blanco y negro, y a colores. Así mismo existen scanners de plataforma plana fija (Cama Plana) con apariencia muy similar a una fotocopiadora, y scanners de barrido manual. Los scanners de cama plana pueden verificar una página entera a la vez, mientras que los portátiles solo pueden revisar franjas de alrededor de 4 pulgadas. Reconocen imágenes, textos y códigos de barras, convirtiéndolos en código digital. Los exploradores gráficos convierten una imagen impresa en una de video (Gráficos por Trama) sin reconocer el contenido real del texto o las figuras. e) Cámara Digital: se conecta al ordenador y le transmite las imágenes que capta, pudiendo ser modificada y retocada, o volverla a tomar en caso de que este mal. Puede haber varios tipos: Cámara de Fotos Digital: Toma fotos con calidad digital, casi todas incorporan una pantalla LCD (Liquid Cristal Display) donde se puede visualizar la imagen obtenida. Tiene una pequeña memoria donde almacena fotos para después transmitirlas a un ordenador. Cámara de Video:Graba videos como si de una cámara normal, pero las ventajas que ofrece en estar en formato digital, que es mucho mejor la imagen, tiene una pantalla LCD por la que ves 36 simultáneamente la imagen mientras grabas. Se conecta al PC y este recoge el video que has grabado, para poder retocarlo posteriormente con el software adecuado. Webcam: Es una cámara de pequeñas dimensiones. Sólo es la cámara, no tiene LCD. Tiene que estar conectada al PC para poder funcionar, y esta transmite las imágenes al ordenador. Su uso es generalmente para videoconferencias por Internet, pero mediante el software adecuado, se pueden grabar videos como una cámara normal y tomar fotos estáticas. Lector de Código de Barras: Dispositivo que mediante un haz de láser lee dibujos formados por barras y espacios paralelos, que codifica información mediante anchuras relativas de estos elementos. Los códigos de barras representan datos en una forma legible por el ordenador, y son uno de los medios más eficientes para la captación automática de datos. Lápices Ópticos: Es una unidad de ingreso de información que funciona acoplada a una pantalla fotosensible. Es un dispositivo exteriormente semejante a un lápiz, con un mecanismo de resorte en la punta o en un botón lateral, mediante el cual se puede seleccionar información visualizada en la pantalla. Cuando se dispone de información desplegada, con el lápiz óptico se puede escoger una opción entre las diferentes alternativas, presionándolo sobre la ventana respectiva o presionando el botón lateral, permitiendo de ese modo que se proyecte un rayo láser desde el lápiz hacia la pantalla fotosensible. No requiere una pantalla ni un recubrimiento especiales como puede ser el caso de una pantalla táctil, pero tiene la desventaja de que sostener el lápiz contra la pantalla durante periodos largos de tiempo llega a cansar al usuario. h) Palancas de Mando (Joystick): Dispositivo señalador muy conocido, utilizado mayoritariamente para juegos de ordenador o computadora, pero que también se emplea para otras tareas. Un joystick o palanca de juegos tiene normalmente una base de plástico redonda o rectangular, a la que está acoplada una palanca vertical. Es normalmente un dispositivo señalador relativo, que mueve un objeto en la pantalla cuando la palanca se mueve con respecto al centro y que detiene el movimiento cuando se suelta. En aplicaciones industriales de control, el joystick puede ser también un dispositivo señalador absoluto, en el que con cada posición de la palanca se marca una localización específica en la pantalla. i) Tarjetas Perforadas: ficha de papel manila de 80 columnas, de unos 7,5 cm. (3 pulgadas) de ancho por 18 cm. (7 pulgadas) de largo, en la que podían introducirse 80 columnas de datos en forma de orificios practicados por una máquina perforadora. Estos orificios correspondían a números, letras y otros caracteres que podía leer un ordenador equipada con lector de tarjetas perforadas. 2.- Los Dispositivos de Salida: Estos dispositivos permiten al usuario ver los resultados de los cálculos o de las manipulaciones de datos de la computadora. El dispositivo de salida más común es la unidad de visualización (VDU, acrónimo de Video Display Unit), que consiste en un monitor que presenta los caracteres y gráficos en una pantalla similar a la del televisor. Los tipos de Dispositivos de Salida más Comunes Son: a) Pantalla o Monitor: Es en donde se ve la información suministrada por el ordenador. En el caso más habitual se trata de un aparato basado en un tubo de rayos catódicos (CRT) como el de los televisores, mientras que en los portátiles es una pantalla plana de cristal líquido (LCD). Puntos a Tratar en un Monitor: Resolución:Se trata del número de puntos que puede representar el monitor por pantalla, en horizontal x vertical. Un monitor cuya resolución máxima sea 1024x 768 puntos puede representar hasta 768 líneas horizontales de 1024 puntos cada una. 37 Refresco de Pantalla: Se puede comparar al número de fotogramas por segundo de una película de cine, por lo que deberá ser lo mayor posible. Se mide en HZ (hertzios) y debe estar por encima de los 60 Hz, preferiblemente 70 u 80. A partir de esta cifra, la imagen en la pantalla es sumamente estable, sin parpadeos apreciables, con lo que la vista sufre mucho menos. Tamaño de punto (Dot Pitch): Es un parámetro que mide la nitidez de la imagen, midiendo la distancia entre dos puntos del mismo color; resulta fundamental a grandes resoluciones. En ocasiones es diferente en vertical que en horizontal, o se trata de un valor medio, dependiendo de la disposición particular de los puntos de color en la pantalla, así como del tipo de rejilla empleada para dirigir los haces de electrones. b) Impresora: es el periférico que el ordenador utiliza para presentar información impresa en papel. Las primeras impresoras nacieron muchos años antes que el PC e incluso antes que los monitores, siendo el método más usual para presentar los resultados de los cálculos en aquellos primitivos ordenadores. En nada se parecen las impresoras a sus antepasadas de aquellos tiempos, no hay duda de que igual que hubo impresoras antes que PCs, las habrá después de éstos, aunque se basen en tecnologías que aún no han sido siquiera inventadas. Hay Varios Tipos: Matriciales:Ofrecen mayor rapidez pero una calidad muy baja. Inyección: La tecnología de inyección a tinta es la que ha alcanzado un mayor éxito en las impresoras de uso doméstico o para pequeñas empresas, gracias a su relativa velocidad, calidad y sobre todo precio reducidos, que suele ser la décima parte de una impresora de las mismas características. Claro está que hay razones de peso que justifican éstas características, pero para imprimir algunas cartas, facturas y pequeños trabajos, el rendimiento es similar y el costo muy inferior. Hablamos de impresoras de color porque la tendencia del mercado es que la informática en conjunto sea en color. Esta tendencia empezó hace una década con la implantación de tarjetas gráficas y monitores en color. Todavía podemos encontrar algunos modelos en blanco y negro pero ya no son recomendables. Láser: Ofrecen rapidez y una mayor calidad que cualquiera, pero tienen un alto costo y solo se suelen utilizar en la mediana y grande empresa. Por medio de un haz de láser imprimen sobre el material que le pongamos las imágenes que le haya enviado la CPU. c) Altavoces: Dispositivos por los cuales se emiten sonidos procedentes de la tarjeta de sonido. Actualmente existen bastantes ejemplares que cubren la oferta más común que existe en el mercado. Se trata de modelos que van desde lo más sencillo (una pareja de altavoces estéreo), hasta el más complicado sistema de Dolby Digital, con nada menos que seis altavoces, pasando por productos intermedios de 4 o 5 altavoces. d) Auriculares: Son dispositivos colocados en el oído para poder escuchar los sonidos que la tarjeta de sonido envía. Presentan la ventaja de que no pueden ser escuchados por otra persona, solo la que los utiliza. e) Bocinas: Cada vez las usa más la computadora para el manejo de sonidos, para la cual se utiliza como salida algún tipo de bocinas. Algunas bocinas son de mesas, similares a la de cualquier aparato de sonidos y otras son portátiles (audífonos). Existen modelos muy variados, de acuerdo a su diseño y la capacidad en watts que poseen. f) Multimedia: Combinación de Hardware y Software que puede reproducir salidas que emplean diversos medios como texto, gráficos, animación, video, música, voz y efectos de sonido. 38 g) Plotters (Trazador de Gráficos): Es una unidad de salida de información que permite obtener documentos en forma de dibujo. Existen plotters para diferentes tamaños máximos de hojas (A0, A1, A2, A3 y A4); para diferentes calidades de hojas de salida (bond, calco, acetato); para distintos espesores de línea de dibujo (diferentes espesores de rapidógrafos), y para distintos colores de dibujo (distintos colores de tinta en los rapidógrafos). h) Fax: Dispositivo mediante el cual se imprime una copia de otro impreso, transmitida o bien, vía teléfono, o bien desde el propio fax. Se utiliza para ello un rollo de papel que cuando acaba la impresión se corta. I) Data Show (Cañón): Es una unidad de salida de información. Es básicamente una pantalla plana de cristal líquido, transparente e independiente. Acoplado a un retro proyector permite la proyección amplificada de la información existente en la pantalla del operador. - Dispositivos de almacenamiento de datos. Dispositivos de Almacenamiento de un Computador. Los sistemas informáticos pueden almacenar los datos tanto interna (en la memoria) como externamente (en los dispositivos de almacenamiento). Internamente, las instrucciones o datos pueden almacenarse por un tiempo en los chips de silicio de la RAM(memoria de acceso aleatorio) montados directamente en la placa de circuitos principal de la computadora, o bien en chips montados en tarjetas periféricas conectadas a la placa de circuitos principal del ordenador. Estos chips de RAM constan de conmutadores sensibles a los cambios de la corriente eléctrica, esto quiere decir que los datos son almacenados por tiempo limitado (hasta que dejamos de suministrar energía eléctrica) por esta razón aparecen los dispositivos de almacenamiento secundarios o auxiliares, los cuales son capaces de conservar la información de manera permanente, mientras su estado físico sea óptimo. Los dispositivos de almacenamiento externo pueden residir dentro del CPU y están fuera de la placa de circuito principal. Clasificación de los Dispositivos de Almacenamiento. Los Dispositivos de Almacenamiento se pueden clasificar de acuerdo al modo de acceso a los datos que contienen: Acceso secuencial: En el acceso secuencial, el elemento de lectura del dispositivo debe pasar por el espacio ocupado por la totalidad de los datos almacenados previamente al espacio ocupado físicamente por los datos almacenados que componen el conjunto de información a la que se desea acceder. Acceso aleatorio: En el modo de acceso aleatorio, el elemento de lectura accede directamente a la dirección donde se encuentra almacenada físicamente la información que se desea localizar sin tener que pasar previamente por la almacenada entre el principio de la superficie de grabación y el punto donde se almacena la información buscada. 39 Tipos de Dispositivos de Almacenamiento Memorias: Memoria ROM: Esta memoria es sólo de lectura, y sirve para almacenar el programa básico de iniciación, instalado desde fábrica. Este programa entra en función en cuanto es encendida la computadora y su primer función es la de reconocer los dispositivos, (incluyendo memoria de trabajo), dispositivos. Memoria RAM: Esta es la denominada memoria de acceso aleatorio o sea, como puede leerse también puede escribirse en ella, tiene la característica de ser volátil, esto es, que sólo opera mientras esté encendida la computadora. En ella son almacenadas tanto las instrucciones que necesita ejecutar el microprocesador como los datos que introducimos y deseamos procesar, así como los resultados obtenidos de esto. Memorias Auxiliares: Por las características propias del uso de la memoria ROM y el manejo de la RAM, existen varios medios de almacenamiento de información, entre los más comunes se encuentran: El disco duro, El Disquete o Disco Flexible, etc... Medidas de Almacenamiento de la Información Byte: unidad de información que consta de 8 bits; en procesamiento informático y almacenamiento, el equivalente a un único carácter, como puede ser una letra, un número o un signo de puntuación. Kilobyte (Kb): Equivale a 1.024 bytes. Megabyte (Mb): Un millón de bytes o 1.048.576 bytes. Gigabyte (Gb): Equivale a mil millones de bytes. Dispositivos Magnéticos Cinta Magnética: Esta formada por una cinta de material plástico recubierta de material ferromagnético, sobre dicha cinta se registran los caracteres en formas de combinaciones de puntos, sobre pistas paralelas al eje longitudinal de la cinta. Estas cintas son soporte de tipo secuencial, esto supone un inconveniente puesto que para acceder a una información determinada se hace necesario leer todas las que le preceden, con la consiguiente pérdida de tiempo. Tambores Magnéticos: Están formados por cilindros con material magnético capaz de retener información, Esta se graba y lee mediante un cabezal cuyo brazo se mueve en la dirección del eje de giro del tambor. El acceso a la información es directo y no secuencial. Disco Duro: Son en la actualidad el principal subsistema de almacenamiento de información en los sistemas informáticos. Es un dispositivo encargado de almacenar información de forma persistente en un ordenador, es considerado el sistema de almacenamiento más importante del computador y en él se guardan los archivos de los programas. Disquette o Disco flexible: Un disco flexible o también disquette (en inglés floppy disk), es un tipo de dispositivo de almacenamiento de datos formado por una pieza circular de un material magnético que permite la grabación y lectura de datos, fino y flexible (de ahí su denominación) encerrado en una carcasa fina cuadrada o rectangular de plástico. Los discos, usados usualmente son los de 3 ½ o 5 ¼ pulgadas, utilizados en ordenadores o computadoras personales, aunque actualmente los discos de 5 ¼ pulgadas están en desuso. 40 Dispositivos Ópticos El CD-R: es un disco compacto de 650 MB de capacidad que puede ser leído cuantas veces se desee, pero cuyo contenido no puede ser modificado una vez que ya ha sido grabado. Dado que no pueden ser borrados ni regrabados, son adecuados para almacenar archivos u otros conjuntos de información invariable. CD-RW: posee la capacidad del CD-R con la diferencia que estos discos son regrabables lo que les da una gran ventaja. Las unidades CD-RW pueden grabar información sobre discos CD-R y CD-RW y además pueden leer discos CD-ROM y CDS de audio. Las interfaces soportadas son EIDE, SCSI y USB. DVD-ROM: es un disco compacto con capacidad de almacenar 4.7 GB de datos en una cara del disco, un aumento de más de 7 veces con respecto a los CD-R y CD-RW. Y esto es en una sola cara. Los futuros medios de DVD-ROM serán capaces de almacenar datos en ambas caras del disco, y usar medios de doble capa para permitir a las unidades leer hasta cuatro niveles de datos almacenados en las dos caras del disco dando como resultado una capacidad de almacenamiento de 17 GB. Las unidades DVD-ROM son capaces de leer los formatos de discos CD-R y CD-RW. Entre las aplicaciones que aprovechan la gran capacidad de almacenamiento de los DVD-ROM tenemos las películas de larga duración y los juegos basados en DVD que ofrecen videos MPEG-2 de alta resolución, sonido inmersivo Dolby AC-3, y poderosas graficas 3D. DVD-RAM: este medio tiene una capacidad de 2.6 GB en una cara del disco y 5.2 GB en un disco de doble cara, Los DVD-RAM son capaces de leer cualquier disco CD-R o CD-RW pero no es capaz de escribir sobre estos. Los DVD-RAM son regrabables pero los discos no pueden ser leídos por unidades DVD-ROM. Pc - Cards: La norma de PCMCIA es la que define a las PC Cards. Las PC Cards pueden ser almacenamiento o tarjetas de I/O. Estas son compactas, muy fiable, y ligeras haciéndolos ideal para notebooks, palmtop, handheld y los PDAs,. Debido a su pequeño tamaño, son usadas para el almacenamiento de datos, aplicaciones, tarjetas de memoria, cámaras electrónicas y teléfonos celulares. Las PC Cards tienen el tamaño de una tarjeta del crédito, pero su espesor varía. La norma de PCMCIA define tres PC Cards diferentes: Tipo I 3.3 milímetros (mm) de espesor, Tipo II son 5.0 mm espesor, y Tipo III son 10.5 mm espesor. Entre los producto más nuevos que usan PC Cards tenemos el Clik! PC Card Drivede Iomega esta unidad PC Card Tipo II la cual puede leer y escribir sobre discos Clik! de 40 MB de capacidad, esta unidad esta diseñada para trabajar con computadores portátiles con mínimo consumo de baterías, el tamaño de los discos es de 2x2 pulgadas. Flash Cards: son tarjetas de memoria no volátil es decir conservan los datos aun cuando no estén alimentadas por una fuente eléctrica, y los datos pueden ser leídos, modificados o borrados en estas tarjetas. Con el rápido crecimiento de los dispositivos digitales como: asistentes personales digitales, cámaras digitales, teléfonos celulares y dispositivos digitales de música, las flash cards han sido adoptadas como medio de almacenamiento de estos dispositivos haciendo que estas bajen su precio y aumenten su capacidad de almacenamiento muy rápidamente. Recientemente Toshiba libero al mercado sus nuevas flash cards la SmartMedia de 64 MB y el super-thin 512M-bit chip. La SmartMedia es capaz de almacenar 72 imágenes digitales con una resolución de 1800x1200 pixels y más de 1 hora de música con calidad de CD. Entre los productos del mercado que usan esta tecnología tenemos los reproductores de audio digital Rio de Diamond, Nomad de Creative Labs, los PDAs de Compaq, el Microdrive de IBM con 340 MB de almacenamiento entre otros. 41 Dispositivos Extraíbles Pen Drive o Memory Flash : Es un pequeño dispositivo de almacenamiento que utiliza la memoria flash para guardar la información sin necesidad de pilas. Los Pen Drive son resistentes a los rasguños y al polvo que han afectado a las formas previas de almacenamiento portable, como los CD y los disquetes. Los sistemas operativosmás modernos pueden leer y escribir en ello sin necesidad de controladores especiales. En los equipos antiguos (como por ejemplo los equipados con Windows 98) se necesita instalar un controlador de dispositivo. [4] Unidades de Zip : La unidad Iomega ZIP es una unidad de dis co extraíble. Está disponible en tres versiones principales, la hay con interfaz SCSI, IDE, y otra que se conecta a un puerto paralelo. Este documento describe cómo usar el ZIP con Linux. Se debería leer en conjunción con el HOWTO SCSI a menos que posea la versión IDE. Marcas de los Dispositivos de Almacenamiento de un Computador Hoy en día en el mercado, se encuentran infinidades de marcas de dispositivos de almacenamiento; debido a la gran demandaque surge y por la búsqueda de la mejor calidad y garantía del producto. Entre las marcas de mayor uso se tienen: SAMSUNG SEAGATE WESTERN DIGITAL MARKVISION TOSHIBA SONY IBM DYSAN LG HP MAXTOR KINGSTON IMATION TDK - La memoria principal y su función Su definición es: almacenes internos en el ordenador. El término memoria identifica el almacenaje de datos que viene en forma chips, y el almacenaje de la palabra se utiliza para la memoria que existe en las cintas o los discos. Por otra parte, el término memoria se utiliza generalmente como taquigrafía para la memoria física, que refiere a los chips reales capaces de llevar a cabo datos. Algunos ordenadores también utilizan la memoria virtual, que amplía memoria física sobre un disco duro. Cada ordenador viene con cierta cantidad de memoria física, referida generalmente como memoria principal o RAM. Se puede pensar en memoria principal como arreglo de celdas de memoria, cada una de los cuales puede llevar a cabo un solo byte de información. 42 Un ordenador que tiene 1 megabyte de la memoria, por lo tanto, puede llevar a cabo cerca de 1 millón de bytes (o caracteres) de la información. La memoria funciona de manera similar a un juegode cubículos divididos usados para clasificar la correspondencia en la oficina postal. A cada bit de datos se asigna una dirección. Cada dirección corresponde a un cubículo (ubicación) en la memoria. Para guardar información en la memoria, el procesadorprimero envía la dirección para los datos. El controlador de memoria encuentra el cubículo adecuado y luego el procesador envía los datos a escribir. Para leer la memoria, el procesador envía la dirección para los datos requeridos. De inmediato, el controlador de la memoria encuentra los bits de información contenidos en el cubículo adecuado y los envía al bus de datos del procesador. Hay varios tipos de memoria: RAM (memoria de acceso aleatorio): Éste es igual que memoria principal. Cuando es utilizada por sí misma, el término RAM se refiere a memoria de lectura y escritura; es decir, usted puede tanto escribir datos en RAM como leerlos de RAM. Esto está en contraste a la ROM, que le permite solo hacer lectura de los datos leídos. La mayoría de la RAM es volátil, que significa que requiere un flujo constante de la electricidad para mantener su contenido. Tan pronto como el suministro de poder sea interrumpido, todos los datos que estaban en RAM se pierden. ROM (memoria inalterable): Los ordenadores contienen casi siempre una cantidad pequeña de memoria de solo lectura que guarde las instrucciones para iniciar el ordenador. En la memoria ROM no se puede escribir. PROM (memoria inalterable programable): Un PROM es un chip de memoria en la cual usted puede salvar un programa. Pero una vez que se haya utilizado el PROM, usted no puede reusarlo para salvar algo más. Como las ROM, los PROMS son permanentes. EPROM (memoria inalterable programable borrable): Un EPROM es un tipo especial de PROM que puede ser borrado exponiéndolo a la luz ultravioleta. EEPROM (eléctricamente memoria inalterable programable borrable): Un EEPROM es un tipo especial de PROM que puede ser borrado exponiéndolo a una carga eléctrica. MEMORIA RAM Memoria de la computadora, denominada Memoria de Acceso Aleatorio, es un área de almacenamiento a corto plazo para cualquier tipo de dato que la computadora está usando. RAM a menudo se confunde con el almacenamiento. Para una aclaración, comparemos la computadora con una oficina. El gabinete de archivos representa el almacenamiento (unidad de disco duro) y el escritorio representa la RAM. Los archivos a usar se recuperan del almacenamiento. Mientras los archivos están en uso se guardan en la RAM, un área de trabajo de fácil acceso. Cuando los archivos dejan de usarse se regresan al sector de almacenamiento o se eliminan. RAM, son las siglas para la memoria de acceso al azar, un tipo de memoria de computadora que se puede alcanzar aleatoriamente; es decir, cualquier byte de memoria puede ser alcanzado sin el tocar los bytes precedentes. La RAM es el tipo más común de memoria encontrado en ordenadores y otros dispositivos, tales como impresoras. Hay dos tipos básicos de RAM: RAM estática (SRAM) RAM dinámica (DRAM) 43 Estos 2 tipos difieren en la tecnología que utilizan para almacenar datos, RAM dinámica que es el tipo más común. La RAM dinámica necesita ser restaurada millares de veces por segundo. La RAM estática no necesita ser restaurada, lo que la hace más rápida; pero es también más costosa que la DRAM. Ambos tipos de RAM son volátiles, significando que pierden su contenido cuando se interrumpe el suministro de poder. En uso común, el término RAM es sinónimo de memoria principal, la memoria disponible para los programas. Por ejemplo, un ordenador con la RAM de los 8M tiene aproximadamente 8 millones de bytes de memoria que los programas puedan utilizar. En contraste, la ROM (memoria inalterable) se refiere a la memoria especial usada para salvar los programas que inician el ordenador y realizan diagnóstico. La mayoría de los ordenadores personales tienen una cantidad pequeña de ROM (algunos tantos miles de bytes). De hecho, ambos tipos de memoria (ROM y RAM) permiten el acceso al azar. Para ser exacto, por lo tanto, RAM se debe referir como RAM de lectura/escritura y ROM como RAM inalterable. RAM DINÁMICA Un tipo de memoria física usado en la mayoría de los ordenadores personales. El término dinámico indica que la memoria debe ser restaurado constantemente (reenergizada) o perderá su contenido. La RAM (memoria de acceso aleatorio) se refiere a veces como DRAM para distinguirla de la RAM estática (SRAM). La RAM estática es más rápida y menos volátil que la RAM dinámica, pero requiere más potencia y es más costosa. RAM ESTÁTICA Abreviatura para la memoria de acceso al azar estática. SRAM es un tipo de memoria que es más rápida y más confiable que la DRAM más común (RAM dinámica). El término se deriva del hecho de que no necesitan ser restaurados como RAM dinámica. Mientras que DRAM utiliza tiempos de acceso de cerca de 60 nanosegundos, SRAM puede dar los tiempos de acceso de hasta sólo 10 nanosegundos. Además, su duración de ciclo es mucho más corta que la de la DRAM porque no necesita detenerse brevemente entre los accesos. Desafortunadamente, es también mucho más costoso producir que DRAM. Debido a su alto costo, SRAM se utiliza a menudo solamente como memoria caché. MEMORIA ROM ROM, siglas para la memoria inalterable, memoria de computadora en la cual se han grabado de antemano los datos. Una vez que los datos se hayan escrito sobre un chip ROM, no pueden ser quitados y pueden ser leídos solamente. Distinto de la memoria principal (RAM), la ROM conserva su contenido incluso cuando el ordenador se apaga. ROM se refiere como siendo permanente, mientras que la RAM es volátil. La mayoría de los ordenadores personales contienen una cantidad pequeña de ROM que salve programas críticos tales como el programa que inicia el ordenador. Además, las ROM se utilizan extensivamente en calculadoras y dispositivos periféricostales como impresoras láser, cuyas fuentes se salvan a menudo en las ROM. Una variación de una ROM es un PROM (memoria inalterable programable). PROM son manufacturados como chips en blanco en los cuales los datos pueden ser escritos con dispositivo llamado programador de PROM. 44 LA UNIDAD DE MEMORIA Los registros de un computador digital pueden ser clasificados del tipo operacional o de almacenamiento. Un circuito operacional es capaz de acumular información binaria en sus flip-flops y además tiene compuertas combinacionales capaces de realizar tare as de procesamiento de datos. Un registro de almacenamiento se usa solamente para el almacenamiento temporal de la información binaria. Esta informaci6n no puede ser alterada cuando se transfiere hacia adentro y afuera del registro. Una unidad de memoria es una colección de registros de almacenamiento conjuntamente con los circuitos asociados necesarios par a transferir información hacia adentro y afuera de los registros. Los registros de almacenamiento en una unidad de memoria se llaman registros de memoria. La mayoría de los registros en un computador digital son registros de memoria, a los cuales se transfiere la informaci6n para almacenamiento y se encuentran pocos registros operacionales en la unidad procesadora. Cuando se lleva a cabo el procesamiento de datos, la información de los registros seleccionados en la unidad de memoria se transfiere primero a los registros operacionales en la unidad procesadora. Los resultados intermedios y finales que se obtienen en los registros operacionales se transfieren de nuevo a los registros de memoria seleccionados. De manera similar, la informaci6n binaria recibida de los elementos de entrada se almacena primero en los registros de memoria. La información transferida a los elementos de salida se toma de los registros en la unidad de memoria. El componente que forma las celdas binarias de los registros en una unidad de memoria debe tener ciertas propiedades básicas, de las cuales las más importantes son: (1) debe tener una propiedaddependiente de dos estados par a la representación binaria. (2) debe ser pequeño en tamaño. (3) el costo por bit de almacenamiento debe ser lo mas bajo posible. (4) el tiempo de acceso al registro de memoria debe ser razonablemente rápido. Ejemplos de componentes de unidad de memoria son los núcleos magnéticos los CI semiconductores y las superficies magnéticas de las cintas, tambores y discos. Una unidad de memoria almacena información binaria en grupos llamados palabras, cada palabra se almacena en un registro de memoria. Una palabra en la memoria es una entidad de n bits que se mueven hacia adentro y afuera del almacenamiento como una unidad. Una palabra de memoria puede representar un operando, una instrucción, o un grupo de caracteres alfanuméricos o cualquier información codificada binariamente. La comunicación entre una unidad de memoria y lo que la rodea se logra por medio de dos señales de control y dos registros externos. Las señales de control especifican la dirección de la trasferencia requerida, esto es, cuando una palabra debe ser acumulada en un registro de memoria o cuando una palabra almacenada previamente debe ser transferida hacia afuera del registro de memoria. Un registro externo especifica el registro de memoria particular escogido entre los miles disponibles; el otro especifica la configuración e bits particular de la palabra en cuestión. El registro de direcciones de memoria especifica la palabra de memoria seleccionada. A cada palabra en la memoria se le asigna un número de identificaci6n comenzando desde 0 hasta el número máximo de palabras disponible. Par a comunicarse con una palabra de memoria especifica, su número de localización o dirección se transfiere al registro de direcciones. Los circuitos internos de la unidad de memoria aceptan esta dirección del registro y abren los caminos necesarios par a seleccionar la palabra buscar. Un registro de dirección con n bits puede especificar hasta 2n palabras de memoria. 45 Las unidades de memoria del computador pueden tener un rango entre 1.024 palabras que necesitan un registro de direcciones de bits, hasta 1.048.576= 22" palabras que necesitan un registro de direcciones de 20 bits. Las dos señales de control aplicadas a la unidad de memoria se llaman lectura y escritura. Una señal de escritura especifica una función de transferencia entrante; una señal de lectura específica, una función de trasferencia saliente. Cada una es referenciada por la unidad de memoria. Después de aceptar una de las señales, los circuitos de control interno dentro de la unidad de memoria suministran la funci6n deseada. Cierto tipo de unidades de almacenamiento, debido a las características de sus componentes, destruyen la informaci6n almacenada en una celda cuando se lea el bit de ella. Este tipo de unidad se dice que es una memoria de lectura destructible en oposici6n a una memoria no destructible donde la informaci6n permanece en la celda después de haberse leído. En cada caso, la informaci6n primaria se destruye cuando se escribe la nueva informaci6n. La secuencia del control interno en una memoria de lectura destructible debe proveer señales de control que puedan causar que la palabra sea restaurada en sus celdas binarias si la aplicaci6n requiere de una funci6n no destructiva. La informaci6n transferida hacia adentro y afuera de los registros en la memoria y al ambiente externo, se comunica a través de un registro comúnmente llamado (buffer register) registro separador de memoria (otros nombres son registro de información y registro de almacenamiento). Cuando la unidad de memoria recibe una señal de control de escritura, el control interno interpreta el contenido del registro separador como la configuraci6n de bits de la palabra que se va a almacenar en un registro de memoria. Con una señal de control de lectura, el control interno envía la palabra del registro de memoria al registro separador. En cada caso el contenido del registro de direcciones especifica el registro de memoria particular referenciado para escritura o lectura. Por medio de un ejemplo se puede resumir las características de trasferencia de informaci6n de una unidad de memoria. Considérese una unidad de memoria de 1.024 palabras con 8 bits por palabra. Par a especificar 1.024 palabras, se necesita una direcci6n de 10 bits, ya que 21° = 1.024. Por tanto, el registro de direcciones debe contener diez flip-flops. El registro separador debe tener ocho flip-flops para almacenar los contenidos de las palabras transferidas hacia dentro y afuera de la memoria. La unidad de memoria tiene 1.024 registros con números asignados desde 0 hasta 1.023. La secuencia de operaciones necesarias par a comunicarse con la unidad de memoria par a prop6sitos de transferir una palabra hacia afuera dirigida al BR es: 1. Transferir los bits de direcci6n de la palabra seleccionada al AR. 2. Activar la entrada de control de lectura. La secuencia de operaciones necesarias par a almacenar una nueva palabra a la memoria es: 1. Transferir los bits de direcci6n de la palabra seleccionada al MAR. 2. Transferir los bits de datos de la palabra al MBR. 3. Activar la entrada de control de escritura. En algunos casos, se asume una unidad de memoria con la propiedad de lectura no destructiva. Tales memorias pueden ser construidas con CI semiconductores. Ellas retienen la informaci6n en el registro de memoria cuando el registro se catea durante el proceso de lectura de manera que no ocurre pérdida de informaci6n. Otro componente usado comúnmente en las unidades de memoria es el núcleo magnético. Un núcleo magnético tiene la característica de tener lecturas destructivas, es decir, pierde la informaci6n binaria almacenada durante el proceso de lectura. 46 Debido a la propiedad de lectura destructiva, una memoria de núcleos magnéticos debe tener funciones de control adicionales par a reponer la palabra al registro de memoria. Una señal de control de lectura aplicada a una memoria de núcleos magnéticos transfiere el contenido de la palabra direccionada a un registro externo y al mismo tiempo se borra el registro de memoria. La secuencia de control interno en una memoria de núcleos magnéticos suministra entonces señales apropiadas par a causar la recuperaci6n de la palabra en el registro de memoria. La trasferencia de informaci6n de una memoria de núcleos magnéticos durante una operación. Una operación de lectura destructiva transfiere la palabra seleccionada al MBR pero deja el registro de memoria con puros ceros. La operación de memoria normal requiere que el contenido de la palabra seleccionada permanezca en la memoria después de la operación de lectura. Por tanto, es necesario pasar por una operación de recuperación que escribe el valor del MBR en el registro de memoria seleccionada. Durante la operación de recuperaci6n, los contenidos del MAR y el MBR deben permanecer in variables. Una entrada de control de escritura aplicada a una memoria de núcleos magnéticos causa una trasferencia de información. Para transferir la nueva información a un registro seleccionado, se debe primero borrar la información anterior borrando todos los bits de la palabra a 0. Después de hacer lo anterior, el contenido del MBR se puede transferir a la palabra seleccionada. El MAR no debe cambiar durante la operación para asegurar que la misma palabra seleccionada que se ha borrado es aquella que recibe la nueva información. Una memoria de núcleo magnético requiere dos medios ciclos par a leer o escribir. El tiempo que se toma la memoria par a cubrir los dos medios ciclos se llama tiempo de un ciclo de memoria. El modo de acceso de un sistema de memoria se determina por el tipo de componentes usados. En una memoria de acceso aleatorio, se debe pensar que los registros están separados en el espacio, con cada registro ocupando un lugar espacial particular en una memoria de núcleos magnéticos. En una memoria de acceso secuencial, la informaci6n almacenada en algún medio no es accesible inmediatamente pero se obtiene solamente en ciertos intervalos de tiempo. Una unidad de cinta magnética es de este tipo. Cada lugar de la memoria pasa por las cabezas de lectura y escritura a la vez pero la información se lee solamente cuando se ha logrado la palabra solicitada. El tiempo de acceso de una memoria es el tiempo requerido par a seleccionar una palabra o en la lectura o en la escritura. En una memoria de acceso aleatorio, el tiempo de acceso es siempre el mismo a pesar del lugar en el espacio particular de la palabra. En una memoria secuencial, el tiempo de acceso depende de la posici6n de la palabra en el tiempo que se solicita. Si la palabra esta justamente emergiendo del almacenamiento en el tiempo que se solicita, el tiempo de acceso es justamente el tiempo necesario par a leerla o escribirla. Pero, si la palabra por alguna razón esta en la última posición, el tiempo de acceso incluye también el tiempo requerido para que todas las otras palabras se muevan pasando por los terminales. Así, el tiempo de acceso a una memoria secuencial es variable. Las unidades de memoria cuyos componentes pierden información almacenada con el tiempo o cuando se corta el suministro de energía, se dice que son volátiles. Una unidad de memoria de semiconductores es de esta categoría ya que sus celdas binarias necesitan potencia externa par a mantener las señales necesarias. En contraste, una unidad de memoria no volátil, tal como un núcleo magnético o un disco magnético, retiene la información almacenada una vez que se hay a cortado el suministro de energía. Esto es debido a que la información acumulada en los componentes magnéticos se manifiestan por la dirección de magnetización, la oval se retiene cuando se corta la energía. Una propiedad no volátil es deseable en los computadores digitales porque muchos programas útiles se dejan 47 permanentemente en la unidad de memoria. Cuando se corte el suministro de energía y luego se suministre, los programas almacenados previamente y otra información no se pierden pero continúan acumulados en la memoria. Métodos de direccionamiento Hemos visto que generalmente (aunque no necesariamente) una instrucción consta de una parte de operación y una de dirección. La parte de dirección puede contener la dirección de un operando utilizado en la ejecución de la instrucción. En otras ocasiones la parte dirección de la instrucción puede no contener la dirección donde se encuentra el operando, sino la dirección donde se encuentra la dirección del operando. En el primer caso la dirección se describe como la dirección directa; en el segundo caso es una operación indirecta. En las computadoras, minicomputadoras y microcomputadoras se emplea una amplia gama de modos de direccionamiento de los que consideraremos algunos en esta sección. DIRECTO. En el direccionamiento directo, como ya señalamos, la instrucción contiene la dirección de la posición de memoria donde se encuentra el operando. INDIRECTO. En el direccionamiento indirecto, señalamos de nuevo, la dirección contiene no la dirección donde se encuentra el operando, sino la dirección donde se encuentra la dirección del operando. RELATIVO. En el direccionamiento relativo la parte dirección de la instrucción contiene el número N. En memoria la dirección del operando se encuentra sumando el numero N al número del contador del programa. INDEXADO. En el direccionamiento indexado como en el relativo, la parte dirección de la instrucción contiene un numero N que puede ser positivo o negativo. Sin embargo para utilizar el direccionamiento indexado, el computador debe estar equipado con un registro especial empleado para permitir direccionamiento indexado, y denominado naturalmente registro índice. La posición de memoria donde se localiza el operando se encuentra mediante la suma I + N. REGISTRO INDIRECTO. Algunos computadores que incorporan la facultad del direccionamiento de registro indirecto tienen un registro especial, a menudo llamado registro (P). Este registro contiene la dirección de memoria del operando. Una instrucción que invoque realmente direccionamiento de registro indirecto no tiene bits significativos en su parte dirección. En lugar de ello, la instrucción completa se incluye en los bits asignados a la parte de operación de la instrucción. Una instrucción típica que use un registro de direccionamiento indirecto debería especificar "cargar" el acumulador con el operando localizado en la dirección de memoria dada en el registro (p). INMEDIATO. EN el direccionamiento inmediato, la parte de dirección de la instrucción contiene no la dirección del operando sino el mismo operando. INHERENTE. Ordinariamente una dirección que es parte de una instrucción se refiere a una posición de memoria. Cuando una instrucción indica una fuente o un destino de datos y no se direcciona específicamente, ya no se hace referencia a la posición de memoria, se dice que la instrucción tiene una dirección inherente. Autor: Carlos Eduardo Barradas - Joel Balboa Martinez - Unidad Central de Proceso y sus componentes (conocida por sus siglas en inglés, CPU), circuito microscópico que interpreta y ejecuta instrucciones. La CPU se ocupa del control y el proceso de datos en las computadoras. Generalmente, la CPU es un microprocesador fabricado en un chip, un único trozo de silicio que contiene millones de componentes electrónicos. El microprocesador de la CPU está formado por una unidad aritmético-lógica que realiza cálculos y comparaciones, y toma decisiones lógicas (determina si una afirmación es cierta o falsa mediante las reglas del álgebra de Boole); por una 48 serie de registros donde se almacena información temporalmente, y por una unidad de control que interpreta y ejecuta las instrucciones. Para aceptar órdenes del usuario, acceder a los datos y presentar los resultados, la CPU se comunica a través de un conjunto de circuitos o conexiones llamado bus. El bus conecta la CPU a los dispositivos de almacenamiento (por ejemplo, un disco duro), los dispositivos de entrada (por ejemplo, un teclado o un mouse) y los dispositivos de salida (por ejemplo, un monitor o una impresora). Funcionamiento de la CPU Cuando se ejecuta un programa, el registro de la CPU, llamado contador de programa, lleva cuenta de la siguiente instrucción, para garantizar que las instrucciones se ejecuten en secuencia adecuada. La unidad de control de la CPU coordina y temporiza las funciones de CPU, tras lo cual recupera la siguiente instrucción desde la memoria. En una secuencia típica, CPU localiza la instrucción en el dispositivo de almacenamiento correspondiente. la la la la La instrucción viaja por el bus desde la memoria hasta la CPU, donde se almacena en el registro de instrucción. Entretanto, el contador de programa se incrementa en uno para prepararse para la siguiente instrucción. A continuación, la instrucción actual es analizada por un descodificador, que determina lo que hará la instrucción. Cualquier dato requerido por la instrucción es recuperado desde el dispositivo de almacenamiento correspondiente y se almacena en el registro de datos de la CPU. A continuación, la CPU ejecuta la instrucción, y los resultados se almacenan en otro registro o se copian en una direcciónde memoria determinada. - Sistema Binario Un número binario puede ser representado por cualquier secuencia de bits (dígitos binarios), que suelen representar cualquier mecanismo capaz de estar en dos estados mutuamente excluyentes. Las siguientes secuencias de símbolos podrían ser interpretadas como el mismo valor numérico binario: 1010011010 |-|--||-|xoxooxxoxo ynynnyynyn El valor numérico representado en cada caso depende del valor asignado a cada símbolo. En una computadora, los valores numéricos pueden representar dos voltajes diferentes; también pueden indicar polaridades magnéticas sobre un disco magnético. Un "positivo", "sí", o "sobre el estado" no es necesariamente el equivalente al valor numérico de uno; esto depende de la nomenclatura usada. Conversión entre binario y decimal [editar] Decimal a binario [editar]Se divide el número del sistema decimal entre 2, cuyo resultado entero se vuelve a dividir entre 2, y así sucesivamente. Ordenados los restos, del último al primero, éste será el número binario que buscamos. Ejemplo Transformar el número decimal 131 en binario. El método es muy simple: 131 dividido entre 2 da 65 y el resto es igual a 1 65 dividido entre 2 da 32 y el resto es igual a 1 32 dividido entre 2 da 16 y el resto es igual a 0 16 dividido entre 2 da 8 y el resto es igual a 0 8 dividido entre 2 da 4 y el resto es igual a 0 4 dividido entre 2 da 2 y el resto es igual a 0 2 dividido entre 2 da 1 y el resto es igual a 0 49 1 dividido entre 2 da 0 y el resto es igual a 1 -> Ordenamos los restos, del último al primero: 10000011 en sistema binario, 131 se escribe 10000011 Ejemplo Transformar el número decimal 100 en binario. Otra forma de conversión consiste en un método parecido a la factorización en números primos. Es relativamente fácil dividir cualquier número entre 2. Este método consiste también en divisiones sucesivas. Dependiendo de si el número es par o impar, colocaremos un cero o un uno en la columna de la derecha. Si es impar, le restaremos uno y seguiremos dividiendo entre dos, hasta llegar a 1. Después sólo nos queda tomar el último resultado de la columna izquierda (que siempre será 1) y todos los de la columna de la derecha y ordenar los dígitos de abajo a arriba. Ejemplo 100|0 50|0 25|1 --> 1, 25-1=24 y seguimos dividiendo por 2 12|0 6|0 3|1 1|1 --> (100)10 = (1100100)2 Existe un último método denominado de distribución. Consiste en distribuir los unos necesarios entre las potencias sucesivas de 2 de modo que su suma resulte ser el número decimal a convertir. Sea por ejemplo el número 151, para el que se necesitarán las 8 primeras potencias de 2, ya que la siguiente, 28=256, es superior al número a convertir. Se comienza poniendo un 1 en 128, por lo que aún faltarán 23, 151 - 128 = 23, para llegar al 151. Este valor se conseguirá distribuyendo unos entre las potencias cuya suma dé el resultado buscado y poniendo ceros en el resto. En el ejemplo resultan ser las potencias 4, 2, 1 y 0, esto es, 16, 4, 2 y 1, respectivamente. Ejemplo 20= 1|1 21= 2|1 22= 4|1 23= 8|0 24= 16|1 25= 32|0 26= 64|0 27= 128|1 128 + 16 + 4 + 2 + 1 = (151)10 = (10010111)2 Decimal (con decimales) a binario [editar]Para transformar un número del sistema decimal al sistema binario: Se inicia por el lado izquierdo, multiplicando cada número por 2 (si la parte entera es mayor que 0 en binario será 1, y en caso contrario es 0). En caso de ser 1, en la siguiente multiplicación se utilizan sólo los decimales. Después de realizar cada multiplicación, se colocan los números obtenidos en el orden de su obtención. Algunos números se transforman en dígitos periódicos, por ejemplo: el 0,1. Ejemplo 0,3125 (decimal) => 0,0101 (binario). Proceso: 0,3125 x 2 = 0,625 => 0 0,625 x 2 = 1,25 => 1 0,25 x 2 = 0,5 => 0 0,5 x 2 = 1 => 1 50 En orden: 0101 -> 0,0101 (binario) 0,1 x 2 = 0,2 ==> 0 0,2 x 2 = 0,4 ==> 0 0,4 x 2 = 0,8 ==> 0 0,8 x 2 = 1,6 ==> 1 0,6 x 2 = 1,2 ==> 1 0,2 x 2 = 0,4 ==> 0 <--se repiten las cuatro cifras, periódicamente 0,4 x 2 = 0,8 ==> 0 <0,8 x 2 = 1,6 ==> 1 <0,6 x 2 = 1,2 ==> 1 <- ... En orden: 0 0011 0011 ... - Categoría de los lenguajes Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana. Está formado de un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación. También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos: El desarrollo lógico del programa para resolver un problema en particular. Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa) Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina. Prueba y depuración del programa. Desarrollo de la documentación. Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo el HTML. (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación sino un conjunto de instrucciones que permiten diseñar el contenido y el texto de los documentos) Permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo deben ser almacenados o 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 usar un conjunto común de instrucciones que sean comprendidas entre ellos para realizar la construcción del programa de forma colaborativa. Historia [editar] Código Fortran en una tarjeta perforada, mostrando el uso especializado de las columnas 1-5, 6 y 73-80.Para que la computadora entienda nuestras instrucciones debe usarse un lenguaje específico conocido como código máquina, el cual la máquina comprende fácilmente, pero que lo hace excesivamente complicado para las personas. De hecho sólo consiste en cadenas extensas de números 0 y 1. 51 Para facilitar el trabajo, los primeros operadores de computadoras decidieron hacer un traductor para reemplazar los 1 y 0 por palabras o abstracción de palabras y letras provenientes del inglés; éste se conoce como lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra inglesa add (sumar). En realidad escribir en lenguaje ensamblador es básicamente sigue la misma estructura del en lenguaje máquina, pero las letras y palabras son más fáciles de recordar y entender que los números. 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, denominados también lenguajes de alto nivel. La primera programadora de computadora conocida fue Ada Lovelace, hija de Anabella Milbanke Byron y Lord Byron. Anabella introdujo en las matemáticas a Ada quien, después de conocer a Charles Babbage, tradujo y amplió una descripción de su máquina analítica. Incluso aunque Babbage nunca completó la construcción de cualquiera de sus máquinas, el trabajo que Ada realizó con éstas le hizo ganarse el título de primera programadora de computadoras del mundo. El nombre del lenguaje de programación Ada fue escogido como homenaje a esta programadora. A finales de 1953, John W. Backus sometió una propuesta a sus superiores en IBM para desarrollar una alternativa más práctica al lenguaje ensamblador para programar el computador central IBM 704. El histórico equipo Fortran de Backus consistió en los programadores Richard Goldberg, Sheldon F. Best, Harlan Herrick, Peter Sheridan, Roy Nutt, Robert Nelson, Irving Ziller, Lois Haibt y David Sayre.[2] El primer manual para el lenguaje Fortran apareció en octubre de 1956, con el primer compilador Fortran entregado en abril de 1957. Esto era un compilador optimizado, porque los clientes eran reacios a usar un lenguaje de alto nivel a menos que su compilador pudiera generar código cuyo desempeño fuera comparable al de un código hecho a mano en lenguaje ensamblador. En 1960, se creó COBOL, uno de los lenguajes usados aun en 2010 en informática de gestión. A medida que la complejidad de las tareas que realizaban las computadoras aumentaba, se hizo necesario disponer de un método más eficiente para programarlas. Entonces, se crearon los lenguajes de alto nivel, como lo fue el BASIC en las versiones introducidas en los microordenadores de la década de 1980. Mientras que una tarea tan sencilla como sumar dos números puede necesitar varias instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastará con solo una. Implementación Código fuente de un programa escrito en el lenguaje de programación JavaLa implementación de un lenguaje es la que provee una manera de que se ejecute un programa para una determinada combinación de software y hardware. Existen básicamente dos maneras de implementar un lenguaje: Compilación e interpretación. Compilación es la traducción a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. É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 puede también utilizar una alternativa para traducir lenguajes de alto nivel. En lugar 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 la computadora junto con los datos que se van a procesar. A continuación, un programa 52 intérprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el procesamiento de los datos. El código objeto no se graba para utilizarlo posteriormente. La siguiente vez que se utilice una instrucción, se la deberá 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 bucle tendrá que volver a ser interpretada en cada ejecución repetida del 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 del código. La mayoría de lenguajes de altonivel, permiten la programación multipropósito, sin embargo, muchos de ellos fueron diseñados para permitir programación dedicada, como lo fue PASCAL con las matemáticas en su comienzo. También, se han implementado lenguajes educativos infantiles como LOGO que mediante una serie de simples instrucciones, permitía mover una tortuga entre otras cosas. En el ámbito de infraestructura de internet, cabe destacar a Perl con un poderoso sistema de procesamiento de texto y una enorme colección de módulos. Técnica Llibros sobre diversos lenguajes de programación.Para escribir programas que proporcionen los mejores resultados, cabe tener en cuenta una serie de detalles. Corrección. Un programa es correcto si hace lo que debe hacer tal y como se estableció en las fases previas a su desarrollo. Para determinar si un programa hace lo que debe, es muy importante especificar claramente qué debe hacer el programa antes de desarrollarlo y, una vez acabado, compararlo con lo que realmente hace. Claridad. Es muy importante que el programa sea lo más claro y legible posible, para facilitar así su desarrollo y posterior mantenimiento. Al elaborar un programa se debe intentar que su estructura sea sencilla y coherente, así como cuidar el estilo en la edición; de esta forma se ve facilitado el trabajo del programador, tanto en la fase de creación como en las fases posteriores de corrección de errores, ampliaciones, modificaciones, etc. Fases que pueden ser realizadas incluso por otro programador, con lo cual la claridad es aún más necesaria para que otros programadores puedan continuar el trabajo fácilmente. Algunos programadores llegan incluso a utilizar Arte ASCII para delimitar secciones de código. Otros, por diversión o para impedir un análisis cómodo a otros programadores, recurren al uso de código ofuscado. Eficiencia. Se trata de que el programa, además de realizar aquello para lo que fue creado (es decir, que sea correcto), lo haga gestionando de la mejor forma posible los recursos que utiliza. Normalmente, al hablar de eficiencia de un programa, se suele hacer referencia al tiempo que tarda en realizar la tarea para la que ha sido creado y a la cantidad de memoria que necesita, pero hay otros recursos que también pueden ser de consideración al obtener la eficiencia de un programa, dependiendo de su naturaleza (espacio en disco que utiliza, tráfico de red que genera, etc.). Portabilidad. Un programa es portable cuando tiene la capacidad de poder ejecutarse en una plataforma, ya sea hardware o software, diferente a aquélla en la que se elaboró. La portabilidad es una característica muy deseable para un programa, ya que permite, por ejemplo, a un programa que se ha desarrollado para sistemas GNU/Linux ejecutarse también en la familia de sistemas operativos Windows. Esto permite que el programa pueda llegar a más usuarios más fácilmente. Paradigmas [editar]Los programas se pueden clasificar por el paradigma del lenguaje que se use para producirlos. Los principales paradigmas son imperativos y declarativos. 53 Los programas que usan un lenguaje imperativo especifican un algoritmo, usan declaraciones, expresiones y sentencias.[3] Una declaración asocia un nombre de variable con un tipo de dato, por ejemplo: var x: integer; . Una expresión contiene un valor, por ejemplo: 2 + 2 contiene el valor 4. Finalmente, una sentencia debe asignar una expresión a una variable o usar el valor de una variable para alterar el flujo de un programa. Por ejemplo: x := 2 + 2; if x == 4 then haz_algo();. Una crítica común en los lenguajes imperativos es el efecto de las sentencias de asignación sobre una clase de variables llamadas "no locales".[4] Los programas que usan un lenguaje declarativo especifican las propiedades que la salida debe conocer y no especifica cualquier detalle de implementación. Dos amplias categorías de lenguajes declarativos son los lenguajes funcionales y los lenguajes lógicos. Los lenguajes funcionales (como Haskell) no permiten asignaciones de variables no locales, así, se hacen más fácil, por ejemplo, programas como funciones matemáticas.[4] El principio detrás de los lenguajes lógicos (como Prolog) es definir el problema que se quiere resolver (el objetivo) y dejar los detalles de la solución a el sistema de Prolog.[5] El objetivo es definido dando una lista de sub-objetivos. Cada subobjetivo también se define dando una lista de sus sub-objetivos, etcétera. Si al tratar de buscar una solución, una ruta de sub-objetivos falla, entonces tal sub-objetivo se descarta y sistemáticamente se prueba otra ruta. La forma en la cual es programa se crea puede ser por medio de texto o de forma visual. En un lenguaje de programación visual, los elementos son manipulados gráficamente en vez de especificarse por medio de texto. - Evolución del Software El Software representa la vida interna de un computador, el manejo y aprovechamiento del mismo y todas las ventajas que se brindan el mundo de las computadoras, depende del software, facilitando a los usuarios el desarrollo de programasque contribuyen con tareas diarias tanto personales como generales, empresariales y organizacionales el software en sus diferentes tipos es el elemento esencial como interfaz entre usuario - computador, su historia desde un principio se muestra con poca atención pero con el paso del tiempo se ha tornado importante para los programadores y creadores de sistemas tanto de aplicación como operativos, todo lo que se ve digitalizado en un computador representa el software clasificado de alguna forma, las herramientas del menú inicio y todas aquellas que se despliegan al encendido del CPU, el desarrollo de esta herramienta ha permitido innovar en cuanto a la robótica he inteligencia artificial facilitando el trabajoen determinadas áreas laborales y agilizando las mismas por ejemplo en la fabricación de vehículos mediante software de programación se diseñan estructuras robóticas inmensas y fuertes que realizan tareas que al brazo humano le tomarían mas tiempo. Reseña Histórica del Software En 1990 La crisis del software se fundamentó en el tiempo de creación de software, ya que en la creación del mismo no se obtenían los resultados deseados, además de un gran costo y poca flexibilidad. Es un término informático acuñado en 1968, en la primera conferencia organizada por la OTAN sobre desarrollo de software, de la cual nació formalmente la rama de la ingeniería de software. El término se adjudica a F. L. Bauer, aunque previamente había sido utilizado por Edsger Dijkstra en su obra The Humble Programmer. Básicamente, la crisis del software se refiere a la dificultad en escribir programas libres de defectos, fácilmente comprensibles, y que sean verificables. Las causas son, entre otras, la complejidad que supone la tarea de programar, y los cambios a los que se tiene que ver sometido un programa para ser continuamente adaptado a las necesidades de los usuarios. 54 Además, no existen todavía herramientas que permitan estimar de una manera exacta, antes de comenzar el proyecto, cuál es el esfuerzo que se necesitará para desarrollar un programa. Este hecho provoca que la mayoría de las veces no sea posible estimar cuánto tiempo llevará un proyecto, ni cuánto personalserá necesario. Cuando se fijan plazos normalmente no se cumplen por este hecho. Del mismo modo, en muchas ocasiones el personal asignado a un proyecto se incrementa con la esperanza de disminuir el plazo de ejecución. Por último, las aplicaciones de hoy en día son programas muy complejos, inabordables por una sola persona. En sus comienzos se valoró como causa también la inmadurez de la ingeniería de software, aunque todavía hoy en día no es posible realizar estimaciones precisas del coste y tiempo que necesitará un proyecto de software. Englobó a una serie de sucesos que se venían observando en los proyectos de desarrollo de software: Los proyectos no terminaban en plazo. Los proyectos no se ajustaban al presupuesto inicial. Baja calidad del software generado. Software que no cumplía las especificaciones. Código inmantenible que dificultaba la gestión y evolución del proyecto. Aunque se han propuesto diversas metodologías para intentar subsanar los problemas mencionados, lo cierto es que todavía hoy no existe ningún método que haya permitido estimar de manera fiable el coste y duración de un proyecto antes de sus comienzos. En 1984 Richard Stallman deja el MIT y comienza a trabajar en su proyecto GNU, con el objetivo de desarrollar un sistema operativo completamente libre, desde el kernel, editores, compiladores, debuggers, hasta utilitarios más complejos como procesadores de texto e inclusive juegos. Uno de los primeros desarrollos realizados por el mismo Stallman fue el editor de textos GNU Emacs a principiosde 1985. Ese mismo año se funda la Free Software Fundation, ente que financia desde entonces al proyecto GNU, la misma se mantiene con donaciones y con el producto de la venta de CD-ROMs tanto de programas binarios como códigofuente, manualesy distribuciones completas (conjunto de software para una dada plataforma de hardware). - Sistemas operativos Un Sistema Operativo (SO) es el software básico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos hardware y el usuario. Las funciones básicas del Sistema Operativo son administrar los recursos de la máquina, coordinar el hardware y organizar archivos y directorios en dispositivos de almacenamiento. Los Sistemas Operativos más utilizados son Dos, Windows, Linux y Mac. Algunos SO ya vienen con un navegador integrado, como Windows que trae el navegador Internet Explorer. El sistema operativo es el programa (o software) más importante de un ordenador. Para que funcionen los otros programas, cada ordenador de uso general debe tener un sistema operativo. Los sistemas operativos realizan tareas básicas, tales como reconocimiento de la conexión del teclado, enviar la información a la pantalla, no perder de vista archivos y directorios en el disco, y controlar los dispositivos periféricos tales como impresoras, escáner, etc. 55 En sistemas grandes, el sistema operativo tiene incluso mayor responsabilidad y poder, es como un policía de tráfico, se asegura de que los programas y usuarios que están funcionando al mismo tiempo no interfieran entre ellos. El sistema operativo también es responsable de la seguridad, asegurándose de que los usuarios no autorizados no tengan acceso al sistema. Clasificación de los Sistemas Operativos Los sistemas operativos pueden ser clasificados de la siguiente forma: Multiusuario: Permite que dos o más usuarios utilicen sus programas al mismo tiempo. Algunos sistemas operativos permiten a centenares o millares de usuarios al mismo tiempo. Multiprocesador: soporta el abrir un mismo programa en más de una CPU. Multitarea: Permite que varios programas se ejecuten al mismo tiempo. Multitramo: Permite que diversas partes de un solo programa funcionen al mismo tiempo. Tiempo Real: Responde a las entradas inmediatamente. Los sistemas operativos como DOS y UNIX, no funcionan en tiempo real. Cómo funciona un Sistema Operativo Los sistemas operativos proporcionan una plataforma de software encima de la cual otros programas, llamados aplicaciones, puedan funcionar. Las aplicaciones se programan para que funcionen encima de un sistema operativo particular, por tanto, la elección del sistema operativo determina en gran medida las aplicaciones que puedes utilizar. Los sistemas operativos más utilizados en los PC son DOS, OS/2, y Windows, pero hay otros que también se utilizan, como por ejemplo Linux. Cómo se utiliza un Sistema Operativo Un usuario normalmente interactúa con el sistema operativo a través de un sistema de comandos, por ejemplo, el sistema operativo DOS contiene comandos como copiar y pegar para copiar y pegar archivos respectivamente. Los comandos son aceptados y ejecutados por una parte del sistema operativo llamada procesador de comandos o intérprete de la línea de comandos. Las interfaces gráficas permiten que utilices los comandos señalando y pinchando en objetos que aparecen en la pantalla. Ejemplos de Sistema Operativo A continuación detallamos algunos ejemplos de sistemas operativos: Familia Windows Windows 95 Windows 98 Windows ME Windows NT Windows 2000 Windows 2000 server Windows XP Windows Server 2003 Windows CE Windows Mobile Windows XP 64 bits Windows Vista (Longhorn) Familia Macintosh Mac OS 7 Mac OS 8 Mac OS 9 Mac OS X Familia UNIX AIX 56 AMIX GNU/Linux GNU / Hurd HP-UX Irix Minix System V Solaris UnixWare - Compiladores 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. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser simplemente texto. Este proceso de traducción se conoce como compilación.[1] Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina). De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a como piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora. La construcción de un compilador involucra la división del proceso en una serie de fases que variará con su complejidad. Generalmente estas fases se agrupan en dos tareas: el análisis del programa fuente y la síntesis del programa objeto. Análisis: Se trata de la comprobación de la corrección del programa fuente, e incluye las fases correspondientes al Análisis Léxico (que consiste en la descomposición del programa fuente en componentes léxicos), Análisis Sintáctico (agrupación de los componentes léxicos en frases gramaticales ) y Análisis Semántico (comprobación de la validez semántica de las sentencias aceptadas en la fase de Análisis Sintáctico). Síntesis: Su objetivo es la generación de la salida expresada en el lenguaje objeto y suele estar formado por una o varias combinaciones de fases de Generación de Código (normalmente se trata de código intermedio o de código objeto) y de Optimización de Código (en las que se busca obtener un código lo más eficiente posible). Alternativamente, las fases descritas para las tareas de análisis y síntesis se pueden agrupar en Front-end y Back-end: Front-end: es la parte que analiza el código fuente, comprueba su validez, genera el árbol de derivación y rellena los valores de la tabla de símbolos. Esta parte suele ser independiente de la plataforma o sistema para el cual se vaya a compilar, y está compuesta por las fases comprendidas entre el Análisis Léxico y la Generación de Código Intermedio. Back-end: es la parte que genera el código máquina, específico de una plataforma, a partir de los resultados de la fase de análisis, realizada por el Front End. Esta división permite que el mismo Back End se utilice para generar el código máquina de varios lenguajes de programación distintos y que el mismo Front End que sirve para analizar el código fuente de un lenguaje de programación concreto sirva para generar código máquina en varias plataformas distintas. Suele incluir la generación y optimización del código dependiente de la máquina. El código que genera el Back End normalmente no se puede ejecutar directamente, sino que necesita ser enlazado por un programa enlazador (linker) 57 - Lenguajes de programación Los primeros lenguajes de programación surgieron de la idea de Charles Babagge, la cual se le ocurrió a este hombre a mediados del siglo XIX. Era un profesor matemático de la universidad de Cambridge e inventor ingles, que la principio del siglo XIX predijo muchas de las teorías en que se basan los actuales ordenadores. Consistía en lo que él denominaba la maquina analítica, pero que por motivos técnicos no pudo construirse hasta mediados del siglo XX. Con él colaboro Ada Lovedby, la cual es considerada como la primera programadora de la historia, pues realizo programas para aquélla supuesta maquina de Babagge, en tarjetas perforadas. Como la maquina no llego nunca a construirse, los programas de Ada, lógicamente, tampoco llegaron a ejecutarse, pero si suponen un punto de partida de la programación, sobre todo si observamos que en cuanto se empezó a programar, los programadores utilizaron las técnicas diseñadas por Charles Babagge, y Ada, que consistían entre otras, en la programación mediante tarjetas perforadas. A pesar de ello, Ada ha permanecido como la primera programadora de la historia. Se dice por tanto que estos dos genios de antaño, se adelantaron un siglo a su época, lo cual describe la inteligencia de la que se hallaban dotados. En 1823 el gobierno Británico lo apoyo para crear el proyecto de una máquina de diferencias, un dispositivo mecánico para efectuar sumas repetidas. Pero Babagge se dedico al proyecto de la máquina analítica, abandonando la maquina de diferencias, que se pudiera programar con tarjetas perforadas, gracias a la creación de Charles Jacquard (francés). Este hombre era un fabricante de tejidos y había creado un telar que podía reproducir automáticamente patrones de tejidos, leyendo la información codificada en patrones de agujeros perforados en tarjetas de papel rígido. Entonces Babagge intento crear la máquina que se pudiera programar con tarjetas perforadas para efectuar cualquier cálculo con una precisión de 20 dígitos. Pero la tecnología de la época no bastaba para hacer realidad sus ideas. Si bien las ideas de Babagge no llegaron a materializarse de forma definitiva, su contribución es decisiva, ya que los ordenadores actuales responden a un esquema análogo al de la máquina analítica. En su diseño, la máquina constaba de cinco unidades básicas: 1) Unidad de entrada, para introducir datos e instrucciones; 2) Memoria, donde se almacenaban datos y resultados intermedios; 3) Unidad de control, para regular la secuencia de ejecución de las operaciones; 4) Unidad Aritmético-Lógica, que efectúa las operaciones; 5) Unidad de salida, encargada de comunicar al exterior los resultados. Charles Babbage, conocido como el "padre de la informática" no pudo completar en aquella época la construcción del computador que había soñado, dado que faltaba algo fundamental: la electrónica. El camino señalado de Babbage, no fue nunca abandonado y siguiéndolo, se construyeron las primeras computadoras. LENGUAJES DE MÁQUINA El lenguaje máquina de una computadora consta de cadenas de números binarios (ceros y unos) y es el único que "entienden" directamente los procesadores. Todas las instrucciones preparadas en cualquier lenguaje de máquina tienen por lo menos dos partes. La primera es el comando u operación, que dice a la computadora cuál es la función que va a realizar. Todas las computadoras tienen un código de operación para cada una de sus funciones. La segunda parte de la instrucción es el operando, que indicaa la computadora dónde hallar o almacenar los datosy otras instrucciones que se van a manipular; el número de operandos de una instrucción varía en las distintas computadoras. En una computadora de operando único, el equivalente binario de "SUMAR 0814" podría hacer que se sume el valor que se encuentra en la localidad de almacenamiento o dirección 0814 al valor que se encuentra en la unidad aritmética lógica. En una máquina de dos operandos, la representación binaria de "SUMAR 0814 8672" podría hacer que se sume el valor que está en la localidad 8672 al valor que está en la dirección 0814. El formato de operando único es popular en las microcomputadoras más pequeñas; la estructura de dos operandos se encuentra en casi todas las demás máquinas. 58 Según los estándares actuales, las primeras computadoras eran poco tolerantes. Los programadores tenían que traducir las instrucciones de manera directa a la forma de lenguaje de máquina que comprendían las computadoras. Por ejemplo, un programador que escribiera la instrucción "SUMAR 0814" para una de las primeras máquinas IBM hubiera escrito: 000100000000000000000000000010111000 Además de recordar las docenas de códigos numéricos para los comandosdel conjunto de instrucciones de la máquina, el programador tenía que conocer las posiciones donde se almacenan los datos y las instrucciones. La codificación inicial muchas veces requería meses, por lo que era costosa y era frecuente que originara errores. Revisar las instrucciones para localizar errores era casi tan tedioso como escribirlas por primera vez. Además, si era necesario modificar un programa posteriormente, la tarea podía llevarse meses. 1.3. LENGUAJES ENSAMBLADORES A principios de la década de 1950, y con el fin de facilitar la labor de los programadores, se desarrollaron códigos nemotécnicos para las operaciones y direcciones simbólicas. La palabra nemotécnico se refiere a una ayuda para la memorización. Uno de los primeros pasos para mejorar el proceso de preparación de programas fue sustituir los códigos de operaciones numéricos del lenguaje de máquina por símbolos alfabéticos, que son los códigos nemotécnicos. Todas las computadoras actuales tienen códigos nemotécnicos aunque, naturalmente, los símbolos que se usan varían en las diferentes marcas y modelos. La computadora sigue utilizando el lenguaje de máquina para procesar los datos, pero los programas ensambladores traducen antes los símbolos de código de operación especificados a sus equivalentes en lenguaje de máquina. Este procedimientopreparó avances posteriores. Si la computadora era capaz de traducir símbolos convenientes en operaciones básicas, ¿por qué no hacer también que realizara otras funciones rutinarias de codificación, como la asignación de direcciones de almacenamiento a los datos? La técnica de direccionamiento simbólico permite expresar una dirección no en términos de su localización numérica absoluta, sino en términos de símbolos convenientes para el programador. Durante las primeras etapas del direccionamiento simbólico, el programador asigna un nombre simbólico y una dirección real a un dato. Por ejemplo, el programador podría asignar el valor total de mercancía adquirida durante un mes por un cliente de una tienda de departamentos a la dirección 0063, y darle el nombre simbólico TOTAL. Se podría asignar el valor de la mercancía devuelta sin usar durante el mes a la dirección 2047 y dársele el nombre simbólico CRÉDITO. Así, durante el resto del programa, el programador se referirá a los nombres simbólicos, más que a las direcciones, cuando fuera preciso procesar estos datos. Por ejemplo, se podría escribir la instrucción "S CRÉDITO TOTAL" para restar el valor de las mercancías devueltas del importa total de compras para obtener el importe de la factura mensual del cliente. A continuación, el programa ensamblador traduciría la instrucción simbólica a esta cadena de bits: Más adelante se hizo otra mejora. Se dejó a la computadora la tarea de asignar y recordar las direcciones de las instrucciones. Lo único que tenía que hacer el programador era indicar a la computadora la dirección de la primera instrucción, y el programa ensamblador se encargaba de almacenar, de manera automática, todas las demás en forma secuencial a partir de ese punto. Así, si se agregaba más tarde otra instrucción al programa, no era necesario modificar las direcciones de todas las instrucciones que seguían al punto de inserción (como tendría que hacerse en el caso de programas escritos en lenguaje de máquina). En vez de ello, el procesador ajustaba automáticamente las localidades de memoria la próxima vez que se ejecutaba el programa. 59 En la actualidad, los programadores no asignan números de dirección reales a los datos simbólicos, simplemente especifican dónde quieren que se coloque la primera localidad del programa, y el programa ensamblador se encarga de lo demás: asigna localidades tanto para las instrucciones como para los datos. Estos programas de ensamble, o ensamblador, también permite a la computadora convertir las instrucciones en lenguaje ensamblador del programador en su propio código de máquina. Un programa de instrucciones escrito en lenguaje ensamblador por un programador se llama programa fuente. Después de que el ensamblador convierte el programa fuente en código de máquina a éste se le denomina programa objeto. Para los programadores es más fácil escribir instrucciones en un lenguaje ensamblador que en códigos de lenguajes de máquina, pero es posible que se requieran dos corridas de computadora antes de que se puedan utilizar las instrucciones del programa fuente para producir las salidas deseadas. Los lenguajes ensambladores tienen ventajas sobre los lenguajes de máquina. Ahorran tiempo y requieren menos atención a detalles. Se incurren en menos errores y los que se cometen son más fáciles de localizar. Además, los programas en lenguaje ensamblador son más fáciles de modificar que los programas en lenguaje de máquina. Pero existen limitaciones. La codificación en lenguaje ensamblador es todavía un proceso lento. Una desventaja importante de estos lenguajes es que tienen una orientación a la máquina. Es decir, están diseñados para la marca y modeloespecífico de procesador que se utiliza, y es probable que, para una máquina diferente, se tengan que volver a codificar los programas. 1.4. LENGUAJES DE ALTO NIVEL Los primeros programas ensambladores producían sólo una instrucción en lenguaje de máquina por cada instrucción del programa fuente. Para agilizar la codificación, se desarrollaron programas ensambladores que podían producir una cantidad variable de instrucciones en lenguaje de máquina por cada instrucción del programa fuente. Dicho de otra manera, una sola macroinstrucción podía producir varias líneas de código en lenguaje de máquina. Por ejemplo, el programador podría escribir "LEER ARCHIVO", y el programa traductor produciría una serie detallada de instrucciones al lenguaje de máquina previamente preparadas, con lo que se copiaría un registro del archivo que estuviera leyendo el dispositivo de entrada a la memoria principal. Así, el programador no se tenía que ocupar de escribir una instrucción por cada operación de máquina realizada. El desarrollo de las técnicas nemotécnicas y las macroinstrucciones condujo, a su vez, al desarrollo de lenguajes de alto nivel que a menudo están orientados hacia una clase determinada de problemas de proceso. Por ejemplo, se han diseñado varios lenguajes para procesar problemas científico-matemático, asimismo han aparecido otros lenguajes que hacen hincapié en las aplicaciones de proceso de archivos. A diferencia de los programas de ensamble, los programas en lenguaje de alto nivel se pueden utilizar con diferentes marcas de computadores sin tener que hacer modificaciones considerables. Esto permite reducir sustancialmente el costode la reprogramación cuando se adquiere equipo nuevo. Otras ventajas de los lenguajes de alto nivel son: Son más fáciles de aprender que los lenguajes ensambladores. Se pueden escribir más rápidamente. Permiten tener mejor documentación. 60 Son más fáciles de mantener. Un programador que sepa escribir programas en uno de estos lenguajes no está limitado a utilizar un solo tipo de máquina. - Evolución Lenguajes de primera generación Lenguajes de segunda generación Lenguajes de tercera generación Lenguajes de cuarta generación Lenguajes de programación orientados a objetos Smalltalk C++ Java Lenguajes de programación visual Lenguajes de quinta generación LENGUAJES DE PRIMERA GENERACIÓN Lo constituyen los lenguajes maquina. Estos se consideran como de bajo nivel por que no existe un programa de codificación menos complicado que el que utiliza los símbolos binarios 1 y 0. Ascii, utiliza ceros y unos para representar letras del alfabeto. Como este es el lenguaje del CPU, los archivos de texto traducidos a los grupos binarios ASCIIpueden leerse por casi cualquier plataforma de sistemas de computadoras. LENGUAJES DE SEGUNDA GENERACIÓN A estos se les denomió lenguaje ensamblador. Los lenguajes ensambladores usan códigos como a para agregar o mvc para mover, y asi sucesivamente. Los programas de software de sistemas tales como los sistemas operativos y los programas de utilidad se escriben con frecuencia en un lenguaje ensamblador. LENGUAJES DE TERCERA GENERACIÓN Estos son mas fáciles de aprender y usar que los lenguajes maquina y el lenguaje ensamblador, pues su similitud con la comunicación y comprensión humana cotidiana es mayor. Enunciados, Print, Total sales, Read normal Pay etc. Aunque son mas fáciles de programar, no son tan eficientes en términos de rapidez operacional y memoria. LENGUAJES DE TERCERA GENERACIÓN Son relativamente independientes del hardware de la computadora. Esto significa que el mismo programa puede utilizarse en varias computadoras diferentes de distintos fabricantes LENGUAJES DE CUARTA GENERACIÓN 61 Son lenguajes que se relacionan menos con procedimientos y que son aun mas parecidos al ingles que los lenguajes de tercera generación. Algunas características incluyen capacidades de consulta y base de datos, de creación de códigos y capacidades gráficas. Ejemplos Visual C++, Visual Basic, Power Builder, Delphi, Forte y muchos otros. Lenguajes de consulta son utilizados para hacer preguntas ala computadora con frases parecidas alas de un idioma, ejemplo el inglés. Lenguaje de consulta estructurado. Lenguaje estándar que a menudo se usa para realizar consultas y manipulaciones ala base de datos. LENGUAJES DE PROGRAMACIÓN ORIENTADOS A OBJETOS Permiten la interacción de objetos de programación incluyendo elementos de datos y las acciones que se realizan en ellos. Un objeto denotar datos respecto a un empleado y todas las operaciones que se pudieran realizar sobre los datos (cálculo de nóminas). En la programación orientada al objeto, los datos, instrucciones y otros procedimientos de programación se agrupan en un elemento denominado objeto. Encapsulación. Receso de reagrupar elementos dentro de un objeto. Polimorfismo. Receso que le permite al programador desarrollar una rutina o grupo de actividades que operaran sobre objetos múltiples. Herencia. Propiedad utilizada para describir objetos en un grupo de este tomando características de otros en el mismo grupo o clase de objetos. Código reutilizable. Código de instrucciones dentro de un objeto que se puede usar repetidamente en diferentes programas de diversas aplicaciones. SMALLTALK Lenguaje de programación amplio uso, orientado a objetos. C++ Es una versión mejorada del lenguaje de programación c original. Es un lenguaje de tiempo real, de propósito general, que se ha utilizado para aplicaciones empresariales y científicos. JAVA Proporciona a los programadores un ambiente de programación con gran capacidad y las condiciones para desarrollar aplicaciones de trabajo a través de Internet. Para desarrollar pequeñas, Apletts, las cuales pueden insertarse en las páginas WebInternet. Incluye un depurador, un generador de documentación, un compilador, y un visualizador, para ejecutar aplicaciones Java sin navegador de Internet. LENGUAJES DE PROGRAMACIÓN VISUAL Lenguajes que usan el ratón, iconos o símbolos en la pantalla y menús despegables para desarrollar programas. LENGUAJES DE QUINTA GENERACIÓN Alrededor de la mitad 1998 surgieron gripos de herramientas de lenguajes de quinta generación, los cuales combinan la creación de códigos basadas en reglas, la administración de reutilización y otros avances. Programación basada en conocimiento. Método para el desarrollo de programas de computación en el que se le ordena ala computadora realizar un propósito en vez de instruirla para hacerlo. SELECCIÓN DE UN LENGUAJE DE PROGRAMACIÓN 62 El mejor lenguaje de programación para usarse en un programa en particular incluye equilibrar las características funcionales del lenguaje con aspectos como costo, control y complejidad. Un factor importante que debe considerarse al seleccionar cualquier lenguaje de programación es la cantidad de control directo que se necesita para operar el hardware. TRADUCTORES DE LENGUAJE Traductor de lenguaje. Software de sistemas que convierte un código fuente del programador en su equivalente en lenguaje maquina. Código fuente. Código de programación de nivel alto escrito por el programador. Código objeto. Otro nombre para el código de lenguaje maquina. Intérprete. Traductor de lenguajes que convierte, ala vez, una sentencia de programa a un código de máquina. - Aplicaciones del software Software se refiere al equipamiento lógico o soporte lógico de una computadora 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. Tales componentes lógicos incluyen, entre muchos otros, aplicaciones informáticas como procesador de textos, que permite al usuario realizar todas las tareas concernientes a edición de textos; software de sistema, tal como un sistema operativo, que, básicamente, permite al resto de los programas funcionar adecuadamente, facilitando la interacción con los componentes físicos y el resto de las aplicaciones, también provee una interfaz para el usuario. Si bien esta distinción es, en cierto modo, arbitraria, y a veces confusa, a los fines prácticos se puede clasificar al software en tres grandes tipos: Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles de la computadora en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel, herramientas y utilidades de apoyo que permiten su mantenimiento. Incluye entre otros: Sistemas operativos Controladores de dispositivos Herramientas de diagnóstico Herramientas de Corrección y Optimización Servidores Utilidades Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Incluye entre otros: Editores de texto Compiladores Intérpretes Enlazadores Depuradores Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma tal que el programador no necesite introducir múltiples comandos para 63 compilar, interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz gráfica de usuario (GUI). Software de aplicación: Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios. Incluye entre otros: Aplicaciones para Control de sistemas y automatización industrial Aplicaciones ofimáticas Software educativo Software empresarial Bases de datos Telecomunicaciones (p.ej. internet y toda su estructura lógica) Videojuegos Software médico Software de Cálculo Numérico y simbólico. Software de Diseño Asistido (CAD) Software de Control Numérico (CAM) - Herramientas de productividad personal El proceso personal de software Es un conjunto de prácticas disciplinadas para la gestión del tiempo y mejora de la productividad personal de los programadores o ingenieros de software, en tareas de desarrollo y mantenimiento de sistemas. Está alineado y diseñado para emplearse en organizaciones con modelos de procesos CMMI o ISO 15504. Fue propuesto por Watts Humphrey en 1995 y estaba dirigido a estudiantes. A partir de 1997 con el lanzamiento del libro "An introduction to the Personal Software Process" se dirige ahora a ingenieros juniors. Se puede considerar como la guía de trabajo personal para ingenieros de software en organizaciones que emplean un modelo CMMI con nivel de madurez o de capacidad de procesos que implica la medición cualitativa y mejora de procesos. Uno de los mayores problemas que tiene es la gran cantidad de datos que hay que tomar. El PSP tiene obsesión por la toma de datos y elaboración de tablas. El PSP se orienta el conjunto de áreas clave del proceso que debe manejar un desarrollador cuando trabaja de forma individual. Niveles [editar]Nivel 2 - inicial: Seguimiento y control de proyectos. Planeación de los proyectos. Nivel 3 - repetible: Revisión entre colegas. Ingeniería del producto de software. Manejo integrado del software. Definición del proceso de software. Foco del proceso de software. Nivel 4 - Definido: Control de calidad. Administración cuantitativa del proyecto. Nivel 5 - Controlado: Administración de los cambios del proceso. Administración del cambio tecnológico. Prevención de defectos. Fases [editar]PSP0: proceso base,registro de tiempos,registro de errores,estándar de tipo de errores.[Proceso personal de arranque] PSP0.1: estándar de codificación, medicion de tamaño, propuesta de mejoramiento del proceso(PIP).[Proceso personal de arranque] 64 PSP1: estimación del tiempo, reporte de pruebas.[Proceso personal de administración] PSP1.1: planeación de actividades, planeación de tiempos.[Proceso personal de administración] PSP2: revisión de codificación, revisión del diseño.[Proceso personal de calidad] PSP2.1: formatos de diseño.[Proceso personal de calidad] PSP3: desarrollo en ciclos.[Proceso cíclico] Taller Taller No 1-INF – Hardware – NT1 CALENDARIO DEL MODULO (Se define por semanas y Núcleos temáticos según Matriz de Acuerdos pedagógicos) UNIDAD DE APRENDIZAJE ACTIVIDADES DE APRENDIZAJE SEMANA Inducción y Acuerdos Se entrega Matriz temática al estudiante fotocopiada para realizar acuerdos pedagógico del Modulo INFORMATICA NT1. La Computadora y sus Componentes. 1 2 El Software y su Función Guía y Documentos – Wiki NT2. Redes computacionales. TALLERES – Preguntas Generadoras (Situaciones – Problemas) Aprendizaje – Significativo – Portafolio. TALLERES Ejercicios- Portafolio PRUEBA – DIRECTA - (Evaluación Escrita)- Portafolio PRODUCTOS – FINALES - Practicas pedagógicas productiva - (Temáticas y Portafolio). Seguimiento de: Temáticas y Portafolio – Según – Criterios. TALLERES – Preguntas Generadoras (Situaciones – Problemas) Aprendizaje – Significativo – Portafolio. TALLERES Ejercicios- Portafolio PRUEBA – DIRECTA - (Evaluación Escrita)- Portafolio PRODUCTOS – FINALES - Practicas pedagógicas productiva - (Temáticas y Portafolio). Seguimiento de: Temáticas y Portafolio – Según – Criterios. TALLERES – Preguntas Generadoras (Situaciones – Problemas) Aprendizaje – Significativo – Portafolio. Windows Guía y Documentos – Wiki NT3. Word Guía y Documentos – Wiki TALLERES Ejercicios- Portafolio PRUEBA – DIRECTA - (Evaluación Escrita)- Portafolio PRODUCTOS – FINALES - Practicas pedagógicas productiva - (Temáticas y Portafolio). 3 4 65 Seguimiento de: Temáticas y Portafolio – Según – Criterios. NT4. Excel TALLERES – Preguntas Generadoras (Situaciones – Problemas) Aprendizaje – Significativo – Portafolio. Guía y Documentos – Wiki TALLERES Ejercicios- Portafolio PRUEBA – DIRECTA - (Evaluación Escrita)- Portafolio PRODUCTOS – FINALES - Practicas pedagógicas productiva - (Temáticas y Portafolio). Seguimiento de: Temáticas y Portafolio – Según – Criterios. NT5. PowerPoint TALLERES – Preguntas Generadoras (Situaciones – Problemas) Aprendizaje – Significativo – Portafolio. Guía y Documentos – Wiki TALLERES Ejercicios- Portafolio PRUEBA – DIRECTA - (Evaluación Escrita)- Portafolio PRODUCTOS – FINALES - Practicas pedagógicas productiva - (Temáticas y Portafolio). Seguimiento de: Temáticas y Portafolio – Según – Criterios. Presentación y sustentación de proyecto de INFORMATICA. Presentación y Sustentación de Preguntas Generadoras 7 Presentación y Sustentación de Portafolio 8 Sustentación – Productos Finales. Convocatoria. Sustentación – Productos Finales Convocatoria 5 6 66 METODOLOGIA En la educación a distancia en CERES – Sabana de Occidente del Modulo Informática es importante que el estudiante de Salud Ocupacional asuma una estricta responsabilidad con sus procesos, condición que lo lleva a adquirir autoesigencia con su aprendizaje. El estudiante debe considerar la capacidad para organizar el tiempo de su estudio por sí mismo (autodisciplina), para poder cumplir con TALLERES – Preguntas Generadoras (Situaciones – Problemas) Aprendizaje – Significativo – y Portafolio. TALLERES Ejercicios- y Portafolio, PRUEBA – DIRECTA - (Evaluación Escrita)-, Portafolio y PRODUCTOS – FINALES - Practicas pedagógicas productiva - (Temáticas y Portafolio), y Seguimiento de: Temáticas y Portafolio – Según – Criterios. Usted estudiante de Salud Ocupacional cuenta con varios recursos a su disposición los cuales le ayudaran a alcanzar la competencia al final de este modulo. Ellos son: Texto de Estudio. Guía de Estudio. El espacio tutorial. Material Interactivo (Wiki implementada por el tutor – Mauricio Leal Parga para el trabajo colaborativo con los estudiantes de Modulo Informatica). Bibliografía - - Sonia Villarreal. Introducción a la Computación. Mc Graw Hill. Peter Norton. Introducción a la computación. Mc Graw Hill. Larry Long. Introducción a las Computadoras y al procesamiento de Información. Prentice may. E. Alcalde/J.Morera – J.A. Pérez – Campanero. Introducción a los sistemas Operativos. Mc Graw Hill. 67 Web grafía: Historia y evolución del computador http://www.monografias.com/trabajos12/histcomp/histcomp.shtml Clasificación de las computadoras - http://www.monografias.com/trabajos65/clasificacioncomputadoras/clasificacion-computadoras.shtml Componentes de una PC - http://www.monografias.com/trabajos/compopc/compopc.shtml Dispositivos periféricos de entrada y salida de un computador http://www.monografias.com/trabajos34/dispositivos-perifericos/dispositivos-perifericos.shtml Dispositivos del almacenamiento de una computadora http://www.monografias.com/trabajos35/dispositivos-almacenamiento/dispositivosalmacenamiento.shtml Memoria - http://www.monografias.com/trabajos/memoria/memoria.shtml Sistema Binario - http://es.wikipedia.org/wiki/Sistema_binario Lenguajes de programación - http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n La evolución del software - http://www.monografias.com/trabajos73/evolucionsoftware/evolucion-software.shtml Sistema operativo - http://www.masadelante.com/faqs/sistema-operativo Compilador - http://es.wikipedia.org/wiki/Compilador Tipos de Lenguajes de programación - http://www.monografias.com/trabajos38/tipos-lenguajesprogramacion/tipos-lenguajes-programacion.shtml Evolución de los lenguajes de programación - http://www.monografias.com/trabajos26/lenguajesprogramacion/lenguajes-programacion.shtml#evoluc Software - http://es.wikipedia.org/wiki/Software Personal Software Process - http://es.wikipedia.org/wiki/Personal_Software_Process 68 Lecturas complementarias. Introducción a la informática – Fernando Bersal Accesibilidad en aplicaciones informáticas. Mª Paz Prendes Espinosa [email protected] Lucía Amorós Poveda [email protected]. El Software. Wiki Espacio creado por el Tutor Mauricio Leal Parga – donde se publican periódicamente – documentos y lecturas, Talleres, Preguntas Generadoras, Guías. Del Modulo Informática. Es de anotar que la información aquí publicada se puede descargar. http://edumin-inf23.wikispaces.com/Saludo EVALUACION TALLERES – Preguntas Generadoras (Situaciones – Problemas) Aprendizaje – Significativo – Portafolio. TALLERES Ejercicios- Portafolio PRUEBA – DIRECTA - (Evaluación Escrita)- Portafolio PRODUCTOS – FINALES - Practicas pedagógicas productiva - (Temáticas y Portafolio). Seguimiento de: Temáticas y Portafolio – Según – Criterios. Presentación y sustentación de proyecto de Informática (Folleto). Presentación y Sustentación de Preguntas Generadoras Presentación y Sustentación de Portafolio LABORATORIOS - (Trabajo – Práctico) – CIPA - Portafolio 69 POLITICAS A continuación se presentan los siguientes enunciados que se deben cumplir para dar orden al proceso de aprendizaje, que orientan a cada estudiante para que cada participante presente sus actividades para poder alcanzar las competencias necesarias para la aprobación del modulo. Estas políticas dan una estructura al trabajo de todos. Tutor y estudiante. Documentos – E-Mail (El estudiante debe consultar periódicamente la Wiki Edumin-INF donde se le envían documentos y lecturas complementarias de cada Núcleo Temático – NT). El estudiante debe resolver las Preguntas Generadoras de cada Núcleo, como política de cumplimiento de la metodología de la educación a distancia del proyecto CERES. Los talleres serán publicados en la Wiki Edumin-INF semanalmente, para resolverlos por dada Núcleo Temático. Se realizara LABORATORIO - (Trabajo – Práctico) – CIPA y es de obligatoriedad su asistencia. Se realizaran Pruebas escritas, finalizando cada sesión de tutorías según Núcleos Temáticos. El estudiante debe exponer libremente sus ideas, mediante momentos de discusión, reflexión donde se promueva el desarrollo autónomo, con un aporte de índole social en la ampliación de su profesión. El estudiante debe presentar Memorias de temática expuesta. El estudiante debe presentar temáticas y portafolios según acuerdo. El estudiante debe presentar y sustentar un proyecto final del Modulo Informática. El estudiante debe presentar y sustentar el desarrollo de preguntas generadoras. El estudiante debe presentar y sustentar el Portafolio del modulo –INFORMATICA- Rol del Tutor: El propósito fundamental como tutor es el de dar un servicio a los estudiantes, facilitando su proceso de aprendizaje y el logro de sus competencias. La supervisión que hago se enfocará tanto a los procesos, como a los productos de aprendizaje que evidencien 70 desarrollo de habilidades que conlleven a alcanzar la competencia, para ello asumo entre otros los compromisos de: Atender directamente a los estudiantes utilizando diversos medios: encuentro tutorial, e-mail, Wiki, sistemas de mensajería y laboratorios prácticos. Asistir al lugar de tutoría asignado, en la hora y el día indicados previamente para tal fin. Respetar el calendario académico y cada una de las actividades propuestas en el. Guiar, facilitar, asesorar y orientar al estudiante en su proceso de aprendizaje. Suscitar la reflexión e indagar a los estudiantes sobre su proceso de aprendizaje. Evaluar las actividades teniendo en cuenta los criterios de evaluación al plantearsen las actividades. Retroalimentar las actividades y sus evidencias de competencia en las fechas acordadas. Las dudas académicas serán atendidas por E-mail y medios como foros en aulas virtuales y Wiki. Rol del estudiante Los estudiantes son participantes, honestos y comprometidos que. Como tales, son los principales responsables de iniciar, dirigir y sostener sus propios procesos de aprendizaje. Cada estudiante se compromete a propiciar las condiciones que estén a su alcance para maximizar las oportunidades de aprendizaje de acuerdo a su contexto y posibilidades. De igual forma se asume que nuestros estudiantes no incurrirán en actos deshonestos y de plagio intelectual de ideas en las diversas formas de interacción, actividades terminales e intermedias. Se espera que los estudiantes participen activamente en cada una de las actividades descritas en la guía de estudio, para ello es necesario tener en cuenta que: El estudiante es el protagonista del proceso de aprendizaje, que lo lleva a ser más activo y propositivo, por consiguiente a desarrollar el auto – estudio. Debe estar preparado para participar activamente de las actividades de aprendizaje, habiendo leído los contenidos de su texto de estudio y materiales adicionales relacionados en la guía de estudio, documentos y lecturas complementarias. 71 Debe realizar las actividades planteadas en la guía de estudio, entregando las evidencias de manera acorde a lo planteado en los criterios de evaluación, dentro de los tiempos establecidos en el calendario y bajo las instrucciones descritas en cada actividad. En las evidencias escritas, deberá saber citar las fuentes, es decir usar debidamente la bibliografía a fin de evitar el plagio. Guía Elaborada por el Tutor HECTOR MAURICIO LEAL PARGA Uso exclusivo de estudiantes - I Semestre de Salud Ocupacional Universidad Minuto de Dios CERES SABANA DE OCCIDENTE MODULO: INFORMATICA Se prohíbe la publicación o reproducción total o parcial de esta Guía. 72