Universidad Salesiana de Bolivia Ingeniería de Sistemas Algoritmo. El término algoritmo es un procedimiento o fórmula para resolver un problema. La palabra se deriva del nombre del matemático árabe Al-Juarismi (825 DC). Un programa de ordenador puede considerarse como un algoritmo elaborado. En matemáticas o ciencia informática, un algoritmo generalmente es un pequeño procedimiento que resuelve un problema recurrente. ANSI. ANSI (American National Standards Institute, Instituto nacional estadounidense de estándares) es la principal organización que promueve el desarrollo de estándares tecnológicos en los Estados Unidos. ANSI trabaja con grupos de la industria y es el miembro estadounidense de la Organización Internacional para la Estandarización (International Organization for Standardization, ISO) y la Comisión Electrotécnica Internacional (International Electrotechnical Commission, IEC). Entre los estándares ANSI más conocidos se encuentra el código ASCII para el intercambio de información (American Standard Code for Information Interchange) y la interfaz SCSI (Small Computer System Interface). API. Una interfaz de programa de aplicación o de programación de aplicaciones, API (application program interface o application programming interface) es el método específico prescrito por un sistema operativo o por cualquier otra aplicación de aplicación mediante el cual un programador que escribe una aplicación puede hacer solicitudes al sistema operativo o a otra aplicación. Una API puede contrastarse con una interfaz gráfica de usuario (GUI) o una interfaz de comando (ya que ambas son interfaces directas del usuario) como formas de interactuar con un sistema operativo o un programa. Aplicación. 1. En tecnología informática, una aplicación es el uso de una tecnología, sistema o producto. 2. El término "aplicación" es una forma abreviada para designar a un programa de aplicación. Un programa de aplicación es aquél diseñado para desempeñar una función específica directamente para el usuario o, en algunos casos, para otro programa de aplicación. Los ejemplos de estas aplicaciones incluyen los procesadores de textos, programas de bases de datos, navegadores de la Red, herramientas de desarrollo, programas de dibujo, pintura y edición de imágenes, y programas de comunicaciones. Las aplicaciones usan los servicios del sistema operativo del ordenador y otras aplicaciones de apoyo. La solicitud formal y los medios de comunicarse con otros programas que usa un programa de aplicación son lo que se denomina interfaz de programa de aplicación (application programa interface, API). Archivo. Unidad significativa de información la cual puede ser manipulada por el sistema operativo de un ordenador debido a que tiene una identificación única formada por un "nombre" y un "apellido". El nombre suele ser de libre elección del usuario y el apellido debe identificar el contenido o el tipo de archivo. A manera de información, los archivos Word tienen el apellido .doc; los de Excel tienen .xls; los ejecutables .exe, los de texto .txt y así sucesivamente. Archivo de Texto: Utiliza solamente caracteres del estándar ASCII y puede ser enviado por mail sin ningún tipo de modificación. Archivos Binarios: Contiene códigos y caracteres los cuales sólo pueden ser utilizados para un tipo específico de software. Los más comunes son los archivos ejecutables, gráficos y documentos con formato. ASCII. American Standard Code for Information Interchange. Es de facto el estándar del World Wide Web para el código utilizado por computadoras para representar todas las letras (mayúsculas, minúsculas, letras latinas, números, signos de puntuación, etc.). El código estándar ASCII es de 128 letras representadas por un digito binario de 7 posiciones (7 bits), de 0000000 a 1111111. Base de datos. Una base o banco de datos es un conjunto de datos que pertenecen al mismo contexto almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. En una base de datos, la información se organiza en campos y Programación I 159 Dossier Universidad Salesiana de Bolivia Ingeniería de Sistemas registros. Un campo se refiere a un tipo o atributo de información, y un registro, a toda la información sobre un individuo. Los datos pueden aparecer en forma de texto, números, gráficos, sonido o vídeo. Normalmente las bases de datos presentan la posibilidad de consultar datos, bien los de un registro o los de una serie de registros que cumplan una condición. También es frecuente que se puedan ordenar los datos o realizar operaciones sencillas, aunque para cálculos más elaborados haya que importar los datos en una hoja de cálculo. BIOS. (BASIC INPUT/OUTPUT SYSTEM) contiene el programa inicial (llamado SETUP) que un ordenador carga nada más encender el interruptor y que tiene las instrucciones básicas de arranque del sistema. También controla el flujo de datos entre el sistema operativo y los dispositivos conectados al PC, como pueden ser el disco duro, la tarjeta de video, el teclado, ratón, etc. Este programa está guardado en un integrado o chip (conocido vulgarmente como cucarachas) con la característica que puede volver a rescribirse cuando aparecen nuevas actualizaciones. Existen varias marcas de BIOS. Las más comunes pueden ser AMI, PHOENIX y AWARD. Bit. Abreviación de binary digit, un bit es la unidad más pequeña de datos que un ordenador puede manejar. Los bits se utilizan en distintas combinaciones para representar distintos tipos de datos. Cada bit tiene un valor 0 ó 1. Buffer. Es un área de datos (en memoria o en el disco duro) y se comparte entre dispositivos de hardware y aquellos programas que necesitan de su uso. Permite a cada dispositivo o programa operar en esa área de forma independiente lo que facilita la coordinación de las diferentes tareas ya que no dependen de la velocidad del sistema. Bug. Término que se ha hecho famoso entre los usuarios de informática y que describe un error en el código interno de un programa (código cargado en el microprocesador). Fue usado por primera vez en el año 1945 por Grace Murray Hooper, una de las pioneras de la programación moderna, al descubrir cómo un insecto (bug) había dañado un circuito del ordenador Mark. Existe un proceso de búsqueda de Bugs para poder corregirlos conocido con el nombre de "DEBUGGING". Este proceso empieza justo después de empezar a realizar un determinado programa, continúa en unas fases de prueba (denominadas alpha (1ª fase) y beta (2ª fase)). Concluye cuando este programa forma finalmente un software. En ocasiones también podemos ver la palabra "Bug" en diversas páginas Web de Internet, utilizando el término como el posible error en algún texto o enlace que un determinado usuario encuentra y debe reportar al web master para su corrección. Con menos frecuencia, un "Bug" hace alusión a un determinado problema en el hardware. Byte. Un Byte es una unidad de información que consiste en un conjunto de 8 bits, por ejemplo: 00101101. Cada número del ejemplo representaría un bit y siempre entre 0 y 1 ya que está escrito en código binario. Cualquier carácter del teclado de nuestro ordenador ocuparía un byte, así como un "6" una "?" o una "f", aunque un conjunto de bytes puede formar una imagen en la pantalla (cualquier fotografía está formada por cientos o miles de Bytes). Normalmente, los bytes suelen ser abreviados como "B" y un bit como una "b". Seguro que nos suena el hecho de hablar de tantos Bytes de memoria o disco duro, e incluso de MegaBytes (MB) o GigaBytes (GB). Por ejemplo, en un disco duro de 820 MB tiene una cantidad aproximada de 820 millones de bytes. Decimos aproximada porque un MegaByte contiene un total de 1.048.576 Bytes. Es posible que oigamos hablar también de NIBBLE, que no es más que medio Byte. Algunos tipos de letra (o language scripts) necesitan 2 bytes para representar un caracter; en este caso se llamarán conjuntos de caracteres de doble byte (DBCS o Double Byte Character Sets). C. C es un lenguaje de programación estructurado y de procedimientos que ha sido ampliamente usado tanto para sistemas operativos como para aplicaciones, y que tiene una amplia base de seguidores en la comunidad académica. Muchas versiones de sistemas operativos basados en UNIX están escritos en C. C Programación I 160 Dossier Universidad Salesiana de Bolivia Ingeniería de Sistemas ha sido estandarizado como parte de la interfaz portable de sistema operativo (Portable Operating System Interface, POSIX). La popularidad de la programación orientada a objetos ha hecho que C haya sido reemplazado como "el lenguaje" de programación por el C++, un súper conjunto del lenguaje C que usa un concepto de programación completamente distinto, y por Java, un lenguaje similar al C++ pero más simple, diseñado para uso en redes distribuidas. C++. C++ es un lenguaje de programación orientado a objetos que se considera generalmente como el mejor lenguaje para la creación de programas de aplicación a gran escala. C++ es un súper conjunto del lenguaje C. Un lenguaje de programación relacionado con C++, Java, está basado en aquel, pero optimizado para la distribución de objetos de programa en una red como Internet. Es un poco más simple que C++ y tiene características que le dan otras ventajas sobre el C++. Código Fuente. En inglés Source Code. Conjunto de instrucciones que componen un programa, escrito en cualquier lenguaje. Hay programas de código abierto que se pueden modificar si uno tiene el conocimiento (por lo general estos programas están bajo licencia GPL), por ejemplo Linux, Openoffice, etc. Hay programas "de código cerrado" como por ejemplo Windows, Photoshop, y la mayoría de los programas comerciales, en donde el código es inaccesible y por lo tanto no se puede alterar la estructura del programa. En estos casos uno compra el programa, el programa es de uno, pero el código fuente o instrucciones del programa son del fabricante. Código máquina. Es un lenguaje muy básico y elemental usado a nivel del procesador del sistema consistente en combinaciones de ceros y unos. El código máquina es el único entendible por el procesador y los programas deben ser "traducidos" a ese lenguaje para poder ejecutarse. Esta tarea la ejecutan los llamados compiladores. Estamos muy acostumbrados a ver exteriormente programas en código máquina; estos son, por ejemplo, todos los ficheros con extensión EXE. Compilador. Por este nombre conocemos al programa que es capaz de procesar y analizar los códigos de un programa escrito en un determinado lenguaje de programación, y "traducirlo" al lenguaje "Código máquina" (lenguaje usado por el microprocesador) para su posterior ejecución. Computador u Ordenador. Máquina digital, electrónica y programable, para el tratamiento automático de la información, capaz de recibirla, operar sobre ella mediante procesos determinados y suministrar los resultados de tales operaciones. Dícese también computadora, principalmente en textos españoles antiguos y en varios países hispanoamericanos. Copyleft. Fórmula opuesta al copyright nacida en el ámbito del software libre (free software) mediante la cual el autor de un programa lo declara como de dominio público, incluyendo el código fuente (source code) del mismo, de forma que quien quiera puede usarlo y modificarlo. Si el programa es modificado, la persona involucrada puede ejercer sin restricción alguna su derecho de copia sobre el programa modificado. Copyright. Derecho de Copia. Derecho que tiene cualquier autor, sobre todas y cada una de sus obras de forma que podrá decidir en qué condiciones han de ser reproducidas y distribuidas. Aunque este derecho es legalmente irrenunciable, el mismo puede ser ejercido de forma tan restrictiva o tan generosa como el autor decida. El símbolo de este derecho es ©. Cracker. (intruso, revientasistemas, saboteador) Un cracker es una persona que intenta acceder a un sistema informático sin autorización. Estas personas tienen a menudo malas intenciones, en contraste con los hackers, y pueden disponer de muchos medios para introducirse en un sistema. Programación I 161 Dossier Universidad Salesiana de Bolivia Ingeniería de Sistemas Dato. Unidad mínima de información, sin sentido en sí misma, pero que adquiere significado en conjunción con otras precedentes de la aplicación que las creó. Datos. 1. Técnicamente, los datos son hechos y cifras en bruto, tales como órdenes y pagos, los cuales se procesan para obtener información, por ejemplo el saldo deudor y el monto disponible. Sin embargo, en el uso común, los términos datos e información se toman como sinónimos. La cantidad de datos versus información que se guarda en el computador constituye una compensación. Los datos pueden procesarse en diferentes formas de información, pero toma tiempo clasificar y sumar transacciones. La información actualizada puede proporcionar respuestas inmediatas. Un error frecuente es creer que el software es también datos. El computador ejecuta o corre un software. Los datos se "procesan", mientras que el software se "ejecuta". 2. Cualquier forma de información, ya sea en forma electrónica o sobre papel. En forma electrónica, "datos" se refiere a archivos, bases de datos, documentos de texto, imágenes y, voz y video codificados en forma digital. Debug. Depurar fallos. Corregir errores o fallos de programación o configuración. Depurar. Depurar es limpiar. Si nos referimos a la programación de una web o un programa, por ejemplo, se trataría de eliminar aquellas líneas de código que son inservibles y que solo ocupan espacio y hacen que la ejecución del código sea más lenta. Disco Duro. Los discos duros constituyen la unidad de almacenamiento principal del ordenador, donde se almacenan permanentemente una gran cantidad de datos y programas. Constituyen la memoria de almacenamiento masivo. Esta información que almacena no puede ser procesada directamente por le microprocesador, sino que, en un paso previo, deben transferirse a la memoria centrar (RAM) donde pueden manejarse. Las unidades de los discos duros contienen 2 o más discos (platillos) apilados sobre un eje central y aislados completamente del exterior. Las primeras y antiguas unidades almacenaban del orden de 10 a 20 Mbytes y las actuales pues cada vez aumentan más pero no bajan de los 4 Gbytes. Documento. Cualquier elemento sobre el cual se trabaja en una aplicación se denomina documento. Así, un archivo de hoja de cálculo puede ser un documento, como puede serlo también un archivo gráfico, uno de procesador de textos, etc. DOS. Sistema operativo de disco monousuario (para un solo usuario) y compatible (que puede ejecutarse en cualquier computadora personal compatible con la IBM-PC), diseñado por la compañía Microsoft para la PC de IBM, introducida en 1981. Se ejecuta automáticamente cuando se arranca la PC. La forma de dictarle órdenes a DOS es a través de instrucciones tipeadas en líneas de comandos a partir de un signo inicial. Esta interfase presupone la memorización de una serie de sintaxis de signos (barras de directorios, letras, signos de puntuación, etc.), así como de palabras para cumplir con distintas tareas y recorridos dentro del sistema. Después de conocer todas sus variantes, los usuarios de DOS pueden lograr un grado de control satisfactorio, con el fin de crear directorios, realizar backups, copiar archivos y subir o bajar por las ramas de los directorios, entre otras actividades. Fiabilidad. Característica de los sistemas informáticos por la que se mide el tiempo de funcionamiento sin fallos. En el caso del hardware, se han conseguido altísimos grados de fiabilidad, mientras que en el software siguen existiendo bugs que dificultan el buen funcionamiento de los programas. Cuando uno de estos «bugs» aparece, es normal que el programa «se quede colgado», impidiendo al operador seguir trabajando con el sistema y obligando a reiniciar la máquina. Programación I 162 Dossier Universidad Salesiana de Bolivia Ingeniería de Sistemas FIFO. Acrónimo de First In First Out (Primero en entrar primero en salir). Orden en el que se procesa la información en un buffer o cola. En este caso, los bits que primero entren serán los que primeros salgan, linealmente. Antónimo del acrónimo LIFO. Freeware. Programa gratuito que se puede descargar libremente por Internet. El autor del programa o servicio lo aporta sin esperar o solicitar a cambio una compensación económica. Gratuitamente quiere decir, evidentemente, que se tiene libre acceso a su uso. Pero no debe nunca olvidar que el creador cede el uso, pero no la propiedad intelectual del mismo. Es decir, que retiene los derechos de autor. En general, está admitido distribuir este tipo de programas, siempre que no se cargue cantidad alguna por dicho concepto, con la salvedad del coste del soporte (antiguamente los disquetes), en su caso. Dentro de este apartado freeware está la categoría de dominio público. Los programas de dominio público, “public domain” en inglés, son aquéllos en los que el autor coloca a disposición del público no sólo el programa en sí, sino incluso el código fuente, de manera que pueda ser utilizado, e incluso modificado, como parte de otros programas. La comunidad Unix se ha nutrido, y se nutre, de gran número de programas de este tipo. Gigabit. Aproximadamente mil millones de bits: 1 bit x 1.0243 (es decir, 1.073.741.824 bits). Gigabyte. Aproximadamente mil millones (1 billón) de bytes: 1 byte x 1.0243 es decir, 1.073.741,824 bytes. General Public License. (GPL - Licencia Pública General) Licencia de regulación de los derechos de autor de los programas de software libre (free software). Esta licencia, promovida por la Free Software Foundation (FSF) en el marco de la iniciativa GNU (Software Libre), permite la distribución de copias de programas (e incluso cobrar por ello), así como modificar el código fuente de los mismos o utilizarlo en otros programas. GNU. Acrónimo de GNU General Public License (Licencia Pública General de GNU). Se trata de la licencia copyleft más popular creada por la Free Software Foundation dentro del proyecto GNU. Se puede encontrar una traducción de la Licencia Pública General de GNU a nuestro idioma en http://www.garaitia.com/new/gpl-spanish.php. El Proyecto GNU fue creado en 1984 con el fin de desarrollar un sistema operativo tipo Unix según la filosofía del "software libre". GPL. Acrónimo en inglés de General Public License (Licencia Publica General). Regula los derechos de autor de los programas de software libre (free software) promovido por el Free Software Foundation (FSF) en el marco de la iniciativa GNU. Permite la distribución de copias de programas (e incluso cobrar por ello), así como modificar el código fuente de los mismos o utilizarlo en otros programas. GUI. (Graphical User Interface o Interface Gráfico de Usuario). La mejor forma de entender que es un GUI, es diciéndote que precisamente este texto forma parte de uno, que no es otro que tu navegador, ya que permite mostrar de forma gráfica una página de Internet. El mismo término se utiliza para designar, por ejemplo, a los sistemas operativos con entorno gráfico, como son Windows o las Xwindow de Linux. Gusano. Programa informático que se auto duplica y auto propaga. En contraste con los virus, los gusanos suelen estar especialmente escritos para redes. Los gusanos de redes fueron definidos por primera vez por Shoch & Hupp, de Xerox, en la revista ACM Communications (Marzo 1982). El primer Programación I 163 Dossier Universidad Salesiana de Bolivia Ingeniería de Sistemas gusano famoso de Internet apareció en Noviembre de 1988 y se propagó por sí solo a más de 6.000 sistemas a lo largo de Internet. Hacker. (pirata) Una persona que goza alcanzando un conocimiento profundo sobre el funcionamiento interno de un sistema, de un ordenador o de una red de ordenadores. Este término se suele utilizar indebidamente como peyorativo, cuando en este último sentido sería más correcto utilizar el término "cracker". Es también aficionado a los ordenadores o computadoras. Un usuario cautivado por la programación y las tecnologías informáticas. Hardware. Cuando hablamos de ordenadores, el hardware está formado por los componentes físicos. Es la parte "dura", es decir, los elementos que configuran la máquina y que le dan una serie de características y potenciales. HTML (Hypertext Markup Language). Uno de los lenguajes utilizados por los programadores par diseñar sitios visualizables en la World Wide Web, gracias a los navegadores de Internet como por ejemplo Netscape Navigator. Informática. Es la ciencia de la información automatizada, todo aquello que tiene relación con el procesamiento de datos, utilizando las computadoras y/o los equipos de procesos automáticos de información. Es la ciencia que se encarga de la automatización del manejo de la información. Ingeniería Social. Término usado por los hackers para definir a la habilidad de manipular a las personas para conseguir algo, como información o algún servicio, por ejemplo la IP de una computadora, la contraseña o incluso el numero de tarjeta de crédito de alguien. Intel. El fabricante líder de microprocesadores para PC. Los procesadores Intel fueron usados en las primeras computadoras que incorporaban el sistema operativo DOS de Microsoft. Su línea de procesadores Pentium incremento los niveles de desempeño de las computadoras a niveles superiores. Intel también fabrica tarjetas madre (motherboards), procesadores de red y un sin fin de circuitos procesadores que están pavimentando el futuro de la computación personal ISO. (International Standars Organization) Organización Internacional de Estándares. Una organización que establece estándares (normas) internacionales fundada en 1946 con sede en Ginebra. Se ocupa de todos los campos, excepto de la electricidad y la electrónica, las cuales están ya desde antes bajo la jurisdicción de la IEC (International Electrotechnical Comission), también radicada en Ginebra. Con respecto a los estándares de procesamiento de información, la ISO y la IEC crearon la JTC1 (Join technical Comitee (Comité técnico Conjunto) para la tecnología informática. La ISO desarrolla su trabajo a través de más de 160 comités técnicos y 2,300 subcomités y grupos de trabajo, y está constituida por las organizaciones de estándares de mas 75 países, algunas de las cuales sirven como secretariados para estos cuerpos técnicos. En los EE.UU. la ANSI es miembro de la ISO. Java. Lenguaje de programación diseñado para su uso en Internet. Muchas de las animaciones y efectos que vemos en las diferentes páginas de Internet se han escrito en Java, permite ejecutar programas escritos en un lenguaje muy parecido al C++. Se diferencia de un CGI ya que la ejecución es completamente realizada en la computadora cliente, en lugar del servidor. Java fue originalmente desarrollado por Sun Microsystems y su principal objetivo fue crear un lenguaje que fuera capaz de ser Programación I 164 Dossier Universidad Salesiana de Bolivia Ingeniería de Sistemas ejecutado de una forma segura a través de Internet. Esta característica requiere la eliminación de muchas construcciones y usos de C y C++; entre los que se destaca la eliminación de punteros. Java no puede acceder arbitrariamente a direcciones de memoria y es un lenguaje compilado en un código llamado "byte-code". Este código es interpretado "en vuelo" por el intérprete Java. JavaScript. Lenguaje desarrollado por Netscape y aunque es parecido a Java se diferencia de él en que los programas están incorporados en el archivo HTML. Lammer. Normalmente son individuos con ganas de hacer Hacking, pero que carecen de cualquier conocimiento. Habitualmente son individuos que apenas si saben lo que es un ordenador, pero el uso de éste y las grandes oportunidades que brinda Internet, convierten al nuevo internauta en un obsesivo ser que rebusca y relee toda la información que le fascina y que se puede encontrar en Internet. Normalmente la posibilidad de entrar en otro sistema remoto o la posibilidad de girar un gráfico en la pantalla de otro ordenador, le fascinan enormemente. Este es quizás el grupo que más peligro acontece en la red ya que ponen en práctica todo el Software de Hackeo que encuentran en la red. Así es fácil ver como un Lamer prueba a diestra y siniestra un " bombeador de correo electrónico " esto es, un programa que bombardea el correo electrónico ajeno con miles de mensajes repetidos hasta colapsar el sistema y después se mofa autodenominándose Hacker. También emplean de forma habitual programas Sniffers para controlar la Red, interceptan tu contraseña y correo electrónico y después te envían varios mensajes, con dirección falsa amenazando tu sistema, pero en realidad no pueden hacer nada mas que cometer el error de que poseen el control completo de tu disco duro, aun cuando el ordenador esta apagado. Toda una negligencia en un terreno tan delicado. Lenguaje de Alto Nivel. Lenguaje de programación en el que las instrucciones enviadas para que la PC ejecute ciertas órdenes son similares al lenguaje humano. Dado que la PC no es capaz de reconocer estas órdenes, es necesario el uso de un intérprete que traduzca el lenguaje de alto nivel a un lenguaje de bajo nivel que el sistema pueda entender. Lenguaje de Bajo Nivel. Lenguaje de programación que la computadora puede entender a la hora de ejecutar programas, lo que aumenta su velocidad de ejecución, pues no necesita un intérprete que traduzca cada línea de instrucciones. Lenguaje de programación. Conjunto de normas «lingüísticas» que permiten escribir un programa y que éste sea entendido por la computadora y pueda ser trasladado a computadoras similares para su funcionamiento en otros sistemas Los lenguajes de programación se dividen en 2 categorías fundamentales: • bajo nivel: Son dependientes de la máquina, están diseñados para ejecutarse en una determinada computadora. A esta categoría pertenecen las 2 primeras generaciones. • Alto Nivel: Son independientes de la máquina y se pueden utilizar en una variedad de computadoras. Pertenecen a esta categoría la tercera y la cuarta generación. Los lenguajes de más alto nivel no ofrecen necesariamente mayores capacidades de programación, pero si ofrecen una interacción programador/computadora más avanzada. Cuanto más alto es el nivel del lenguaje, más sencillo es comprenderlo y utilizarlo. Cada generación de lenguajes es más fácil de usar y más parecida a un lenguaje natural que su predecesores. Los lenguajes posteriores a la cuarta generación se conocen como lenguajes de muy alto nivel. Son lenguajes de muy alto nivel los generadores de aplicaciones y los naturales. Programación I 165 Dossier Universidad Salesiana de Bolivia Ingeniería de Sistemas En cada nuevo nivel se requieren menos instrucciones para indicar a la computadora que efectúe una tarea particular. Pero los lenguajes de alto nivel son sólo una ayuda para el programador. Un mayor nivel significa que son necesarios menos comandos, debido a que cada comando o mandato de alto nivel reemplaza muchas instrucciones de nivel inferior. 1. Primera - Lenguaje de máquina: Empieza en los años 1940-1950. Consistía en sucesiones de dígitos binarios. Todas las instrucciones y mandatos se escribían valiéndose de cadenas de estos dígitos. Aún en la actualidad, es el único lenguaje interno que entiende la computadora; los programas se escriben en lenguajes de mayor nivel y se traducen a lenguaje de máquina. 2. Segunda – Lenguajes ensambladores: Fines de los ’50. Se diferencian de los lenguajes de máquina en que en lugar de usar códigos binarios, las instrucciones se representan con símbolos fáciles de reconocer, conocidos como mnemotécnicos,. Aún se utilizan estos lenguajes cuando interesa un nivel máximo de eficiencia en la ejecución o cuando se requieren manipulaciones intrincadas. Al igual que los lenguajes de la máquina, los lenguajes ensambladores son únicos para una computadora particular. Esta dependencia de la computadora los hace ser lenguajes de bajo nivel. 3. Tercera: años ’60. Los lenguajes de esta generación se dividen en tres categorías, según se orienten a: • • • procedimientos: Requieren que la codificación de las instrucciones se haga en la secuencia en que se deben ejecutar para solucionar el problema. A su vez se clasifican en científicos (p.ej.: FORTRAN), empresariales (v.g.: COBOL), y de uso general o múltiple (p.ej.: BASIC). Todos estos lenguajes permiten señalar cómo se debe efectuar una tarea a un nivel mayor que en los lenguajes ensambladores. Hacen énfasis los procedimientos o las matemáticas implícitas, es decir en lo que se hace (la acción). problemas: Están diseñados para resolver un conjunto particular de problemas y no requieren el detalle de la programación que los lenguajes orientados a procedimientos. Hacen hincapié en la entrada y la salida deseadas. objetos: El énfasis se hace en el objeto de la acción. Los beneficios que aportan estos lenguajes incluyen una mayor productividad del programador y claridad de la lógica, además de ofrecer la flexibilidad necesaria para manejar problemas abstractos de programación. 4. Cuarta: su característica distintiva es el énfasis en especificar qué es lo que se debe hacer, en vez de cómo ejecutar una tarea. Las especificaciones de los programas se desarrollan a un más alto nivel que en los lenguajes de la generación anterior. La característica distintiva es ajena a los procedimientos, el programador no tiene que especificar cada paso para terminar una tarea o procesamiento. Las características generales de los lenguajes de cuarta generación son: • • • Uso de frases y oraciones parecidas al inglés para emitir instrucciones; no operan por procedimientos, por lo que permiten a los usuarios centrarse en lo que hay que hacer no en cómo hacerlo; Al hacerse cargo de muchos de los detalles de cómo hacer las cosas, incrementan la productividad. Hay dos tipos de lenguajes de cuarta generación, según se orienten: • • Programación I a la producción: Diseñados sobre todo para profesionales en la computación. al usuario: Diseñados sobre todo para los usuarios finales, que pueden escribir programas para hacer consultas en una base de datos y para crear sistemas de información. También se llama lenguaje de consultas (SQL, Structured Query Language: lenguaje estructurado para consultas). 166 Dossier Universidad Salesiana de Bolivia Ingeniería de Sistemas LIFO. Acrónimo de Last In First Out (Ultimo en entrar primero en salir) Orden en el que se procesa la información en un buffer o cola. En este caso, los bits que entren los últimos serán los que primeros salgan, linealmente. Antónimo del acrónimo 'FIFO'. Malware. Cualquier programa cuyo objetivo sea causar daños a computadoras, sistemas o redes y, por extensión, a sus usuarios. Memoria Auxiliar. Banco de memoria de alta velocidad que se utiliza en supercomputadores. No es directamente direccionable por la CPU; funciona como un disco. Los datos se transfieren desde la memoria auxiliar a la memoria principal mediante un canal de ancho de banda amplio. Memoria caché. También conocida como RAM caché. Es un dispositivo pequeño de memoria de alta velocidad que interviene entre la CPU y la DRAM. La memoria caché tiene como propósito suministrarle al procesador las instrucciones y datos solicitados con mayor frecuencia. La memoria caché puede ser de tres a cinco veces más veloz que la DRAM. En ocasiones podemos hablar de memoria caché L1 y L2. La L1 (Nivel 1) es la que incluye el propio procesador para acelerar el intercambio de información dentro de este dispositivo. La memoria caché L2 (Nivel 2) es la que está instalada en la placa base y ayuda al intercambio de datos entre el procesador y la memoria RAM (de cualquier tipo). Memoria EDO. (Memoria Extendida de Salida de Datos). La tecnología DRAM que abrevia el ciclo de lectura entre la memoria y la CPU. En los sistemas de computación diseñados para esta tecnología, la memoria EDO permite que la CPU obtenga acceso a la memoria a una velocidad de diez a quince por ciento más rápida que con los chips de fast-page-mode. (Memoria RAM convencional). Memoria. Término que se utiliza comúnmente para aludir a la memoria de acceso aleatorio de una computadora (véase también RAM). El término memoria se ha utilizado para referirse a toda clase de almacenamiento electrónico de datos (véase almacenamiento). La memoria de un sistema de computadora es crucial para su funcionamiento. Sin ella, la computadora no podría leer programas o retener datos. La memoria almacena los datos electrónicamente en células de memoria contenidas dentro de los chips. Las dos clases más importantes de chips de memoria son DRAM y SRAM. DRAM (dynamic random access memory): los chips de DRAM están diseñados como una matriz de celdas de memoria dispuestas en filas y columnas. Cada celda de memoria usada para almacenar bits de información que puede ser extraída al indicar de su fila y su columna (dirección). FPM (fast page mode) DRAM: este tipo de chip de memoria es una mejora con respecto a la anterior tecnología DRAM, porque se accede más rápidamente a la información que se encuentra en la misma fila de la dirección que se accedió previamente. De esta forma, el controlador no pierde tiempo ubicando la fila, sólo debe ubicar la columna correspondiente. Esta tecnología va camino a la obsolescencia, viéndose reemplazada por la DRAM sincrónica, o SDRAM. EDO (extended data out) DRAM: es similar al FPM con una leve modificación: no solamente retiene la fila de ubicación del último dato solicitado, sino también la columna. La ventaja principal de EDO es que mantiene la in-formación extraída disponible por más tiempo, acortando la secuencia de lectura de la memoria. Su desempeño es entre un 10 y 20 por ciento más rápido que la FPM. Esta tecnología estará terminando su ciclo de producción a fines del año 2000. Programación I 167 Dossier Universidad Salesiana de Bolivia Ingeniería de Sistemas SDRAM o DRAM sincrónica (synchronous DRAM): es el cambio más radical y reciente de tecnologías de memorias, porque la extracción de información es sincronizada con el reloj de la placa madre que controla la CPU. Al estar sincronizada con el procesador, se eliminan tiempo de espera, y esto hace que el proceso de extracción de información de la memoria sea más eficiente. En 1998, SDRAM se convirtió en el estándar de la mayoría de las PCs, note-books y servidores del mercado. El SDRAM está disponible en velocidades de 66 Mhz, 100 Mhz y 133 Mhz. A esta última se la conoce como HSDRAM (high-Speed synchronous DRAM). SDRAM II o DDR (double date rate): es la próxima generación de SDRAM. Se basa en el mismo principio de la SDRAM, pero duplica su velocidad de lectura de información. RDRAM (Rambus Dynamic Random Acces Memory): es usada en la industria del entretenimiento, estaciones gráficas y gráficos de video. Rambus usa la tecnología RSL (Rambus Signal Level), que permite un promedio de transferencia de 600 Mhz. En la actualidad hay dos generaciones de Rambus: base y concurrente. DIRECT RAMBUS: es la tercera generación de Rambus. Sus módulos se denominan RIMM y SO-RIMM. Direct RDRAM utiliza también el RSL, pero tiene una frecuencia mas alta (800 Mhz) y mejora su eficiencia en un 90 por ciento. Un solo canal de DIRECT RDRAM puede transmitir un ancho de banda de 1.6 Gb por segundo. El RIMM tiene 184 pines y chips de 2,5 voltios. Las Motherboard pueden soportar hasta 3 sockets RIMM, con un máximo de 32 chips de DIRECT RDRAM por canal. DIRECT RAMBUS requiere que todos sus sockets estén completos para permitir el traspaso de la señal. Menú. Procedimiento para facilitar al usuario la elección de alternativas a través de un Menú de opciones. Microsoft. Compañía creadora de los sistemas operativos Windows 95, 98, NT, 2000, XP; de los controles Active X, y del navegador IE de WWW entre otros recursos. Fundado por Bill Gates www.microsoft.com Milisegundo. Unidad de tiempo, equivalente a una milésima parte de un segundo (ms). MySQL. MySql es un gestor de Bases de Datos multiusuario que gestiona bases de datos relacionales poniendo las tablas en ficheros diferenciados. Es muy criticado porque carece de muchos elementos vitales en bases de datos relacionales y no es posible lograr una integridad referencial verdadera. Es más utilizado en plataformas Linux aunque puede usarse en otras plataformas. Su uso en un servidor web es gratuito salvo en los casos que se necesite el uso de aplicaciones especiales. Opción de Menú. Elemento de menú. Por ejemplo, Salir es generalmente una de las opciones del Menú Archivo de una aplicación. Pantalla. Palabra que puede tener varios significados dentro de la informática pero el más común y al que nos solemos referir cuando hablamos de ellos es a un dispositivo de salida o periférico, conectado a un ordenador o PC el cual nos sirve para visualizar la información que nos está mostrando el equipo. PERL. Practical Extraction and Report Language -- Lenguaje de programación muy utilizado para la elaboración de aplicaciones CGI, principalmente para realizar consultas a bases de datos como Oracle, SQL-Server, SyBase, etc, o a herramientas locales como WAIS. Perl es un lenguaje para manipular textos, Programación I 168 Dossier Universidad Salesiana de Bolivia Ingeniería de Sistemas archivos y procesos, proporciona una forma fácil y legible para realizar trabajos que normalmente se realizarían en C o en un shell. Perl nació y se ha difundido bajo el sistema operativo UNIX, aunque existe para otras plataformas. Perl fue desarrollado por Larry Wall, y está distribuido libremente bajo la filosofía de la GNU. Pharming. Se denomina Pharming al acto de explotar una vulnerabilidad en el software de un servidor de DNS, que permite que una persona se "adueñe" del dominio de un website, por ejemplo, y redirija el trafico hacia otro sitio. Phishing. "Phishing" (pronunciado como "fishing", "pescar" en inglés) se refiere a comunicaciones fraudulentas diseñadas para inducir a los consumidores a divulgar información personal, financiera o sobre su cuenta, incluyendo nombre de usuario y contraseña, información sobre tarjetas de crédito, entre otros. El correo electrónico comúnmente es utilizado como una herramienta de "phishing" debido a su bajo costo, mayor anonimato para quien lo envía, la habilidad de alcanzar instantáneamente a un grupo grande de usuarios, y el potencial de solicitar una respuesta inmediata. Sin embargo, los estafadores también han usado ventanas "pop-up", correo directo y llamadas telefónicas. Este tipo de correos electrónicos generalmente parecen provenir de instituciones financieras, compañías de seguros o minoristas legítimos. Técnicas tales como una dirección "De" o "From" falsa, el uso de logos aparentemente auténticos de instituciones financieras, o gráficos y ligas a sitios, suelen ser usados para engañar a los clientes y hacerles creer que están tratando con un pedido legítimo acerca de su información personal. Estos correos electrónicos fraudulentos usualmente crean un falso sentido de urgencia destinado a provocar que el destinatario tome una acción inmediata; por ejemplo, frecuentemente invitan a los destinatarios a validar o actualizar información de su cuenta, o a llevar a cabo una cancelación. PHP. PHP, acrónimo de "PHP: Hypertext Preprocessor", es un lenguaje interpretado de alto nivel embebido (insertado) en páginas HTML Pirata. Apelativo atribuido a las personas que hacen uso del software creado por terceros, a través de copias obtenidas ilegalmente. Al software no original se le denomina "copia pirata". Proceso. Término empleado para describir los procesos que se llevan a cabo en el sistema. Cuando el ordenador se encuentra en funcionamiento se ejecutan diferentes procesos, la mayoría de las veces en segundo plano, y de manera encubierta para el usuario. El término proceso puede aplicarse a cualquier acción, como la ejecución de una aplicación, un servicio de cola de impresión, etc. Programa. Instrucciones que varían según el lenguaje que se utiliza, pero cuyo fin es el de controlar las acciones que tiene que llevar a cabo el ordenador y sus periféricos. Pseudocódigo. Herramienta de análisis de programación. Versiones falsificadas y abreviadas de las actuales instrucciones de computadora que son escritas en lenguaje ordinario natural. Programa de instalación. Un programa que prepara a un paquete de software para su ejecución en la computadora. Copia los archivos de los disquetes y discos de distribución hacia el disco duro y si es necesario, también lo descomprime. Solicita al usuario que identifique los tipos de dispositivos periféricos que están conectados para poder enlazar los controladores apropiados para una determinada presentación por pantalla, impresora, explorador, etc. Puede requerir asimismo un nombre y número de serie para particularizar la pantalla de inicio de la aplicación. Programación I 169 Dossier Universidad Salesiana de Bolivia Queue. Ingeniería de Sistemas (Cola) En informática una Cola es una serie de datos que están a la espera de ser manipulados. RAM. (Ramdom Access Memory, memoria de acceso aleatorio). Los programas que se ejecutan en el ordenador, así como los datos de las variables que utilizan estos programas, deben estar almacenados en un lugar accesible para el microprocesador. Este lugar se denomina memoria y, físicamente, está formada por una serie de chips comunicados con el microprocesador a través del bus de direcciones y el bus de datos. En la memoria RAM se guardan los datos y pueden ser modificados y leídos constantemente. Esta información se borra cuando se apaga el ordenador debido a que necesitan estar alimentadas constantemente. Realidad Virtual - VRML. Definitivamente un término muy sonado y controversial. En éstos días en que todo es virtual, encontramos mucha confusión en las personas expuestas de una u otra forma a los nuevos medios. En el nombre en sí hay una gran contradicción: Realidad Virtual. Algo que es, pero no es. Sin embargo no tenemos que complicarnos la vida tratando de explicar la paradoja. La realidad virtual es una representación de las cosas a través de medios electrónicos, que nos da la sensación de estar en una situación real en la que podemos interactuar con lo que nos rodea. Para aquellos que prefieran examinar con mayor detalle sus características, a continuación hay información a mayor profundidad sobre realidad virtual: La realidad virtual puede ser de dos tipos: inmersiva y no inmersiva. Los métodos inmersivos de realidad virtual con frecuencia se ligan a un ambiente tridimensional creado por computadora el cual se manipula a través de cascos, guantes u otros dispositivos que capturan la posición y rotación de diferentes partes del cuerpo humano. La realidad virtual no inmersiva utiliza medios como el que actualmente nos ofrece Internet en el cual podemos interactuar a tiempo real con diferentes personas en espacios y ambientes que en realidad no existen sin la necesidad de dispositivos adicionales a la computadora. La realidad virtual no inmersiva ofrece un nuevo mundo a través de una ventana de escritorio. Este enfoque no inmersivo tiene varias ventajas sobre el enfoque inmersivo como: bajo costo y fácil y rápida aceptación de los usurarios. Los dispositivos inmersivos son de alto costo y generalmente el usurario prefiere manipular el ambiente virtual por medio de dispositivos familiares como son el teclado y el ratón que por medio de cascos pesados o guantes. Actualmente Internet nos provee con medios para reunirnos con diferentes personas en el mismo espacio virtual. En este sentido Internet tiende a ser un mecanismo de telepresencia. Este medio nos brinda con espacios o realidades que físicamente no existen pero que sin embargo forman parte de nuestras formas de vida. Es a través de Internet como nace VRML, que es un estándar para la creación de mundos virtuales no inmersivos. VRML es un acrónimo para Virtual Reality Modeling Language (Lenguaje para Modelado de Realidad Virtual). Técnicamente hablando, VRML no es un lenguaje para programar realidad virtual inmersiva ni tampoco un lenguaje de modelado. La realidad virtual inmersiva implica una experiencia tridimensional inmersiva y dispositivos externos como cascos o guantes digitales para lograr capturar otros sentidos diferentes al oído y a la vista. VRML no requiere o prevé una inmersión sensorial total. VRML provee un conjunto básico de primitivas para el modelaje geométrico tridimensional y tiene la capacidad de dar comportamiento a los objetos y asignar diferentes animaciones que pueden ser activadas por eventos generados por diferentes usuarios. Programación I 170 Dossier Universidad Salesiana de Bolivia Ingeniería de Sistemas Reboot. (Reiniciar). Término muy conocido en informática que implica la acción de reiniciar un sistema. Si hablamos de PC's normales, es decir tu ordenador o computadora (por ejemplo) hacer un reboot del sistema implica apagarlo y volver a encenderlo o bien pulsar el botón de RESET. Linux, Windows y otros sistemas también dan la posibilidad de reiniciar o hacer un reboot sin necesidad de pulsar ningún botón físico de nuestro PC, tan solo eligiendo una opción en el menú adecuado. Shareware. (Software compartido) Software que puede usarse en forma gratuita por un periodo especifico. Después de ese tiempo, el usuario está obligado a comprar o registrar el producto. Sistema Operativo. Software que controla el ordenador. Unix es un sistema operativo. También Linux, Windows, OS/2, MacOS, etc. Sniffer o espía. Programa o dispositivo capaz de leer los datos transmitidos por una red. Son programas que monitorean y analizan el tráfico de una red para detectar problemas o cuellos de botella. Si bien su objeto es mantener la eficiencia del tráfico de datos, suele ser utilizados para capturar datos en una red en forma ilegítima. En las redes TCP/IP en las que espían la información de los paquetes, suelen recibir el nombre de programas de espionaje informático de paquetes o packet sniffers. Software. El software está compuesto por los programas que dirigen el funcionamiento de un ordenador. Es la "parte lógica" de la máquina que permite enlazar todos los elementos de hardware de la manera más efectiva posible, permitiéndole realizar cualquier tipo de trabajo. Software libre. Programas desarrollados y distribuidos dándole al usuario la libertad de ejecutar, copiar, distribuir, cambiar y mejorar dicho programa (Linux es un ejemplo) mediante su código fuente. El software libre no es siempre software gratuito (equivocación bastante habitual que tiene su origen de la palabra en inglés "free" que significa tanto "libre" como "gratuito"). Spam. “Propaganda”. Acción de enviar masivamente mensajes de Correo electrónico no deseado a usuarios, generalmente a través de Internet, y casi siempre con propósitos publicitarios. Es una práctica muy impopular e indeseable para todos, excepto para los que difunden publicidad por este medio. Esta práctica se ha extendido también al “bombardeo” de Grupos de debate con mensajes de propaganda no deseados. Spyware. Spyware son unos pequeños programas cuyo objetivo es mandar información, generalmente a empresas de mercadeo, del uso de Internet, websites visitados, etc. del usuario, por medio del Internet. Usualmente estas acciones son llevadas a cabo sin el conocimiento del usuario, y consumen ancho de banda, la computadora se pone lenta, etc. SQL. Structured Query Language. Es un lenguaje especializado de programación que permite realizar consultas (queries) a bases de datos. Los orígenes del SQL están ligados a los de las bases de datos relacionales. En 1970 Dr. E.F. Codd, investigador de IBM, propone el modelo relacional y asociado a este un sublenguaje de acceso a los datos basado en el cálculo de predicados. Basándose en estas ideas los laboratorios de IBM definen el lenguaje SEQUEL (Structured English QUEry Language) que más tarde sería ampliamente implementado por el SGBD experimental System R, desarrollado en 1977 también por IBM. Sin embargo, fue Oracle quien lo introdujo por primera vez en 1979 en un programa comercial. El SEQUEL terminaría siendo el predecesor de SQL. La mayoría de las aplicaciones de bases de datos Programación I 171 Dossier Universidad Salesiana de Bolivia Ingeniería de Sistemas complejas y muchas otras más pequeñas pueden ser manejadas usando SQL. Es un lenguaje de programación interactivo y estandarizado para extraer información y actualizar una base de datos. Start-up disk. (Disco de arranque). Conocemos con este nombre al disco o disquete (disco blando) que nos permite arrancar nuestro PC para poder interactuar con nuestro sistema operativo, con el fin de realizar configuraciones o tareas que no pueden tratarse de otra forma. Es muy común hablar de discos de arranque de Windows, con el que podremos realizar operaciones básicas, basándonos en el antiguo sistema operativo MS-DOS de Microsoft. Estas operaciones podrán ser por ejemplo, la preparación de particiones y formateo de discos duros. Troyano. Remontémonos unos miles de años, hasta el siglo XIII antes de Cristo, y desplacémonos unos miles de kilómetros al Este. Los griegos llevan años y años asediando la ciudad de Troya, situada en la actual Turquía. Finalmente, deciden "abandonar" el asedio. En la playa, tras de sí, dejan un enorme caballo de madera. Un espía griego, Sinón, convence a los troyanos de que se trata de un regalo de los griegos. Los troyanos se llevan el caballo dentro de la ciudad. Durante la noche, Sinón se dirige al caballo y abre una trampilla oculta en él. De la trampilla salen varios soldados griegos que, una vez dentro de Troya, consiguen doblegar la ciudad. Troya es conquistada gracias a un engaño (el del caballo) y a una traición (la de Sinón). Curiosamente, miles de años después, aquel caballo de madera ha servido para nombrar a una de las más peligrosas amenazas informáticas después de los virus, los Caballos de Troya, que reproducen exactamente la misma técnica. Un programa inofensivo llega al ordenador de un usuario desprevenido. El programa se ejecuta y funciona con normalidad aparente. En realidad, y sin que el usuario se dé cuenta, un programa dañino se instala al mismo tiempo que el programa inofensivo. Los más modernos troyanos abren puertos de comunicaciones que permiten el control del ordenador por intrusos a través de Internet. Los troyanos no se pueden considerar virus ya que no se replican o no hacen copias de sí mismos. En realidad son programas que llegan a un ordenador de forma totalmente normal y no producen efectos visibles o apreciables (por lo menos en ese momento). Pueden llegar acompañados de otros programas instalándose, al mismo tiempo, en nuestro ordenador. Al activarse puede dejar huecos en nuestro sistema, a través de los cuales se producen intrusiones. Update. Acción mediante la cual se instala en el sistema una nueva versión de un programa o información. En el caso de los antivirus, las actualizaciones permiten tener resguardo de los virus que han sido creados después del lanzamiento del programa. En referencia al hardware, se trata del cambio o agregado de algún componente del sistema, con el fin de mejorar el rendimiento (velocidad) de la computadora. Upload. Término inglés muy usado en Internet y redes, para designar la acción de subir ficheros o transmitir información a través de una red a otro ordenador que se encuentre conectado. Este término es muy usado actualmente (más conocido) en el desarrollo de páginas web, ya que designamos con este nombre a la acción de subir los ficheros (textos, imágenes, etc.) al PC que está constantemente conectado a Internet y que contienen toda la información de la página para que nosotros podamos visitarla. Usuario. Palabra que describe a la persona que habitualmente utiliza algo, esto es por ejemplo, "el usuario de un ordenador". Un sencillo ejemplo puede ser : La persona que lee un manual, es el usuario del manual. Muchas veces lo describen como "Manual del Usuario" es decir, de la persona que lo va a leer y poner en práctica. Programación I 172 Dossier Universidad Salesiana de Bolivia Ingeniería de Sistemas Variable. Se trata de una estructura matemática que puede almacenar cualquier tipo de información, ya sea numérica, alfanumérica, etc. Para entendernos, una variable podría ser como una caja, en la que puedes introducir cualquier cosa (información). La variable vale justo lo que tiene. Visual Basic. Visual Basic es el lenguaje de programación más sencillo que te permite crear aplicaciones para Windows. Visual - Este término hace referencia a que no todo lo que realicemos tiene porqué estar relacionado con programar o con código. Aunque parezca raro, ya lo entenderás. BASIC - (Beginners All-Purpose Symbolic Instruction Code) El lenguaje de los primeros ordenadores de 16 bits que a muchos de nosotros nos trae nostálgicos recuerdos. Ventajas e inconvenientes de Visual Basic La ventaja principal de este lenguaje de programación es su sencillez para programar aplicaciones de cierta complejidad para Windows, y sus desventajas son la necesidad de archivos adicionales además del ejecutable y cierta lentitud en comparación con otros lenguajes. Hoy en día este último factor es cada vez menos determinante debido a la gran potencia de los ordenadores de última generación. Virus. A parte de los conocidos microbios que nos pueden ocasionar problemas de diversa índole, en informática un virus es un programa que es capaz de realizar diversas operaciones para las cuales fue programado. Los virus pueden ser transmitidos enviando un fichero a través de Internet, mandando un mensaje por correo electrónico o bajándonos un fichero de una página web. Hay algunos virus que son inofensivos y que solo nos gastan alguna que otra broma en el ordenador (mensajes que aparecen de repente, por ejemplo). Otros en cambio son muy peligrosos ya que pueden llegar a borrar toda la información de nuestro PC, e incluso averiarlo. La facilidad de transmisión de los virus por Internet, pueden llegar a ocasionar grandes "destrozos" informáticos si no se está debidamente protegido. Windows. Sistema operativo desarrollado por la empresa Microsoft y cuyas diversas versiones (95, 98, NT, 2000, Me, XP...) dominan de forma abrumadora el mercado de los ordenadores personales. La palabra windows significa literalmente "ventanas" en inglés. Nota: la versión de Windows 3.1 y anteriores no son sistemas operativos. Son programas que trabajan sobre DOS y que permitían facilitar las labores propias de ese antiguo sistema operativo. Worm. (Del inglés, gusano) Es programa similar a un virus que se diferencia de éste en su forma de realizar las infecciones. Mientras que los virus intentan infectar a otros programas copiándose dentro de ellos, los gusanos solamente realizan copias de ellos mismos, o parte de ellos. Programación I 173 Dossier