Estructura de Un PC Manual
Estructura de Un PC Manual
Estructura de Un PC Manual
COMPUTADORA
Máquina capaz de efectuar una secuencia de operaciones mediante un programa, de tal manera, que se
realice un procesamiento sobre un conjunto de datos de entrada, obteniéndose otro conjunto de datos de
salida.
TIPOS DE COMPUTADORAS
COMPUTADORA DIGITAL
Están basadas en dispositivos biestables, i.e., que sólo pueden tomar uno de dos valores posibles:
‘1’ ó ‘0’. Tienen como ventaja, el poder ejecutar diferentes programas para diferentes problemas, sin
tener que la necesidad de modificar físicamente la máquina.
HISTORIA DE LA COMPUTACIÓN
Uno de los primeros dispositivos mecánicos para contar fue el ábaco, cuya historia se remonta a las
antiguas civilizaciones griega y romana. Este dispositivo es muy sencillo, consta de cuentas ensartadas en
varillas que a su vez están montadas en un marco rectangular. Al desplazar las cuentas sobre varillas, sus
posiciones representan valores almacenados, y es mediante dichas posiciones que este representa y
almacena datos. A este dispositivo no se le puede llamar computadora por carecer del elemento
fundamental llamado programa.
Otro de los inventos mecánicos fue la Pascalina inventada por Blaise Pascal (1623 - 1662) de Francia y la
de Gottfried Wilhelm von Leibniz (1646 - 1716) de Alemania. Con estas máquinas, los datos se
representaban mediante las posiciones de los engranajes, y los datos se introducían manualmente
estableciendo dichas posiciones finales de las ruedas, de manera similar a como leemos los números en el
cuentakilómetros de un automóvil.
1
La primera computadora fue la máquina analítica creada por Charles Babbage, profesor matemático de la
Universidad de Cambridge en el siglo XIX. La idea que tuvo Charles Babbage sobre un computador nació
debido a que la elaboración de las tablas matemáticas era un proceso tedioso y propenso a errores. En
1823 el gobierno Británico lo apoyo para crear el proyecto de una máquina de diferencias, un dispositivo
Mientras tanto Charles Jacquard (francés), fabricante de tejidos, 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. Al enterarse de este método Babbage abandonó la máquina de diferencias y se
dedico al proyecto de la máquina analítica que se pudiera programar con tarjetas perforadas para efectuar
cualquier cálculo con una precisión de 20 dígitos. La tecnología de la época no bastaba para hacer realidad
sus ideas.
El mundo no estaba listo, y no lo estaría por cien años más.
En 1944 se construyó en la Universidad de Harvard, la Mark I, diseñada por un equipo encabezado por
Howard H. Aiken. Esta máquina no está considerada como computadora electrónica debido a que no era de
propósito general y su funcionamiento estaba basado en dispositivos electromecánicos llamados
relevadores.
En 1947 se construyó en la Universidad de Pennsylvania la ENIAC (Electronic Numerical Integrator And
Calculator) que fue la primera computadora electrónica, el equipo de diseño lo encabezaron los ingenieros
John Mauchly y John Eckert. Esta máquina ocupaba todo un sótano de la Universidad, tenía más de 18 000
tubos de vacío, consumía 200 KW de energía eléctrica y requería todo un sistema de aire acondicionado,
2
La EDVAC (Electronic Discrete Variable Automatic Computer) fue diseñada por este nuevo equipo. Tenía
aproximadamente cuatro mil bulbos y usaba un tipo de memoria basado en tubos llenos de mercurio por
donde circulaban señales eléctricas sujetas a retardos.
La idea fundamental de von Neumann fue: permitir que en la memoria coexistan datos con instrucciones,
para que entonces la computadora pueda ser programada en un lenguaje, y no por medio de alambres que
eléctricamente interconectaban varias secciones de control, como en la ENIAC.
Todo este desarrollo de las computadoras suele divisarse por generaciones y el criterio que se determinó
para determinar el cambio de generación no está muy bien definido, pero resulta aparente que deben
cumplirse al menos los siguientes requisitos:
La forma en que están construidas.
Primera Generación
En esta generación había un gran desconocimiento de las capacidades de las computadoras, puesto que se
realizó un estudio en esta época que determinó que con veinte computadoras se saturaría el mercado de los
Estados Unidos en el campo de procesamiento de datos.
Esta generación abarco la década de los cincuenta. Y se conoce como la primera generación. Estas
máquinas tenían las siguientes características:
Estas máquinas estaban construidas por medio de tubos de vacío.
En esta generación las máquinas son grandes y costosas (de un costo aproximado de ciento de miles de
dólares).
En 1951 aparece la UNIVAC (UNIVERSAL Computer), fue la primera computadora comercial, que disponía
de mil palabras de memoria central y podían leer cintas magnéticas, se utilizó para procesar el censo de
1950 en los Estados Unidos.
En las dos primeras generaciones, las unidades de entrada utilizaban tarjetas perforadas, retomadas por
Herman Pollerita (1860 - 1929), quien además fundó una compañía que con el paso del tiempo se conocería
como IBM (International Bussines Machines).
Después se desarrolló por IBM la IBM 701 de la cual se entregaron 18 unidades entre 1953 y 1957.
3
Posteriormente, la compañía Remington Rand fabricó el modelo 1103, que competía con la 701 en el campo
científico, por lo que la IBM desarrollo la 702, la cual presentó problemas en memoria, debido a esto no duró
en el mercado.
La computadora más exitosa de la primera generación fue la IBM 650, de la cual se produjeron varios
cientos. Esta computadora que usaba un esquema de memoria secundaria llamado tambor magnético, que
es el antecesor de los discos actuales.
Otros modelos de computadora que se pueden situar en los inicios de la segunda generación son: la
UNIVAC 80 y 90, las IBM 704 y 709, Burroughs 220 y UNIVAC 1105.
Segunda Generación
Cerca de la década de 1960, las computadoras seguían evolucionando, se reducía su tamaño y crecía su
capacidad de procesamiento. También en esta época se empezó a definir la forma de comunicarse con las
computadoras, que recibía el nombre de programación de sistemas.
Las características de la segunda generación son las siguientes:
Están construidas con circuitos de transistores.
En esta generación las computadoras se reducen de tamaño y son de menor costo. Aparecen muchas
compañías y las computadoras eran bastante avanzadas para su época como la serie 5000 de Burroughs y
la ATLAS de la Universidad de Manchester.
Algunas de estas computadoras se programaban con cintas perforadas y otras más por medio de cableado
en un tablero. Los programas eran hechos a la medida por un equipo de expertos: analistas, diseñadores,
programadores y operadores que se manejaban como una orquesta para resolver los problemas y cálculos
solicitados por la administración. El usuario final de la información no tenía contacto directo con las
computadoras. Esta situación en un principio se produjo en las primeras computadoras personales, pues se
requería saberlas “programar” (alimentarle instrucciones) para obtener resultados; por lo tanto su uso estaba
limitado a aquellos audaces pioneros que gustaran de pasar un buen número de horas escribiendo
instrucciones, “corriendo” el programa resultante y verificando y corrigiendo los errores o bugs que
aparecieran. Además, para no perder el “programa” resultante había que “guardarlo” (almacenarlo) en una
grabadora de Casette, pues en esa época no había discos flexibles y mucho menos discos duros para las
PC; este procedimiento podía tomar de 10 a 45 minutos, según el programa. El panorama se modificó
totalmente con la aparición de las computadoras personales con mejore circuitos, más memoria, unidades
de disco flexible y sobre todo con la aparición de programas de aplicación general en donde el usuario
compra el programa y se pone a trabajar. Aparecen los programas procesadores de palabras como el
célebre Word Star, la impresionante hoja de cálculo (spreadsheet) Visicalc y otros más que de la noche a la
mañana cambian la imagen de la PC. El software empieza a tratar de alcanzar el paso del hardware. Pero
aquí aparece un nuevo elemento: el usuario.
4
como del software. Aparece el concepto de human interface que es la relación entre el usuario y su
computadora. Se habla entonces de hardware ergonómico (adaptado a las dimensiones humanas para
reducir el cansancio), diseños de pantallas antirreflejos y teclados que descansen la muñeca. Con respecto
al software se inicia una verdadera carrera para encontrar la manera en que el usuario pase menos tiempo
capacitándose y entrenándose y más tiempo produciendo. Se ponen al alcance programas con menús
(listas de opciones) que orientan en todo momento al usuario (con el consiguiente aburrimiento de los
usuarios expertos); otros programas ofrecen toda una artillería de teclas de control y teclas de funciones
(atajos) para efectuar toda suerte de efectos en el trabajo (con la consiguiente desorientación de los
usuarios novatos). Se ofrecen un sinnúmero de cursos prometiendo que en pocas semanas hacen de
cualquier persona un experto en los programas comerciales. Pero el problema “constante” es que ninguna
solución para el uso de los programas es “constante”. Cada nuevo programa requiere aprender nuevos
controles, nuevos trucos, nuevos menús. Se empieza a sentir que la relación usuario-PC no está acorde con
los desarrollos del equipo y de la potencia de los programas. Hace falta una relación amistosa entre el
usuario y la PC.
Las computadoras de esta generación fueron: la Philco 212 (esta compañía se retiró del mercado en 1964)
y la UNIVAC M460, la Control Data Corporation modelo 1604, seguida por la serie 3000, la IBM mejoró la
709 y sacó al mercado la 7090, la National Cash Register empezó a producir máquinas para proceso de
datos de tipo comercial, introdujo el modelo NCR 315.
La Radio Corporation of América introdujo el modelo 501, que manejaba el lenguaje COBOL, para procesos
administrativos y comerciales. Después salió al mercado la RCA 601.
Tercera generación
Con los progresos de la electrónica y los avances de comunicación con las computadoras en la década de
los 1960, surge la tercera generación de las computadoras. Se inaugura con la IBM 360 en abril de 1964.3
5
La IBM produce la serie 360 con los modelos 20, 22, 30, 40, 50, 65, 67, 75, 85, 90, 195 que utilizaban
técnicas especiales del procesador, unidades de cinta de nueve canales, paquetes de discos magnéticos y
otras características que ahora son estándares (no todos los modelos usaban estas técnicas, sino que
estaba dividido por aplicaciones).
El sistema operativo de la serie 360, se llamó OS que contaba con varias configuraciones, incluía un
conjunto de técnicas de manejo de memoria y del procesador que pronto se convirtieron en estándares.
En 1964 CDC introdujo la serie 6000 con la computadora 6600 que se consideró durante algunos años
como la más rápida.
En la década de 1970, la IBM produce la serie 370 (modelos 115, 125, 135, 145, 158, 168). UNIVAC
compite son los modelos 1108 y 1110, máquinas en gran escala; mientras que CDC produce su serie 7000
con el modelo 7600. Estas computadoras se caracterizan por ser muy potentes y veloces.
A finales de esta década la IBM de su serie 370 produce los modelos 3031, 3033, 4341. Burroughs con su
serie 6000 produce los modelos 6500 y 6700 de avanzado diseño, que se reemplazaron por su serie 7000.
Honey - Well participa con su computadora DPS con varios modelos.
A mediados de la década de 1970, aparecen en el mercado las computadoras de tamaño mediano, o
minicomputadoras que no son tan costosas como las grandes (llamadas también como mainframes que
significa también, gran sistema), pero disponen de gran capacidad de procesamiento. Algunas
minicomputadoras fueron las siguientes: la PDP - 8 y la PDP - 11 de Digital Equipment Corporation, la VAX
(Virtual Address eXtended) de la misma compañía, los modelos NOVA y ECLIPSE de Data General, la serie
3000 y 9000 de Hewlett - Packard con varios modelos el 36 y el 34, la Wang y Honey - Well -Bull, Siemens
de origen alemán, la ICL fabricada en Inglaterra. En la Unión Soviética se utilizó la US (Sistema Unificado,
Ryad) que ha pasado por varias generaciones.
Cuarta Generación
Aquí aparecen los microprocesadores que es un gran adelanto de la microelectrónica, son circuitos
integrados de alta densidad y con una velocidad impresionante. Las microcomputadoras con base en estos
circuitos son extremadamente pequeñas y baratas, por lo que su uso se extiende al mercado industrial. Aquí
nacen las computadoras personales que han adquirido proporciones enormes y que han influido en la
6
En 1981 se vendieron 800 00 computadoras personales, al siguiente subió a 1 400 000. Entre 1984 y 1987
se vendieron alrededor de 60 millones de computadoras personales, por lo que no queda duda que su
impacto y penetración han sido enormes.
Con el surgimiento de las computadoras personales, el software y los sistemas que con ellas de manejan
han tenido un considerable avance, porque han hecho más interactiva la comunicación con el usuario.
Surgen otras aplicaciones como los procesadores de palabra, las hojas electrónicas de cálculo, paquetes
gráficos, etc. También las industrias del Software de las computadoras personales crece con gran rapidez,
Gary Kildall y William Gates se dedicaron durante años a la creación de sistemas operativos y métodos para
lograr una utilización sencilla de las microcomputadoras (son los creadores de CP/M y de los productos de
Microsoft).
No todo son microcomputadoras, por supuesto, las minicomputadoras y los grandes sistemas continúan en
desarrollo. De hecho las máquinas pequeñas rebasaban por mucho la capacidad de los grandes sistemas
de 10 o 15 años antes, que requerían de instalaciones costosas y especiales, pero sería equivocado
suponer que las grandes computadoras han desaparecido; por el contrario, su presencia era ya ineludible
en prácticamente todas las esferas de control gubernamental, militar y de la gran industria. Las enormes
computadoras de las series CDC, CRAY, Hitachi o IBM por ejemplo, eran capaces de atender a varios
cientos de millones de operaciones por segundo.
Quinta Generación
El futuro previsible de la computación es muy interesante, y se puede esperar que esta ciencia siga siendo
objeto de atención prioritaria de gobiernos y de la sociedad en conjunto.
7
Las computadoras digitales actuales se ajustan al modelo propuesto por el matemático John Von Neumann.
De acuerdo con él, una característica importante de este modelo es que tanto los datos como los
programas, se almacenan en la memoria antes de ser utilizados.
ESTRUCTURA DE UN PC
Visto externamente, un PC tiene cuatro partes básicas: la unidad central o CPU, el teclado, el ratón y el
monitor. Me centraré en las diferentes zonas, componentes y unidades de la CPU. Más adelante analizaré
los otros componentes y periféricos.
Dentro de la caja o torre de la unidad central (en adelante CPU), encontraremos los siguientes
componentes:
PLACA BASE
También llamada placa madre o placa principal. Es el nexo de unión de todos los componentes, y por
ella circula toda la información procesada por el ordenador. es el elemento principal de todo ordenador, en
el que se encuentran o al que se conectan todos los demás aparatos y dispositivos.
Pasemos a analizarla más detalladamente viendo su forma física y los componentes que la forman.
8
Las placas base existen en diferentes formas y con diversos conectores para periféricos. Para abaratar
costes permitiendo la intercambiabilidad entre placas base, los fabricantes han ido definiendo varios
estándares que agrupan recomendaciones sobre su tamaño y la disposición de los elementos sobre ellas.
De cualquier forma, el hecho de que una placa pertenezca a una u otra categoría no tiene nada que ver, al
menos en teoría, con sus prestaciones ni calidad. La expuesta se trata del formato ATX, es el más común, y
es en el que me centraré
Físicamente, se trata de una "oblea" de material sintético, sobre la cual existe un circuito electrónico que
conecta diversos elementos que se encuentran anclados sobre ella; los principales son:
El microprocesador, "pinchado" en un elemento llamado zócalo.
La memoria, generalmente en forma de módulos.
Los slots o ranuras de expansión donde se conectan las tarjetas.
Diversos chips de control, entre ellos la BIOS.
Microprocesador
9
Los micros, suelen tener forma de cuadrado o rectángulo negro, y van sobre un elemento llamado
zócalo (socket en inglés), soldados en la placa o, metidos dentro de una especie de cartucho que se
conecta a la placa base (aunque el chip en sí está soldado en el interior de dicho cartucho).
La velocidad de un micro se mide en megahercios (MHz). Debido a la extrema dificultad de fabricar
componentes electrónicos que funcionen a las inmensas velocidades de MHz habituales hoy en día, todos
los micros modernos tienen 2 velocidades:
Velocidad interna: la velocidad a la que funciona el micro internamente (200, 333, 450... MHz).
Velocidad externa o de bus: o también "FSB"; la velocidad con la que se comunican el micro y la
placa base, para poder abaratar el precio de ésta. Típicamente, 33, 60, 66, 100 ó 133 MHz.
La cifra por la que se multiplica la velocidad externa o de la placa para dar la interna o del micro es
el multiplicador; por ejemplo, un Pentium III a 450 MHz utiliza una velocidad de bus de 100 MHz y un
multiplicador 4,5x.
Partes de un microprocesador
El encapsulado: Es lo que rodea a la oblea de silicio en sí, para darle consistencia, impedir su
deterioro (por ejemplo por oxidación con el aire) y permitir el enlace con los conectores externos que
lo acoplarán a su zócalo o a la placa base.
La memoria caché: Una memoria ultrarrápida que sirve al micro para tener a mano ciertos datos
que previsiblemente serán utilizados en las siguientes operaciones sin tener que acudir a la
memoria RAM, reduciendo el tiempo de espera. Es lo que se conoce como caché de primer nivel o
L1; es decir, la que está más cerca del micro, tanto que está encapsulada junto a él. Todos los
micros tipo Intel desde el 486 tienen esta memoria, también llamada caché interna.
El coprocesador matemático: Más correctamente, la FPU, (Unidad de coma Flotante). Parte del
micro especializada en esa clase de cálculos matemáticos; también puede estar en el exterior del
micro, en otro chip.
El resto del micro: El cual tiene varias partes (unidad de enteros, registros, etc.) que no merece la
pena detallar aquí.
Es el lugar donde se inserta el "cerebro" del ordenador. Veamos en detalle los tipos más comunes de
zócalo:
PGA: Son el modelo clásico, usado en el 386 y el 486; consiste en un cuadrado de conectores en
forma de agujero donde se insertan las patitas del chip por pura presión. Según el chip, tiene más o
menos agujeritos.
10
ZIF: Eléctricamente es como un PGA, aunque gracias a un sistema mecánico permite introducir el
micro sin necesidad de fuerza alguna. Apareció en la época del 486 y sus distintas versiones
(sockets 3, 5 y 7, principalmente) se han utilizado hasta que apareció el Pentium II. Actualmente se
fabrican tres tipos de zócalos ZIF:
o Socket 7 "Súper 7": Variante del Socket 7 que se caracteriza por poder usar velocidades
de bus de hasta 100 MHz, es el que utilizan los micros AMD K6-2.
o Socket 370 o PGA370: Físicamente similar al anterior, pero incompatible con él por utilizar
un bus distinto. Dos versiones: PPGA (la más antigua, sólo para micros Intel Celeron
Mendocino) y FC-PGA (para Celeron y los más recientes Pentium III).
o Socket A: Utilizado únicamente por los más recientes AMD K7 Athlon y por los AMD Duron.
Slot 1: Físicamente, no se parece a nada de lo anterior. En vez de un rectángulo con agujeros para
las patitas del chip, es un slot, una especie de conector alargado como los ISA o PCI.
Slot A: La respuesta de AMD al Slot 1; físicamente ambos "slots" son idénticos, pero lógica y
eléctricamente son totalmente incompatibles. Utilizado únicamente por el AMD K7 Athlon.
Otros: En ocasiones, no existe zócalo en absoluto, sino que el chip está soldado a la placa, en cuyo
caso a veces resulta hasta difícil de reconocer. Es el caso de muchos 8086, 286 y 386SX.
O bien se trata de chips antiguos (esos 8086 o 286), que tienen forma rectangular alargada
(parecida a la del chip de BIOS) y patitas planas en vez de redondas; en este caso, el zócalo es
asimismo rectangular, del modelo que se usa para multitud de chips electrónicos de todo tipo.
Antiguamente, los chips de RAM se colocaban uno a uno sobre la placa, de la forma en que aún se
hace en las tarjetas de vídeo, lo cual no era una buena idea debido al número de chips que podía llegar a
ser necesario y a la delicadeza de los mismos; por ello, se agruparon varios chips de memoria soldados a
una plaquita, dando lugar a lo que se conoce como módulo.
Estos módulos han ido variando en tamaño, capacidad y forma de conectarse; al comienzo los
había que se conectaban a la placa mediante unas patitas muy delicadas, lo cual se desechó del todo hacia
la época del 386 por los llamados módulos SIMM, que tienen los conectores sobre el borde del módulo.
Los SIMM originales tenían 30 conectores, esto es, 30 contactos, y medían unos 8,5 cm. Hacia
finales de la época del 486 aparecieron los de 72 contactos, más largos: unos 10,5 cm. Este proceso ha
seguido hasta desembocar en los actuales módulos DIMM, de 168 contactos y 13 cm.
11
La memoria principal o RAM ( Random Access Memory, Memoria de Acceso Aleatorio) es donde
el ordenador guarda los datos que está utilizando en el momento presente; son los "megas" famosos en
número de 32, 64 ó 128 que aparecen en los anuncios de ordenadores.
Físicamente, los chips de memoria son rectángulos negros que suelen ir soldados en grupos a unas
plaquitas con "pines" o contactos.
La diferencia entre la RAM y otros tipos de memoria de almacenamiento,
como los disquetes o los discos duros, es que la RAM es mucho más rápida, y
que se borra al apagar el ordenador, no como éstos.
Tipos de RAM
12
La ventaja de la memoria EDO es que mantiene los datos en la salida hasta el siguiente acceso a memoria.
Esto permite al procesador ocuparse de otras tareas sin tener que atender a la lenta memoria. Esto es, el
procesador selecciona la posición de memoria, realiza otras tareas y cuando vuelva a consultar la DRAM los
datos en la salida seguirán siendo válidos. Se presenta en módulos SIMM de 72 contactos (32 bits) y
módulos DIMM de 168 contactos (64 bits).
SDRAM: Sincronic-RAM. Es un tipo síncrono de memoria, que, lógicamente, se sincroniza con el
procesador, es decir, el procesador puede obtener información en cada ciclo de reloj, sin estados de espera,
como en el caso de los tipos anteriores. Sólo se presenta en forma de DIMM de 168 contactos; es la opción
para ordenadores nuevos.
SDRAM funciona de manera totalmente diferente a FPM o EDO. DRAM, FPM y EDO transmiten los datos
mediante señales de control, en la memoria SDRAM el acceso a los datos esta sincronizado con una señal
de reloj externa.
La memoria EDO está pensada para funcionar a una velocidad máxima de BUS de 66 MHz, llegando a
alcanzar 75MHz y 83 MHz. Sin embargo, la memoria SDRAM puede aceptar velocidades de BUS de hasta
100 MHz, lo que dice mucho a favor de su estabilidad y ha llegado a alcanzar velocidades de 10 ns. Se
presenta en módulos DIMM de 168 contactos (64 bits). El ser una memoria de 64 bits, implica que no es
necesario instalar los módulos por parejas de módulos de igual tamaño, velocidad y marca
PC-100 DRAM: Este tipo de memoria, en principio con tecnología SDRAM, aunque también la habrá EDO.
La especificación para esta memoria se basa sobre todo en el uso no sólo de chips de memoria de alta
calidad, sino también en circuitos impresos de alta calidad de 6 o 8 capas, en vez de las habituales 4; en
cuanto al circuito impreso este debe cumplir unas tolerancias mínimas de interferencia eléctrica; por último,
los ciclos de memoria también deben cumplir unas especificaciones muy exigentes. De cara a evitar
posibles confusiones, los módulos compatibles con este estándar deben estar identificados así: PC100-abc-
def.
BEDO (burst Extended Data Output): Fue diseñada originalmente para soportar mayores velocidades de
BUS. Al igual que la memoria SDRAM, esta memoria es capaz de transferir datos al procesador en cada
ciclo de reloj, pero no de forma continuada, como la anterior, sino a ráfagas (bursts), reduciendo, aunque no
suprimiendo totalmente, los tiempos de espera del procesador para escribir o leer datos de memoria.
RDRAM: (Direct Rambus DRAM). Es un tipo de memoria de 64 bits que puede producir ráfagas de 2ns y
puede alcanzar tasas de transferencia de 533 MHz, con picos de 1,6 GB/s. Pronto podrá verse en el
mercado y es posible que tu próximo equipo tenga instalado este tipo de memoria. Es el componente ideal
para las tarjetas gráficas AGP, evitando los cuellos de botella en la transferencia entre la tarjeta gráfica y la
memoria de sistema durante el acceso directo a memoria (DIME) para el almacenamiento de texturas
gráficas. Hoy en día la podemos encontrar en las consolas NINTENDO 64.
DDR SDRAM: (Double Data Rate SDRAM o SDRAM-II). Funciona a velocidades de 83, 100 y 125MHz,
pudiendo doblar estas velocidades en la transferencia de datos a memoria. En un futuro, esta velocidad
puede incluso llegar a triplicarse o cuadriplicarse, con lo que se adaptaría a los nuevos procesadores. Este
tipo de memoria tiene la ventaja de ser una extensión de la memoria SDRAM, con lo que facilita su
implementación por la mayoría de los fabricantes.
13
SLDRAM: Funcionará a velocidades de 400MHz, alcanzando en modo doble 800MHz, con transferencias
de 800MB/s, llegando a alcanzar 1,6GHz, 3,2GHz en modo doble, y hasta 4GB/s de transferencia. Se cree
que puede ser la memoria a utilizar en los grandes servidores por la alta transferencia de datos.
ESDRAM: Este tipo de memoria funciona a 133MHz y alcanza transferencias de hasta 1,6 GB/s, pudiendo
llegar a alcanzar en modo doble, con una velocidad de 150MHz hasta 3,2 GB/s.
La memoria FPM (Fast Page Mode) y la memoria EDO también se utilizan en tarjetas gráficas, pero existen
además otros tipos de memoria DRAM, pero que SÓLO se utilizan en TARJETAS GRÁFICAS, y son los
siguientes:
MDRAM (Multibank DRAM) Es increíblemente rápida, con transferencias de hasta 1 GIGA/s, pero su coste
también es muy elevado.
SGRAM (Synchronous Graphic RAM) Ofrece las sorprendentes capacidades de la memoria SDRAM para
las tarjetas gráficas. Es el tipo de memoria más popular en las nuevas tarjetas gráficas aceleradoras 3D.
VRAM Es como la memoria RAM normal, pero puede ser accedida al mismo tiempo por el monitor y por el
procesador de la tarjeta gráfica, para suavizar la presentación gráfica en pantalla, es decir, se puede leer y
escribir en ella al mismo tiempo.
WRAM (Windows RAM) Permite leer y escribir información de la memoria al mismo tiempo, como en la
VRAM, pero está optimizada para la presentación de un gran número de colores y para altas resoluciones
de pantalla. Es un poco más económica que la anterior.
Para procesadores lentos, por ejemplo el 486, la memoria FPM era suficiente. Con procesadores más
rápidos, como los Pentium de primera generación, se utilizaban memorias EDO. Con los últimos
procesadores Pentium de segunda y tercera generación, la memoria SDRAM es la mejor solución.
La memoria más exigente es la PC100 (SDRAM a 100 MHz), necesaria para montar un AMD K6-2 o un
Pentium a 350 MHz o más. Va a 100 MHz en vez de los 66 MHZ usuales.
La memoria ROM se caracteriza porque solamente puede ser leída (ROM=Read Only Memory). Alberga
una información esencial para el funcionamiento del computador, que por lo tanto no puede ser modificada
porque ello haría imposible la continuidad de ese funcionamiento.
Uno de los elementos más característicos de la memoria ROM, es el BIOS, (Basic Input-Output System =
sistema básico de entrada y salida de datos) que contiene un sistema de programas mediante el cual el
computador “arranca” o “inicializa”, y que están “escritos” en forma permanente en un circuito de los
denominados CHIPS que forman parte de los componentes físicos del computador, llamados “hardware”.
Memoria CACHÉ
Caché es un tipo de memoria del ordenador; por tanto, en ella se guardarán datos que el ordenador
necesita para trabajar. ¿Pero no era eso la RAM?, te preguntarás. Bueno, en parte sí. A decir verdad, la
memoria principal del ordenador (la RAM, los famosos 32, 64, 128 etc. “megas") y la memoria caché son
básicamente iguales en muchos aspectos; la diferencia está en el uso que se le da a la caché.
Debido a la gran velocidad alcanzada por los microprocesadores, la RAM del ordenador no es lo
suficientemente rápida para almacenar y transmitir los datos que el microprocesador (el "micro" en adelante)
14
necesita, por lo que tendría que esperar a que la memoria estuviera disponible y el trabajo se ralentizaría.
Para evitarlo, se usa una memoria muy rápida, estratégicamente situada entre el micro y la RAM: la
memoria caché.
Ésta es la baza principal de la memoria caché: es muy rápida, unas 5 ó 6 veces más que la RAM.
Esto la encarece bastante, claro está, y ése es uno de los motivos de que su capacidad sea mucho menor
que el de la RAM: un máximo en torno a 512 kilobytes (512 Kb), es decir, medio "mega", frente a los megas
de la RAM.
Pero la caché no sólo es rápida; además, se usa con una finalidad específica. Cuando un ordenador
trabaja, el micro opera en ocasiones con un número reducido de datos, pero que tiene que traer y llevar a la
memoria en cada operación. Si situamos en medio del camino de los datos una memoria
intermedia que almacene los datos más usados, los que casi seguro necesitará el micro
en la próxima operación que realice, se ahorrará mucho tiempo del tránsito y acceso a la
lenta memoria RAM; esta es la segunda utilidad de la caché.
Para los que tengan curiosidad por ver cómo es la caché (aunque en muchas
ocasiones no resulta fácil de reconocer, por venir encapsulada en algún tipo de chip de control o toda junta
en un único chip), aquí tienen una foto de unos chips de caché:
El tamaño de la Caché
Aunque la caché sea de mayor velocidad que la RAM, si usamos una caché muy grande, el micro
tardará un tiempo apreciable en encontrar el dato que necesita. Esto no sería muy importante si el dato
estuviera allí, pero ¿y si no está? Entonces habrá perdido el tiempo, y tendrá que sumar ese tiempo perdido
a lo que tarde en encontrarlo en la RAM.
Por tanto, la caché actúa como un resumen, una "chuleta" de los datos de la RAM, y todos sabemos
que un resumen de 500 páginas no resulta nada útil. Se puede afirmar que, para usos normales, a partir de
1 MB (1024 Kb) la caché resulta ineficaz, e incluso pudiera llegar a ralentizar el funcionamiento del
ordenador. El tamaño idóneo depende del de la RAM.
La caché interna o L1
La caché a la que me he referido hasta ahora es la llamada "caché externa" o de segundo nivel
(L2). Existe otra, cuyo principio básico es el mismo, pero que está incluida en el interior del micro; de ahí lo
de interna, o de primer nivel (L1).
Esta caché funciona como la externa, sólo que está más cerca del micro, es más rápida, además de
complicar el diseño del micro, por lo que su tamaño se mide en pocas decenas de kilobytes.
La importancia de esta caché es fundamental; por ejemplo, los Pentium MMX son más rápidos que
los Pentium normales en aplicaciones no optimizadas para MMX, gracias a tener el doble de caché interna.
Aunque en general no se puede elegir qué memoria caché adquirir con el ordenador, puesto que se
vende conjuntamente con la placa base (o con el micro, si es un Pentium II, un Pentium III o un Mendocino),
15
conviene tener claros unos cuantos conceptos por si se diera el caso de tener varias opciones a nuestra
disposición.
Ante todo, el tipo de memoria empleada para fabricar la caché es uno de los factores más
importantes. Suele ser memoria de un tipo muy rápido (como por ejemplo SRAM o SDRAM). La velocidad
de la caché influye en su rendimiento, como es obvio. Las cachés se mueven en torno a los 10
nanosegundos (ns) de velocidad de refresco; es decir, que cada 10 ns pueden admitir una nueva serie de
datos. Por tanto, a menor tiempo de refresco, mayor velocidad.
El último parámetro que influye en las cachés es la forma de escribir los datos en ellas. Esto se
suele seleccionar en la BIOS, bien a mano o dejando que lo haga el ordenador automáticamente; las dos
formas principales son: Write-Througth: indica el modo clásico de trabajo de la caché; Write-Back: un
modo más moderno y eficaz de gestionar la caché.
CHIPSET
Analizaré sólo los chipsets para Pentium y superior, ya que el chipset de un 486 o inferior no es de
mayor importancia por estar en general todos en un nivel similar de prestaciones y rendimiento, además de
totalmente descatalogados. Tampoco analizaré todas las marcas, sino sólo las más conocidas o de más
interés; de cualquier forma, muchas veces se encuentran chipsets aparentemente desconocidos que no son
sino chipsets VIA, ALI o SIS bajo otra marca.
De Intel (Tritones)
16
Fueron la primera incursión de Intel en el mundo de los chipsets,
430 FX: El Tritón clásico, de apabullante éxito. Un chipset bastante apropiado para los Pentium
"normales" (no MMX) con memorias tipo EDO. Hoy en día desfasado y descatalogado.
430 HX: El Tritón II, la opción profesional del anterior. Mucho más rápido y con soporte para placas
duales (con 2 micros). Algo anticuado pero muy bueno.
430 VX: ¿El Tritón III? Más bien el 2.5; algo más lento que el HX, pero con soporte para memoria
SDRAM. Se puede decir que es la revisión del FX,
430 TX: El último chipset de Intel para placas Pentium (placas socket 7).
De VIA (Apollos)
Unos chipsets bastante buenos, se caracterizan por tener soporte para casi todo lo
imaginable (memorias SDRAM o BEDO, UltraDMA, USB...); su pelea está en la gama del
HX o TX, aunque suelen ser algo más lentos que éstos al equiparlos con micros Intel, no así
con micros de AMD o Cyrix-IBM.
Lo bueno de las placas con chipsets VIA es que siguen en el mercado socket 7, por
lo que tienen soporte para todas las nuevas tecnologías como el AGP o los buses a 100
MHz, además de que su calidad suele ser intermedia-alta. En las placas con chipsets Intel hay un abanico
muy amplio entre placas muy buenas y otras francamente malas, además de estar ya desfasadas (ningún
chipset Intel para socket 7 soporta AGP, por ejemplo).
El último chipset de VIA para socket 7, el MPV3, ofrece todas las prestaciones del BX de Intel
(excepto soporte para placas duales), configurando lo que se denomina una placa Súper 7 (con AGP y bus
a 100 MHz), que con un micro como el nuevo AMD K6-2 no tiene nada que envidiar a un equipo con
Pentium II.
La BIOS
17
Resulta evidente que la BIOS debe poderse modificar para alterar estos datos (al añadir un disco
duro o cambiar al horario de verano, por ejemplo); por ello las BIOS se implementan en memoria. Pero
además debe mantenerse cuando apaguemos el ordenador, pues no tendría sentido tener que introducir
todos los datos en cada arranque; por eso se usan memorias especiales, que no se borran al apagar el
ordenador: memorias tipo CMOS, por lo que muchas veces el programa que modifica la BIOS se denomina
"CMOS Setup".
En realidad, estas memorias sí se borran al faltarles la electricidad; lo que ocurre es que consumen
tan poco que pueden ser mantenidas durante años con una simple pila, en ocasiones de las de botón (como
las de los relojes). Esta pila (en realidad un acumulador) se recarga cuando el ordenador está encendido.
Entrando en la BIOS
Todo esto sucede en apenas unos segundos; a veces, si el monitor está frío y tarda en encender,
resulta casi imposible verlos.
Al conjunto de esos mensajes se le denomina POST (Power-On Self Test, literalmente autotesteo
de encendido), y debe servirnos para verificar que no existen mensajes de error, para ver si, la cantidad de
memoria corresponde a la que debería (puede que sean unos pocos cientos de bytes menos, eso es normal
y no es un error, es que se usan para otras tareas) y para averiguar cómo se entra en la BIOS.
Generalmente se hará mediante la pulsación de ciertas teclas al arrancar, mientras salen esos
mensajes. Uno de los métodos más comunes es pulsar "Del", aunque en otras se usa el "F1", el "Esc" u otra
combinación de teclas (Alt-Esc, Alt-F1...). Existen decenas de métodos, así que no queda más remedio que
estar atento a la pantalla o buscar en el manual de la placa o en el sitio web del fabricante de la BIOS.
Manejo básico
Las BIOS clásicas se manejan con el teclado, típicamente con los cursores y las teclas de Intro
("Enter"), "Esc" y la barra espaciadora, aunque también existen BIOS gráficas, las llamadas WinBIOS, que
se manejan con el ratón en un entorno de ventanas.
Existen varios apartados comunes a todas las BIOS:
Configuración básica.
Opciones de la BIOS.
Configuración avanzada y del chipset.
18
Periféricos integrados.
Administración de energía.
Configuración PNP y slot PCI.
Autoconfiguración.
Otras utilidades, en uno o varios apartados (autoconfiguración de la BIOS, manejo de PCI,
introducción de contraseñas -passwords-, auto detección de discos duros...).
Configuración básica
Bajo el nombre de Standard CMOS Setup o similar, se suele englobar la puesta al día de la fecha y
hora del sistema, así como la configuración de discos duros y disqueteras. Para cambiar la fecha y hora hay
que situarse sobre ella e introducir la nueva, bien mediante el teclado, los cursores o las teclas de avance y
retroceso de página.
El tipo de disquetera y pantalla es también sencillo de entender y manejar. Salvo casos de equipos
antiguos, la pantalla será VGA o bien EGA, esto último es bastante raro; cuando dice "monocromo" suele
referirse a pantallas MGA, no a las VGA de escala de grises modernas.
Lo más difícil está en la configuración de los discos duros. En general serán únicamente discos del
tipo IDE (incluyendo los EIDE, Ata-4, Ultra-DMA y demás ampliaciones del estándar), en ningún caso SCSI
ni otros antiguos como MFM o ESDI, que se configuran de otras formas, por ejemplo mediante otra BIOS de
la propia controladora SCSI.
En los casos antiguos (muchos 486 y anteriores) podremos dar valores sólo a dos discos duros, que
se configuran como Maestro, master, el primero y Esclavo, slave, el segundo, del único canal IDE
disponible. En los casos más modernos de controladoras EIDE podremos configurar hasta cuatro, en dos
canales IDE, cada uno con su maestro y su esclavo.
Los campos a rellenar suelen ser:
Tipo (Type): O uno predefinido, o Auto para que calcule el ordenador los valores correctos, o User
para introducir los valores a mano, o bien None para indicar que no hay ningún disco.
Tamaño (Size): Lo calcula el ordenador a partir de los datos que introducimos.
Cilindros (Cylinders): cuántos son.
Cabezas (Heads): cuántas son.
Precompensación de escritura (WritePrecomp): Un parámetro muy técnico, usado sobre todo en
los discos antiguos. En los modernos suele ser cero.
Zona de aparcado de las cabezas (LandZone): Suele ser cero o bien 65535 (que en realidad
significa cero).
Sectores (Sectors): Cuántos hay por cada pista.
Modo de funcionamiento (Mode): Para discos pequeños, de menos de 528 MB, el modo Normal.
Para discos de más de 528 MB (cualquiera moderno tiene 4 ó 5 veces esa capacidad), el modo LBA
19
o bien el Large, menos usado y sólo recomendado si no funcionara el LBA. En muchos casos se
permite la auto detección (opción Auto).
Todos estos valores suelen venir en una pegatina adherida al disco duro, o bien se pueden hallar
mediante la utilidad de auto detección de discos duros.
En cualquier caso, generalmente existe más de una combinación de valores posible. Los lectores de
CD-ROM de tipo IDE no se suelen configurar en la BIOS; así, aunque realmente ocupan uno de los lugares
(usualmente el maestro del segundo canal o el esclavo del primero) se debe dejar dichas casillas en blanco,
eligiendo None o Auto como tipo.
Opciones
Se trata de las diversas posibilidades que ofrece la BIOS para realizar ciertas tareas de una u otra
forma, además de habilitar (enable) o deshabilitar (disable) algunas características. Las más importantes
son:
CPU Internal cache: El habilitado o deshabilitado de la caché interna del microprocesador. Debe
habilitarse (poner en Enabled) para cualquier chip con caché interna (todos desde el 486). Si la
deshabilitamos, podemos hacer que un Pentium 75 vaya como un 386 rápido, lo cual no sirve para
nada
External Caché: Lo mismo pero con la caché externa o de segundo nivel. No tiene tanta
trascendencia como la interna, pero influye bastante en el rendimiento.
Quick Power On Self Test: Que el test de comprobación al arrancar se haga más rápido. Si
estamos seguros de que todo funciona bien, merece la pena hacerlo para ganar unos cuantos
segundos al arrancar.
Boot Sequence: Para que el ordenador busque primero el sistema operativo en un disquete y luego
en el disco duro si es "A, C" o al revés si es "C, A". Útil para arrancar o no desde disquetes, o en
BIOS modernas incluso desde una unidad Zip o SuperDisk internas.
Swap Floppy Drive: Si tenemos dos disqueteras (A y B), las intercambia el orden temporalmente.
Boot Up NumLock Status: para los que prefieran arrancar con el teclado numérico configurado
como cursores en vez de cómo números.
IDE HDD Block Mode: Un tipo de transferencia "por bloques" de la información del disco duro. Casi
todos los discos duros de 100 MB en adelante lo soportan.
Gate A20 Option: un tecnicismo de la RAM; mejor conectado.
Above 1 MB Memory Test: Por si queremos que verifique sólo el primer MB de RAM o toda (above
= "por encima de"). Lo primero es más rápido pero menos seguro.
Memory Parity Check: Verifica el bit de paridad de la memoria RAM. Sólo debe usarse si la RAM
es con paridad, lo que en la actualidad es muy raro, tanto en FPM como EDO o SDRAM. Las únicas
memorias con paridad suelen estar en 486 o Pentium de marca, como algunos IBM.
Typematic Rate: Para fijar el número de caracteres por segundo que aparecen cuando pulsamos
una tecla durante unos instantes sin soltarla.
20
Numeric Processor: Para indicar al ordenador que existe un coprocesador matemático. Puesto que
desde la aparición del 486 DX esto se da por supuesto, está en proceso de extinción.
Security Option: Aunque a veces viene en otro menú, esta opción permite elegir si queremos usar
una contraseña o password cada vez que arranquemos el equipo (System), sólo para modificar la
BIOS (Setup o BIOS) o bien nunca (Disabled).
IDE Second Channel Option: Indica si vamos a usar o no el segundo canal IDE (sólo en
controladoras EIDE), en cuyo caso le reserva una IRQ, generalmente la 15.
PCI/VGA Palette Snoop: Se suele utilizar cuando tenemos dos tarjetas de vídeo (o una tarjeta
añadida sintonizadora de televisión) y los colores no aparecen correctamente.
Video Bios ROM Shadow: Si se habilita, copiará la BIOS de la tarjeta gráfica desde la lenta ROM
en la que está a la rápida RAM del sistema, lo que acelera el rendimiento.
(Adaptor) ROM Shadow: Lo mismo pero para otras zonas de la BIOS. En este caso se suelen
deshabilitar, para evitar problemas innecesarios.
Son parámetros que indican qué características del chipset deben habilitarse y cómo. Afecta
habitualmente a la memoria RAM, a las cachés (interna y externa) y a veces al micro, a los buses ISA,
Vesa, PCI y AGP y a otros dispositivos como los puertos serie y paralelo.
Este terreno puede ser algo peligroso, lo más fácil es dejar las más opciones que se pueda en Auto,
aunque con eso puede que no se saque el máximo de rendimiento.
Auto Configuration: Configuración automática; la tabla de salvación cuando no se consigue hacer
a mano. Los valores que da tras una primera autoconfiguración pueden ser válidos como punto de
partida.
ISA Bus Clock: La velocidad del bus ISA, que en teoría debe ser unos 8 MHz. A veces se introduce
como una cifra en MHz y otras veces en función del bus del sistema (el PCLK), por ejemplo como
1/3 cuando éste es a 33 MHz, como en los 386 y 486 a 33 MHz o 486 a 66 y 100 (que van a 33
externamente). Cuanto más rápido sea el bus, mejor, pero no hay que pasarse: 10 ó 12 MHz ya
está bien, más puede ser arriesgado y se supone que las tarjetas ISA no están preparadas para
nada por encima de 8.
Velocidad de la RAM: En esto existen múltiples formas de proceder. Evidentemente, cuanto mayor
le indiquemos que es la velocidad de la RAM más rápido irá el sistema, pero en muchas ocasiones
la RAM no es tan rápida o de calidad como sería deseable y la estabilidad del sistema se resiente,
sobre todo al cargarlo de trabajo. Los valores que indican esta velocidad son los ciclos de acceso a
RAM, los ciclos de espera (Clock Cycles o, a veces, Wait States) que el rápido microprocesador
concede a la lenta RAM antes de mandarle o leer de ella la información.
Ajustes de la caché: Similares a los de la RAM. Algunos consisten en modificar los tiempos de
acceso, otros en modificar la forma de acceder a la caché. De cualquier forma, esto depende
enteramente de las capacidades de la caché misma.
21
Vídeo y System Cacheable (Shadow): Como comenté en el apartado de opciones de la BIOS,
copiar la BIOS de la tarjeta de vídeo o del sistema de la lenta ROM a la rápida RAM o, en este caso,
usar la caché para lo mismo. Se supone que debería aumentar el rendimiento, pero puede dar
problemas con sistemas operativos de 32 bits modernos.
Manejo de dispositivos: Hoy en día los chipsets deben manejar las controladoras de dispositivos
tales como discos duros, puertos serie, etc., que suelen estar incorporadas a la placa base.
Configuración por software de la CPU: En la actualidad, bastantes placas base han dejado de
lado el método clásico para configurar la CPU y han optado por soluciones jumperless
(literalmente, "sin jumper"), auto detectando los valores correctos de velocidad de bus, multiplicador
y voltaje y/o permitiendo que el usuario los seleccione mediante un sencillo menú en la BIOS.
Periféricos integrados
Las placas base modernas suelen tener integrados los chips controladores del disco duro, y en
muchas ocasiones manejan también las disqueteras, los puertos serie y el puerto paralelo. Por ello, las
BIOS tienen diversos apartados para manejar estos dispositivos, entre ellos:
Conexión o desconexión de dichas controladoras: De especial importancia en el caso del
segundo canal IDE, que en ocasiones está deshabilitado por defecto, y que deberemos habilitar
para conectar más de dos dispositivos IDE (o bien uno lento y uno rápido sin mezclarlos en el
mismo canal, lo que baja el rendimiento).
Modos de acceso a discos duros (PIO y/o UltraDMA): Los discos modernos admiten 5 modos
PIO, del más lento, el PIO-0 o no soporte de este tipo de acceso (en discos antiguos, de 100 MB o
menos), hasta el más rápido, el modo PIO-4. Además, recientemente ha aparecido el modo
UltraDMA, aún más rápido. Si la controladora está integrada en la placa base, aquí debe especificar
esos datos.
Direcciones e interrupciones (IRQ) de los puertos: Bien sean los puertos serie o el paralelo.
Resulta muy raro necesitar cambiar los valores por defecto, pero podría ser necesario para evitar
conflictos con otros dispositivos que usen esos mismos valores.
Tipo de puerto paralelo: El antiguo estándar de puerto paralelo se ha quedado un tanto anticuado
hoy en día, sobre todo si lo que queremos conectar no es una impresora sino un escáner o una
unidad Zip; por ello, se suele poder seleccionar otras posibilidades más avanzadas como ECP o
EPP.
Control del puerto de infrarrojos: Aunque muy pocas placas base incluyen los adaptadores y
cables necesarios, modernamente casi todas traen los conectores para instalar un puerto de
infrarrojos en su sistema. Generalmente deberá habilitarse y seleccionar su tipo, dirección de
memoria, IRQ y si debe re direccionar la información de COM2 a este puerto.
Administración de energía
En este menú, relativamente reciente (no se implantó hasta bien entrada la época de los 486), es
donde se configuran las características de ahorro de energía del ordenador.
22
Power Management: Literalmente, administración de energía. Es donde se selecciona si queremos
habilitar el ahorro de energía y de qué forma; generalmente se ofrecen Disable (deshabilitado), User
define (definido por el usuario) y algunas opciones predeterminadas para un ahorro mínimo o
máximo.
PM Control by APM: Una opción muy importante; determina si el control de energía deberá
hacerse según el estándar APM (Advanced Power Management, administración avanzada de
energía), lo que entre otras cosas permite que Windows sea capaz de suspender el equipo a
voluntad o, si utilizamos una fuente ATX, que el sistema efectivamente se apague al pulsar "Apagar
el sistema" en el menú Inicio.
Video Off Method: Ofrece diversas opciones para reducir el consumo del sistema de vídeo, de las
cuales la más interesante es DPMS, aunque no todos los monitores y tarjetas gráficas la soportan.
PM Timers: Para controlar el tiempo que debe permanecer inactivo el ordenador (System) o el
disco duro (HDD) antes de que se active el ahorro de energía. Existen 3 grados de ahorro de
energía:
o Doze: Reduce la velocidad de la CPU (el microprocesador).
o Standby: Reduce la actividad de todo el ordenador.
o Suspend: Reduce al mínimo la actividad del ordenador; sólo debe utilizarse con CPUs tipo
SL, como son la mayoría de los 486 rápidos y superiores.
PM Events: Una larga serie de eventos o sucesos que deben ser controlados para saber si el
ordenador está inactivo o trabajando. Es habitual no controlar (Disable) la actividad de la IRQ8 (reloj
de la BIOS), ya que rara vez se la puede considerar como totalmente inactiva.
CPU Fan Off in Suspend: Si el ventilador de la CPU va conectado a la placa base, lo apaga
cuando el equipo está en suspenso, ya que en ese momento la CPU está prácticamente parada.
Modem Wake Up: Activa el equipo cuando se detecta una llamada entrante en el módem. Necesita
que el módem soporte esta característica y que esté conectado a la placa base mediante un cable
especial.
LAN Wake Up: Igual que la anterior, pero para la tarjeta de red. También necesita estar conectado
a la placa base mediante un cable.
El Plug&Play, PNP o P&P, es una tecnología que facilita la conexión de dispositivos, ya que se
supone que basta con enchufar y listo.
PNP OS Installed: Informa al sistema de si hay un sistema operativo PNP instalado, es decir, uno
que soporta Plug&Play, como Windows 95, 98... en cuyo caso pasa a éste el control de los
dispositivos PNP. De cualquier forma, muchas veces lo que esta casilla indique no afecta al correcto
funcionamiento del sistema.
IRQx/DMAx assigned to: Una lista de las interrupciones (IRQ) y canales DMA que p
Resources Controlled by: Recursos controlados bien manual, bien automáticamente
podemos asignar manualmente, bien a tarjetas PCI/ISA PnP (compatibles con PNP), bien a tarjetas
23
Legacy ISA (tarjetas ISA no PNP, que son las más conflictivas). Necesitaremos conocer los valores
de IRQ y/o DMA a reservar, que vendrán en la documentación del dispositivo.
PCI IDE IRQ Map to: Afecta a controladoras IDE no integradas en la placa base, sino en forma de
tarjeta, que no sean PNP.
Assign IRQ to USB: Si el puerto USB debe tener una interrupción asignada o no. Si no tiene ningún
dispositivo USB conectado puede liberar esa IRQ para otros usos; suele ser la misma interrupción
que para uno de los slots PCI o ISA.
Autoconfiguración
Opciones que se proporcionan para facilitar la configuración de la BIOS, las más comunes son:
LOAD BIOS DEFAULTS: Carga una serie de valores por defecto con poca o nula optimización,
generalmente útiles para volver a una posición de partida segura y resolver problemas observados
al arrancar.
LOAD SYSTEM DEFAULTS: Una opción cuyos efectos varían de unas BIOS a otras. En unos
casos carga unos valores por defecto seguros (como LOAD BIOS DEFAULTS), en otros carga unos
valores ya optimizados para conseguir un rendimiento adecuado, o incluso puede servir para cargar
la última serie de valores guardados por el usuario.
LOAD TURBO DEFAULTS: Carga los valores que estima óptimos para incrementar el rendimiento.
En cualquier caso, debe tenerse en cuenta que los cambios no suelen ser guardados
automáticamente, sino que deben confirmarse al salir de la BIOS.
Otras utilidades
Las BIOS pueden hacer más cosas, dependiendo del modelo en concreto; las más usuales son:
Esta opción permite detectar los discos duros que están conectados al sistema, así como su
configuración. Resulta muy útil para simplificar la tarea de instalar un disco nuevo, así como cuando los
datos del disco no están completos o no parecen funcionar en nuestra BIOS.
Su uso es sencillo: Se entra en este menú y se va detectando cada uno de los cuatro posibles
dispositivos IDE. Es conveniente apuntar las opciones que aparezcan y probar a usarlas; hay que recordar
usar el modo LBA para discos de más de 528 MB.
Hay que tener en cuenta que muchas veces sólo por entrar en esta utilidad se alteran
automáticamente los valores de configuración del disco, así que después de salir de ella hay que
comprobar si los cambios corresponden a los que se quería realizar.
24
Es decir, poner una clave de acceso en forma de palabra secreta. Si se olvida la clave tendremos
graves problemas, hasta el punto de tener que borrar toda la BIOS para poder volver a usar el ordenador.
Se suele poder seleccionar, bien en un menú específico o en las BIOS Features, entre tener que
introducir la clave cada vez que se arranca el ordenador o sólo cuando se van a cambiar datos de la BIOS.
Lo primero es el método ideal para seguridad.
Se trata de un formateo mucho más intenso que el normal; no sólo elimina los datos, sino que
reorganiza la propia estructura del disco. Generalmente sólo debe usarse cuando el disco está fallando muy
a menudo o ha sido infectado por un virus tremendamente resistente, y aun así no resulta recomendable.
Antivirus
No permite que se escriba sobre la tabla de particiones o el sector de arranque del disco duro, bien
sólo durante el arranque o en cualquier momento, dependiendo del modelo concreto de BIOS.
La idea es impedir que un virus destroce el disco duro sin darle oportunidad a cargar un disquete de
arranque con un antivirus para desinfectar el sistema; no impedirá la infección, pero es una medida más de
seguridad. Puede ser necesario deshabilitar esta opción durante la instalación del sistema operativo o al
formatear el disco duro, ya que puede ser que la BIOS crea que se trata de un ataque viral.
Salir de la BIOS
Save and Exit Setup: Grabar los cambios y salir, con lo cual se reinicia el equipo. Debería pedir
confirmación, en forma de "Y/N?" (Yes o No).
Exit Without Saving: Lo contrario, salir sin grabar los cambios. También debería pedir
confirmación.
Actualizar la BIOS
La BIOS maneja temas tan críticos como el soporte de uno u otro microprocesador; además, como
programa que es, no está exenta de fallos y se revisa periódicamente para eliminarlos o añadir nuevas
funciones.
Antiguamente, la única forma de actualizar una BIOS era extraer el chip de BIOS y sustituirlo por
otro.
En la actualidad han aparecido BIOS que pueden modificarse con un simple programa software; se
las denomina Flash-BIOS, y no son un invento desdeñable. Lo que es más, la existencia de una de estas
BIOS o no debería ser argumento de peso a la hora de comprar una placa base.
25
La BIOS y la pila
La pila conserva los datos de la BIOS cuando el ordenador está apagado. Dura mucho (unos tres
años de media), pero al final se agota. Para cambiarla, hay que apuntar todos los datos de la BIOS,
desconectar todo y sustituirla por una igual.
Después volver a conectar todo, arrancar el ordenador y entrar en la BIOS y reintroducir todos los
datos, ya que se habrán borrado.
Conectores externos
Conectores internos
DISCO DURO
Los primeros PCs carecían de disco duro, sólo disponían de una o dos disqueteras gracias a las
cuales se cargaban los programas y se guardaba la información; incluso era posible llegar a tener
almacenados en un único disquete ¡de 360 Kb! el sistema operativo, el procesador de textos y los
documentos más utilizados. Evidentemente, los tiempos han cambiado; hoy en día,
quien más quien menos dispone de discos duros de capacidad equivalente a miles
de aquellos disquetes.
Un disco duro está compuesto de numerosos discos de material sensible a
los campos magnéticos, apilados unos sobre otros; en realidad se parece mucho a
una pila de disquetes sin sus fundas y con el mecanismo de giro y el brazo lector
incluido en la carcasa.
Los discos duros han evolucionado mucho desde los modelos primitivos de
10 ó 20 MB. Actualmente los tamaños son del orden de varios gigabytes, el tiempo medio de acceso es muy
26
bajo (menos de 20 ms) y su velocidad de transferencia es tan alta que deben girar a más de 5.000 rpm
(revoluciones por minuto), lo que hace que se calienten mucho, por lo que no es ninguna tontería instalarles
un ventilador para su refrigeración.
Una diferencia fundamental entre unos y otros discos duros es su interfaz de conexión.
Antiguamente se usaban diversos tipos, como MFM, RLL o ESDI, aunque en la actualidad sólo se emplean
dos: IDE y SCSI.
El interfaz IDE (más correctamente denominado ATA, el estándar de normas en que se basa) es el
más usado en PCs normales, debido a que tiene un balance bastante adecuado entre precio y prestaciones.
Los discos duros IDE se distribuyen en canales en los que puede haber un máximo de dos dispositivos por
canal.
El estándar IDE fue ampliado por la norma ATA-2 en lo que se ha dado en denominar EIDE
(Enhanced IDE o IDE mejorado). Los sistemas EIDE disponen de 2 canales IDE, primario y secundario, con
lo que pueden aceptar hasta cuatro dispositivos, que no tienen porqué ser discos duros mientras cumplan
las normas de conectores ATAPI; por ejemplo, los CD-ROMs y algunas unidades SuperDisk se presentan
con este tipo de conector.
En cada uno de los canales IDE debe haber un dispositivo Maestro (master) y otro Esclavo (slave).
El maestro es el primero de los dos y se suele situar al final del cable, asignándosele generalmente la letra
"C" en DOS. El esclavo es el segundo, normalmente conectado en el centro del cable entre el maestro y la
controladora, la cual muchas veces está integrada en la propia placa base; se le asignaría la letra "D".
Los dispositivos IDE o EIDE como discos duros o CD-ROMs disponen de unos micro interruptores
(jumpers), situados generalmente en la parte posterior o inferior de los mismos, que permiten seleccionar su
carácter de maestro, esclavo o incluso otras posibilidades como "maestro sin esclavo". Las posiciones de
los jumpers vienen indicadas en una pegatina en la superficie del disco, o bien en el manual o serigrafiadas
en la placa de circuito del disco duro, con las letras M para designar "maestro" y S para "esclavo".
La ventaja de estos discos no está en su mecánica, que puede ser idéntica a la de uno IDE (misma
velocidad de rotación, mismo tiempo medio de acceso...) sino en que la transferencia de datos es más
constante y casi independiente de la carga de trabajo del microprocesador.
Esto hace que la ventaja de los discos duros SCSI sea apreciable en ordenadores cargados de
trabajo, como servidores, ordenadores para CAD o vídeo, o cuando se realiza multitarea de forma intensiva,
mientras que si lo único que queremos es cargar Word y hacer una carta la diferencia de rendimiento con un
disco UltraDMA será inapreciable.
En los discos SCSI resulta raro llegar a los 20 MB/s de transferencia teórica del modo Ultra SCSI, y
ni de lejos a los 80 MB/s del modo Ultra-2 Wide SCSI, pero sí a cifras quizá alcanzables pero nunca
superables por un disco IDE. De lo que no hay duda es que los discos SCSI son una opción profesional, de
27
precio y prestaciones elevadas, por lo que los fabricantes siempre escogen este tipo de interfaz para sus
discos de mayor capacidad y velocidad.
CD-ROM – DVD
Para grabar datos en un soporte físico más o menos perdurable se usan casi en
exclusiva estas dos tecnologías. La magnética se basa en la histéresis magnética de
algunos materiales y otros fenómenos magnéticos, mientras que la óptica utiliza las
propiedades del láser y su alta precisión para leer o escribir los datos.
La tecnología óptica de almacenamiento por láser es bastante más reciente. Su primera aplicación
comercial masiva fue el CD de música, que data de comienzos de la década de 1.980. Los fundamentos
técnicos que se utilizan son relativamente sencillos de entender: un haz láser va leyendo (o escribiendo)
microscópicos agujeros en la superficie de un disco de material plástico, recubiertos a su vez por una capa
transparente para su protección del polvo.
Realmente, el método es muy similar al usado en los antiguos discos de vinilo, excepto porque la
información está guardada en formato digital en vez de analógico y por usar un láser como lector. El sistema
no ha experimentado variaciones importantes hasta la aparición del DVD, que tan sólo ha cambiado la
longitud de onda del láser, reducido el tamaño de los agujeros y apretado los surcos para que quepa más
información en el mismo espacio.
28
La principal característica de los dispositivos ópticos es su fiabilidad. No les afectan los campos
magnéticos, apenas les afectan la humedad ni el calor y pueden aguantar golpes importantes (siempre que
su superficie esté protegida). Sus problemas radican en la relativa dificultad que supone crear dispositivos
grabadores a un precio razonable, una velocidad no tan elevada como la de algunos dispositivos
magnéticos y en que precisan un cierto cuidado frente al polvo y en general cualquier imperfección en su
superficie, por lo que es muy recomendable que dispongan de funda protectora.
GRABADORAS DE CD-ROM
Lo primero, hacer distinción entre grabadoras (aquellas que sólo permiten grabar la información
una vez, sin que luego se pueda volver a escribir en el CD) y re grabadoras (las que, utilizando los discos
apropiados, permiten grabarles numerosas veces, en teoría unas mil).
Las grabadoras son como lectores de CD-ROM pero que permiten grabar además de leer. Los CD’s
comerciales, de música o datos, son absolutamente inalterables, lo cual es una de sus ventajas. Los CD’s
grabables son especiales y de dos tipos: CD-R (Recordable, grabable una única vez), y CD-RW
(ReWritable, regrabable múltiples veces)
Los CD’s grabables una única vez son idóneos para almacenar datos que son poco o nada
actualizados, así como para realizar pequeñas tiradas de software propio o "copias de seguridad" de
software comercial. Los regrabables sirven para realizar backups del disco duro o de la información más
sensible a ser actualizada constantemente.
El resultado de la grabación en un disco grabable una única vez se puede leer en cualquier lector,
pero los discos regrabables dan más problemas, y no es raro que fallen en lectores algo antiguos, por
ejemplo 4x ó 6x, pero con lectores modernos no existen problemas.
Para realizar una grabación de cualquier tipo se recomienda poseer un equipo relativamente
potente, digamos un Pentium con una RAM de al menos 32 MB. Para evitar quedarnos cortos (lo que puede
impedir llegar a grabar a 4x o estropear el CD por falta de continuidad de datos) podemos comprar una
grabadora SCSI, que dan un flujo de datos más estable, tener una fuente de datos (disco duro o CD-ROM)
muy rápida, no grabar directamente de CD-ROM a grabadora (mejor de CD-ROM a disco duro y luego a
grabadora), comprar un grabador con un gran buffer de memoria incorporado (más de 1MB) o asegurarnos
de que la grabadora cumple la norma IPW o mejor UDF, que facilitan la grabación fluida de datos sin
errores.
Las unidades únicamente grabadoras están en proceso de extinción, ya que las re grabadoras cada
vez son más asequibles.
DISQUETERA
29
Por malo y anticuado que sea un ordenador, siempre dispone de al menos uno de estos aparatos.
Su capacidad es totalmente insuficiente para las necesidades actuales, pero cuentan con la ventaja que les
dan los muchos años que llevan como estándar absoluto para almacenamiento portátil.
El mundo del PC ha conocido casi diez tipos distintos de disquetes y de lectores para los mismos.
Originariamente los disquetes eran flexibles y bastante grandes, unas 5,25 pulgadas de ancho. La
capacidad primera de 160 Kb se reveló enseguida como insuficiente, por lo que empezó a crecer y no paró
hasta los 1,44 MB, ya con los disquetes actuales, más pequeños (3,5"), más rígidos y protegidos por una
pestaña metálica.
Incluso existe un modelo de 2,88 MB y 3,5" que incorporaban algunos ordenadores IBM, pero no
llegó a cuajar porque los discos resultaban algo caros y seguían siendo demasiado escasos para
aplicaciones un tanto serias; mucha gente opina que hasta los 100 MB de un Zip
son insuficientes.
Las disqueteras son compatibles "hacia atrás"; es decir, que en una
disquetera de 3,5" de alta densidad (de 1,44 MB) podemos usar discos de 720 Kb o
de 1,44 MB, pero en una de doble densidad, más antigua, sólo podemos usarlos de
720 Kb.
Para distinguir a primera vista un disco de 3,5" de alta densidad de otro de
doble, basta con observar el número de agujeros que presenta en su parte inferior.
Si tiene sólo uno, situado en el lado izquierdo de la imagen y generalmente provisto de una pestaña móvil,
se trata de un disco de doble densidad; si tiene dos agujeros, no hay duda de que se trata de un disco de
alta densidad. Si el primero de los agujeros está al descubierto el disco estará protegido contra escritura; el
segundo sólo sirve para diferenciar ambos tipos de disquetes.
De cualquier forma, el disquete deberá estar formateado a la capacidad correcta, para lo cual
podemos usar la orden FORMAT del DOS o bien los menús de Windows.
Los ordenadores normales disponen de un puerto para dos disqueteras, que irán conectadas a un
único cable de datos. La que esté conectada en el extremo del mismo será la primera (la "A" en DOS) y la
que esté en el segundo conector, entre el ordenador y la anterior disquetera, será la segunda (la "B").
Los disquetes tienen fama de ser unos dispositivos muy poco fiables en cuanto al almacenaje a
largo plazo de la información; y en efecto, lo son. Les afecta todo lo imaginable: campos magnéticos, calor,
frío, humedad, golpes, polvo...
TARJETA DE VÍDEO
De manera resumida, es lo que transmite al monitor la información gráfica que debe presentar en la
pantalla. Con algo más de detalle, realiza dos operaciones:
Interpreta los datos que le llegan del procesador, ordenándolos y calculando para poder
presentarlos en la pantalla en forma de un rectángulo más o menos grande compuesto de puntos
individuales de diferentes colores (pixels).
Coge la salida de datos digitales resultante de ese proceso y la transforma en una señal analógica
que pueda entender el monitor.
30
Estos dos procesos suelen ser realizados por uno o más chips: el microprocesador gráfico (el cerebro
de la tarjeta gráfica) y el conversor analógico-digital o RAMDAC, aunque en ocasiones existen chips
accesorios para otras funciones o bien se realizan todas por un único chip.
El microprocesador puede ser muy potente y avanzado, tanto o más que el propio micro del ordenador;
por eso algunos tienen hasta nombre propio: Virge, Rage Pro, Voodoo, TNT2... Incluso los hay con
arquitecturas de 256 bits, el cuádruple que los Pentium.
Su historia
En el principio, los ordenadores eran ciegos; todas las entradas y salidas de datos se realizaban
mediante tarjetas de datos perforadas, o mediante el teclado y primitivas impresoras. Un buen día, alguien
pensó que era mucho más cómodo acoplar una especie de televisor al ordenador para observar la evolución
del proceso y los datos, y surgieron los monitores, que debían recibir su información de cierto hardware
especializado: la tarjeta de vídeo.
MDA
Las primeras tarjetas de vídeo presentaban sólo texto monocromo, generalmente en un tono ámbar
o verde fosforito que dañaba los ojos en cuestión de minutos. De ahí que se las denominase MDA,
Monochrome Display Adapter.
CGA
Luego, con la llegada de los primeros PCs, surgió una tarjeta de vídeo capaz de presentar gráficos:
la CGA (Computer Graphics Array, dispositivo gráfico para ordenadores). Tan apasionante invento era
capaz de presentar gráficos de varias maneras:
CGA
320x200 4
640x200 2 (monocromo)
31
Lo cual, resultó toda una revolución. Aparecieron multitud de juegos que aprovechaban al máximo
tan exiguas posibilidades, además de programas más serios, y los gráficos se instalaron para siempre en el
PC.
Hércules
Se trataba ésta de una tarjeta gráfica de corte profundamente profesional. Su ventaja, poder trabajar
con gráficos a 720x348 puntos de resolución, algo increíble para la época; su desventaja, que no ofrecía
color. Es por esta carencia por la que no se extendió.
EGA
EGA
320x200 16
640x200 16
640x350 16
Estas cifras hacían ya posible que los entornos gráficos se extendieran al mundo PC (los Apple
llevaban años con ello), y aparecieron el GEM, el Windows y otros muchos. Sobre las posibilidades de las
pantallas EGA, una curiosidad: los drivers EGA de Windows 3.1 funcionan sobre Windows 95, y resulta
curioso ver dicha combinación...
VGA
El estándar, la pantalla de uso obligado desde hace ya 10 años. Tiene multitud de modos de vídeo
posibles, aunque el más común es el de 640x480 puntos con 256 colores, conocido generalmente como
"VGA estándar" o "resolución VGA".
32
El éxito del VGA llevó a numerosas empresas a crear sus propias ampliaciones del mismo, siempre
centrándose en aumentar la resolución y/o el número de colores disponibles. Entre ellos estaban:
La frontera entre unos estándares y otros es sumamente confusa, puesto que la mayoría de las
tarjetas son compatibles con más de un estándar, o con algunos de sus modos. Además, algunas tarjetas
ofrecen modos adicionales al añadir más memoria de vídeo.
La resolución es el número de puntos que es capaz de presentar por pantalla una tarjeta de vídeo,
tanto en horizontal como en vertical. Así, "800x600" significa que la imagen está formada por 600 rectas
horizontales de 800 puntos cada una. Para que nos hagamos una idea, un televisor (de cualquier tamaño)
tiene una resolución equivalente de 800x625 puntos.
El número de colores, son los que puede presentar a la vez por pantalla la tarjeta...
La combinación de estos dos parámetros se denomina modo de vídeo; están estrechamente
relacionados: a mayor resolución, menor número de colores representables, y a la inversa. En tarjetas
modernas (SVGA y superiores), lo que las liga es la cantidad de memoria de vídeo (la que está presente en
la tarjeta, no la memoria general o RAM). Algunas combinaciones posibles son:
Se han colocado los modos más comunes, ya que no todas las tarjetas admiten todos los modos,
aparte de que muchas no permiten ampliar la memoria de vídeo. El cálculo de la memoria necesaria es:
(Res. Vert.)X (Res. Horiz.)x(Bits de color)/8.
Cabe destacar que el modo de vídeo elegido debe ser soportado por el monitor, ya que si no
éste podría dañarse gravemente. Esto depende de las características del mismo, en concreto de la
Frecuencia Horizontal.
33
Por otra parte, los modos de resolución para gráficos en 3D (fundamente juegos) suelen necesitar
bastante más memoria, en general unas 3 veces más; por ello, jugar a 800x600 puntos con 16 bits de color
(65.536 colores) suele requerir 4 MB de memoria de vídeo.
La velocidad de refresco
El refresco, es el número de veces que se dibuja la pantalla por segundo (como los fotogramas del
cine); cuanto mayor sea menos se nos cansará la vista y trabajaremos más cómodos y con menos
problemas visuales.
Se mide en hertzios (Hz, 1/segundo), así que 70 Hz significa que la pantalla se dibuja cada 1/70 de
segundo, o 70 veces por segundo. Para trabajar cómodamente necesitaremos esos 70 Hz. Para trabajar
ergonómicamente, con el mínimo de fatiga visual, 80 Hz o más. El mínimo absoluto son 60 Hz; por debajo
de esta cifra los ojos sufren muchísimo, y unos minutos bastan para empezar a sentir escozor o incluso un
pequeño dolor de cabeza.
Antiguamente se usaba una técnica denominada entrelazado, que consiste en que la pantalla se
dibuja en dos pasadas, primero las líneas impares y luego las pares, por lo que 70 Hz entrelazados equivale
a poco más de 35 sin entrelazar, lo que cansa la vista. Ésta técnica está en desuso, pero en los monitores
de 14" se ha usado hasta hace menos de un par de años.
El motivo de tanto entrelazado y no entrelazado es que construir monitores que soporten buenas
velocidades de refresco a alta resolución es bastante caro, por lo que la tarjeta de vídeo empleaba estos
trucos para ahorrar.
No todas las tarjetas de vídeo pueden ofrecer cualquier velocidad de refresco. Esto depende de dos
parámetros:
La velocidad del RAMDAC, el conversor analógico digital. Se mide en MHz, y debe ser lo mayor
posible, preferiblemente entorno a 200 MHz.
La velocidad de la memoria de vídeo, preferiblemente de algún tipo avanzado como WRAM,
SGRAM o SDRAM.
Memoria de vídeo
Su tamaño influye en los posibles modos de vídeo; además, su tipo determina si conseguiremos buenas
velocidades de refresco de pantalla o no. Los tipos más comunes son:
DRAM: En las tarjetas más antiguas, ya descatalogadas. Malas características; refrescos máximos
entorno a 60 Hz.
EDO: o "EDO DRAM". Hasta hace poco estándar en tarjetas de calidad media-baja. Muy variables
refrescos dependiendo de la velocidad de la EDO, entre 40 ns las peores y 25 ns las mejores.
VRAM y WRAM: Bastante buenas, aunque en desuso; en tarjetas de calidad, muy buenas
características.
34
MDRAM: Un tipo de memoria no muy común, pero de alta calidad.
SDRAM y SGRAM: Actualmente utilizadas mayoritariamente, muy buenas prestaciones. La
SGRAM es SDRAM especialmente adaptada para uso gráfico, en teoría incluso un poco más
rápida.
La tarjeta gráfica, como añadido que es al PC, se conecta a éste mediante un slot o ranura de
expansión. Muchos tipos de ranuras de expansión se han creado precisamente para satisfacer a la ingente
cantidad de información que se transmite cada segundo a la tarjeta gráfica.
ISA: El conector original del PC, poco apropiado para uso gráfico; en cuanto llegamos a tarjetas con
un cierto grado de aceleración resulta insuficiente. Usado hasta las primeras VGA "aceleradoras
gráficas", aquellas que no sólo representan la información sino que aceleran la velocidad del
sistema al liberar al microprocesador de parte de la tarea gráfica mediante diversas optimizaciones.
VESA Local Bus: Más que un slot un bus, un conector íntimamente unido al microprocesador, lo
que aumenta la velocidad de transmisión de datos. Una solución usada en muchas placas 486, de
buen rendimiento pero tecnológicamente no muy avanzada.
PCI: El estándar para conexión de tarjetas gráficas (y otros múltiples periféricos). Suficientemente
veloz para las tarjetas actuales, si bien algo estrecho para las 3D que se avecinan.
AGP: Tampoco un slot, sino un puerto (algo así como un bus local), pensado únicamente para
tarjetas gráficas que transmitan cientos de MB/s de información, típicamente las 3D. Presenta poca
ganancia en prestaciones frente a PCI, pero tiene la ventaja de que las tarjetas AGP pueden utilizar
memoria del sistema como memoria de vídeo.
En cualquier caso, el conector sólo puede limitar la velocidad de una tarjeta, no la eleva.
TARJETA DE SONIDO
Su Historia
El PC no fue pensado en un principio para manejar sonido, Ese pitido que oímos cuando
arrancamos el ordenador ha sido durante muchos años el único sonido que ha emitido el PC. En un
principio, el altavoz servía para comunicar errores al usuario.
35
Pero entró en escena el software que seguramente más ha hecho evolucionar a los ordenadores
desde su aparición: los videojuegos.
Apareció la tarjeta SoundBlaster, por fin era posible convertir sonido analógico a digital para
guardarlo en nuestro PC, y también convertir el sonido digital que hay en nuestro PC a analógico y poder
escucharlo por nuestros altavoces.
ADC/DAC
Los ordenadores sólo saben trabajar con datos digitales (más concretamente binarios, ceros y
unos), por lo que cuando conectamos unos altavoces a nuestra tarjeta de sonido, hay alguien que
transforma esos datos digitales en analógicos para que nuestro altavoz los entienda. De eso se encarga el
DAC (Conversor Digital-Analógico,).
Cuando grabamos desde una fuente externa (por ejemplo desde nuestro equipo musical),
deberemos transformar esos datos analógicos que llegan por el cable en muestras digitales que podamos
almacenar en nuestro disco duro.
Pero a alguien le puede ocurrir que necesite reproducir sonido, tratarlo al mismo tiempo con una
fuente externa y volver a grabarlo. O simplemente reproducir y grabar al mismo tiempo. Esta característica
se conoce como "full dúplex". Para ello, los dos conversores ADC-DAC deben trabajar de forma separada.
16 bits
Las tarjetas de sonido (excepto muy raras excepciones profesionales) toman las muestras de sonido
a 16 bits, esto ha llevado a engaño a más de uno al creer que su tarjeta de sonido trabajaba con más bits
que su propio procesador, pero se trata del número de voces. Esos bits vienen a definir la posición del
altavoz.
Para emitir sonidos, los altavoces se mueven dando golpes. Estos golpes hacen que el aire que nos
rodea vibre, y nuestros oídos captan esas vibraciones y las transforman en impulsos nerviosos que van a
nuestro cerebro. Deberemos indicarle al altavoz dónde debe "golpear", para ello simplemente le enviaremos
una posición (en este caso un número), cuantas más posiciones podamos representar, mejor será el sonido.
Y cuantos más bits tengamos, más posiciones podremos representar.
Calidad de CD
36
Las tarjetas de sonido simplemente transforman una señal continua, el oído humano es capaz de
reconocer unos 44.000 sonidos cada segundo, con lo que la utilización de un mayor muestreo no tiene
ningún sentido.
Todas las tarjetas de sonido domésticas pueden trabajar con una resolución de 44’1KHz, y muchas
incluso lo hacen a 48KHz. Las semi-profesionales trabajan en su mayoría con esos 48KHz y algunas incluso
con 50KHz. Las profesionales llegan cerca de los 100KHz.
La utilización de este muestreo ampliado se debe al mismo motivo por el que algunas tarjetas
utilizan más de 16bits para cada muestra: si los datos de partida no son suficientemente fieles o después
nos vamos a dedicar a modificar el sonido, perderemos calidad, así que cuanta más calidad tengamos en un
principio, mejores resultados obtendremos al final, es mejor trabajar con un margen de confianza.
El sonido digital siempre ha tenido diversos formatos (hasta llegar al mp3, el más de moda
actualmente). El sonido en formato digital tiene un problema, y es su excesivo espacio para almacenar
relativamente poca información. Se pueden hacer los cálculos fácilmente: audio a 44,1KHz, con 16 bits y en
estéreo, nos da 172 Kb/segundo (10,3 MB por minuto).
Este método de almacenar el audio digital es el utilizado en los ficheros Wav o en el Cd-audio. Sin
embargo, no resulta útil para los profesionales (sobre todo para los compositores), hay que imaginar la
cantidad de disco duro y, sobre todo, memoria que son necesarios para trabajar a pleno rendimiento con el
audio digital, la solución está en el formato MIDI (Musical Instrument Data Interface)
Al contrario que el audio digital, el formato MIDI no es el sonido grabado, sino principalmente las
notas musicales que lo componen. Cualquier fichero MIDI ocupará muy poco espacio, debido a que tan solo
es necesario almacenar las notas que están sonando en cada momento. El formato MIDI nació para
estandarizar el comportamiento de los distintos instrumentos digitales, para que las mismas notas sonaran
"igual" en los distintos instrumentos. Hoy en día existen teclados MIDI (sintetizadores), pianos MIDI, violines
MIDI, flautas MIDI, baterías MIDI, e incluso gaitas MIDI.
En el caso del ordenador, la tarjeta de sonido es la encargada de reproducir las composiciones
MIDI. Como el formato MIDI no es más que notas, tendremos que obtener los sonidos, existen dos
opciones.
37
del ordenador, en cuyo caso deberá tener conector PCI en lugar de ISA. Con esto
conseguimos una calidad mucho mayor en la reproducción de canciones MIDI.
Canales
El Canal es una pista de sonido diferente para cada altavoz, en la que estarán grabados los datos
que debe reproducir, para que no le lleguen datos de otros altavoces. Así cada altavoz reproducirá el sonido
que le corresponde, logrando el deseado realismo. Cuando escuchamos el sonido estéreo, nos llega
mediante 2 canales, el izquierdo y el derecho, mejorando mucho el realismo del sonido. El número de
canales muestreados determinará si el sonido es monofónico o estereofónico.
Tradicionalmente se han utilizado conectores mini-jack, como los que usamos en nuestro
radiocasete portátil. Éstos siguen siendo los más comunes.
Conectores tradicionales en las cadenas de sonido
domésticas son los RCA. Normalmente cada RCA es
un canal independiente (mientras que en el Jack van
2 canales juntos). Por ello siempre van de dos en dos
(clásicamente el rojo es el canal derecho y el blanco el izquierdo).
Ofrecen mayor calidad que los conectores Jack tradicionales.
Si buscamos calidad profesional, deberemos decidirnos por
una tarjeta con entradas y salidas S/PDIF o salidas ópticas
digitales. Éste ha sido desarrollado por Sony y Philips para diseñar
una interface de conexión digital de altas prestaciones. Al tratar al
sonido digitalmente, no se producen pérdidas de calidad en ningún momento al pasar de soporte digital al
ordenador o viceversa.
Las entradas y salidas MIDI. serán necesarias en caso de que vayamos a trabajar con dispositivos
MIDI como pudiera ser un teclado. Con la entrada MIDI, nuestras composiciones serán mucho más
sencillas, puesto que tan sólo deberemos conectar nuestro teclado, y la partitura de la pieza que toquemos
aparecerá en la pantalla de nuestro ordenador (si contamos con el software adecuado).
Si además de entrada, disponemos de una salida MIDI, cualquier partitura en ese formato podrá ser
reproducida por un instrumento conectado, desde un teclado a una caja de ritmos pasando por una guitarra
o una batería (siempre que sean MIDI).
Además de estos conectores externos, los hay también internos, siendo el más importante el que va
al CD-ROM, para poder escuchar los CD’s de música. Puede ser digital o analógico.
MÓDEM
38
posibilidades. Los módems pueden ser internos o externos. Los internos vienen incorporados en una tarjeta
que se conecta dentro del PC. y los externos se conectan mediante un cable al puerto serie de ordenador.
Transforma las señales digitales del ordenador en señal telefónica analógica y viceversa, con lo que permite
al ordenador transmitir y recibir información por la línea telefónica.
Tipos de módems
La distinción principal que se suele hacer es entre módems internos y módems externos, recientemente
han aparecido unos módems llamados "módems software" o Winmódems.
Internos: Consisten en una tarjeta de expansión sobre la cual están dispuestos los diferentes
componentes que forman el módem. Existen para diversos tipos de conector:
ISA: Debido a las bajas velocidades que se manejan en estos aparatos, durante
muchos años se utilizó en exclusiva este conector, hoy en día está en desuso.
PCI: El formato más común en la actualidad.
AMR: Sólo en algunas placas muy modernas; poco recomendables por su bajo
rendimiento.
Módems PC-Card: Son módems que se utilizan en portátiles; su tamaño es similar al de una tarjeta de
crédito algo más gruesa, pero sus capacidades pueden ser igual o más avanzadas que en los modelos
normales.
39
Módems software, HSP o Winmódems: Son módems internos en los cuales se han eliminado varias
piezas electrónicas, generalmente chips especializados, de manera que el microprocesador del
ordenador debe suplir su función mediante software. Lo normal es que utilicen como conexión una
ranura PCI (o una AMR), aunque no todos los módems PCI son de este tipo. La ventaja resulta
evidente: menos piezas, más baratos. Las desventajas, que necesitan microprocesadores más
potentes, que su rendimiento depende del número de aplicaciones abiertas (nada de multitarea mientras
el módem funciona o se volverá muy lento) y que el software que los maneja sólo suele estar disponible
para Windows 95/98, de ahí el apelativo de Winmódems. Evidentemente, resultan poco recomendables.
Módems completos: Los módems clásicos no HSP, bien sean internos o externos. En ellos el
rendimiento depende casi exclusivamente de la velocidad del módem y de la UART, no del
microprocesador.
Resulta sin duda el parámetro que mejor define a un módem, hasta el punto de que en muchas
ocasiones se habla simplemente de "un módem 55.600", o "un 36.600", sin especificar más. Estas cifras son
bits por segundo, bps.
Se debe tener en cuenta que son bits, no bytes. En este contexto, un byte está compuesto de 8
bits; por tanto, un módem de 33.600 bps transmitirá (en las mejores condiciones) un máximo de 4.200 bytes
por segundo, o lo que es lo mismo: necesitará como poco 6 minutos para transmitir el contenido de un
disquete de 1,44 MB.
Asímismo, no se debe confundir esta velocidad nominal (la que podría alcanzar el módem, por
ejemplo 33.600 bps) con la velocidad de negociado, que es aquella que se nos indica al comienzo de una
conexión a Internet; esta última es aquella que en principio, y en ese momento, ha identificado el módem del
otro lado de la línea como válida, y tiene poco que ver con el rendimiento que obtendremos.
Así, una conexión en la que la velocidad de negociado ha sido de 31.200 bps podría acabar siendo
mucho más rápida que otra en que se han alcanzado los 33.600. Sólo debe tenerse en cuenta este valor
cuando es anormalmente bajo (como 14.400 con un módem de 33.600) o cuando nunca alcanzamos la
velocidad máxima (lo que puede indicar que el módem, la línea o el proveedor son de mala calidad).
Es como designaremos a la velocidad con que se comunican entre sí el PC y el módem, bien sea
éste interno (en cuyo caso lo hará mediante el bus ISA, PCI o AMR), bien sea externo (mediante un cable
conectado a un puerto COM).
Esta velocidad puede ser mayor que aquélla a la que se están comunicando nuestro módem y el
módem remoto. Cuanto mayor sea el flujo de información entre nuestro ordenador y nuestro módem, más
libre estará éste para ir dando la información que recibe del exterior y mejor será el rendimiento, sin cuellos
de botella que lo ralenticen.
40
Por ejemplo, si ambas velocidades fueran iguales (por ejemplo de 28.800 bps), si el módem
estuviera recibiendo un caudal constante igual a esos 28.800 bps y deseáramos darle una orden ("dile al
servidor remoto que quiero otra página", por ejemplo), debería cedernos parte de esos 28.800 bps para que
le pudiéramos "hablar", lo que causaría un desfase en la transmisión y una ralentización del proceso. Y si
por algún motivo tuviéramos la suerte de conectar unos instantes a más velocidad de la normal (lo que se
denomina un "pico" en la transmisión), no podríamos aprovecharlo porque hemos puesto el tope en la
velocidad nominal.
Las transmisiones de datos por vía telefónica se basan en una serie de estándares internacionales
que deben cumplir los dispositivos implicados en la comunicación. Cada norma define una serie de
parámetros tales que permiten la correcta comunicación a una cierta velocidad.
Así, cuando se dice que un módem cumple con la norma "V.34", quiere decir que es un módem que
cumple una serie de especificaciones tal que le permite comunicarse con módems de esa velocidad (y
usualmente de cualquier velocidad inferior a ésa).
La RDSI
Es decir, la Red Digital de Servicios Integrados (ISDN en inglés), o lo que es lo mismo: la línea de
teléfono digital. Lo que distingue a estas líneas no es el cable, que en la mayoría de los casos es el mismo,
sino el método de utilizarlo: se utiliza la línea telefónica digitalmente en vez de analógicamente, lo cual
implica que la cantidad de información transmisible por la línea es mayor.
Una línea digital común tiene un ancho de banda de 128.000 bits por segundo, que pueden
repartirse en dos canales de 64 Kbps Así, podemos tener dos líneas de teléfono, o una línea de teléfono y
una conexión a Internet de 64.000 bps, o una conexión a Internet de 128.000 bps.
Estas conexiones se realizan mediante un aparato similar a un módem que, al ser casi siempre
interno, recibe el nombre genérico de tarjeta RDSI. Dispone de sus propias UART especiales capaces de
alcanzar los 128.000 bps, por lo que no debería depender de las capacidades del ordenador; pero debido a
la gran cantidad de información a manejar y a que se supone que buscamos un rendimiento adecuado, el
ordenador deberá ser medianamente potente.
41
PERIFÉRICOS
En el apartado dedicado a los periféricos, me ajustaré, sin entrar en demasiados detalles técnicos, a los más
usados en un entorno multimedia. Haré una excepción con el Monitor, dada, a mi parecer, su vital
importancia.
MONITOR
Resolución
Se trata del número de puntos que puede representar el monitor por pantalla, en horizontal x
vertical. Así, un monitor cuya resolución máxima sea de 1024x768 puntos puede representar hasta 768
líneas horizontales de 1024 puntos cada una, probablemente además de otras resoluciones inferiores, como
640x480 u 800x600.
Cuanto mayor sea la resolución de un monitor, mejor será la calidad de la imagen en pantalla, y
mayor será la calidad del monitor. La resolución debe ser apropiada además al tamaño del monitor; es
normal que un monitor de 14" ó 15" no ofrezca 1280x1024 puntos, mientras que es el mínimo exigible a uno
de 17" o superior.
14 800x600 640x800
15 1024x768 800x600
17 1280x1024 1024x768
19 1600x1200 1152x864
21 1600x1200 1280x1024
42
La resolución está estrechamente relacionada con el número de colores presentados, relacionado
todo ello con la cantidad de memoria de la tarjeta gráfica.
Refresco de pantalla
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.
Lo mínimo exigible en este momento es que sea de 0,28 mm, no debiéndose admitir nada superior
como no sea en monitores de gran formato para presentaciones, donde la resolución no es tan importante
como el tamaño de la imagen.
Controles y conexiones
Aunque se va cada vez más al uso de monitores con controles digitales, en principio no debe ser
algo determinante a la hora de elegir un monitor, si bien se tiende a que los monitores con dichos controles
sean los más avanzados de la gama.
Una característica casi común a los monitores con controles digitales son los controles OSD (On
Screen Control, controles en pantalla). Nos indican qué parámetro estamos cambiando y qué valor le
estamos dando.
43
Algunos monitores digitales (no todos) suelen tener memorias de los parámetros de imagen
(tamaño, posición...), por lo que al cambiar de resolución no tenemos que reajustar dichos valores.
En cuanto a los controles en sí, los imprescindibles son: tamaño de la imagen (vertical y horizontal),
posición de la imagen, tono y brillo. Son de agradecer los de "efecto barril" (para mantener rectos los bordes
de la imagen), control trapezoidal (para mantenerla rectangular) y degauss magnético o desmagnetización.
Por lo que respecta a las conexiones, lo imprescindible es el típico conector mini D-sub de 15 pines;
en monitores de 17" o más, es interesante que existan además conectores BNC, que presentan la ventaja
de separar los tres colores básicos. De cualquier modo, esto sólo importa si la tarjeta gráfica también los
incorpora y si la precisión en la representación del color resulta determinante en el uso del monitor.
Hoy en día algunos monitores pueden incorporar una bahía USB, para la conexión de este tipo de
periféricos.
Multimedia
Algunos monitores llevan acoplados altavoces, e incluso micrófono y/o cámaras de vídeo. Esto
resulta interesante cuando se trata de un monitor de 15" ó 17" cuyo uso vaya a ser doméstico, para juegos o
videoconferencia.
Pantallas portátiles
Se basan en tecnologías de cristal líquido (LCD), parecidas a las de los relojes de pulsera digitales
pero mucho más avanzadas.
Una de las diferencias más curiosas respecto a los monitores "clásicos" es que el tamaño que se
indica es el real, no como en éstos. Mientras que en un monitor clásico de 15" de diagonal de tubo sólo un
máximo de 13,5" a 14" son utilizables, en una pantalla portátil de 13,3" son totalmente útiles, así que no son
tan pequeñas como parece.
Otra cosa que les diferencia es que no emiten en absoluto radiaciones electromagnéticas dañinas,
por lo que la fatiga visual y los posibles problemas oculares se reducen.
En la actualidad coexisten dos tipos:
Dual Scan (DSTN): Ya no muy utilizadas, razonablemente buenas pero dependen de las
condiciones de iluminación del lugar donde se esté usando el portátil.
Matriz Activa (TFT): Ésta opción encarece el portátil, pero permite una visualización perfecta sean
cuales sean las condiciones de iluminación exteriores.
En ambos casos las imágenes se ven mejor de frente que de lado, llegando a desaparecer si nos
escoramos mucho, aunque en los portátiles modernos este ángulo de visión es muy alto, hasta unos 160º
(el máximo es 180º, más significaría poder ver la pantalla desde la parte de atrás).
44
RATÓN
Dispositivo que mueve un puntero sobre la pantalla y permite seleccionar textos, imágenes o entrar
en las diferentes opciones mostradas en la pantalla.
Desde que se usan entornos gráficos tipo Windows, una herramienta fundamental.
Existen de varios tipos, con cable, inalámbricos, con bola o TrackBall, el tipo de ratón que usemos
depende del gusto del usuario.
Básicamente todos funcionan de la misma forma, un dispositivo mecánico es accionado por una
bola, generalmente de goma dura, que a su vez es movida por los movimientos de nuestra mano. En el PC,
tienen como mínimo dos botones. El izquierdo se usa (si no se es zurdo) para seleccionar ya sea con uno o
dos clic y el derecho al pulsarle se abre un menú contextual desde el cual accedemos a varias opciones del
sistema operativo.
TECLADO
De membrana: Resultan algo imprecisos, de tacto blando, apenas hacen ruido al teclear. En teoría
son los peores, pero hay a quien le encanta esa suavidad y ese silencio.
Mecánicos: Los más equilibrados en calidad/precio. Más precisos, quizá algo escandalosos.
Ergonómicos: Tienen el teclado dividido en dos partes de diferente orientación. Las muñecas
sufren menos, pero sólo lo recomiendo si se va a usar mucho.
IMPRESORA
Como indica su nombre, la 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 durante años el método más usual para presentar los resultados de los
cálculos en aquellos primitivos ordenadores, todo un avance respecto a las tarjetas y cintas perforadas que
se usaban hasta entonces.
Si queremos clasificar los diversos tipos de impresoras que existen, el método más lógico es hacerlo
atendiendo a su tecnología de impresión, es decir, al método que emplean para imprimir en el papel, e
incluir en dicha clasificación como casos particulares otras consideraciones como el uso de color, su
velocidad, etc.
45
Tipos de impresoras
Impresoras de impacto (matriciales): Fueron las primeras que surgieron en el mercado. Se las
denomina "de impacto" porque imprimen mediante el impacto de unas pequeñas piezas (la matriz de
impresión) sobre una cinta impregnada en tinta.
Impresoras de tinta: Cuando nos referimos a impresora de tinta nos solemos referir a aquéllas en las
que la tinta se encuentra en forma más o menos líquida, no impregnando una cinta como en las matriciales.
Estas impresoras destacan por la sencilla utilización del color.
Impresoras láser: Son las de mayor calidad del mercado, si entendemos por calidad la resolución
sobre papel normal que se puede obtener, unos 600 PPP reales. En ellas la impresión se consigue
mediante un láser que va dibujando la imagen electrostáticamente en un elemento llamado tambor que va
girando hasta impregnarse de un polvo muy fino llamado tóner (como el de fotocopiadoras) que se le
adhiere debido a la carga eléctrica. Por último, el tambor sigue girando y se encuentra con la hoja, en la cual
imprime el tóner que formará la imagen definitiva.
Resolución
Probablemente sea el parámetro que mejor define a una impresora. La resolución es la mejor o peor
calidad de imagen que se puede obtener con la impresora, medida en número de puntos individuales que es
capaz de dibujar una impresora.
Se habla generalmente de PPP, puntos por pulgada (cuadrada) que imprime una impresora. Así,
cuando hablamos de una impresora con resolución de "600x300 PPP" nos estamos refiriendo a que en cada
línea horizontal de una pulgada de largo (2,54 cm) puede situar 600 puntos individuales, mientras que en
vertical llega hasta los 300 puntos. Si sólo aparece una cifra ("600 PPP", por ejemplo) suele significar que la
resolución horizontal es igual que la vertical.
ESCÁNER
46
Por digitalizar se entiende la operación de transformar algo analógico (algo físico, real, de precisión
infinita) en algo digital (un conjunto finito y de precisión determinada de unidades lógicas denominadas bits).
Se trata de coger una imagen (fotografía, dibujo o texto) y convertirla a un formato que podamos almacenar
y modificar con el ordenador. Realmente un escáner no es ni más ni menos que los ojos del ordenador.
Cómo funciona
El proceso de captación de una imagen resulta casi idéntico para cualquier escáner:
Se ilumina la imagen con un foco de luz, se conduce mediante espejos la luz reflejada hacia un
dispositivo denominado CCD que transforma la luz en señales eléctricas, se transforma dichas señales
eléctricas a formato digital en un DAC (conversor analógico-digital) y se transmite el caudal de bits
resultante al ordenador.
El CCD (Charge Coupled Device, dispositivo acoplado por carga eléctrica) es el elemento
fundamental de todo escáner, independientemente de su forma, tamaño o mecánica. Consiste en un
elemento electrónico que reacciona ante la luz, transmitiendo más o menos electricidad según sea la
intensidad y el color de la luz que recibe; es un auténtico ojo electrónico. La calidad final del escaneado
dependerá fundamentalmente de la calidad del CCD.
La resolución
La resolución (medida en PPP, puntos por pulgada) puede definirse como el número de puntos
individuales de una imagen que es capaz de captar un escáner.
Cuando hablamos de un escáner con resolución de "300x600 PPP" nos estamos refiriendo a que en
cada línea horizontal de una pulgada de largo (2,54 cm) puede captar 300 puntos individuales, mientras que
en vertical llega hasta los 600 puntos. Esta resolución óptica viene dada por el CCD y es la más importante,
ya que implica los límites físicos de calidad que podemos conseguir con el escáner.
Tipos de escáner
Físicamente existen varios tipos de escáner, cada uno con sus ventajas y sus inconvenientes:
De sobremesa o planos: Son los modelos más apreciados por su buena relación
precio/prestaciones, aunque también son de los periféricos más incómodos de ubicar debido a
su gran tamaño. Sin embargo, son los modelos más versátiles, permitiendo escanear
fotografías, hojas sueltas, periódicos, libros encuadernados e incluso transparencias,
diapositivas o negativos con los adaptadores adecuados.
47
De mano: Son los escáner "portátiles", con todo lo bueno y lo malo que implica esto. Hasta
hace unos pocos años eran los únicos modelos con precios asequibles para el usuario medio,
ya que los de sobremesa eran extremadamente caros; esta situación ha cambiado tanto que en
la actualidad los escáner de mano están casi en vías de extinción. Su extinción se debe a las
limitaciones que presentan en cuanto a tamaño del original a escanear (generalmente puede ser
tan largo como se quiera, pero de poco más de 10 cm de ancho máximo) y a su baja velocidad,
así como a la carencia de color en los modelos más económicos. Lo que es más, casi todos
ellos carecen de motor para arrastrar la hoja, sino que es el usuario el que debe pasar el
escáner sobre la superficie a escanear.
De rodillo: Unos modelos de aparición relativamente moderna, se basan en un sistema muy
similar al de los aparatos de fax: un rodillo de goma motorizado arrastra a la hoja, haciéndola
pasar por una rendija donde está situado el elemento capturador de imagen. Este sistema
implica que los originales sean hojas sueltas, lo que limita mucho su uso al no poder escanear
libros encuadernados sin realizar antes una fotocopia. A favor tienen el hecho de ocupar muy
poco espacio, incluso existen modelos que se integran en la parte superior del teclado; en
contra tenemos que su resolución rara vez supera los 400x800 puntos, aunque esto es más que
suficiente para el tipo de trabajo con hojas sueltas al que van dirigidos.
Modelos especiales: Aparte de los híbridos de rodillo y de mano, existen otros escáner
destinados a aplicaciones concretas; por ejemplo, los destinados a escanear exclusivamente
fotos, negativos o diapositivas, aparatos con resoluciones reales del orden de 3.000x3.000 PPP
que muchas veces se asemejan más a un CD-ROM que a un escáner clásico; o bien los
bolígrafos-escáner, utensilios con forma y tamaño de lápiz o marcador fluorescente que
escanean el texto por encima del cual los pasamos y a veces hasta lo traducen a otro idioma al
instante; o impresoras-escáner, similares a fotocopiadoras o más particulares como las Canon,
donde el lector del escáner se instala como un cartucho de tinta.
CÁMARAS DE VIDEOCONFERENCIA
Las cámaras de videoconferencia se están convirtiendo día a día en un elemento más de nuestro
ordenador, con ellas podemos mantener (a través de programas como NetMeeting) contactos visuales en
tiempo real con otro usuario de la red.
48
Si hablamos de una buena resolución de la
imagen, seguramente nos estaremos refiriendo a una
calidad de unos 29 o 30 cuadro por segundo, a mas
cuadros por segundos que pueda generar una cámara,
mejor sensación causará en la percepción visual de
nuestro interlocutor, ya que la imagen se verá más fluida y
no entrecortada como podría suceder con unos 15
cuadros por segundo.
Por otro lado, si queremos transmitir una buena
calidad en la imagen deberemos tener en cuenta la
conexión que poseemos para conectarnos a Internet.
Por este motivo, en algunos casos, sobre todo si
se cuenta con una conexión de unos 56Kbps quizás se tenga la necesidad de sacrificar un poco la calidad
de la transmisión que se desea realizar. Obviamente, sería penoso llegar al punto de emitir cuadros que se
van intercalando en lapsos de segundos. La imagen carecería de naturalidad.
Por todo lo que acabo de explicar, resulta obvia la necesidad de la conectividad que podría brindar
un cable módem. Si nos conectamos con un módem, habrá que tener paciencia. La videoconferencia se
desarrolló perfectamente mientras no eran tan popular conexiones con cable módem.
Para auxiliar la transmisión, contamos con compresión de la señal que emitiremos.
Hay otros medios para transmitir video por Internet. Como por ejemplo una tarjeta capturadora de
video y complementar a esta con un handycam de video.
Para aquellos que desean realizar videoconferencias, mediante una sencilla conexión de la cámara
al puerto USB, existen diferentes cámaras de vídeo y en la actualidad son las más utilizadas.
Manejo de FETCH
Una vez que se ha accesado FETCH, se observará el siguiente cuadro de diálogo:
49
La información que se debe introducir en el cuadro de diálogo, a fin de abrir una cuenta desde FETCH para
realizar la transferencia de un archivo, es la que se describe a continuación:
Así, después de introducir esta información se habrá logrado abrir la cuenta deseada:
50
Localización de Archivos y Directorios
La mayoría de las computadoras dividen sus archivos en directorios, los cuales son equivalentes a los
folders utilizados en una Macintosh. Así, el primer paso a seguir para localizar un archivo es ubicarse en el
directorio correcto. FETCH muestra el nombre del directorio accesado, así como también una lista que
contiene los nombres de los archivos y subdirectorios contenidos en tal directorio, como se muestra a
continuación:
La forma de ubicarse en el directorio adecuado para localizar el archivo cuya transferencia se desea
realizar, se puede realizar de dos formas:
a. Si se encuentra en la lista que contiene los nombres de los archivos y subdirectorios contenidos en el
directorio actual, entonces bastará con dar doble click en el folder que contiene el archivo de interés.
51
b. Si se encuentra en un directorio que antecede al directorio actual, entonces será necesario accesar al
directorio de interés ubicándose en él mediante el empleo del menú colgante, tal y como se muestra a
continuación:
Para llevar a cabo la transferencia de una Macintosh a una determinada cuenta en otra computadora, se
deben seguir los pasos que se describen a continuación. Cabe mencionar que para ejemplificar este
proceso se hará la transferencia de un archivo llamado "Prueba", localizado en el disco duro cuyo nombre
es "Consultas Programoteca" de una Macintosh, a la cuenta "amoreno".
a. Abrir desde FETCH la cuenta a la cual se desea transferir el archivo de interés, tal y como se explicó
anteriormente.
52
c. Posicionarse en el lugar donde se encuentra el archivo llamado "Prueba" haciendo uso de la opción Open
del cuadro de diálogo, y una vez que se ha localizado el archivo, seleccionar nuevamente la opción Open.
d. Seleccionar la opción OK del cuadro de diálogo para grabar el archivo llamado "Prueba". Si el nombre
que tiene el archivo desea sustituirse por otro, podrá realizarse el cambio asignando el nuevo nombre en el
cuadro sombreado que se encuentra bajo la frase "Save file on udlapvms.pue.udlap.mx as:" del cuadro de
diálogo.
53
Cómo Transferir un Archivo de una Cuenta en Otra Computadora a una Macintosh
Para llevar a cabo la transferencia de un archivo de una determinada cuenta al disco duro de una
Macintosh, se deben seguir los pasos que se describen a continuación. Cabe mencionar que para
ejemplificar este proceso se hará la transferencia de un archivo llamado "Prueba", localizado en la cuenta
"amoreno", al disco duro cuyo nombre es "Consultas Programoteca" de una Macintosh.
a. Abrir desde FETCH la cuenta a la cual se desea transferir el archivo, tal y como se explicó anteriormente.
b. Seleccionar el archivo llamado "Prueba" y posteriormente la opción Get File ... , dando un click con el
mouse para ambos casos.
Si no se selecciona el nombre del archivo que se desea transferir antes de dar un click en la opción Get
File..., aparecerá un cuadro de diálogo que pedirá se le de el nombre del archivo que se va a transferir.
c. Seleccionar la opción Save del cuadro de diálogo para grabar el archivo llamado "Prueba". Si el nombre
que tiene el archivo desea sustituirse por otro, podrá realizarse el cambio asignando el nuevo nombre en el
cuadro sombreado que se encuentra bajo la frase "Save text file as:" del cuadro de diálogo. El lugar del
disco duro "Consultas Programoteca" en el que se desea grabar el archivo en cuestión, podrá determinarse
haciendo uso de la opción Desktop del cuadro de diálogo.
54
55
CODIGO ASSCII Y EBCDIC
Se usan códigos ASCII en UNIX y en las computadoras de base DOX para representar texto simple. El
Sistema de las computadoras IBM 390 usa su propio juego de códigos, llamado EBCDIC.
Una nueva norma, llamada Unicode (Unicode Worldwide Code Standard - Código Norma Universal
Unicode), se usa en las computadoras bajo Windows NT. IE4 y Netscape 4 entienden al Unicode y su uso
se está extendiendo. El Unicode versión 3.0 contiene 49,194 caracteres de los utilizados en los lenguajes
más importantes del mundo. Además de letras y números, el Unicode incluye puntuación, símbolos
matemáticos y técnicos, formas geométricas, caracteres gráficos y modelos del Braille. Unicode contiene el
código ASCII de norma como un subconjunto.
Las tablas de más abajo muestran los juegos de códigos del ASCII y EBCDIC. El símbolo significa que el
conjunto de caracteres o fuente actual, no lo contiene. Por ejemplo se ha cambiado recientemente 0128
para representar el nuevo símbolo de dinero Euro, pero los conjuntos de caracteres o fuentes más
antiguas no tendrán ese símbolo. Para imágenes de las tablas completas, vea www.asciitable.com
Para ver la escritura del Unicode usted necesita ir al sitio web de Unicode: mapas de Unicode 2.1. ¡Hay
algunas escrituras aquí que son muy diferentes de lo que usted ve en esta página! Si usted desciende por la
misma, puede encontrar los cuadros conteniendo el símbolo para el dinero y caracteres gráficos o dingbats.
56
46 . 62 > 78 N 94 ^ 110 n 126 ~
Códigos EBCDIC
129 81 a 194 C2 B
130 82 b 195 C3 C
131 83 c 196 C4 D
132 84 d 197 C5 E
133 85 e 198 C6 F
134 86 f 199 C7 G
135 87 g 200 C8 H
136 88 h 201 C9 I
137 89 i 209 D1 J
145 91 j 210 D2 K
57
146 92 k 211 D3 L
147 93 l 212 D4 M
148 94 m 213 D5 N
149 95 n 214 D6 O
150 96 o 215 D7 P
151 97 p 216 D8 Q
152 98 q 217 D9 R
153 99 r 226 E2 S
162 A2 s 227 E3 T
163 A3 t 228 E4 U
164 A4 u 229 E5 V
165 A5 v 230 E6 W
166 A6 w 231 E7 X
167 A7 x 232 E8 Y
168 A8 y 233 E9 Z
169 A9 z 64 40 espacio en
blanco
240 F0 0 75 4B .
241 F1 1 76 4C <
242 F2 2 77 4D (
243 F3 3 78 4E +
244 F4 4 79 4F |
245 F5 5 80 50 &
246 F6 6 90 5A !
247 F7 7 91 5B $
248 F8 8 92 5C *
58
249 F9 9 93 5D )
122 7A : 94 5E ;
123 7B # 96 60 -
124 7C @ 97 61 /
126 7E = 108 6C %
Sistemas de Numeración y
Medidas Informáticas
Introducción
Para contar de 1 a 10 es fácil, pero ¿qué pasa cuando hay que contar más de diez cosas? Pues usamos las
manos de un "amigo" para contar cuantas veces hemos usado los dedos de las nuestras, así "12", sería dos
más una vez diez.
Otra circunstancia curiosa es que en el sistema de numeración que usamos los números se leen y escriben
de derecha a izquierda, al revés del modo en que escribimos las palabras.
Cuando interpretamos números de varias cifras, hay que empezar por la derecha, el primer dígito son
unidades, el siguiente decenas, es decir cuantos grupos de 10 elementos estamos contando. El siguiente
centenar, es decir el número de grupos de 10 elementos de grupos de 10 elementos, o sea el número de
grupos de 100 elementos. Y así sucesivamente.
Sistema Binario
59
Estamos habituados al sistema de numeración decimal y nos parece lógico usarlo en todo momento. Pero
hay ocasiones en donde no es el más apropiado. Uno de esos mundos, en los que existen sistemas más
descriptivos de los fenómenos que el decimal, es el de los procesadores.
Las computadoras trabajan internamente con dos niveles de voltaje, por lo que su sistema de numeración
natural es el sistema binario (encendido, apagado).
Por su naturaleza digital, las computadoras son máquinas esencialmente binarias. Utilizan el sistema
de numeración llamado binario, en el que sólo se disponen dos signos: 0 y 1. Contando correlativamente de
manera binaria, diríamos: 0, 1, 10, 11, 100, 101, 110, 111,...
Tanto el sistema binario, como el decimal y el hexadecimal, son sistemas en los que la posición de cada
dígito representa información de mucha importancia.
Como hay diez símbolos (del 0 al 9), una decena representa 10 unidades, una centena representa 10
decenas, etc. Diez unidades de una posición, valen una unidad en la posición contigua a la izquierda. En el
sistema binario, con dos símbolos solamente, cada posición a la izquierda vale el doble de la que le sigue a
la derecha. O lo que es lo mismo decir, la relación entre las sucesivas posiciones se da según la sucesión
1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536.....
Para el sistema de numeración binaria, valen las dos reglas prácticas siguientes:
Notar que siempre se comienza a contar desde cero. En un número binario, al igual que en un decimal, el bit
menos significativo (correspondiente al multiplicador 20, o sea 1) es el que se escribe más a la derecha:
60
bit# 10 9 8 7 6 5 4 3 2 1 0
Veamos como ejemplo práctico un número de 7 bits cualquiera como 1001101 (notar que los bits se
ordenan 6...0)
1001101 = 64 * 1 + 32 * 0 + 16 * 0 + 8 * 1 + 4 * 1 + 2 * 0 + 1 * 1
Esto nos proporciona una forma de traducir (cambiar de base) un número binario a decimal. Basta sumar
aquellos multiplicadores cuyos bits estén en 1 e ignorar aquellos cuyo bit es 0. En nuestro anterior ejemplo
es:
1001101 = 64 + 8 + 4 + 1 = 77 decimal
Los números binarios son los que efectivamente fluyen dentro del procesador en una PC, se guardan en
memoria o disco, o se transmiten (modulados) por modem. Pero un humano no puede manipular con
facilidad números como:
Que es de 32 bits (hay 32 símbolos en el número, desde el bit 31 a la izquierda hasta el bit 0, a la derecha)
y se ha ordenado ex-profeso en grupos de a cuatro por cuestiones de comodidad que serán evidentes algo
más adelante.
Desafortunadamente las computadoras trabajan en sistema binario y aunque es posible hacer la conversión
entre decimal y binario, no es precisamente una tarea cómoda. El sistema de numeración hexadecimal, o
sea de base 16, resuelve este problema: es compacto y nos proporciona un mecanismo sencillo de
conversión hacia el formato binario.
El Bit
Es el acrónimo de Binary Digit (dígito binario). Un bit es la unidad mínima de información empleada en
informática. Representa un uno o un cero (abierto o cerrado, blanco o negro, cualquier sistema de
codificación sirve). A través de secuencias de bits, se puede codificar cualquier valor discreto como, por
ejemplo, números, palabras e imágenes.
El Byte
61
Se describe como la unidad básica de almacenamiento de información, siendo equivalente a ocho bits.
Los prefijos kilo, mega, giga, etc. se consideran potencias de 1024 en lugar de potencias de 1000. Esto es
así porque 1024 es la potencia de 2 (210) más cercana a 1000.
Sistema Hexadecimal
Como veremos en la unidad de Hardware, el procesador 80386 hace ya más de una década manipulaba sin
problemas números de 32 bits. Un humano necesita manejarlo de otra manera y por eso se inventó el
sistema hexadecimal, con 16 símbolos, ya que si uno agrupa cuatro bits obtiene 16 combinaciones
posibles (24 = 16).
Esto tiene una razón. Nuestro sistema decimal no se corresponde en la cantidad de dígitos con el binario en
cambio, el hexadecimal si, porque cada cuatro bits representan un dígito hexadecimal exacto.
En un sistema hexadecimal, necesitamos 16 símbolos. Ya que somos muy buenos manejando números
decimales, adoptamos esos diez símbolos (0, 1, 2, 3, 4, 5, 6, 7, 8 y 9) para empezar, pero hay que agregar
otros seis: A, B, C, D, E y F
Cada trozo de información recibe un nombre propio según la cantidad de bits que posea:
62
un nibble son cuatro bits y se puede contar desde 0 hasta 15 (F en hexa)
con un byte (8 bits) puedo contar desde 0 hasta 255 ó FF hexa
una word tiene 16 bits y permite contar desde 0 hasta 65535 ó FFFF en hexa.
Para transformar un número decimal al sistema binario, se realizan divisiones enteras sucesivas entre 2,
hasta que el resultado sea cero.
Por ejemplo.
33 16 8 4 2 1 0 Aquí se esta realizando la división entera.
2 | 67 2 | 33 2 | 16 2 | 8 2 | 4 2 | 2 2| 1 Es decir lo que queda de residuo se deja.
Entonces 67 =1000011 2 Hay que recordar que el número es decimal, es decir 67= 67 10
63
125 = 11111012
255 = 111111112
512 = 10000000002
264 = 1000010002
Para transformar un número decimal al sistema octal, se realizan divisiones enteras sucesivas entre 8, hasta
que el resultado sea cero.
Por ejemplo
8 | 63 8 | 7 El resultado se lee tomando el último residuo, siguiendo con el anterior.
278 = 4268
1512 = 27508
2001=37218
Para transformar un número decimal al sistema hexadecimal, se realizan divisiones enteras sucesivas entre
16 hasta que el resultado sea cero.
Por ejemplo
64
Pasar a hexadecimal el número 10.
16 | 10
3984 = F9016
7569 = 1D9116
Cuando se tiene un número en binario y se desea pasarlo al sistema hexadecimal se forman parejas de 4
en 4 empezando de derecha a izquierda.
Por ejemplo.
Solución
Tomamos sus potencias en orden ascendente empezando desde el cero, de derecha a izquierda
1 , 1 1 0 1 , 1 1 0 12 = Hexadecimal
20 23 22 21 20 23 22 21 20 Y sumamos. (Recordar que 13 en hexadecimal es D)
1, 8 + 4 + 0 + 1, 8 + 4 + 0 + 1 = 1 D D 16
65
Cuando se tiene un número en binario y se desea pasarlo al sistema decimal se toma cada uno de los
dígitos empezando por la última posición hasta la primera.
Por ejemplo.
Solución
Tomamos sus potencias en orden ascendente empezando desde el cero, de derecha a izquierda
1 1 1, 0 1 1, 1 0 1 2 = Decimal
28 27 26 25 24 23 22 21 20
Posteriormente tomamos cada uno de los dígitos y lo multiplicamos por el 2 ala potencia respectiva.
Y sumamos.
20 x 1 = 1 x 1 = 1
21 x 0 = 2 x 0 = 0
22 x 1 = 4 x 1 = 4
23 x 1 = 8 x 1 = 8
24 x 1 = 16 x 1 = 16
25 x 0 = 32 x 1 = 0
26 x 1 = 64 x 1 = 64
28 x 1 = 128 x 1 = 128
28 x 1 = 256 x 1 = 256
66
Entonces 1110111012=47710
111110 2 = 62
101010102 = 170
100000012 = 65
Cuando se tiene un número en binario y se desea pasarlo al sistema octal se forman parejas de 3 en 3
empezando de derecha a izquierda.
Por ejemplo.
Solución
Tomamos sus potencias en orden ascendente empezando desde el cero, de derecha a izquierda
Y sumamos.
1 1 1 , 0 1 1 , 1 0 12 = Octal
22 21 20 22 21 20 22 21 20
4 + 2 +1 2 + 1 4 + 1 =7 3 5 8
20 x 1 = 1 x 1 = 1
21 x 0 = 2 x 0 = 0 Si sumamos obtenemos 5
22 x 1 = 4 x 1 = 4
67
Para la segunda pareja
20 x 1 = 1 x 1 = 1
21 x 1 = 2 x 1 = 2 Si sumamos obtenemos 3
22 x 0 = 4 x 0 = 0
Y la tercera pareja
20 x 1 = 1 x 1 = 1
21 x 1 = 2 x 1 = 2 Si sumamos obtenemos 7
22 x 1 = 4 x 1 = 4
Suma en binario
Ejemplo
Solución
Multiplicación en binario
Ejemplo
Solución
68
Se colocan las mismas posiciones para ambos números.
111
111
69
Aspectos negativos de la Informática
Introducción
Hoy resulta muy difícil imaginar un mundo sin computadoras. La idea de una sociedad totalmente
informatizada, que muchos consideraban una mera fantasía, se ha transformado en pocos años en realidad,
al mismo tiempo que la tecnología ha avanzado y ha podido ser aplicada a diversos ámbitos de la ciencia y
de la vida cotidiana.
A comienzos de los 80, se fabricó la primera computadora personal, lo que supuso el inicio de una
revolución.
En este trabajo nos proponemos dar una explicación de los delitos informáticos para luego exponer los
temas que conforman los aspectos negativos en la informática como son:
Piratería de software
Falsificación de software
Virus de computadoras
Delitos informáticos
El delito informático implica actividades criminales que no encuadran en las figuras tradicionales como
robos, hurtos, falsificaciones, estafa, sabotaje, etc. Sin embargo, debe destacarse que el uso de las técnicas
informáticas ha creado nuevas posibilidades del uso indebido de computadoras lo que ha propiciado a su
vez la necesidad de regulación por parte del derecho.
En el ámbito internacional se considera que no existe una definición propia del delito informático, sin
embargo muchos han sido los esfuerzos de expertos que se han ocupado del tema, y aún no existe una
definición de carácter universal.
Los crímenes por computadora comprenden "cualquier comportamiento criminal en el cual la computadora
ha estado involucrada con material o como objeto de la acción criminal, o como mero símbolo":
Entonces podríamos decir que los delitos informáticos son aquellos que se dan con la ayuda de la
informática o técnicas anexas.
En un sentido más amplio se los puede llamar "delitos electrónicos", que serian cualquier conducta criminal
que en su realización hace uso de la tecnología electrónica.
A los delitos informáticos se les puede dar una forma típica y atípica, la primera serian las CONDUCTAS
típicas antijurídicas y culpables en que tiene a las computadoras como instrumento o fin, y las segundas
(atípicas) son las ACTITUDES ilícitas en que se tiene a las computadoras como instrumento o fin.
Tipificación de los Delitos Informáticos
Los tipos de delitos informáticos reconocidos por las Naciones Unidas, se clasifican en:
Fraudes cometidos mediante manipulación de computadoras.
Falsificaciones informáticas
Daños o modificaciones de programas o datos computarizados.
1) Fraudes cometidos mediante manipulación de computadoras.
Delito Descripción
70
Este tipo de fraude informático conocido también como sustracción de datos, es
muy común ya que es fácil de cometer y difícil de descubrir. No requiere de
Manipulación de los
conocimientos técnicos de informática y puede realizarlo cualquier persona que
datos de entrada
tenga acceso a las funciones normales de procesamiento de datos en la fase
de adquisición de los mismos.
2) Falsificaciones informáticas.
DELITO DESCRIPCION
Como instrumentos Las computadoras pueden utilizarse también para efectuar falsificaciones de
documentos de uso comercial. Cuando empezó a disponerse de fotocopiadoras
computarizadas en color a base de rayos láser surgió una nueva generación de
falsificaciones o alteraciones fraudulentas. Estas fotocopiadoras pueden hacer
copias de alta resolución, pueden modificar documentos e incluso pueden crear
documentos falsos sin tener que recurrir a un original, y los documentos que
71
producen son de tal calidad que sólo un experto puede diferenciarlos de los
documentos auténticos.
DELITO DESCRIPCION
Acceso no autorizado a
Por motivos diversos: desde la simple curiosidad, como en el caso de muchos
servicios y sistemas
piratas informáticos (hackers) hasta el sabotaje o espionaje informático.
informáticos
Piratas informáticos o El acceso se efectúa a menudo desde un lugar exterior, situado en la red de
hackers telecomunicaciones, recurriendo a uno de los diversos medios que se
mencionan a continuación. El delincuente puede aprovechar la falta de rigor de
las medidas de seguridad para obtener acceso o puede descubrir deficiencias
en las medidas vigentes de seguridad o en los procedimientos del sistema. A
menudo, los piratas informáticos se hacen pasar por usuarios legítimos del
sistema; esto suele suceder con frecuencia en los sistemas en los que los
72
usuarios pueden emplear contraseñas comunes o contraseñas de
mantenimiento que están en el propio sistema.
Reproducción no Esta puede entrañar una pérdida económica sustancial para los propietarios
autorizada de legítimos. El problema ha alcanzado dimensiones transnacionales con el tráfico
programas informáticos de esas reproducciones no autorizadas a través de las redes de
de protección legal telecomunicaciones modernas.
Piratería de software
El problema legal más grande que afecta a la industria de las computadoras es la Piratería de Software, la
cual consiste en la copia o uso ilegal de los programas. La piratería es un problema enorme debido a que es
muy fácil de hacer. En la mayor parte de los casos, robar un programa no es más difícil de lo que es grabar
un disco compacto de música que le ha pedido prestado a un amigo. Los piratas de software renuncian al
derecho de recibir actualizaciones y soporte técnico, pero obtienen el uso del programa sin pagar por él.
Muchos programas de software comercial, software que debe comprarse antes de usarlo, cuesta poco, de
20 a 50 dólares, pero la mayor de las aplicaciones cuestan entre 100 y 500 dólares. Las aplicaciones muy
especializadas o complejas pueden costar varios miles de dólares.
Aún el software, software que se puede usar gratis como prueba y luego registrarse y pagar por él si se
decide usarlo, sufre de un alto índice de piratería.
El software es pirateado en muchas formas. El método más simple es copiar el software de sus disquetes o
disco compacto originales. Los usuarios en una red pueden copiar con facilidad ciertos tipos de software en
forma directa del servidor, o incluso intercambiar programas a través del sistema de correo electrónico de su
Organización.
Sin embargo el Internet ha llegado a ser el semillero de piratería más grande, ya que los piratas distribuyen
programas por correo o a través de sitios que son guaridas de ladrones en Word Wide Web.
La piratería de software es atentar contra los derechos de la propiedad intelectual.
Se produce la piratería cuando:
·Un individuo o entidad ofrece copias ilegales, en CD – R o CD - RW, aplicaciones descargables o números
de serie gratis, a cambio de dinero o mediante trueque.
·Un individuo proporciona un producto educativo sin autorización o a particulares o empresas no
autorizados.
·Un individuo instala o utiliza el software sin una licencia debidamente autorizada, o cuando lo hace en más
sistemas de los que está autorizado.
Existen varias formas de piratería:
La piratería del usuario final: la forma más común de la piratería, el usuario final o la organización copian el
software en más equipos de los que el acuerdo de la licencia permite (por defecto
cada máquina que utiliza el software debe tener su propia licencia).
Piratería de carga de disco duro: los distribuidores de equipos informáticos sin
escrúpulos cargan previamente software sin licencia en los equipos, y no
suministran a sus clientes las licencias necesarias.
73
Piratería de falsificación y de CD-ROM: los vendedores ilegales, que con frecuencia se organizan en redes
delictivas, transmiten software falso como si fuera auténtico, intentando emular el embalaje del producto con
el nombre de la empresa y las marcas comerciales propietarias.
Piratería por Internet: se trata de cualquier tipo de piratería que implique la distribución electrónica no
autorizada o la descarga desde Internet de programas de software con copyri
Efectos De La Piratería
Inhibición de la innovación y del desarrollo de nuevos productos.
Angostamiento de fondos para investigación y desarrollo
Evasión de impuestos.
Disminución en la creación de empleos y reducción de los existentes
En suma, amenaza al ritmo de crecimiento de la economía global de la información
Muchos países, como los que nombramos a continuación, son quienes tienen las más grandes pérdidas en
dólares debido a la piratería de software:
1. Estados Unidos
2. China
3. Japón
4. Alemania
5. Reino Unido
6. Francia
7. Brasil
8. Italia
9. Canadá
10. Rusia
Las pérdidas en estos países sumaron $7.3 mil millones o 67% de las pérdidas mundiales en 1998. Con
$3.2 mil millones de dólares, la piratería de software en Norte América representó 26% de las pérdidas por
ganancias en 1998.
Riesgos de la piratería de software.
·Para los consumidores: Cuando un consumidor decide hacer una copia no autorizada de un programa de
software, está falsificando el derecho a la asistencia, documentación, garantías y las actualizaciones
periódicas. El software pirata a menudo contiene virus que podrían borrar o dañar los contenidos del disco
duro. Además, al piratear un producto protegido por las leyes de propiedad intelectual, el individuo se
expone, y expone a las empresas para las que trabaja, al riesgo legal que ello supone.
·Para los desarrolladores de software: La pérdida de ingresos que supone la piratería de software podría
haberse invertido en el producto consiguiendo reducir su precio para el consumidor del software. La alta
tasa de piratería también repercute en el éxito de los desarrolladores de software local puesto que trabajan
para crear su propia existencia en el mercado.
·Para los vendedores: El software pirateado origina pérdidas de ventas, y las pérdidas de ventas a su vez,
disminuyen los ingresos de ventas de los vendedores autorizados. Estos vendedores tienen grandes
74
pérdidas en su negocio cuando los competidores sin escrúpulos, trabajan con software pirata y debilitan su
negocio.
75
Falsificación de Software
Compartir software en forma ilegal con amigos o dentro de una compañía es un problema. La falsificación
descarda con la intención de vender es otro problema por completo. Este concepto es similar a vender ropa
o mercancía de piel con etiquetas de diseñador cuando en realidad son imitaciones baratas. Copia software,
sin embargo, es mucho más fácil que copiar ropa del diseñador.
Aunque nuevos tratados agresivos están obligados a los países a conceder más protección contra la
piratería y la falsificación de software, la falsificación es un gran negocio en algunas partes del mundo, de
manera más notable en Europa y Asia. En muchos países, los productos de software y otros tipos de
propiedad intelectual no disfrutan de las mismas protecciones de derechos de autor o marca registrada
como otros tipos de productos. Ningún editor es inmune a las falsificaciones y ventas en el mercado negro.
El gigante del software Microsoft proporciona un excelente ejemplo.
En 1995 y 1996, cuando el sistema operativo Windows 95 estaba siendo desarrollado y probado para su
lanzamiento comercial, los vendedores del mercado negro en Asia estaban muy ocupados haciendo
duplicados ilegales del Software beta de Windows 95 y vendiendo las copias a cualquiera que las comprara.
El software beta es software que está en la etapa de desarrollo y no está listo para la venta comercial. Los
editores con frecuencia proporcionan copias del software beta evaluadores independientes y otros
desarrolladores de software, quienes trabajan con el programa para encontrar errores lógicos y probar la
compatibilidad con otros productos.
El software beta por lo general está protegido por estrictos acuerdos contractuales entre el editor y los
evaluadores beta, quienes están de acuerdo en nunca copiar o distribuir el software. Aún cuando Microsoft
creó después versiones internacionales del sistema operativo para su venta en Asia, la compañía perdió
una cantidad desconocida de ventas debido a las actividades del mercado negro.
76
Virus
Concepto de virus informático.
Un virus informático es un programa de computadora, tal y como podría ser un procesador de textos, una
hoja de cálculo o un juego. Obviamente ahí termina todo su parecido con estos típicos programas que casi
todo el mundo tiene instalados en sus computadoras. Un virus informático ocupa una cantidad mínima de
espacio en disco (el tamaño es vital para poder pasar desapercibido), se ejecuta sin conocimiento del
usuario y se dedica a auto reproducirse, es decir, hace copias de sí mismo e infecta archivos o sectores de
arranque de los discos duros y disquetes para poder expandirse lo más rápidamente posible. La
propagación de estos a través de las maquinas, se puede realizar de diversas formas, por medio de
disquetes o a través de las redes de comunicación que unen una serie de computadoras.
Un virus, es un programa parásito oculto dentro de otro programa legitimo o almacenado en un área
especial de un disco llamada sector de arranque. Ejecutar el programa legítimo o tener acceso al disco
activa el virus sin el conocimiento del usuario.
Cómo nacieron los virus
Hacia finales de los años 60, Douglas McIlory, Victor Vysottsky y Robert Morris idearon un juego al que
llamaron Core War (Guerra en lo Central, aludiendo a la memoria de la computadora), que se convirtió en el
pasatiempo de algunos de los programadores de los laboratorios Bell de AT&T.
El juego consistía en que dos jugadores escribieran cada uno un programa llamado organismo, cuyo hábitat
fuera la memoria de la computadora. A partir de una señal, cada programa intentaba forzar al otro a efectuar
una instrucción inválida, ganando el primero que lo consiguiera.
Al término del juego, se borraba de la memoria todo rastro de la batalla, ya que estas actividades eran
severamente sancionadas por los jefes por ser un gran riesgo dejar un organismo suelto que pudiera acabar
con las aplicaciones del día siguiente. De esta manera surgieron los programas destinados a dañar en la
escena de la computación.
Uno de los primeros registros que se tienen de una infección data del año 1987, cuando en la Universidad
estadounidense de Delaware notaron que tenían un virus porque comenzaron a ver "© Brain" como etiqueta
de los disquetes.
La causa de ello era Brain Computer Services, una casa de computación paquistaní que, desde 1986,
vendía copias ilegales de software comercial infectadas para, según los responsables de la firma, dar una
lección a los piratas.
Actualmente, los virus son producidos en cantidades extraordinarias por muchísima gente alrededor del
planeta. Algunos de ellos dicen hacerlo por divertimento, otros quizás para probar sus habilidades. De
cualquier manera, hasta se ha llegado a notar un cierto grado de competitividad entre los autores de estos
programas.
La primer aclaración que cabe es que los virus de computadoras, son simplemente programas, y como
tales, hechos por programadores. Son programas que debido sus características particulares, son
especiales. Para hacer un virus de computadora, no se requiere capacitación especial, ni una genialidad
significativa, sino conocimientos de lenguajes de programación, de algunos temas no difundidos para
público en general y algunos conocimientos puntuales sobre el ambiente de programación y arquitectura de
las PC's.
77
Los virus pueden ser programados para llevar a cabo las siguientes tareas, y muchas otras:
Copiarse ellos mismos a otros programas.
Desplegar información en la pantalla.
Destruir archivos de datos.
Borrar un disco duro entero.
Descargar un archivo de otro usuario, de un servicio en línea o de Internet.
Se ha sabido que incluso programas comprados en paquetes cerrados en una tienda de prestigio
albergaban virus. La máxima precaución es tratar a todos los discos como portadores potenciales de
infección.
La búsqueda de virus requiere software antivirus, el cual examina discos y programas en busca de virus
conocidos y los erradica. La mayor parte de los programas antivirus son fáciles de usar. Después de que es
instalado y activado en su sistema, un buen programa antivirus busca archivos infectados en forma
automática cada vez que inserta cualquier clase de disco o usa su módem para recuperar un archivo. Unos
cuantos programas antivirus incluso pueden examinar archivos mientras lo está descargando de Internet y
puede alertarlo en forma instantánea cuando descarga una archivo infectado.
Características de los virus
El virus es un pequeño software (cuanto más pequeño más fácil de esparcir y más difícil de detectar), que
permanece inactivo hasta que un hecho externo hace que el programa sea ejecutado o el sector de "booteo"
sea leído. De esa forma el programa del virus es activado y se carga en la memoria de la computadora,
desde donde puede esperar un evento que dispare su sistema de destrucción o se replique a sí mismo.
Los más comunes son los residentes en la memoria que pueden replicarse fácilmente en los programas del
sector de "booteo", menos comunes son los no-residentes que no permanecen en la memoria después que
el programa-huésped es cerrado.
Los virus pueden llegar a "camuflarse" y esconderse para evitar la detección y reparación. Como lo hacen:
a. El virus re-orienta la lectura del disco para evitar ser detectado;
b. Los datos sobre el tamaño del directorio infectado son modificados en la FAT, para evitar que se
descubran bytes extra que aporta el virus;
c. encriptamiento: el virus se encripta en símbolos sin sentido para no ser detectado, pero para
destruir o replicarse DEBE desencriptarse siendo entonces detectable;
d. polimorfismo: mutan cambiando segmentos del código para parecer distintos en cada "nueva
generación", lo que los hace muy difíciles de detectar y destruir;
e. Gatillables: se relaciona con un evento que puede ser el cambio de fecha, una determinada
combinación de tecleo; un macro o la apertura de un programa asociado al virus (Troyanos).
Los virus se transportan a través de programas tomados de BBS (Bulletin Boards) o copias de software no
original, infectadas a propósito o accidentalmente. También cualquier archivo que contenga "ejecutables" o
"macros" puede ser portador de un virus: downloads de programas de lugares inseguros; e-mail con
"attachments", archivos de MS-Word y MS-Excel con macros. Inclusive ya existen virus que se distribuyen
con MS-Power Point. Los archivos de datos, texto o Html NO PUEDEN contener virus, aunque pueden ser
dañados por estos.
78
Los virus de sectores de "booteo" se instalan en esos sectores y desde allí van saltando a los sectores
equivalentes de cada uno de los drivers de la PC. Pueden dañar el sector o sobrescribirlo.
Lamentablemente obligan al formateo del disco del drive infectado.
En cambio los virus de programa, se manifiestan cuando la aplicación infectada es ejecutada, el virus se
activa y se carga en la memoria, infectando a cualquier programa que se ejecute a continuación. Puede
solaparse infecciones de diversos virus que pueden ser destructivos o permanecer inactivos por largos
periodos de tiempo.
Propiedades de los virus.
Además de la característica principal de estos programas, que es su facultad de duplicación, existen otros
muchos caracteres de los virus, como son los siguientes:
Modifican el código ejecutable: Aquí aparece el adjetivo "contagio". Para que un virus contagie a otros
programas ejecutables, debe ser capaz de alterar la organización del código del programa que va a infectar.
Permanecen en la memoria de la computadora: Cuando un usuario, inocente de las consecuencias, ejecuta
en su ordenador un programa con virus, éste pasa a acomodarse en la memoria RAM. Esto lo hace para
adueñarse de la computadora, y por así decirlo, tomar el mando.
Se ejecutan involuntariamente: Un virus sin ejecutar es imposible que dañe la computadora. En ese
momento está en reposo, en modo de espera de alguien que por equivocación, ejecute el programa
"portador".
Funcionan igual que cualquier programa: Un virus, al ser un programa de computadora, se comporta como
tal, a lo cual hay que dar gracias. Dicho programa necesita de alguien que lo ponga en funcionamiento, si
no, es software inútil.
Es nocivo para la computadora: Pero esto depende del virus con el que tratemos. Hay programas que
destruyen parcial o totalmente la información, o bien programas que tan solo concluyen en un mensaje
continuo en pantalla, aunque al final muy molesto.
Se ocultan al usuario: Claramente, el programador del virus desea que el usuario no lo advierta durante el
máximo tiempo posible, hasta que aparezca la señal de alarma en el ordenador. Conforme pasa el tiempo,
los virus van desarrollando más y mejores técnicas de ocultamiento, pero también se van desarrollando los
programas antivirus y de localización.
79
Infectores de Programas Ejecutables
Virus de e-mail
Virus de WEB
- Virus de archivos
Infectan archivos y tradicionalmente los tipos ejecutables COM y EXE han sido los más afectados, aunque
es estos momentos son los archivos DOC y XLS los que están en boga gracias a los virus de macro.
Normalmente lo que realizan es insertar el código del virus al principio o al final del archivo, manteniendo
intacto el programa infectado. Cuando se ejecuta, el virus puede hacerse residente en memoria y luego
devuelve el control al programa original para que se continúe de modo normal.
- Virus de acción directa.
Son aquellos que no quedan residentes en memoria y que se replican en el momento de ejecutarse un
archivo infectado.
- Virus de sobre escritura.
Corrompen el archivo donde se ubican al sobrescribirlo.
- Virus de compañía.
Aprovechan una característica del DOS, gracias a la cual si llamamos un archivo para ejecutarlo sin indicar
la extensión, el sistema operativo buscará en primer lugar el tipo COM. Este tipo de virus no modifica el
programa original, sino que cuando encuentra un archivo tipo EXE crea otro de igual nombre conteniendo el
virus con extensión COM. De manera que cuando tecleamos el nombre ejecutaremos en primer lugar el
virus, y posteriormente éste pasará el control a la aplicación original.
- Virus de Macro
Es una familia de virus de reciente aparición y gran expansión. Estos programas están usando el lenguaje
de macros Word Basic, gracias al cual pueden infectar y replicarse a través de archivos MS-Word (*.DOC).
En la actualidad esta técnica se ha extendido a otras aplicaciones como Excel.
Hoy en día son el tipo de virus que están teniendo un mayor auge debido a que son fáciles de programar y
de distribuir a través de Internet. Aún no existe una concienciación del peligro que puede representar un
simple documento de texto.
- Virus de MIRC.
Son una nueva generación de programas que infectan las PC's, aprovechando las ventajas proporcionadas
por Internet y los millones de usuarios conectados a cualquier canal IRC a través del programa Mirc y otros
programas de chat. Consisten en un script para el cliente del programa de chateo. Cuando se accede a un
canal de IRC, se recibe por DCC un archivo llamado "script.ini". Por defecto, el subdirectorio donde se
descargan los archivos es el mismo donde está instalado el programa, esto causa que el "script.ini" original
se sobrescriba con el "script.ini" maligno. Los autores de ese script acceden de ese modo a información
privada de la PC, como el archivo de claves, y pueden remotamente desconectar al usuario del canal IRC.
- Virus Mutantes.
Son los que al infectar realizan modificaciones a su código, para evitar ser detectados o eliminados (Satán,
Miguel Ángel, por mencionar algunos).
- Bombas De Tiempo
80
Son los programas ocultos en la memoria del sistema o en los discos, o en los archivos de programas
ejecutables con tipo COM o EXE. En espera de una fecha o una hora determinadas para "explotar". Algunos
de estos virus no son destructivos y solo exhiben mensajes en las pantallas al llegar el momento de la
"explosión". Llegado el momento, se activan cuando se ejecuta el programa que las contiene.
- Infectores de programas ejecutables
Estos son los virus más peligrosos, porque se diseminan fácilmente hacia cualquier programa (como hojas
de cálculo, juegos, procesadores de palabras).
- Virus de e-mail.
Dentro de este grupo, se incluyen dos tipos de virus: los que junto a un mail hacen llegar un atachado que
necesariamente debe abrirse o ejecutarse para activar el virus, y dentro de ellos se puede mencionar a
Melissa como el precursor de esta variedad, y también englobo a los gusanos (worms) que aprovechan los
agujeros de seguridad de programas de correo electrónico para infectar a las computadoras, de los cuales
BubbleBoy fue el precursor. Esta variedad difiere de los otros virus en el hecho de que no necesitan de la
ejecución de un programa independiente (atachados) para ser activados, sino que ingresan e infectan las
PC's con la simple visualización del mail.
- Virus de la WEB
El lenguaje de programación JAVA, que permite generar los applets para las páginas web y los controles
Active X, son lenguajes orientados especialmente a Internet. El ASP es otro tipo de lenguaje básico
orientado al desarrollo de aplicaciones basadas en la web. Si bien en el caso de JAVA la diagramación y el
diseño fueron sumamente cuidadosos, de tal modo que existen ( en teoría ) la imposibilidad técnica de
modificar archivos en clientes, existen algunos agujeros que si bien no son de seguridad, sino de diseño,
abren las puertas a los programadores de virus que, mediante herramientas apropiadas pueden generar una
nueva variante de virus que se disemine por las páginas web y, como en el caso de los virus de e-mail,
afecten a las PC's aún en condiciones de seguridad adecuadas, por el simple acto de abrir una página.
Proceso de infección.
Dependiendo del tipo de virus, el proceso de infección varía sensiblemente.
Puede que el disco contaminado tenga un virus de archivo en el archivo FICHERO.EXE por ejemplo. El
usuario introduce el disco en la computadora y mira el contenido del disco... unos archivos de texto, unas
planillas de cálculo, algunas imágenes... ahí está, un ejecutable. Vamos a ver que tiene. El usuario ejecuta
el programa. En ese preciso momento las instrucciones del programa son leídas por el computadora y
procesadas, pero también procesa otras instrucciones que no deberían estar ahí. El virus comprueba si ya
se ha instalado en la memoria. Si ve que todavía no está contaminada pasa a esta y puede que se quede
residente en ella. A partir de ese momento todo programa que se ejecute será contaminado. El virus
ejecutará todos los programas, pero después se copiará a sí mismo y se "pegará" al programa ejecutado
"engordándolo" unos cuantos bytes. Para evitar que usuarios avanzados se den cuenta de la infección
ocultan esos bytes de más para que parezca que siguen teniendo el mismo tamaño. El virus contaminará
rápidamente los archivos de sistema, aquellos que están en uso en ese momento y que son los primeros en
ejecutarse al arrancar la computadora. Así, cuando el usuario vuelva a arrancar la computadora el virus se
81
volverá a cargar en la memoria cuando se ejecuten los archivos de arranque del sistema contaminados y
tomará otra vez el control del mismo, contaminando todos los archivos que se encuentre a su paso.
Síntomas típicos de una infección
El sistema operativo o un programa toma mucho tiempo en cargar sin razón aparente.
El tamaño del programa cambia sin razón aparente.
El disco duro se queda sin espacio o reporta falta de espacio sin que esto sea necesariamente así.
Si se corre el CHKDSK no muestra "655360 bytes available".
En Windows aparece "32 bit error".
La luz del disco duro en la CPU continúa parpadeando aunque no se esté trabajando ni haya
protectores de pantalla activados. (Se debe tomar este síntoma con mucho cuidado, porque no
siempre es así).
No se puede "bootear" desde el Drive A, ni siquiera con los discos de rescate.
Aparecen archivos de la nada o con nombres y extensiones extrañas.
Suena "clicks" en el teclado (este sonido es particularmente aterrador para quien no está advertido).
Los caracteres de texto se caen literalmente a la parte inferior de la pantalla (especialmente en
DOS).
En la pantalla del monitor pueden aparecen mensajes absurdos tales como "Tengo hambre.
Introduce un Big Mac en el Drive A".
En el monitor aparece una pantalla con un fondo de cielo celeste, unas nubes blancas difuminadas,
una ventana de vidrios repartidos de colores y una leyenda en negro que dice Windows ’98 (No
puedo evitarlo, es más fuerte que yo...!!).
Una infección se soluciona con las llamadas "vacunas" (que impiden la infección) o con los remedios que
desactivan y eliminan, (o tratan de hacerlo) a los virus de los archivos infectados. Hay cierto tipo de virus
que no son desactivables ni removibles, por lo que se debe destruir el archivo infectado.
Daños triviales.
Sirva como ejemplo la forma de trabajo del virus FORM (el más común): En el día 18 de cada mes cualquier
tecla que presionemos hace sonar el beep. Deshacerse del virus implica, generalmente, segundos o
minutos.
Daños menores.
Un buen ejemplo de este tipo de daño es el JERUSALEM. Este virus borra, los viernes 13, todos los
programas que uno trate de usar después de que el virus haya infectado la memoria residente. En el peor
de los casos, tendremos que reinstalar los programas perdidos. Esto nos llevará alrededor de 30 minutos.
Daños moderados.
82
Cuando un virus formatea el disco rígido, mezcla los componentes de la FAT (File Allocation Table, Tabla
de Ubicación de Archivos), o sobrescribe el disco rígido. En este caso, sabremos inmediatamente qué es lo
que está sucediendo, y podremos reinstalar el sistema operativo y utilizar el último backup. Esto quizás nos
lleve una hora.
Daños mayores.
Algunos virus, dada su lenta velocidad de infección y su alta capacidad de pasar desapercibidos, pueden
lograr que ni aún restaurando un backup volvamos al último estado de los datos. Un ejemplo de esto es el
virus DARK AVENGER, que infecta archivos y acumula la cantidad de infecciones que realizó. Cuando este
contador llega a 16, elige un sector del disco al azar y en él escribe la frase: " Eddie lives… somewhere in
time" (Eddie vive… en algún lugar del tiempo).
Esto puede haber estado pasando por un largo tiempo sin que lo notemos, pero el día en que detectemos la
presencia del virus y queramos restaurar el último backup notaremos que también él contiene sectores con
la frase, y también los backups anteriores a ese. Puede que lleguemos a encontrar un backup limpio, pero
será tan viejo que muy probablemente hayamos perdido una gran cantidad de archivos que fueron creados
con posterioridad a ese backup.
Daños severos.
Los daños severos son hechos cuando un virus realiza cambios mínimos, graduales y progresivos. No
sabemos cuándo los datos son correctos o han cambiado, pues no hay pistas obvias como en el caso del
DARK AVENGER (es decir, no podemos buscar la frase Eddie lives...).
Daños ilimitados.
Algunos programas como CHEEBA, VACSINA.44.LOGIN y GP1 entre otros, obtienen la clave del
administrador del sistema y la pasan a un tercero. Cabe aclarar que estos no son virus sino troyanos. En el
caso de CHEEBA, crea un nuevo usuario con los privilegios máximos, fijando el nombre del usuario y la
clave. El daño es entonces realizado por la tercera persona, quien ingresará al sistema y haría lo que
quisiera.
83
La falta de conocimiento sobre los virus ayudó a que se diseminara ampliamente y fuera incontrolable en un
principio. En centros universitarios como la Facultad de Ciencias Exactas de la UBA o la Facultad de
Informática de la Universidad de Morón era difícil encontrar un disco sin infectar.
Ese mismo desconocimiento llevó a que pasara bastante tiempo hasta que se empezaran a tomar medidas.
Sólo después de algunos meses, en revistas especializadas en informática, empezaron a publicarse formas
de desinfectar los discos, y como consecuencia de ello se aplicaron políticas de seguridad en las
universidades.
Lo positivo de esto fue que la gente comenzara a conocer el D.O.S. más profundamente, por ejemplo el
boot sector: qué es y para qué sirve, ya que las máquinas eran utilizadas pero pocos sabían cómo
funcionaban realmente.
Como tenía un síntoma muy evidente (una pelotita que rebotaba), se pensó que todos los virus debían ser
visibles, pero los siguientes fueron más subrepticios, y se limitaban a reproducirse o destruir sin avisar al
usuario.
El Ping Pong original no podía infectar discos rígidos, pero la versión que se popularizó en el país fue la B,
que sí podía hacerlo. Se creó una variante en Argentina, que probablemente fue la primera variante de virus
originada en el país, el Ping Pong C, que no mostraba la pelotita en la pantalla. Este virus está extinto en
este momento ya que sólo podía funcionar en máquinas con procesador 8088 ó 8086, porque ejecutaba una
instrucción no documentada en estos e incorrecta en los modelos siguientes.
AVISPA: Escrito en Noviembre de 1993 que en muy poco tiempo se convirtió en epidemia. Infecta
archivos .EXE
Al ejecutarse, si no se encontraba ya residente en memoria, intenta infectar los archivos XCOPY, MEM,
SETVER y EMM386 para maximizar sus posibilidades de reproducción, ya que estos archivos son de los
más frecuentemente utilizados.
Este virus está encriptado siempre con una clave distinta (polimórfico), para dificultar su detección por medio
de antivirus heurísticos.
MENEM TOCOTO: Esta adaptación del virus Michelangelo apareció en 1994. En los disquetes se aloja en
el boot sector, y en los discos rígidos en la tabla de particiones. Es extremadamente sencillo y, por ende,
fácil de detectar.
CAMOUFLAGE II: Aparecido por primera vez en 1993. Infecta el boot sector de los disquetes ubicados en
la unidad A y la tabla de partición de los discos rígidos. Es bastante simple y fácil de ser detectado.
LEPROSO: Creado en 1993, en Rosario, provincia de Santa Fé. Se activa el día 12 de Enero (cumpleaños
del autor), y hace aparecer un mensaje que dice: "Felicitaciones, su máquina está infectada por el virus
leproso creado por J. P... Hoy es mi cumpleaños y lo voy a festejar formateando su rígido. Bye...
(Vamos Newell's que con Diego somos campeones)."
PINDONGA: Virus polimórfico residente en memoria que se activa los días 25 de febrero, 21 de marzo, 27
de agosto y 16 de septiembre, cuando ataca, borra toda la información contenida en el disco rígido.
TEDY: Es el primer virus argentino interactivo. Apareció hace poco tiempo. Infecta archivos con
extensión .EXE, y se caracteriza por hacer una serie de preguntas al usuario.
Una vez activado, una pantalla muestra:
84
“¡TEDY, el primer virus interactivo de la computación!
Responda el siguiente cuestionario:
1. ¿Los programas que Ud. utiliza son originales? (s/n)
2. ¿Los de Microsoft son unos ladrones? (s/n)”
Si se responde afirmativamente a la primera pregunta, el virus contestará:
“5 archivos menos por mentiroso”
En caso contrario:
“2 archivos menos por ladrón”
Antivirus
No para toda enfermedad existe cura, como tampoco existe una forma de erradicar todos y cada uno de los
virus existentes.
Es importante aclarar que todo antivirus es un programa y que, como todo programa, sólo funcionará
correctamente si es adecuado y está bien configurado. Además, un antivirus es una herramienta para el
usuario y no sólo no será eficaz para el 100% de los casos, sino que nunca será una protección total ni
definitiva.
La función de un programa antivirus es detectar, de alguna manera, la presencia o el accionar de un
virus informático en una computadora. Este es el aspecto más importante de un antivirus,
independientemente de las prestaciones adicionales que pueda ofrecer, puesto que el hecho de detectar la
posible presencia de un virus informático, detener el trabajo y tomar las medidas necesarias, es suficiente
para acotar un buen porcentaje de los daños posibles. Es importante tener en claro la diferencia entre
"detectar" e "identificar" un virus en una computadora. La detección es la determinación de la presencia de
un virus, la identificación es la determinación de qué virus es. Aunque parezca contradictorio, lo mejor que
debe tener un antivirus es su capacidad de detección, pues las capacidades de identificación están
expuestas a muchos errores y sólo funcionan con virus conocidos.
Adicionalmente, un antivirus puede dar la opción de erradicar un virus informático de una entidad infectada.
Identificación
El modelo más primario de las funciones de un programa antivirus es la detección de su presencia y, en lo
posible, su identificación.
La técnica de scanning fue bastante eficaz en los primeros tiempos de los virus informáticos, cuando había
pocos y su producción era pequeña. Este relativamente pequeño volumen de virus informáticos permitía que
los desarrolladores de antivirus escaneadores tuvieran tiempo de analizar el virus, extraer el pequeño trozo
de código que lo iba a identificar y agregarlo a la base de datos del programa para lanzar una nueva
versión. Sin embargo, la obsolescencia de este mecanismo de identificación como una solución antivirus
completa se encontró en su mismo modelo.
85
El primer punto grave de este sistema radica en que siempre brinda una solución a posteriori: es necesario
que un virus informático alcance un grado de dispersión considerable para que sea enviado (por usuarios
capacitados, especialistas o distribuidores del producto) a los desarrolladores de antivirus. Estos lo
analizarán, extraerán el trozo de código que lo identificará, y lo incluirán en la próxima versión de su
programa antivirus. Este proceso puede demorar meses a partir del momento en que el virus comienza a
tener una dispersión considerable, lapso en el cual puede causar graves daños sin que pueda ser
identificado.
Además, este modelo consiste en una sucesión infinita de soluciones parciales y momentáneas
(cuya sumatoria jamás constituirá una solución definitiva), que deben actualizarse periódicamente
debido a la aparición de nuevos virus.
En síntesis, la técnica de scanning es altamente ineficiente, pero se sigue utilizando debido a que permite
identificar rápidamente la presencia de los virus más conocidos y, como son estos los de mayor dispersión,
permite una importante gama de posibilidades.
Un ejemplo típico de un antivirus de esta clase es el Virus scan de McAfee.
En virtud del pronto agotamiento técnico de la técnica de scanning, los desarrolladores de programas
antivirus han dotado a sus creaciones de métodos para búsquedas de virus informáticos (y de sus
actividades), que no identifican específicamente al virus sino a algunas de sus características generales y
comportamientos universalizados.
Este tipo de método rastrea rutinas de alteración de información que no puedan ser controladas por el
usuario, modificación de sectores críticos de las unidades de almacenamiento (master boot record, boot
sector, FAT, entre otras), etc.
Un ejemplo de este tipo de métodos es el que utiliza algoritmos heurísticos.
De hecho, esta naturaleza de procedimientos busca, de manera bastante eficiente, códigos de instrucciones
potencialmente pertenecientes a un virus informático. Resulta eficaz para la detección de virus conocidos y
es una de las soluciones utilizadas por los antivirus para la detección de nuevos virus. El inconveniente que
presenta este tipo de algoritmo radica en que puede llegar a sospecharse de muchísimas cosas que no son
virus. Esto hace necesario que el usuario que lo utiliza conozca un poco acerca de la estructura del sistema
operativo, a fin de poseer herramientas que le faciliten una discriminación de cualquier falsa alarma
generada por un método heurístico.
Algunos de los antivirus de esta clase son F-Prot, Norton Anti Virus y Dr. Solomon's Toolkit.
Ahora bien, otra forma de detectar la presencia de un virus informático en un sistema consiste en monitorear
las actividades de la PC señalando si algún proceso intenta modificar los sectores críticos de los dispositivos
de almacenamiento o los archivos ejecutables. Los programas que realizan esta tarea se denominan
chequeadores de integridad.
Sobre la base de estas consideraciones, podemos consignar que un buen sistema antivirus debe estar
compuesto por un programa detector de virus -que siempre esté residente en memoria- y un programa que
verifique la integridad de los sectores críticos del disco rígido y sus archivos ejecutables. Existen productos
antivirus que cubren los dos aspectos, o bien pueden combinarse productos diferentes configurados de
forma que no se produzcan conflictos entre ellos.
Limpieza
86
El antivirus debe ofrecer la opción de mantener una copia del archivo infectado durante la limpieza. La
limpieza de un virus de un archivo puede causar algún daño y la recuperación puede no ser bien sucedida,
con una copia se puede intentar una nueva limpieza o enviar el archivo para un "virus hospital" para ser
limpiado por "virus doctors"
Actualizaciones
La velocidad de actualización de un rastreador depende en mucho de los laboratorios de cada fabricante;
cuantos más laboratorios haya en el mundo, más Ingenieros Investigadores locales estarán trabajando en la
localización de un virus, haciendo así un trabajo más rápido y eficiente para la solución del antivirus.
El programa antivirus debe permitir una actualización automática por Internet, pero no solo de los padrones
de virus que permiten la identificación del virus por el nombre, es importante que permita también la
actualización del ejecutable de detección. Se debe verificar también cual es el período de actualización, hay
virus nuevos todos los días, si la actualización tardara mucho, el sistema antivirus no podrá ser eficiente.
Medidas antivirus
Nadie que usa computadoras es inmune a los virus de computación.
Un programa antivirus por muy bueno que sea se vuelve obsoleto muy rápidamente ante los nuevos virus
que aparecen día a día.
Algunas medidas útiles son:
Desactivar arranque desde disquete en el setup para que no se ejecuten virus de boot.
Desactivar compartir archivos e impresoras.
Analizar con el antivirus todo archivo recibido por e-mail antes de abrirlo.
Actualizar antivirus.
Activar la protección contra macro virus del Word y el Excel.
Ser cuidadoso al bajar archivos de Internet (Analice si vale el riesgo y si el sitio es seguro)
No enviar su información personal ni financiera a menos que sepa quién se la solicita y que
sea necesaria para la transacción.
No compartir discos con otros usuarios.
No entregar a nadie sus claves, incluso si lo llaman del servicio de Internet u otro.
Enseñar a los niños las prácticas de seguridad, sobre todo la entrega de información.
Realice backups.
Elección de un antivirus
Lo primero que se debe hacer es recurrir a un buen antivirus actualizado, de nada sirve tener un antivirus
viejo, y mucho menos si bajamos información, documentos y archivos de la red. No sirve tener cualquier
antivirus ni tampoco el grado de popularidad del mismo. Sin nombrar a ninguno, existen renombrados
antivirus que, por decirlo de algún modo se han "tragado" virus que otros programas detectores, sin tanto
marketing, individualizan y erradican sin dificultad. Obviamente es necesario que cheque todos los virus, y
que el módulo de escaneo sea fácilmente configurable para que el chequeo incluya a todos los virus, no
sólo los que infectan el boot sector y ejecutables.
La actualización debe ser fácil de obtener, pero también debe influir en la adquisición de un antivirus el tipo
de tecnología aplicada en su desarrollo.
Actualmente los mejores antivirus usan dos técnicas de chequeo:
87
1) La conocida técnica de escaneo, consistente en tener una gran base de datos con fragmentos víricos
para comparar los archivos con esa inmensa biblioteca.
2) La tecnología heurística es fundamental en estos momentos. Esta técnica permite detectar virus que aún
no estén en la base de datos del scanning, y es muy útil cuando padecemos la infección de un virus que aún
no ha sido estudiado ni incorporado a los programas antivirus. El principio es simple: todos los virus tienden
a ejecutar acciones que en última instancia se codifican en lenguaje ensamblador: borrar archivos del disco,
formatearlo, alterar el sector de arranque, etc. Todas estas funciones, en última instancia, al ser compiladas,
se traducen en secuencias de instrucciones legibles por la computadora. Más allá del compilador usado
para crear un virus, en el cual las sentencias cambian de acuerdo a la sintaxis del lenguaje, las
instrucciones deben tener un punto "común" y al ser compiladas se traducen en lenguaje de máquina
interpretado por los microprocesadores. Al final del proceso, todos los compiladores "traducen" el lenguaje a
instrucciones entendibles por el microprocesador y es allí en donde actúa la técnica de búsqueda heurística.
Los analizadores heurísticos buscan cadenas de código que contengan funciones clasificadas como
"criticas" y en base a ello, generan un alerta al usuario. La tasa de errores de detección en los buscadores
heurísticos suele ser mayor de lo habitual que el escaneo común, ya que pueden existir utilidades dentro del
sistema que no sean virus, sino programas legales preparados para reparar el disco duro, por ejemplo, que
sean detectados como virus al activar la búsqueda heurística. Justamente por ese motivo este tipo de
búsqueda debe ser realizada por personas con al menos, un conocimiento medio-avanzado de las
herramientas que tiene la PC.
Las nuevas versiones del Norton Antivirus y otros programas, permiten el chequeo antivirus de e-mails y
adjuntos, de manera que si su antivirus permite esta opción, es otro punto a su favor y un escalón más a
favor de su propia seguridad.
Algunos antivirus no chequean los archivos bajados de Internet, por lo cual se hace necesario que el mismo
usuario active el escaneador una vez que ha grabado en su sistema el archivo y antes de abrirlo o
ejecutarlo. Al mismo tiempo es necesario que el lector se tome conciencia de que los módulos residentes de
los antivirus, por regla general, no chequean la misma cantidad de virus que al ejecutar el escaneo, sino que
emplean una base de datos más reducida para evitar demoras demasiado prolongadas. Actualmente ya no
es común que los residentes colisionen con otros, pero hay que tenerlo en cuenta a la hora de elegir
productos nuevos, que aún no soportan la prueba del tiempo. Si bien no son a menudo, este tipo de
conflictos puede llegar al cuelgue de la PC.
Modelo antivirus
La estructura de un programa antivirus, está compuesta por dos módulos principales: el primero
denominado de control y el segundo denominado de respuesta. A su vez, cada uno de ellos se divide en
varias partes:
1. Módulo de control: posee la técnica verificación de integridad que posibilita el registro de
cambios en los archivos ejecutables y las zonas críticas de un disco rígido. Se trata, en definitiva, de una
herramienta preventiva para mantener y controlar los componentes de información de un disco rígido que no
son modificados a menos que el usuario lo requiera.
88
Otra opción dentro de este módulo es la identificación de virus, que incluye diversas técnicas para la
detección de virus informáticos. Las formas más comunes de detección son el scanning y los algoritmos,
como por ejemplo, los heurísticos.
Asimismo, la identificación de código dañino es otra de las herramientas de detección que, en este caso,
busca instrucciones peligrosas incluidas en programas, para la integridad de la información del disco rígido.
Esto implica descompilar (o desensamblar) en forma automática los archivos almacenados y ubicar
sentencias o grupos de instrucciones peligrosas.
Finalmente, el módulo de control también posee una administración de recursos para efectuar un monitoreo
de las rutinas a través de las cuales se accede al hardware de la computadora (acceso a disco, etc.). De
esta manera puede limitarse la acción de un programa restringiéndole el uso de estos recursos, como por
ejemplo impedir el acceso a la escritura de zonas críticas del disco o evitar que se ejecuten funciones de
formato del mismo.
2. Módulo de respuesta: la función alarma se encuentra incluida en todos los programas antivirus
y consiste en detener la acción del sistema ante la sospecha de la presencia de un virus informático, e
informar la situación a través de un aviso en pantalla.
Algunos programas antivirus ofrecen, una vez detectado un virus informático, la posibilidad de erradicarlo.
Por consiguiente, la función reparar se utiliza como una solución momentánea para mantener la
operatividad del sistema hasta que pueda instrumentarse una solución adecuada. Por otra parte, existen
dos técnicas para evitar el contagio de entidades ejecutables: evitar que se contagie todo el programa o
prevenir que la infección se expanda más allá de un ámbito fijo.
Aunque la primera opción es la más adecuada, plantea grandes problemas de implementación.
89
Elimina virus en archivos en forma sencilla y efectiva con pocas falsas alarmas, y en sectores de buteo y
tablas de partición la protección es genérica, es decir, independiente del virus encontrado.
Otras características que presenta este antivirus, son:
Ocupa 9K de memoria extendida o expandida.
Documentación amplia y detallada en español y una enciclopedia sobre los virus más
importantes.
Actualizaciones mensuales o trimestrales de software y manuales.
Trabaja como residente bajo Windows.
A. H. A. (Advanced Heuristic Analysis, Análisis Heurístico Avanzado).
NORTON ANTIVIRUS
Certificado por la NCSA. Posee una protección automática en segundo plano. Detiene prácticamente todos
los virus conocidos y desconocidos (a través de una tecnología propia denominada NOVI, que implica
control de las actividades típicas de un virus, protegiendo la integridad del sistema), antes de que causen
algún daño o pérdida de información, con una amplia línea de defensa, que combina búsqueda, detección
de virus e inoculación (se denomina 'inoculación' al método por el cual este antivirus toma las
características principales de los sectores de booteo y archivos para luego chequear su integridad. Cada
vez que se detecta un cambio en dichas áreas, NAV avisa al usuario y provee las opciones de Reparar -
Volver a usar la imagen guardada - Continuar - No realiza cambios - Inocular - Actualizar la imagen.
Utiliza diagnósticos propios para prevenir infecciones de sus propios archivos y de archivos comprimidos.
El escaneo puede ser lanzado manualmente o automáticamente a través de la planificación de fecha y hora.
También permite reparar los archivos infectados por virus desconocidos. Incluye información sobre muchos
de los virus que detecta y permite establecer una contraseña para aumentar así la seguridad.
La lista de virus conocidos puede ser actualizada periódicamente (sin cargo) a través de servicios en línea
como Internet, América On Line, Compuserve, The Microsoft Network o el BBS propio de Symantec, entre
otros.
VIRUSSCAN.
Este antivirus de McAfee Associates es uno de los más famosos. Trabaja por el sistema de scanning
descripto anteriormente, y es el mejor en su estilo.
Para escanear, hace uso de dos técnicas propias: CMS (Code Matrix Scanning, Escaneo de Matriz de
Código) y CTS (Code Trace Scanning, Escaneo de Seguimiento de Código).
Una de las principales ventajas de este antivirus es que la actualización de los archivos de bases de datos
de strings es muy fácil de realizar, lo cual, sumado a su condición de programa shareware, lo pone al
alcance de cualquier usuario. Es bastante flexible en cuanto a la configuración de cómo detectar, reportar y
eliminar virus.
Antivirus recomendados por los especialistas
Según los expertos, las consultas de usuarios se centran en tres aspectos fundamentales: facilidad de
adquisición de las actualizaciones, menor costo posible y facilidad de uso. Atendiendo a esos tres requisitos,
existen, entre otros, el antivirus de origen Islandés F-PROT, que puede conseguirse fácilmente en Internet.
90
El producto para uso particular, no corporativo, es totalmente gratuito. Sirve para entornos DOS - Windows
32 bits. F-Prot me ha demostrado a lo largo de los años ser un producto efectivo, confiable y robusto. Si bien
no es un producto tan difundido como otros, el marketing y la publicidad no son ciertamente parámetros
confiables a la hora de definir criterios de selección. Tiene la ventaja de avisar automáticamente de la
caducidad de su base de datos.
Como segunda línea, también existe un producto gratuito como lo es Scan de McAffee. Su base de datos
está lo suficientemente actualizada como para resultar un producto confiable. Tecnológicamente puede
considerarse un producto de elite como a F-Prot, pero combinado con otros antivirus, puede formar una
formidable barrera.
Otra recomendación es Norton Antivirus. Actualiza su base de datos cada 48 a 72 horas. Puede chequear
mails (algo que no hacen F-Prot ni Scan de McAffee), su residente es muy estable y en la web de
Symantec, en la sección Antivirus Center no sólo puede actualizar la base de datos fácil y gratuitamente,
sino que puede acceder a vacunas e información de cada virus.
Si el usuario puede invertir algo de dinero, se puede comprar la dupla NORTON / F-PROT. Existen virus no
detectados por Norton que sí son vistos por F-Prot y viceversa.
91
Hackers
"To hack" es un verbo inglés que significa: "entrar ilegalmente a...". En el habla común entendemos hacker
como alguien que destruye los ordenadores del prójimo.
Esto es una mentira. Realmente, el hacking significa una búsqueda de información a la que se debería tener
acceso legalmente. Es decir, no son dañinos. Tan solo es una protesta.
El hacking empezó en los años 50’ en el MIT (Massachussets Institute of Technology). Los estudiantes de
este centro dedicaron un gran esfuerzo a investigar el acceso remoto a la información. Al principio, no
existían leyes que les impidieran su búsqueda, pero poco a poco se fueron creando ciertas leyes que
limitaban la actividad.
La importante de todo esto no está en violar las leyes, sino en conseguir información.
El principal objetivo de los Hackers no es convertirse en delincuentes sino "pelear contra un sistema injusto"
utilizando como arma al propio sistema. Su guerra es silenciosa pero muy convincente. Se dedican a la
penetración de sistemas informáticos a través de la red. La cultura popular define a los hackers como
aquellos que, con ayuda de sus conocimientos informáticos consiguen acceder a los ordenadores de los
bancos y de los negociados del gobierno. Bucean por información que no les pertenece, roban software
caro y realizan transacciones de una cuenta bancaria a otra.
Métodos y herramientas de ataque del hacker
Es difícil describir el ataque "típico" de un hacker debido a que los intrusos poseen diferentes niveles de
técnicos por su experiencia y son además son motivados por diversos factores. A algunos hackers los
intriga el desafío, otros más gozan de hacer la vida difícil a los demás, y otros tantos substraen datos
delicados para algún beneficio propio.
Los costos de las diferentes herramientas de protección se están haciendo accesibles, en general, incluso
para las organizaciones más pequeñas. Esto hace que la implementación de mecanismos de seguridad se
dé prácticamente en todos los niveles. Empresas grandes, medianas, chicas y las multinacionales más
grandes. Todas pueden acceder a las herramientas que necesitan y los costos van de acuerdo con la
empresa.
Pero no es sólo una cuestión de costos, Los constantes cambios de la tecnología hacen que para mantener
un nivel parejo de seguridad cada empresa deba actualizar permanentemente las herramientas con las que
cuenta. Como los hackers mejoran sus armas y metodologías de penetración de forma incesante, el
recambio y la revisión constantes en los mecanismos de seguridad se convierten en imprescindibles. Y éste
es un verdadero punto crítico.
Conclusiones
En razón de lo expresado pueden extraerse algunos conceptos que pueden considerarse necesarios para
tener en cuenta en materia de virus informáticos:
No todo lo que afecte el normal funcionamiento de una computadora es un virus.
TODO virus es un programa y, como tal, debe ser ejecutado para activarse.
Es imprescindible contar con herramientas de detección y desinfección.
NINGÚN sistema de seguridad es 100% seguro. Por eso todo usuario de computadoras debería
tratar de implementar estrategias de seguridad antivirus, no sólo para proteger su propia
92
información sino para no convertirse en un agente de dispersión de algo que puede producir daños
graves e indiscriminados.
Para implementar tales estrategias deberían tenerse a mano los siguientes elementos:
un disco de sistema protegido contra escritura y libre de virus: Un disco que contenga el
sistema operativo ejecutable (es decir, que la máquina pueda ser arrancada desde este disco) con
protección contra escritura y que contenga, por lo menos, los siguientes comandos: FORMAT,
FDISK, MEM y CHKDSK (o SCANDISK en versiones recientes del MS-DOS).
por lo menos un programa antivirus actualizado: se puede considerar actualizado a un antivirus
que no tiene más de tres meses desde su fecha de creación (o de actualización del archivo de
strings). es muy recomendable tener por lo menos dos antivirus.
una fuente de información sobre virus específicos: es decir, algún programa, libro o archivo de
texto que contenga la descripción, síntomas y características de por lo menos los cien virus más
comunes.
un programa de respaldo de áreas críticas: algún programa que obtenga respaldo (backup) de
los sectores de arranque de los disquetes y sectores de arranque maestro (mbr, master boot record)
de los discos rígidos. muchos programas antivirus incluyen funciones de este tipo.
lista de lugares dónde acudir: una buena precaución es no esperar a necesitar ayuda para
comenzar a buscar quién puede ofrecerla, sino ir elaborando una agenda de direcciones, teléfonos
y direcciones electrónicas de las personas y lugares que puedan servirnos más adelante. si se
cuenta con un antivirus comercial o registrado, deberán tenerse siempre a mano los teléfonos de
soporte técnico.
un sistema de protección residente: muchos antivirus incluyen programas residentes que
previenen (en cierta medida), la intrusión de virus y programas desconocidos a la computadora.
tener respaldos: se deben tener respaldados en disco los archivos de datos más importantes,
además, se recomienda respaldar todos los archivos ejecutables. para archivos muy importantes, es
bueno tener un respaldo doble, por si uno de los discos de respaldo se daña. los respaldos también
pueden hacerse en cinta (tape backup), aunque para el usuario normal es preferible hacerlo en
discos, por el costo que las unidades de cinta representan.
revisar todos los discos nuevos antes de utilizarlos: cualquier disco que no haya sido
previamente utilizado debe ser revisado, inclusive los programas originales (pocas veces sucede
que se distribuyan discos de programas originales infectados, pero es factible) y los que se
distribuyen junto con revistas de computación.
revisar todos los discos que se hayan prestado: cualquier disco que se haya prestado a algún
amigo o compañero de trabajo, aún aquellos que sólo contengan archivos de datos, deben ser
revisados antes de usarse nuevamente.
revisar todos los programas que se obtengan por módem o redes: una de las grandes vías de
contagio la constituyen Internet y los bbs, sistemas en los cuales es común la transferencia de
archivos, pero no siempre se sabe desde dónde se está recibiendo información.
revisar periódicamente la computadora: se puede considerar que una buena frecuencia de
análisis es, por lo menos, mensual.
93
Finalmente, es importante tener en cuenta estas sugerencias referentes al comportamiento a tener
en cuenta frente a diferentes situaciones:
Cuando se va a revisar o desinfectar una computadora, es conveniente apagarla por más de 5
segundos y arrancar desde un disco con sistema, libre de virus y protegido contra escritura, para
eliminar virus residentes en memoria. No se deberá ejecutar ningún programa del disco rígido, sino
que el antivirus deberá estar en el disquete. De esta manera, existe la posibilidad de detectar virus
stealth.
Cuando un sector de arranque (boot sector) o de arranque maestro (MBR) ha sido infectado, es
preferible restaurar el sector desde algún respaldo, puesto que en ocasiones, los sectores de
arranque genéricos utilizados por los antivirus no son perfectamente compatibles con el sistema
operativo instalado. Además, los virus no siempre dejan un respaldo del sector original donde el
antivirus espera encontrarlo.
Antes de restaurar los respaldos es importante no olvidar apagar la computadora por más de cinco
segundos y arrancar desde el disco libre de virus.
Cuando se encuentran archivos infectados, es preferible borrarlos y restaurarlos desde respaldos,
aún cuando el programa antivirus que usemos pueda desinfectar los archivos. Esto es porque no
existe seguridad sobre si el virus detectado es el mismo para el cual fueron diseñadas las rutinas de
desinfección del antivirus, o es una mutación del original.
Cuando se va a formatear un disco rígido para eliminar algún virus, debe recordarse apagar la
máquina por más de cinco segundos y posteriormente arrancar el sistema desde nuestro disquete
limpio, donde también debe encontrarse el programa que se utilizará para dar formato al disco.
Cuando, por alguna causa, no se puede erradicar un virus, deberá buscarse la asesoría de un
experto directamente pues, si se pidiera ayuda a cualquier aficionado, se correrá el riesgo de perder
definitivamente datos si el procedimiento sugerido no es correcto.
Cuando se ha detectado y erradicado un virus es conveniente reportar la infección a algún experto,
grupo de investigadores de virus, soporte técnico de programas antivirus, etc. Esto que en principio
parecería innecesario, ayuda a mantener estadísticas, rastrear focos de infección e identificar
nuevos virus, lo cual en definitiva, termina beneficiando al usuario mismo.
Anexos
ANEXO A. Superagentes, hackers y cuestiones de soberanía.
Clarín. 27-08-2002. Sociedad
La ley contra los delitos informáticos que está tratando el Congreso argentino está destinada a padecer los
mismos obstáculos que enfrentan estas leyes en cualquier país. Porque no contempla una característica
que hace a la naturaleza misma de Internet: su carácter supranacional. No hay una Internet argentina ni una
Internet de Brasil ni de los Estados Unidos ni de Francia.
Internet es un territorio no-geográfico y toda ley sobre este territorio puede entrar en conflicto con las
soberanías de los países. Si un ciudadano suizo, Saudita o chino vulnera un sitio web alojado en la
Argentina, ¿bajo la ley de qué país será juzgado?
En noviembre de 2000 el FBI logró capturar a dos ciudadanos rusos, Vasily Gorshkov, de 26 años, y Alexey
94
Ivanov, de 20, acusados de haber violado la seguridad de al menos 40 empresas estadounidenses, realizar
fraudes y robar tarjetas de crédito y datos personales con propósitos extorsivos.
Los agentes que participaron en la captura fueron premiados en los Estados Unidos por la brillante
operación. Pero los rusos vieron la historia desde otro punto de vista. El 15 de agosto el servicio de
inteligencia ruso FSB acusó al agente del FBI Michael Schuler de haber entrado sin autorización en
servidores rusos para obtener la captura. Es decir, le reprochó exactamente haber usado técnicas de
hacking, en lo que parece ser un novedoso capítulo de una serie de "superagentes".
Para combatir lo que técnicamente la ley de su propio país define como un delito informático, Schuler
cometió otro delito informático. Paradójicamente, recibió del FBI un premio a la excelencia (por haber
utilizado por primera vez en la historia del FBI la "técnica de captura extraterritorial" en un "cyber crimen"). Y
del FSB recibió una formal acusación, enviada directamente al Departamento de Justicia de los Estados
Unidos.
A Rusia no le gustó en lo más mínimo que husmearan en computadoras de su territorio y alegó cuestiones
de soberanía. "Si los hackers rusos son sentenciados sobre la base de información obtenida por los
Estados Unidos mediante el hacking, esto implicará la futura posibilidad de los servicios secretos
estadounidenses de utilizar métodos ilegales en la recopilación de información en Rusia y otros países", dijo
una fuente del FSB citada por la agencia de noticias Interfax.
Esto que parece un enfrentamiento en versión digital entre las agencias de ficción televisiva "Caos" y
"Control" (aunque no se entienda quién es el malo y quién el bueno de la película) puede dar una idea de
los problemas que se perfilan cuando se aplican leyes nacionales sobre Internet.
Hay otro aspecto ejemplificador en esta historia: ¿cómo realizaron sus intrusiones los dos jóvenes rusos?
Generalmente, utilizando un reconocido agujero de seguridad del sistema operativo de Microsoft Windows
NT, según reporta Msnbc.com (una fuente fuera de sospecha en este asunto, ya que pertenece a la propia
Microsoft, en sociedad con la NBC).
De acuerdo con Msnbc.com, el "patch" (literalmente "parche") contra esa vulnerabilidad estuvo disponible
en Internet durante casi dos años, pero los administradores de los sistemas violados "olvidaron" ponerlo.
Podría suceder que algunas empresas prefieran hacer gastar dinero de los gobiernos (es decir, de todos
nosotros) en la persecución de intrusos, en vez de gastar dinero propio en empleados que recuerden
realizar la simple operación de instalar un archivo que corrige una falla de seguridad.
El fenómeno de la violación de los sistemas no es sólo un fenómeno de criminalidad (que, como tal, debe
ser castigado). Las empresas tienen una responsabilidad compartida, y habría menos delitos
informáticos si no les hicieran fácil la vida a los intrusos. Es decir, si se reflexionara sobre la importancia de
la seguridad y se tomaran las previsiones pertinentes. Quien no pone una cerradura efectiva a la puerta de
su casa (o a la puerta de su sistema, en este caso) está casi invitando a que le roben.
El problema esencial no es sólo definir un delito y su sanción, sino examinar si la ley es eficaz y aplicable
en la realidad internacional que plantea la naturaleza de Internet.
95
ANEXO B. Un hacker saqueó las cuentas de 21 ahorristas
Clarin.com 5-07-2002.
Un hacker chino logró introducirse en las computadoras de 21 clientes del Banco DBS de Singapur, y huyó
hacia Malasia con 62.000 dólares singapurenses (u$s 37.000) luego de saquear las cuentas de los
ahorristas sin necesidad de romper, ni trucar las defensas informáticas de la institución.
El individuo hackeó las máquinas de sus víctimas y obtuvo así sus códigos de usuario y contraseñas. Con
estos datos pudo acceder a sus cuentas bancarias y retirar de cada una de ellas entre 200 y 4.999 dólares
singapurenses, el máximo permitido.
Las autoridades del banco, que tiene 370.000 clientes a través de Internet, reintegraron el dinero a sus
clientes, pero advirtieron que futuras estafas no serán reintegradas. Asimismo, instaron a sus clientes a
mantener sus contraseñas en reserva, revisar regularmente sus cuentas, borrar las fichas de su historia
como clientes, evitar guardar nombres de usuario y números PIN en sus computadoras e instalar la última
versión de un programa antivirus.
96
Glosario
APÓCRIFA: ficticia.
APPLETS: Lenguaje desarrollado por Sun Microsystems para la elaboración de aplicaciones exportables a
la red y capaces de operar sobre cualquier plataforma a través, normalmente, de visualizadores WWW. El
programa Java se descarga desde el servidor Web y lo interpreta un programa que se ejecuta en el equipo
que contiene el explorador de Web.
ARCHIVO: Datos estructurados que pueden recuperarse fácilmente y usarse en una aplicación
determinada. Se utiliza como sinónimo de fichero. Todos los datos en disco se almacenan como un archivo
con un nombre de archivo asignado que es único dentro del directorio en que reside.
BBS: (Bulletin Board System). Servicio al que se conectan usuarios de ordenadores personales a través de
un modem, mediante el que se pueden enviar mensajes, mantener conversaciones on-line, intercambiar
software o acceder a bases de datos. Básicamente se compone de un ordenador con una potente base de
datos y un sistema de conexión a través de la red telefónica conmutada y el correspondiente módem (la
primera red pública existente en el mundo antes de Internet entre ordenadores independientes).
BOOT SECTOR: Sector de inicialización, de arranque. Sectores del disco que están reservados para el
sistema operativo. Normalmente son los primeros sectores de la primera partición del disco.
DISCO DURO: Dispositivo de almacenamiento de datos mediante tecnología magnética que consta de un
disco en el que se graba la información, para recuperarla posteriormente gracias a una o varias cabezas
lectoras-grabadoras.
DRIVERS: Existen muchos periféricos que se pueden conectar a un ordenador (disqueteras, impresoras,
lectores de CD, escaners, etc.). Para que el sistema sea capaz de aprovechar al máximo las capacidades
de cada uno de estos dispositivos, los fabricantes incluyen unos programas llamados "Drivers", que son los
que saben gestionar adecuadamente ese periférico.
DOS: (Disk Operating System). Programa que controla el funcionamiento del ordenador. Es el sistema
operativo utilizado en la mayoría de los ordenadores personales (PCs) existentes. Aunque existen diferentes
versiones del DOS, la más conocida es la desarrollada por la compañía Microsoft, denominada MS-DOS. El
nombre de Sistema Operativo de Disco procede de que, en su mayor parte, el DOS permite la gestión y
administración del disco duro y los disquetes.
FAT: (File Allocation Table). Tabla de asignación de archivos. Parte del sistema de archivos del DOS y OS/2
que lleva un seguimiento de la ubicación de los datos almacenados en un disco. Cuando el disco se
formatea a alto nivel, el FAT se registra dos veces y contiene una tabla con una entrada para cada cluster
(conglomerado) en disco.
La lista de directorios, que contiene el nombre del archivo, extensión, fecha, etc., apunta a la entrada del
FAT donde comienza el archivo. Si un archivo es más grande que un cluster, la primera entrada del FAT
apunta a la siguiente entrada del mismo donde se encuentra almacenado el segundo cluster del archivo, y
así sucesivamente hasta el fin del archivo. Si un cluster se daña, su entrada FAT se marca como tal y ese
cluster no se usa nuevamente.
HEURISTICO: Algoritmo que consta de utilizar pruebas, exámenes o aproximaciones para llegar a dar con
una solución. De esta forma, sin conocer unos datos base exactos, podemos llegar a un resultado final.
Suele aplicarse mucho en la detección de virus.
97
HOSTS: sistemas centrales
INOCULACIÓN: Transmisión por medios artificiales una enfermedad contagiosa: la inoculación de una
vacuna.
INTERNET: Conjunto de redes de ordenadores creada a partir de redes de menos tamaño, cuyo origen
reside en la cooperación de dos universidades estadounidenses. Es la red global compuesta de limes de
redes de área local (LAN) y de redes de área extensa (WAN) que utiliza TCP/IP para proporcionar
comunicaciones de ámbito mundial a hogares, negocios, escuelas y gobiernos
IRC: (Internet Relay Chat). Charla Interactiva Internet. Protocolo mundial para conversaciones simultáneas
("party line") que permite comunicarse por escrito entre sí a través de ordenador a varias personas en
tiempo real. El servicio IRC está estructurado mediante una red de servidores, cada uno de los cuales
acepta conexiones de programas cliente, uno por cada usuario.
JAVA: Lenguaje desarrollado por Sun Microsystems para la elaboración de aplicaciones exportables a la
red y capaces de operar sobre cualquier plataforma a través, normalmente, de visualizadores WWW. El
programa Java se descarga desde el servidor Web y lo interpreta un programa que se ejecuta en el equipo
que contiene el explorador de Web.
MACRO: Básicamente, se trata de un grupo de comandos de una aplicación, organizados según un
determinado juego de instrucciones y cuya ejecución puede ser pedida de una sola vez para realizar la
función que se desea.
SCANNING: Localizar información específica.
SERVIDOR: Genéricamente, dispositivo de un sistema que resuelve las peticiones de otros elementos del
sistema, denominados clientes.
SOFT: Abreviatura de software. Su uso es muy frecuente.
Software: El término inglés original define el concepto por oposición a hardware: blando-duro, en referencia
a la intangibilidad de los programas y corporeidad de la máquina. Software es un término genérico que
designa al conjunto de programas de distinto tipo (sistema operativo y aplicaciones diversas) que hacen
posible operar con el ordenador.
SPAM: Spam es una palabra inglesa que hace referencia a una conserva cárnica: el "Spiced Ham",
literalmente "Jamón con especias". Al no necesitar refrigeración, fue muy utilizada en todo el mundo, sobre
todo por el ejército americano, que ayudó mucho en su difusión. Debido a esto (y a su baja calidad) se ha
utilizado este término para hacer referencia a todos los mensajes basura que se reciben tanto en los grupos
de noticias como en los buzones particulares...
TELEPROCESO: Denominación para el proceso de datos desde terminales distantes con la unidad central.
Es el caso típico de las transacciones que realizan, en gran volumen, las entidades financieras.
TROYANO: es un programa malicioso que se oculta en el interior de un programa de apariencia inocente.
Cuando este último es ejecutado, el Troyano realiza la acción o se oculta en la máquina del incauto que lo
ha ejecutado. Habitualmente se utiliza para espiar a personas, usando esta técnica para instalar un software
de acceso remoto que nos permita monitorear lo que alguien está haciendo en cada momento, (capturando
sus pulsaciones (keystrokes), o enviando capturas de pantalla del escritorio).
98
¿QUE ES RED?
Existen varias definiciones acerca de que es una red, algunas de las cuales son:
Conjunto de operaciones centralizadas o distribuidas, con el fin de compartir recursos "hardware y
software".
Sistema de transmisión de datos que permite el intercambio de información entre ordenadores.
Conjunto de nodos "computador" conectados entre sí.
TIPOS DE REDES
Existen varios tipos de redes, los cuales se clasifican de acuerdo a su tamaño y distribución lógica.
Clasificación según su tamaño
Las redes PAN (red de administración personal) son redes pequeñas, las cuales están conformadas por
no más de 8 equipos, por ejemplo: café Internet.
CAN: Campus Area Network, Red de Area Campus . Una CAN es una colección de LAN dispersadas
geográficamente dentro de un campus (universitario, oficinas de gobierno, maquilas o industrias)
pertenecientes a una misma entidad en una área delimitada en kilómetros. Una CAN utiliza comúnmente
tecnologías tales como FDDI y Gigabit Ethernet para conectividad a través de medios de comunicación tales
como fibra óptica y espectro disperso.
Las redes LAN (Local Área Network, redes de área local) son las redes que todos conocemos, es decir,
aquellas que se utilizan en nuestra empresa. Son redes pequeñas, entendiendo como pequeñas las redes
de una oficina, de un edificio. Debido a sus limitadas dimensiones, son redes muy rápidas en las cuales
cada estación se puede comunicar con el resto. Están restringidas en tamaño, lo cual significa que el
tiempo de transmisión, en el peor de los casos, se conoce. Además, simplifica la administración de la red.
Suelen emplear tecnología de difusión mediante un cable sencillo (coaxial o UTP) al que están conectadas
todas las máquinas. Operan a velocidades entre 10 y 100 Mbps.
Características preponderantes:
Los canales son propios de los usuarios o empresas.
Los enlaces son líneas de alta velocidad.
Las estaciones están cercas entre sí.
Incrementan la eficiencia y productividad de los trabajos de oficinas al poder compartir información.
Las tasas de error son menores que en las redes WAN.
La arquitectura permite compartir recursos.
LAN muchas veces usa una tecnología de transmisión, dada por un simple cable, donde todas las
computadoras están conectadas. Existen varias topologías posibles en la comunicación sobre LAN, las
cuales se verán más adelante.
Las redes WAN (Wide Área Network, redes de área extensa) son redes punto a punto que interconectan
países y continentes. Al tener que recorrer una gran distancia sus velocidades son menores que en las LAN
aunque son capaces de transportar una mayor cantidad de datos. El alcance es una gran área geográfica,
como por ejemplo: una ciudad o un continente. Está formada por una vasta cantidad de computadoras
interconectadas (llamadas hosts), por medio de subredes de comunicación o subredes pequeñas, con el fin
de ejecutar aplicaciones, programas, etc.
99
Una red de área extensa WAN es un sistema de interconexión de equipos informáticos geográficamente
dispersos, incluso en continentes distintos. Las líneas utilizadas para realizar esta interconexión suelen ser
parte de las redes públicas de transmisión de datos.
Las redes LAN comúnmente, se conectan a redes WAN, con el objetivo de tener acceso a mejores
servicios, como por ejemplo a Internet. Las redes WAN son mucho más complejas, porque deben enrutar
correctamente toda la información proveniente de las redes conectadas a ésta.
Una subred está formada por dos componentes:
Líneas de transmisión: quienes son las encargadas de llevar los bits entre los hosts.
Elementos interruptores (routers): son computadoras especializadas usadas por dos o más líneas de
transmisión. Para que un paquete llegue de un router a otro, generalmente debe pasar por routers
intermedios, cada uno de estos lo recibe por una línea de entrada, lo almacena y cuando una línea de salida
está libre, lo retransmite.
INTERNET WORKS: Es una colección de redes interconectadas, cada una de ellas puede estar
desallorrada sobre diferentes software y hardware. Una forma típica de Internet Works es un grupo de redes
LAN conectadas con WAN. Si una subred le sumamos los host obtenemos una red.
El conjunto de redes mundiales es lo que conocemos como Internet.
Las redes MAN (Metropolitan Área Network, redes de área metropolitana), comprenden una ubicación
geográfica determinada "ciudad, municipio", y su distancia de cobertura es mayor de 4 Km. Son redes con
dos buses unidireccionales, cada uno de ellos es independiente del otro en cuanto a la transferencia de
datos. Es básicamente una gran versión de LAN y usa una tecnología similar. Puede cubrir un grupo de
oficinas de una misma corporación o ciudad, esta puede ser pública o privada. El mecanismo para la
resolución de conflictos en la transmisión de datos que usan las MAN, es DQDB.
DQDB consiste en dos buses unidireccionales, en los cuales todas las estaciones están conectadas, cada
bus tiene una cabecera y un fin. Cuando una computadora quiere transmitir a otra, si esta está ubicada a la
izquierda usa el bus de arriba, caso contrario el de abajo.
Redes Punto a Punto. En una red punto a punto cada computadora puede actuar como cliente y como
servidor. Las redes punto a punto hacen que el compartir datos y periféricos sea fácil para un pequeño
grupo de gente. En una ambiente punto a punto, la seguridad es difícil, porque la administración no está
centralizada.
Redes Basadas en servidor. Las redes basadas en servidor son mejores para compartir gran cantidad
de recursos y datos. Un administrador supervisa la operación de la red, y vela que la seguridad sea
mantenida. Este tipo de red puede tener uno o más servidores, dependiendo del volumen de tráfico, número
de periféricos etc. Por ejemplo, puede haber un servidor de impresión, un servidor de comunicaciones, y un
servidor de base de datos, todos en una misma red.
Clasificación según su distribución lógica
Todos los ordenadores tienen un lado cliente y otro servidor: una máquina puede ser servidora de un
determinado servicio pero cliente de otro servicio.
Servidor. Máquina que ofrece información o servicios al resto de los puestos de la red. La clase de
información o servicios que ofrezca determina el tipo de servidor que es: servidor de impresión, de archivos,
de páginas web, de correo, de usuarios, de IRC (charlas en Internet), de base de datos...
100
Cliente. Máquina que accede a la información de los servidores o utiliza sus servicios. Ejemplos: Cada vez
que estamos viendo una página web (almacenada en un servidor remoto) nos estamos comportando como
clientes. También seremos clientes si utilizamos el servicio de impresión de un ordenador remoto en la red
(el servidor que tiene la impresora conectada).
Todas estas redes deben de cumplir con las siguientes características:
Confiabilidad "transportar datos".
Transportabilidad "dispositivos".
Gran procesamiento de información.
Y de acuerdo estas, tienen diferentes usos, dependiendo de la necesidad del usuario, como son:
Compañías - centralizar datos.
Compartir recursos "periféricos, archivos, etc.".
Confiabilidad "transporte de datos".
aumentar la disponibilidad de la información.
Comunicación entre personal de las mismas áreas.
Ahorro de dinero.
Home Banking.
Aportes a la investigación "vídeo demanda,line T.V,Game Interactive".
TOPOLOGIAS
Bus: esta topología permite que todas las estaciones reciban la información que se transmite, una estación
trasmite y todas las restantes escuchan.
Ventajas: La topología Bus requiere de menor cantidad de cables para una mayor topología; otra de las
ventajas de esta topología es que una falla en una estación en particular no incapacitara el resto de la red.
Desventajas: al existir un solo canal de comunicación entre las estaciones de la red, si falla el canal o una
estación, las restantes quedan incomunicadas. Algunos fabricantes resuelven este problema poniendo un
bus paralelo alternativo, para casos de fallos o usando algoritmos para aislar las componentes defectuosas.
Existen dos mecanismos para la resolución de conflictos en la transmisión de datos:
CSMA/CD: son redes con escucha de colisiones. Todas las estaciones son consideradas igual, por ello
compiten por el uso del canal, cada vez que una de ellas desea transmitir debe escuchar el canal, si alguien
está transmitiendo espera a que termine, caso contrario transmite y se queda escuchando posibles
colisiones, en este último espera un intervalo de tiempo y reintenta nuevamente.
Token Bus: Se usa un token (una trama de datos) que pasa de estación en estación en forma cíclica, es
decir forma un anillo lógico. Cuando una estación tiene el token, tiene el derecho exclusivo del bus para
transmitir o recibir datos por un tiempo determinado y luego pasa el token a otra estación, previamente
designada. Las otras estaciones no pueden transmitir sin el token, sólo pueden escuchar y esperar su turno.
Esto soluciona el problema de colisiones que tiene el mecanismo anterior.
Redes en Estrella
Es otra de las tres principales topologías. La red se une en un único punto, normalmente con control
centralizado, como un concentrador de cableado.
Redes Bus en Estrella
101
Esta topología se utiliza con el fin de facilitar la administración de la red. En este caso la red es un bus que
se cablea físicamente como una estrella por medio de concentradores.
Redes en Estrella Jerárquica
Esta estructura de cableado se utiliza en la mayor parte de las redes locales actuales, por medio de
concentradores dispuestos en cascada para formar una red jerárquica.
Redes en Anillo
Es una de las tres principales topologías. Las estaciones están unidas una con otra formando un círculo por
medio de un cable común. Las señales circulan en un solo sentido alrededor del círculo, regenerándose en
cada nodo.
Ventajas: los cuellos de botellas son muy pocos frecuentes
Desventajas: al existir un solo canal de comunicación entre las estaciones de la red, si falla el canal o una
estación, las restantes quedan incomunicadas. Algunos fabricantes resuelven este problema poniendo un
canal alternativo para casos de fallos, si uno de los canales es viable la red está activa, o usando algoritmos
para aislar las componentes defectuosas. Es muy compleja su administración, ya que hay que definir una
estación para que controle el token.
Existe un mecanismo para la resolución de conflictos en la transmisión de datos:
Token Ring: La estación se conecta al anillo por una unidad de interfaz (RIU), cada RIU es responsable de
controlar el paso de los datos por ella, así como de regenerar la transmisión y pasarla a la estación
siguiente. Si la dirección de cabecera de una determinada transmisión indica que los datos son para una
estación en concreto, la unidad de interfaz los copia y pasa la información a la estación de trabajo
conectada a la misma.
Se usa en redes de área local con o sin prioridad, el token pasa de estación en estación en forma cíclica,
inicialmente en estado desocupado. Cada estación cuando tiene el token (en este momento la estación
controla el anillo), si quiere transmitir cambia su estado a ocupado, agregando los datos atrás y lo pone en
la red, caso contrario pasa el token a la estación siguiente. Cuando el token pasa de nuevo por la estación
que transmitió, saca los datos, lo pone en desocupado y lo regresa a la red.
PROTOCOLOS
Características
Un protocolo es el conjunto de normas para comunicarse dos o más entidades (objetos que se
intercambian información). Los elementos que definen un protocolo son:
Sintaxis: formato, codificación y niveles de señal de datos.
Semántica: información de control y gestión de errores.
Temporización: coordinación entre la velocidad y orden secuencial de las señales.
Las características más importantes de un protocolo son:
Directo/indirecto: los enlaces punto a punto son directos pero los enlaces entre dos entidades en
diferentes redes son indirectos ya que intervienen elementos intermedios.
Monolítico/estructurado: monolítico es aquel en que el emisor tiene el control en una sola capa de
todo el proceso de transferencia. En protocolos estructurados, hay varias capas que se coordinan y
que dividen la tarea de comunicación.
102
Simétrico/asimétrico: los simétricos son aquellos en que las dos entidades que se comunican son
semejantes en cuanto a poder tanto emisores como consumidores de información. Un protocolo es
asimétrico si una de las entidades tiene funciones diferentes de la otra (por ejemplo en clientes y
servidores).
Funciones
1. Segmentación y ensamblado: generalmente es necesario dividir los bloques de datos en unidades
pequeñas e iguales en tamaño, y este proceso se le llama segmentación. El bloque básico de segmento en
una cierta capa de un protocolo se le llama PDU (Unidad de datos de protocolo). La necesidad de la
utilización de bloque es por:
La red sólo admite la transmisión de bloques de un cierto tamaño.
El control de errores es más eficiente para bloques pequeños.
Para evitar monopolización de la red para una entidad, se emplean bloques pequeños y así una
compartición de la red.
Con bloques pequeños las necesidades de almacenamiento temporal son menores.
Hay ciertas desventajas en la utilización de segmentos:
La información de control necesaria en cada bloque disminuye la eficiencia en la transmisión.
Los receptores pueden necesitar interrupciones para recibir cada bloque, con lo que en bloques pequeños
habrá más interrupciones.
Cuantas más PDU, más tiempo de procesamiento.
2. Encapsulado: se trata del proceso de adherir información de control al segmento de datos. Esta
información de control es el direccionamiento del emisor/receptor, código de detección de errores y control
de protocolo.
3. Control de conexión: hay bloques de datos sólo de control y otros de datos y control. Cuando se utilizan
datagramas, todos los bloques incluyen control y datos ya que cada PDU se trata como independiente. En
circuitos virtuales hay bloques de control que son los encargados de establecer la conexión del circuito
virtual. Hay protocolos más sencillos y otros más complejos, por lo que los protocolos de los emisores y
receptores deben de ser compatibles al menos .Además de la fase de establecimiento de conexión (en
circuitos virtuales) está la fase de transferencia y la de corte de conexión. Si se utilizan circuitos virtuales
habrá que numerar los PDU y llevar un control en el emisor y en el receptor de los números.
4. Entrega ordenada: el envío de PDU puede acarrear el problema de que si hay varios caminos posibles,
lleguen al receptor PDU desordenados o repetidos, por lo que el receptor debe de tener un mecanismo para
reordenar los PDU. Hay sistemas que tienen un mecanismo de numeración con módulo algún número; esto
hace que el módulo sean lo suficientemente alto como para que sea imposible que haya dos segmentos en
la red al mismo tiempo y con el mismo número.
5. Control de flujo: hay controles de flujo de parada y espera o de ventana deslizante. El control de flujo es
necesario en varios protocolos o capas, ya que el problema de saturación del receptor se puede producir en
cualquier capa del protocolo.
6. Control de errores: generalmente se utiliza un temporizador para retransmitir una trama una vez que no
se ha recibido confirmación después de expirar el tiempo del temporizador. Cada capa de protocolo debe de
tener su propio control de errores.
103
7. Direccionamiento: cada estación o dispositivo intermedio de almacenamiento debe tener una dirección
única. A su vez, en cada terminal o sistema final puede haber varios agentes o programas que utilizan la
red, por lo que cada uno de ellos tiene asociado un puerto.
Además de estas direcciones globales, cada estación o terminal de una subred debe de tener una dirección
de subred (generalmente en el nivel MAC).
Hay ocasiones en las que se usa un identificador de conexión; esto se hace así cuando dos estaciones
establecen un circuito virtual y a esa conexión la numeran (con un identificador de conexión conocido por
ambas). La utilización de este identificador simplifica los mecanismos de envío de datos ya que por ejemplo
es más sencillo que el direccionamiento global.
Algunas veces se hace necesario que un emisor emita hacia varias entidades a la vez y para eso se les
asigna un direccionamiento similar a todas.
8. Multiplexación: es posible multiplexar las conexiones de una capa hacia otra , es decir que de una única
conexión de una capa superior , se pueden establecer varias conexiones en una capa inferior ( y al revés ) .
9. Servicios de transmisión: los servicios que puede prestar un protocolo son :
Prioridad: hay mensajes (los de control) que deben tener prioridad respecto a otros.
Grado de servicio: hay datos que deben de retardarse y otros acelerarse (vídeo).
Seguridad .
Protocolo CSMA/CD.
Carrier Sense Mutiple Acces with Collision Detection. En este tipo de red cada estación se encuentra
conectada bajo un mismo bus de datos, es decir las computadoras se conectan en la misma línea de
comunicación (cableado), y por esta transmiten los paquetes de información hacia el servidor y/o los otros
nodos. Cada estación se encuentra monitoreando constantemente la línea de comunicación con el objeto de
transmitir o recibir sus mensajes.
Estándares para redes de la IEEE.
- IEEE 802.1
Estándar que especifica la relación de los estándares IEEE y su interacción con los modelos OSI de la ISO,
así como las cuestiones de interconectividad y administración de redes.
- IEEE 802.2
Control lógico de enlace (LLC), que ofrece servicios de "conexión lógica" a nivel de capa 2.
- IEEE 802.3
El comité de la IEEE 802. 3 definió un estándar el cual incluye el formato del paquete de datos para
Ethernet, el cableado a usar y el máximo de distancia alcanzable para este tipo de redes. Describe una LAN
usando una topología de bus, con un método de acceso al medio llamado CSMA/CD y un cableado coaxial
de banda base de 50 ohm capaz de manejar datos a una velocidad de 10 Mbs.
- IEEE 802.3 10Base5.
El estándar para bus IEEE 802.3 originalmente fue desarrollado para cable coaxial de banda base tipo Thick
como muna norma para Ethernet, especificación a la cual se hace referencia como 10Base5 y describe un
bus de red de compuesto por un cable coaxial de banda base de tipo Thick el cual puede transmitir datos a
una velocidad de 10Mbs. sobre un máximo de 500 mts.
- IEEE 802.3 10Base2.
104
Este estándar describe un bus de red el cual puede transmitir datos a una velocidad de 10 Mbs. sobre un
cable coaxial de banda base del tipo Thin en una distancia máxima de 200 mts.
- IEEE 802.3 STARLAN.
El comité IEEE 802 desarrollo este estándar para una red con protocolo CSMA el cual hace uso de una
topología de estrella agrupada en la cual las estrellas se enlazan con otra. También se le conoce con la
especificación 10Base5 y describe un red la cual puede transmitir datos a una velocidad de 1 Mbs. hasta
una distancia de 500 mts. Usando un cableado de dos pares trenzados calibres 24.
- IEEE 802.3 10BaseT.
Este estándar describe un bus lógico 802.3 CSMA/CD sobre un cableado de 4 pares trenzados el cual está
configurado físicamente como una estrella distribuida, capaz de transmitir datos a 10 Mbs. en un máximo de
distancia de 100 mts.
- IEEE 802.4
Define una red de topología usando el método de acceso al medio de Token Paassing.
- IEEE 802.5 Token Ring.
Este estándar define una red con topología de anillo la cual usa token (paquete de datos) para transmitir
información a otra. En una estación de trabajo la cual envía un mensaje lo sitúa dentro de un token y lo
direcciona específicamente a un destino, la estación destino copia el mensaje y lo envía a un token de
regreso a la estación origen la cual remueve el mensaje y pasa el token a la siguiente estación.
- IEEE 802.6
Red de área metropolitana (MAN), basada en la topología propuesta por la Universito of Western Australia,
conocida como DQDB (Distribuited Queue Dual Bus) DQDB utiliza un bus dual de fibra óptica como medio
de transmisión. Ambos buses son unidireccionales, y en contra-sentido. Con esta tecnología el ancho de
banda es distribuido entre los usuarios, de acuerdo a la demanda que existe, en proceso conocido como
"inserción de ranuras temporales". Puesto que puede llevar transmisión de datos sincrónicos y asincrónicos,
soporta aplicaciones de video, voz y datos. IEEE 802.6 con su DQDB, es la alternativa de la IEEE para
ISDN.
- IEEE 802.12
Se prevé la posibilidad de que el Fast Ethernet, adémdum de 802.3, se convierta en el IEEE 802.12.
MODELO OSI
Definición
Modelo abierto para arquitecturas funcionales de red, periféricos, archivos a compartir, utilidad de red. El
sistema de comunicaciones del modelo OSI estructura el proceso en varias capas que interaccionan entre
sí. Una capa proporciona servicios a la capa superior siguiente y toma los servicios que le presta la
siguiente capa inferior .De esta manera, el problema se divide en subproblemas más pequeños y por tanto
más manejables.
Para comunicarse dos sistemas, ambos tienen el mismo modelo de capas. La capa más alta del sistema
emisor se comunica con la capa más alta del sistema receptor, pero esta comunicación se realiza vía capas
inferiores de cada sistema .La única comunicación directa entre capas de ambos sistemas es en la capa
inferior (capa física).
105
Los datos parten del emisor y cada capa le adjunta datos de control hasta que llegan a la capa física. En
esta capa son pasados a la red y recibidos por la capa física del receptor. Luego irán siendo captados los
datos de control de cada capa y pasados a una capa superior. Al final, los datos llegan limpios a la capa
superior.
Cada capa tiene la facultad de poder trocear los datos que le llegan en trozos más pequeños para su propio
manejo. Luego serán re ensamblados en la capa paritaria de la estación de destino.
Características
1. Arquitectura:
Conocimiento del tráfico.
Trama - división de la información.
Paquete - todos los datos a ser enviados.
Segmento - Conjunto de trama.
2. Medio de Transmisión:
Nic - red
Association -router,bridge,gateway.
Tecnología - red "lan, wan,man".
3. Topología:
Distancia.
Distribución.
Enrutamiento
4. Capacidad mucha de banda:
Proceso estocástico.
Probabilidad de llegada.
Distribución "binomial- normal ".
Primitivas de servicio y parámetros
Las capas inferiores suministran a las superiores una serie de funciones o primitivas y una serie de
parámetros .La implementación concreta de estas funciones está oculta para la capa superior. ésta sólo
puede utilizar las funciones y los parámetros para comunicarse con la capa inferior( paso de datos y
control).
"Topologías de Redes"
Bus: es la topología de redes donde cada computadora está conectada a un cable simple llamado
segmento. En conección local se utiliza 10Base2 o 10Base5 para Trunk lines. Son menos costosas
localmente pero más difíciles de arreglar ("Troubleshooting"). Mejor para líneas largas de
estaciones.
106
Star: es la topología de redes donde cada computadora o nodo está conectada a un punto central
que puede ser un concentrador (hub) central. Toda la información que se transfiere de un nodo a
otro pasa a través del punto central. Mientras exista un puerto libre en el punto central se puede
añadir nodos sin afectar el funcionamiento de la red. Usualmente 10/100 Base T, es la más común.
Mejor para estaciones cercanas en un grupo.
Ring (anillo): es la topología de redes donde cada computadora está conectada a otra de manera que
forman un círculo. Físicamente es una conección de estrella con un concentrador especial
(MultiStation Access Unit, "MSAU"). Puede ser de 3 a 4 veces más rápida que la estrella.
107
Mesh: es la topología de redes donde cada computadora está conectada a todas las demás. Cada
dispositivo tiene un enlace dedicado de punto a punto a todos los dispositivos que la componen.
Cada dispositivo tiene (n-1) puertos de entrada/salida y se necesitan n (n-1) / 2 medios de
transmisión para conectar n dispositivos. Ventaja: Eliminación de problemas de tráfico, privacidad
y/o seguridad. Desventaja: cantidad de cableado y número de puertos requerido.
108
Árbol ("Tree"): Es una variación de la Estrella. Como en la estrella, los nodos en el árbol son
enlazados a un hub central que controla el tráfico en la red. Pero la mayoría de los dispositivos
están conectados a hub secundarios que a su vez están conectados al hub central.
Antecedentes
En el pasado había dos especificaciones principales de terminación de cableado: Los cables de datos y por
otro lado, los cables de voz.
En la actualidad, en el mundo de los sistemas de cableado estructurado existen muchos diferentes tipos de
servicios (e.g. voz, datos, video, monitoreo, control de dispositivos, etc.) que pueden correr sobre un mismo
tipo de cable.
Introducción
El estándar más conocido de cableado estructurado en el mundo está definido por la EIA/TIA [Electronics
Industries Association/Telecomunications Industries Association] de Estados Unidos), y especifica el
cableado estructurado sobre cable de par trenzado UTP de categoria 5, el estándar 568A. Existe otro
estándar producido por AT&T muchos antes de que la EIA/TIA fuera creada en 1985, el 258A, pero ahora
conocido bajo el nombre de EIA/TIA 568B.
109
Qué es el 568
En el mundo de los sistemas de cableado estructurado el número criptico 568 al orden en que los hilos
individuales dentro del cable CAT 5 están terminados.
En 1985 muchas compañías de la industria de las telecomunicaciones estaban desconcertadas por la falta
de estándares de cableado. Entonces la EIA se puso a desarrollar un estándar para este propósito. el primer
borrador (draft) del estándar no fue liberado sino hasta julio de 1991, y se le fue dado el nombre de EIA/TIA-
568. en 1994 el estándar fue renombrado a TIA/EIA 568A, el existente estándar de AT&T 258A fue incluido
y referenciado como TIA/EIA-568B. Estos estándares de facto se hicieron populares y ampliamente usados,
despues fueron adoptados por organismos internacionales como el ISO/IEC 11801:1995.
Internacionalmente los estandares de cableado estan definidos en ISO/IEC IS 11801, en los Estados Unidos
son definidos por la EIA/TIA, en Canadá por la CSA T529 y en otros organismos de otros países.
110
Los 6 subsistemas del sistema de cableado estructurado
1. Entrada al edificio:
La entrada a las servicios del edificio es el punto en el cual el cableado externo hace
interfaz con el cableado de la dorsal dentro del edificio. Este punto consiste en la entrada de
los servicios de telecomunicaciones al edificio (acometidas), incluyendo el punto de entrada
a través de la pared y hasta el cuarto o espacio de entrada. Los requerimientos de la
interface de red están definidos en el estándar TIA/EIA-569A
2. Cuarto de equipos
El cuarto de equipos es un espacio centralizado dentro del edificio donde se albergan los
equipos de red (enrutadores, switches, mux, dtu), equipos de datos (PBXs,..), video, etc.
Los aspectos de diseño del cuarto de equipos están especificados en el estándar TIA/EIA
569A.
111
El rack de telecomunicaciones es el área dentro de un edificio que alberga el equipo del
sistema de cableado de telecomunicaciones. Este incluye las terminaciones mecánicas y/o
cross-connects para el sistema de cableado a la dorsal y horizontal.
5. Cableado horizontal
El sistema de cableado horizontal se extiende desde el área de trabajo de
telecomunicaciones al rack de telecomunicaciones y consiste de lo siguiente:
» Cableado horizontal
» Enchufe de telecomunicaciones
» Terminaciones de cable (asignaciones de guías del conector modular RJ-45)
» Conexiones de transición
Tres tipos de medios son reconocidos para el cableado horizontal, cada uno debe de tener
una extensión máxima de 90 metros:
» Cable UTP 100-ohm, 4-pares, (24 AWG solido)
» Cable 150-ohm STP, 2-pares
» Fibra óptica 62.5/125-µm, 2 fibras
6. Área de trabajo
Los componentes del área de trabajo se extienden desde el enchufe de telecomunicaciones
a los dispositivos o estaciones de trabajo.
Los componentes del área de trabajo son los siguientes:
» Dispositivos: computadoras, terminales, teléfonos, etc.
» Cables de parcheo: cables modulares, cables adaptadores/conversores,
jumpers de fibra, etc.
» Adaptadores - deberán ser externos al enchufe de telecomununicaciones.
112
Racks o gabinetes de telecomunicaciones
113
Asignaciones del conector modular RJ-45 de 8 hilos, que forma parte del cableado horizontal.
114
¿Cómo leer un cable modular?
Alinear los dos extremos del
conector, con los dos contactos
hacia el frente y compare los
colores de izquierda a derecha. Si
los colores aparecen en el mismo
orden en ambos conectores,
entonces, el cable es "directo", o 1
a 1. Si los colores del segundo
conector aparecen en sentido
inverso al del primero, entonces, el
cable es "cruzado".
115
Evolución de la industria del software.
Hemos dicho que el software era el factor decisivo a la hora de elegir entre varias soluciones informáticas
disponibles para un problema dado, pero esto no ha sido siempre así. En los primeros años de la
informática, el hardware tenía una importancia mucho mayor que en la actualidad. Su coste era
comparativamente mucho más alto y su capacidad de almacenamiento y procesamiento, junto con su
fiabilidad, era lo que limitaba las prestaciones de un determinado producto. El software se consideraba
como un simple añadido, a cuyo desarrollo se dedicaba poco esfuerzo y no se aplicaba ningún método
sistemático. La programación era un arte de andar por casa, y el desarrollo de software se realizaba sin
ninguna planificación. La mayoría del software se desarrollaba y era utilizado por la misma persona u
organización. La misma persona lo escribía, lo ejecutaba y, si fallaba, lo depuraba. Debido a que la
movilidad en el trabajo era baja, los ejecutivos estaban seguros de que esa persona estaría allí cuando se
encontrara algún error. Debido a este entorno personalizado del software, el diseño era un proceso implícito,
realizado en la mente de alguien y la documentación normalmente no existía.
En este contexto, las empresas de informática se dedicaron a mejorar las prestaciones del hardware,
reduciendo los costes y el consumo de los equipos, y aumentando la velocidad de cálculo y la capacidad de
almacenamiento. Para ello, tuvieron que dedicar grandes esfuerzos a investigación y aplicaron métodos de
ingeniería industrial al análisis, diseño, fabricación y control de calidad de los componentes hardware. Como
consecuencia de esto, el hardware se desarrolló rápidamente y la complejidad de los sistemas informáticos
aumentó notablemente, necesitando de un software cada vez más complejo para su funcionamiento.
Surgieron entonces las primeras casas de software, y el mercado se amplió considerablemente. Con ello
aumentó la movilidad laboral, y con la marcha de un trabajador desaparecían las posibilidades de mantener
o modificar los programas que éste había desarrollado.
116
Al no utilizarse metodología alguna en el desarrollo del software, los programas contenían numerosos
errores e inconsistencias, lo que obligaba a una depuración continua, incluso mucho después de haber sido
entregados al cliente. Estas continuas modificaciones no hacían sino aumentar la inconsistencia de los
programas, que se alejaban cada vez más de la corrección y se hacían prácticamente ininteligibles. Los
costes se disparaban y frecuentemente era más rápido (y por tanto más barato) empezar de nuevo desde
cero, desechando todo el trabajo anterior, que intentar adaptar un programa preexistente a un cambio de los
requisitos. Sin embargo, los nuevos programas no estaban exentos de errores ni de futuras modificaciones,
con lo que la situación volvía a ser la misma. Había comenzado la denominada crisis del software.
Hoy en día, la distribución de costes en el desarrollo de sistemas informáticos ha cambiado drásticamente.
El software, en lugar del hardware, es el elemento principal del coste. Esto ha hecho que las miradas de los
ejecutivos de las empresas se centren en el software y a que se formulen las siguientes preguntas:
¿Porqué lleva tanto tiempo terminar los programas?
¿Por qué es tan elevado el coste?
¿Porqué no es posible encontrar todos los errores antes de entregar el software al cliente?
¿Porqué resulta tan difícil constatar el progreso conforme se desarrolla el software?
Estas y otras muchas preguntas son una manifestación del carácter del software y de la forma en que se
desarrolla y han llevado a la aparición y la adopción paulatina de la ingeniería del software.
117
una más de las labores de ingeniería, y la producción a gran o pequeña escala no influye en el impacto que
tiene la ingeniería en el coste, al ser el producto inmaterial. Por otro lado, la replicación del producto (lo que
sería equivalente a la producción del producto hardware) no presenta problemas técnicos, y no se requiere
un control de calidad individualizado.
El diferente impacto que tiene la ingeniería en el desarrollo de productos hardware y software puede
verse en el siguiente ejemplo:
Producción Coste unitario / Coste unitario /
Ingeniería o Desarrollo 100 unidades 100.000 unidades
Hardware 1000 50 c.u. 60 50.01
Software 1000 2000 30 0.03
Tabla 1.1. Influencia de los costes de ingeniería en el coste total del producto
Los costes del software se encuentran en la ingeniería (incluyendo en ésta el desarrollo), y no en la
producción, y es ahí donde hay que incidir para reducir el coste final del producto.
2.- El software no se estropea.
Podemos comparar las curvas de índices de fallos del hardware y el software en función del tiempo. En el
caso del hardware (figura 1.1), se tiene la llamada curva de bañera, que indica que el hardware presenta
relativamente muchos fallos al principio de su vida. Estos fallos son debidos fundamentalmente a defectos
de diseño o a la baja calidad inicial de la fase de producción. Una vez corregidos estos defectos, la tasa de
fallos cae hasta un nivel estacionario y se mantiene así durante un cierto periodo de tiempo. Posteriormente,
la tasa de fallos vuelve a incrementarse debido al deterioro de los componentes, que van siendo afectados
por la suciedad, vibraciones y la influencia de muchos otros factores externos. Llegados a este punto,
podemos sustituir los componentes defectuosos o todo el sistema por otros nuevos, y la tasa de fallos
vuelve a situarse en el nivel estacionario.
índice de fallo
tiempo
118
índice de fallo
tiempo
tiempo
119
los usuarios anteriores. Estos componentes cumplen unas especificaciones claras y tienen unas interfaces
definidas.
El caso del software es bien distinto. No existen catálogos de componentes, y aunque determinados
productos como sistemas operativos, editores, entornos de ventanas y bases de datos se venden en
grandes ediciones, la mayoría del software se fabrica a medida, siendo la reutilización muy baja. Se puede
comprar software ya desarrollado, pero sólo como unidades completas, no como componentes que pueden
ser re ensamblados para construir nuevos programas. Esto hace que el impacto de los costes de ingeniería
sobre el producto final sea muy elevado, al dividirse entre un número de unidades producidas muy pequeño.
Se ha escrito mucho sobre reutilización del software, y han sido muchos los intentos para conseguir
aumentar el nivel de reutilización, normalmente con poco éxito. Uno de los ejemplos de reutilización más
típicos, que ha venido usándose desde hace tiempo, son las bibliotecas. Durante los años sesenta se
empezaron a desarrollar bibliotecas de subrutinas científicas, reutilizables en una amplia gama de
aplicaciones científicas y de ingeniería. La mayor parte de los lenguajes modernos incluyen bibliotecas de
este tipo, así como otras para facilitar la entrada/salida y más recientemente los entornos de ventanas. Sin
embargo esta aproximación no puede aplicarse fácilmente a otros problemas también de uso muy frecuente,
como puede ser la búsqueda de un elemento en una estructura de datos, debido a la gran variación que
existe en cuanto a la organización interna de estas estructuras y en la composición de los datos que
contienen. Existen algoritmos para resolver estos problemas, pero no queda más remedio que programarlos
una y otra vez, adaptándolos a cada situación particular.
Un nuevo intento de conseguir la reutilización se produjo con la utilización de técnicas de programación
estructurada y modular. Sin embargo, se dedica por lo general poco esfuerzo al diseño de módulos lo
suficientemente generales para ser reutilizables, y en todo caso, no se documentan ni se difunden todo lo
que sería necesario para extender su uso, con lo que la tendencia habitual es diseñar y programar módulos
muy semejantes una y otra vez. La programación estructurada permite diseñar programas con una
estructura más clara, y que, por tanto, sean más fáciles de entender. Esta estructura interna más clara y
estudiada, permite la reutilización de módulos dentro de los programas, o incluso dentro del proyecto que se
está desarrollando, pero la reutilización de código en proyectos diferentes es muy baja.
La última tendencia para conseguir la reutilización es el uso de técnicas orientadas a objetos, que permiten
la programación por especialización. Los objetos, que encapsulan tanto datos como los procedimientos que
los manejan - los métodos -, haciendo los detalles de implementación invisibles e irrelevantes a quien los
usa, disponen de interfaces claras, los errores cometidos en su desarrollo pueden ser depurados sin que
esto afecte a la corrección de otras partes del código y pueden ser heredados y reescritos parcialmente,
haciendo posible su reutilización aún en situaciones no contempladas en el diseño inicial.
El software puede aplicarse a numerosas situaciones del mundo real. En primer lugar, a todos aquellos
problemas para los que se haya establecido un conjunto específico de acciones que lleven a su resolución
(esto es, un algoritmo). En estos casos, utilizaremos lenguajes de programación procedimentales para
implementar estos algoritmos. También puede aplicarse a situaciones en las que el problema puede
describirse formalmente, por lo general en forma recursiva. En estos casos no necesitamos describir el
120
método de resolución, es decir cómo se resuelve el problema, sino que bastará con describir en problema
en sí, indicando cuál es la solución deseada, y utilizaremos lenguajes declarativos para ello. También puede
aplicarse a problemas que los humanos resolvemos utilizando multitud de reglas heurísticas posiblemente
contradictorias, para lo cual utilizaremos un sistema experto e incluso para problemas de los cuales no
tenemos una idea clara de cómo se resuelven, pero de los que conocemos cuál es la solución apropiada
para algunos ejemplos de los datos de entrada. En este caso utilizaremos redes neuronales.
En cualquier caso, es difícil establecer categorías genéricas significativas para las aplicaciones del software.
Conforme aumenta la complejidad del mismo se hace más complicado establecer compartimentos
nítidamente separados. No obstante la siguiente clasificación ha venido aceptándose tradicionalmente:
Software de sistemas.
Está formado por todos aquellos programas cuya finalidad es servir al desarrollo o al funcionamiento de
otros programas. Estos programas son muy variados: editores, compiladores, sistemas operativos, entornos
gráficos, programas de telecomunicaciones, etc. pero se caracterizan por estar muy próximos al hardware,
por ser utilizados concurrentemente por numerosos usuarios y por tratarse de programas de amplia difusión,
no estando diseñados normalmente a medida. Esto permite un mayor esfuerzo en su diseño y optimización,
pero también les obliga a ser muy fiables, cumpliendo estrictamente las especificaciones para las que fueron
creados.
Software de tiempo real.
Está formado por todos aquellos programas que miden, analizan y controlan los sucesos del mundo real a
medida que ocurren, debiendo reaccionar de forma correcta a los estímulos de entrada en un tiempo
máximo prefijado. Deben, por tanto, cumplir unos requisitos temporales muy estrictos y, dado que los
procesos que controlan pueden ser potencialmente peligrosos, tienen que ser fiables y tolerantes a fallos.
Por otro lado, no suelen ser muy complejos y precisan de poca interacción con el usuario.
Software de gestión.
El procesamiento de información de gestión constituye, casi desde los inicios de la informática la mayor de
las áreas de aplicación de los ordenadores. Estos programas utilizan grandes cantidades de información
almacenadas en bases de datos con objeto de facilitar las transacciones comerciales o la toma de
decisiones. Además de las tareas convencionales de procesamiento de datos, en las que el tiempo de
procesamiento no es crítico y los errores pueden ser corregidos a posteriori, incluyen programas interactivos
que sirven de soporte a transacciones comerciales.
Software científico y de ingeniería.
Otro de los campos clásicos de aplicación de la informática. Se encarga de realizar complejos cálculos
sobre datos numéricos de todo tipo. En este caso la corrección y exactitud de las operaciones que realizan
es uno de los requisitos básicos que deben de cumplir.
El campo del software científico y de ingeniería se ha visto ampliado últimamente con el desarrollo de los
sistemas de diseño, ingeniería y fabricación asistida por ordenador (CAD, CAE y CAM), los simuladores
gráficos y otras aplicaciones interactivas que lo acercan más al software de tiempo real e incluso al software
de sistemas.
121
Software de ordenadores personales.
El uso de ordenadores personales y de uso doméstico se ha generalizado a lo largo de la pasada década.
Aplicaciones típicas son los procesadores de textos, las hojas de cálculo, bases de datos, aplicaciones
gráficas, juegos, etc. Son productos de amplia difusión orientados a usuarios no profesionales, por lo que
entre sus requisitos se encuentran la facilidad de uso y el bajo coste.
Software empotrado.
Software empotrado es aquel que va instalado en otros productos industriales, como por ejemplo la
electrónica de consumo, dotando a estos productos de un grado de inteligencia cada vez mayor. Se aplica a
todo tipo de productos, desde un vídeo doméstico hasta un misil con cabeza atómica, pasando por algunos
sistemas de control de los automóviles, y realiza funciones muy diversas, que pueden ir desde complicados
cálculos en tiempo real a sencillas interacciones con el usuario facilitando el manejo del aparato que los
incorpora. Comparten características con el software de sistemas, el software de tiempo real, el software de
ingeniería y científico y el software de ordenadores personales.
Software de inteligencia artificial.
El software basado en lenguajes procedimentales es útil para realizar de forma rápida y fiable operaciones
que para el ser humano son tediosas e incluso inabordables. Sin embargo, es difícilmente aplicable a
problemas que requieran la aplicación de funciones intelectuales más elevadas, por triviales que nos
puedan parecer. El software de inteligencia artificial trata de dar respuesta a estas deficiencias, basándose
en el uso de lenguajes declarativos, sistemas expertos y redes neuronales.
Como vemos, el software permite aplicaciones muy diversas, pero en todas ellas podemos encontrar algo
en común: el objetivo es que el software desempeñe una determinada función, y además, debe hacerlo
cumpliendo una serie de requisitos. Esos pueden ser muy variados: corrección, fiabilidad, respuesta en un
tiempo determinado, facilidad de uso, bajo coste, etc., pero siempre existen y no podemos olvidarnos de
ellos a la hora de desarrollar el software.
Hemos hablado de una crisis del software. Sin embargo, por crisis entendemos normalmente un estado
pasajero de inestabilidad, que tiene como resultado un cambio de estado del sistema o una vuelta al estado
inicial, en caso de que se tomen las medidas para superarla. Teniendo en cuenta esto, el software, más que
padecer una crisis podríamos decir que padece una enfermedad crónica. Los problemas que surgieron
cuando se empezó a desarrollar software de una cierta complejidad siguen existiendo actualmente, sin que
se haya avanzado mucho en los intentos de solucionarlos.
Estos problemas son causados por las propias características del software y por los errores cometidos por
quienes intervienen en su producción. Entre ellos podemos citar:
La planificación y la estimación de costes son muy imprecisas.
A la hora de abordar un proyecto de una cierta complejidad, sea en el ámbito que sea, es frecuente que
surjan imprevistos que no estaban recogidos en la planificación inicial, y como consecuencia de estos
imprevistos se producirá una desviación en los costes del proyecto. Sin embargo, en el desarrollo de
software lo más frecuente es que la planificación sea prácticamente inexistente, y que nunca se revise
durante el desarrollo del proyecto. Sin una planificación detallada es totalmente imposible hacer una
122
estimación de costes que tenga alguna posibilidad de cumplirse, y tampoco se pueden identificar las tareas
conflictivas que pueden desviarnos de los costes previstos.
Entre las causas de este problema podemos citar:
No se recogen datos sobre el desarrollo de proyectos anteriores, con lo que no se acumula experiencia
que pueda ser utilizada en la planificación de nuevos proyectos.
123
1.6. Definición de Ingeniería del Software.
El desarrollo de sistemas de software complejos no es una actividad trivial, que pueda abordarse sin una
preparación previa. El considerar que un proyecto de desarrollo de software podía abordarse como
cualquier otro ha llevado a una serie de problemas que limitan nuestra capacidad de aprovechar los
recursos que el hardware pone a nuestra disposición.
Los problemas tradicionales en el desarrollo de software no van a desaparecer de la noche a la mañana,
pero identificarlos y conocer sus causas es el único método que nos puede llevar hacia su solución.
No existe una fórmula mágica para solucionar estos problemas, pero combinando métodos aplicables a
cada una de las fases del desarrollo de software, construyendo herramientas para automatizar estos
métodos, utilizando técnicas para garantizar la calidad de los productos desarrollados y coordinando todas
las personas involucradas en el desarrollo de un proyecto, podremos avanzar mucho en la solución de estos
problemas. De ello se encarga la disciplina llamada Ingeniería del Software.
Una de las primeras definiciones que se dio de la ingeniería del software es la siguiente:
El establecimiento y uso de principios de ingeniería robustos, orientados a obtener software económico, que
sea fiable y funcione de manera eficiente sobre máquinas reales.
La ingeniería del software abarca un conjunto de tres elementos clave: métodos, herramientas y
procedimientos, que faciliten al gestor el control el proceso de desarrollo y suministren a los
implementadores bases para construir de forma productiva software de alta calidad.
Los métodos indican cómo construir técnicamente el software, y abarcan una amplia serie de tareas que
incluyen la planificación y estimación de proyectos, el análisis de requisitos, el diseño de estructuras de
datos, programas y procedimientos, la codificación, las pruebas y el mantenimiento. Los métodos introducen
frecuentemente una notación específica para la tarea en cuestión y una serie de criterios de calidad.
Las herramientas proporcionan un soporte automático o semiautomático para utilizar los métodos. Existen
herramientas automatizadas para cada una de las fases vistas anteriormente, y sistemas que integran las
herramientas de cada fase de forma que sirven para todo el proceso de desarrollo. Estas herramientas se
denominan CASE (Computer Asistid Software Engineering).
Los procedimientos definen la secuencia en que se aplican los métodos, los documentos que se requieren,
los controles que permiten asegurar la calidad y las directrices que permiten a los gestores evaluar los
progresos
124
Software
El software no se estropea.
Tabla 1.1. Influencia de los costes de ingeniería en el coste total del producto
índice de fallo
tiempo
índice de fallo
tiempo
tiempo
Software de sistemas.
Software de gestión.
Software empotrado.
La productividad es baja.
La calidad es mala.
Métodos
Herramientas
Procedimientos
Por ciclo de vida, se entiende la sucesión de etapas por las que pasa el software desde que un
nuevo proyecto es concebido hasta que se deja de usar.
Cada una de estas etapas lleva asociada una serie de tareas que deben realizarse, y una serie
de documentos (en sentido amplio: software) que serán la salida de cada una de estas fases y
servirán de entrada en la fase siguiente.
Existen diversos modelos de ciclo de vida, es decir, diversas formas de ver el proceso de
desarrollo de software, y cada uno de ellos va asociado a un paradigma de la ingeniería del
software, es decir, a una serie de métodos, herramientas y procedimientos que debemos usar a
lo largo de un proyecto. En este tema veremos algunos de los principales modelos de ciclo de
vida.
La elección de un paradigma u otro se realiza de acuerdo con la naturaleza del proyecto y de la
aplicación, los métodos a usar y los controles y entregas requeridos.
Este paradigma es el más antiguo de los empleados en la IS y se desarrolló a partir del ciclo
convencional de una ingeniería. No hay que olvidar que la IS surgió como copia de otras
ingenierías, especialmente de las del hardware, para dar solución a los problemas más
comunes que aparecían al desarrollar sistemas de software complejos.
Es un ciclo de vida en sentido amplio, que incluye no sólo las etapas de ingeniería sino toda la
vida del producto: las pruebas, el uso (la vida útil del software) y el mantenimiento, hasta que
llega el momento de sustituirlo (Figura 2.1)
Figura 2.1. Ciclo de vida en cascada.
El ciclo de vida en cascada exige un enfoque sistemático y secuencial del desarrollo de
software, que comienza en el nivel de la ingeniería de sistemas y avanza a través de fases
secuenciales sucesivas. Estas fases son las siguientes:
Que, durante la utilización, el cliente detecte errores en el software: los errores latentes.
Que se produzcan cambios en alguno de los componentes del sistema informático: por
ejemplo cambios en la máquina, en el sistema operativo o en los periféricos.
Hasta que se llega a la fase final del desarrollo: la codificación, no se dispone de una
versión operativa del programa. Como la mayor parte de los errores se detectan
cuando el cliente puede probar el programa no se detectan hasta el final del proyecto,
cuando son más costosos de corregir y más prisa (y más presiones) hay por qué el
programa se ponga definitivamente en marcha.
Todos estos problemas son reales, pero de todas formas es mucho mejor desarrollar software
siguiendo el modelo de ciclo de vida en cascada que hacerlo sin ningún tipo de guías. Además,
este modelo describe una serie de pasos genéricos que son aplicables a cualquier otro
paradigma, refiriéndose la mayor parte de las críticas que recibe a su carácter secuencial.
El modelo de ciclo de vida en cascada, no nos indica nada sobre la relación entre las diversas
partes involucradas en el desarrollo de software, ni tampoco sobre los documentos que sirven
de entrada y salida de cada una de las fases del proceso. Por ello, se ha propuesto el modelo
contractual, que no es más que una extensión más detallada del modelo clásico.
Fig. 2.2. El modelo contractual (fotocopia)
En este modelo, cada fase de desarrollo, ya sea el análisis, el diseño, la implementación, etc.,
es contemplada como el sujeto de un contrato entre dos partes, llamadas respectivamente el
proveedor y el cliente. La finalización de cada fase se produce con la firma, por parte del cliente
y del proveedor, de un documento contractual, (en sentido amplio: software) producido por el
proveedor a partir de una solicitud de servicios que el cliente ha facilitado al inicio de la fase.
En cada fase existen, por tanto, un proveedor y un cliente. El cliente realiza una petición de
servicios, expresando sus necesidades. A partir de esta petición, el proveedor redacta un
contrato de servicio, cuyos detalles se discuten con el cliente. Finalmente, se firma el contrato y
se pasa a la fase siguiente, en la que el proveedor se convierte en cliente (en una especie de
subcontratación).
Así, en la fase de análisis, el cliente que ha encargado el proyecto actúa de cliente y el analista
actúa de proveedor, y esta fase termina con un acuerdo de ambos respecto a que la
especificación del sistema, redactada a partir de la definición informal de requisitos realizada
por el cliente, es satisfactoria y puede servir de contrato para formalizar la transacción entre
ambos.
En la fase de diseño, el analista actúa de cliente, y proporciona como petición de servicio la
especificación. A su vez, esta fase acaba cuando el diseño realizado por el diseñador es
aceptado como satisfactorio y conforme con los términos del contrato, por el analista. Y así
sucesivamente.
El modelo contractual, tiene la ventaja de dar un mayor rigor a la transición entre cada una de
las fases del ciclo de vida y permite determinar quién es el responsable en caso de que surjan
problemas. Así, el cliente es responsable de los incrementos de coste producidos por un
cambio en los requisitos, puesto que pretende que se realice un servicio que no estaba previsto
en el contrato, y el proveedor es responsable de los gastos ocasionados (o de aceptar una
disminución en el precio) si el producto finalmente entregado no cumple todas las condiciones
del contrato, es decir, si contiene errores.
No son más fáciles de utilizar que los lenguajes de tercera generación. En concreto,
muchos de los lenguajes de especificación que utilizan pueden considerarse como
lenguajes de programación, de un nivel algo más alto que los anteriores, pero que no
logran prescindir de la codificación en sí, sino que simplemente la disfrazan de
‘especificación’.
El código fuente que producen es ineficiente. (el ejemplo de antes de SQL). Al estar
generado automáticamente no pueden hacer uso de los trucos habituales para
aumentar el rendimiento, que se basan en el buen conocimiento de cada caso
particular. Esta crítica podría aplicarse a cualquier lenguaje de programación con
respecto al ensamblador (los programas codificados en ensamblador siempre serán
más rápidos y más pequeños que los generados por cualquier compilador), pero la
reducción de los tiempos de desarrollo y el continuo aumento de la potencia de cálculo
de los ordenadores compensan ampliamente esta menor eficiencia (salvo en
excepciones).
un programa que realice en todo o en parte la función deseada pero que tenga
características (rendimiento, consideración de casos particulares, etc.) que deban ser
mejoradas durante el desarrollo del proyecto.
La secuencia de tareas del paradigma de construcción de prototipos puede verse en la figura
2.4.
Si se ha decidido construir un prototipo, lo primero que hay que hacer es realizar un modelo del
sistema, a partir de los requisitos que ya conozcamos. En este caso no es necesario realizar
una definición completa de los requisitos, pero sí es conveniente determinar al menos las áreas
donde será necesaria una definición posterior más detallada.
Luego se procede a diseñar el prototipo. Se tratará de un diseño rápido, centrado sobre todo en
la arquitectura del sistema y la definición de la estructura de las interfaces más que en aspectos
procedimentales de los programas: nos fijaremos más en la forma y en la apariencia que en el
contenido.
A partir del diseño construiremos el prototipo. Existen herramientas especializadas en generar
prototipos ejecutables a partir del diseño. Otra opción sería utilizar técnicas de cuarta
generación. La posibilidad más reciente es consiste en el uso de especificaciones formales,
que últimamente tienden al desarrollo de entornos interactivos (ej. OBJ) que faciliten el
desarrollo incremental de especificaciones y permitan la prueba de estas especificaciones.
En cualquier caso, el objetivo es siempre que la codificación sea rápida, aunque sea en
detrimento de la calidad del software generado.
Una vez listo el prototipo, hay que presentarlo al cliente para que lo pruebe y sugiera
modificaciones. En este punto el cliente puede ver una implementación de los requisitos que ha
definido inicialmente y sugerir las modificaciones necesarias en las especificaciones para que
satisfagan mejor sus necesidades.
A partir de estos comentarios del cliente y los cambios que se muestren necesarios en los
requisitos, se procederá a construir un nuevo prototipo y así sucesivamente hasta que los
requisitos queden totalmente formalizados, y se pueda entonces empezar con el desarrollo del
producto final.
Por tanto, el prototipado es una técnica que sirve fundamentalmente para la fase de análisis de
requisitos, pero lleva consigo la obtención de una serie de subproductos que son útiles a lo
largo del desarrollo del proyecto:
Gran parte del trabajo realizado durante la fase de diseño rápido (especialmente la
definición de pantallas e informes) puede ser utilizada durante el diseño del producto
final. Además, tras realizar varias vueltas en el ciclo de construcción de prototipos, el
diseño del mismo se parece cada vez más al que tendrá el producto final.
El modelo en espiral.
El modelo en espiral combina las principales ventajas del modelo de ciclo de vida en cascada y
del modelo de construcción de prototipos. Proporciona un modelo evolutivo para el desarrollo
de sistemas de software complejos, mucho más realista que el ciclo de vida clásico, y permite
la utilización de prototipos en cualquier etapa de la evolución del proyecto. Este es un modelo
relativamente nuevo (fue propuesto en 1988) y no ha sido tan usado como los dos anteriores,
aunque es de esperar que se extienda cada vez más.
Otra característica de este modelo es que incorpora en el ciclo de vida el análisis de riesgos.
(Que ya veremos lo que es). Los prototipos se utilizan como mecanismo de reducción del
riesgo, permitiendo finalizar el proyecto antes de haberse embarcado en el desarrollo del
producto final, si el riesgo es demasiado grande.
El modelo en espiral define cuatro tipos de actividades, y representa cada uno de ellos en un
cuadrante:
Planificación.
Consiste en determinar los objetivos del proyecto, las posibles alternativas y las restricciones.
Esta fase equivale a la de recolección de requisitos del ciclo de vida clásico e incluye además
la planificación de las actividades a realizar en cada iteración.
Análisis de riesgo.
Una de las actividades de la planificación de proyectos (que se verá en IS: Proyectos) es el
análisis de riesgos. El desarrollo de cualquier proyecto complejo lleva implícito una serie de
riesgos: unos relativos al propio proyecto (los riesgos que pueden hacer que el proyecto
fracase) y otros relativos a las decisiones que deben tomarse durante su desarrollo (los riesgos
asociados a que una de estas decisiones sea errónea).
El análisis de riesgos consiste en cuatro actividades principales:
Independientemente del paradigma que se utilice, del área de aplicación, y del tamaño y la
complejidad del proyecto, el proceso de desarrollo de software contiene siempre una serie de
fases genéricas, existentes en todos los paradigmas. Estas fases son la definición, el desarrollo
y el mantenimiento.
Definición.
qué lenguaje de programación, sistema operativo y soporte hardware van a ser utilizados.
qué criterios de validación se necesitan para conseguir que el sistema final sea correcto.
Aunque los pasos concretos dependen del modelo de ciclo de vida utilizado, en general se
realizarán tres tareas específicas:
Análisis del sistema.
Como ya hemos visto, el análisis del sistema define el papel de cada elemento de un sistema
informático, estableciendo cuál es el papel del software dentro de ese sistema.
Análisis de requisitos del software.
El análisis del sistema proporciona el ámbito del software, su relación con el resto de
componentes del sistema, pero antes de empezar a desarrollar es necesario hacer una
definición más detallada de la función del software.
Existen dos formas de realizar el análisis y refinamiento de los requisitos del software. Por una
parte, se puede hacer un análisis formal del ámbito de la información para establecer modelos
del flujo y la estructura de la información. Luego se amplían unos modelos para convertirlos en
una especificación del software. La otra alternativa consiste en construir un prototipo del
software, que será evaluado por el cliente para intentar consolidar los requisitos. Los requisitos
de rendimiento y las limitaciones de recursos se traducen en directivas para la fase de diseño.
El análisis y definición de los requisitos es una tarea que debe llevarse a cabo conjuntamente
por el desarrollador de software y por el cliente. La especificación de requisitos del software es
el documento que se produce como resultado de esta etapa.
Planificación del proyecto software.
Durante esta etapa se lleva a cabo el análisis de riesgos, se definen los recursos necesarios
para desarrollar el software y se establecen las estimaciones de tiempo y costes. El propósito
de esta etapa de planificación es proporcionar una indicación preliminar de la viabilidad del
proyecto de acuerdo con el coste y con la agenda que se hayan establecido. Posteriormente, la
gestión del proyecto durante el desarrollo del mismo realiza y revisa el plan de proyecto de
software.
Desarrollo.
Mantenimiento.
TEMA 1:
PROGRAMA:
Secuencia de pasos a lógicos para resolver un problema.
ESTRUCTURA:
LENGUAJE DE PROGRAMACIÓN:
Conjunto de caracteres que nos permiten crear instrucciones siguiendo una sintaxis.
LENGUAJE ALGORÍTMICO:
Orientado a procedimientos y diseñado para ayudar al programador en el diseño y
desarrollo de algoritmos.
METODOLOGÍA:
1. Entender el problema.
2. Hacer un análisis:
¿Qué tenemos?
¿Qué necesitamos?
¿Qué buscamos?
3. Diseñar el algoritmo de solución.
4. Codificar.
TIPOS DE DATOS:
ENTEROS: (Int) Números enteros positivos o negativos.
REALES: (Flota) Números con decimales.
CARACTERES: (Char) Símbolos, Nº, caracteres solos. (@, #, $, %)
CADENA DE CARACTERES: (String) Agrupación de caracteres.
BOLEANOS: (Bolean) .T. (True), .F. (false)
VARIABLES:
Es un conjunto de símbolos o solo uno que reserva espacio en la memoria y su valor
puede cambiar durante la ejecución del programa. Solo números y letras. Números solos
NO. Letras solas SI.
CONSTANTES:
No cambia su valor durante la ejecución del programa. Solo números y letras. Números
solos NO. Letras solas SI.
INICIAR VARIABLE:
int a = 10;
VARIAS VARIABLES:
int a, b, c, d, e;
DECLARAR CONSTANTES:
const int a = 5
ASIGNACIÓN:
Aquí le asignamos un valor a la variable a (5), de lo cual se deduce que
a=5 el valor de dicha variable es 5.
COMPARACIÓN:
Aquí lo que queremos decir es que la variable a es igual al valor 5.
a == 5
OPERADOR:
Es un símbolo o palabra que nos ayuda a realizar una operación.
Los operadores pueden ser:
ARITMÉTICOS:
SUMA +
RESTA -
MULTIPLICACIÓN
DIVISIÓN /
EXPONENTE
RESIDUO MOD
RELACIONALES:
LÓGICOS:
A B A AND B
0 0 0 (Falso)
0 1 0 (Falso)
1 0 0 (Falso)
1 1 1 (Verdadero)
A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1
1=0
0=1
OPERANDOS:
Valores o variables que nos permiten presentar un resultado o un dato:
operandos
EXPRESIONES.
Conjuntos de operadores y operandos relacionados entre sí, con la finalidad de construir
una operación valida.
1)
Int a = 4;
Float b = 5.5;
a+b=
a>b=
b==8=
b>=100 =
100 / 4 =
55 MOD 8 =
30 ** 2 =
400 * 2 =
b |= 5.5 =
b = = 5.5 =
50 MOD 10 =
40 MOD 200 =
2)
b = 8;
b+4=
3)
a = 200;
a / 100 =
a Mod 5 =
NIVEL OPERADOR
1 , NOT
2 , /, MOD, AND
3 +, -, OR
4 >, >=, <, <=, =, = =, |=
1. DIAGRAMA DE FLUJO
2. PSEUDOCÓDIGO.
3. NASSI-SHNEIDERMAN. (N-S). (ESTRUCTURADO).
INICIO / FIN
DIAGRAMA DE FLUJO: PANTALLA
Es una representación visual o gráfica del flujo de los datos en la que cada paso de un
E/S---I/O
algoritmo es representado por un símbolo estándar. CONECTOR
PÁGINA OUT
PRINCIPALES SÍMBOLOS DEL DIAGRAMA DE FLUJO:
PROCESO CONECTOR
PÁGINA IN
LEER / TECLEAR
DECISIÓN
NO SI
ITERACIÓN DO
WHILE
DECISIÓN MÚLTIPLE
ITERACIÓN FOR
NO
SI
ESTRUCTURA BÁSICA DE UN DIAGRAMA DE FLUJO:
INICIO
ACCIÓN
1
ACCIÓN
2
ACCIÓN
3
ACCIÓN
N
FIN
SEUDO CÓDIGO:
Es un lenguaje similar al español e inglés, pero más sencillo, donde se utilizan unas
series de palabras como instrucciones.
LEER READ
ESCRIBIR WRITE
INICIO
FIN
IF (Decisión)
END IF
INICIO
CUAL ES EL
NUMERO
1
EJEMPLOS:
N1
1.- Pedir dos números y presentar la suma:
Diagrama de flujo:
CUAL ES EL
NUMERO
2
N2
RES = N1 + N2
LA SUMA
ES:
RES
FIN
2.- Pedir dos números y presentar la suma:
Seudo código:
INICIO
Int N1, N2, RES
ESCRIBIR “Cual es el número 1”
LEER N1
ESCRIBIR “Cual es el número 2”
LEER N2
RES = N1 + N2
ESCRIBIR “La suma es: RES”
FIN
ZONA DE ENCABEZAMIENTO:
En ella le damos el nombre al programa. En todo programa debe haber una zona de
encabezamiento.
La zona de encabezamiento se inicia con la palabra PROGRAM; seguida por el
nombre con que identificamos nuestro programa.
EJEMPLO:
En nuestro primer programa el encabezado termina es: PROGRAM EJEMPLO;
ZONA DE DECLARACIONES:
En ella se declaran los objetos con que un programa trabaja, en ella se pueden
declarar: variables, tipos de datos, constantes, label, procedimientos y
funciones.
Un programa en PASCAL no necesita tener todas estas partes, y al decláralas
pueden ser escritas en cualquier orden; se recomienda sin embargo seguir el orden
propuesto arriba.
Durante el curso veremos en detalle cada una de las partes que conforman la zona
de declaraciones y su utilidad.
DECLARACION DE UNIDADES:
El Turbo PASCAL le entrega al programador unas biblioteca con funciones y
procedimientos, que le permiten realizar distintos tipo de tareas, las cuales vienen
en archivos llamados UNIDADES.
Cuando un usuario desea utilizar alguna función o procedimiento de alguna de esas
unidades, debe declarar la unidad (biblioteca) que contiene dicha función o
procedimiento antes de poder hacer uso de ella en el programa principal.
Los programadores también pueden construir sus propias unidades.
Más adelante estudiaremos en detalle las unidades y las funciones que suministra.
Las unidades que suministra Turbo Pascal son: DOS, WINCRT, PRINTER,
GRAPH, GRAPH3.
DECLARACION DE CONSTANTES:
Esta zona se caracteriza por iniciar con la palabra CONST seguido por los
identificadores de sitios en memoria que van almacenar datos CONSTANTES para
ese programa, la zona de declaración de constantes es opcional.
CONST
Centímetros = 100;
Gravedad = 9.8;
Mensaje = 'El Sistema no tiene Solución’;
Respuesta = ‘S’;
Gravedadina = Centímetros*100;
Valor dolar: REAL = 368.9;{Constante con Tipo}
VAR
Horas : INTEGER ;
sal_total : REAL ;
Mensaje : STRING [30];
Respuesta : CHAR;
Factorial : LONGINT;
Estado : BOOLEAN;
VAR
Letra, resp :CHAR;
El diagrama muestra como estan las variables despues de una operación de lectura
o de asignación como la siguiente.
Una variable de tipo BOOLEAN es aquel que puede almacenar en memoria los
valores TRUE, FALSE.
Una variable BOOLEAN no se puede utilizar en instrucciones de lectura como
READ o READLN.
IDENTIFICADORES:
Son los nombres con los cuales identificamos los objetos de un programa
como :variables, constantes, funciones, tipos, procedimientos, unidades etc.
Un identificador en el PASCAL es una secuencia de caracteres que puede ser de
cualquier longitud pero solo lo primeros 63 primeros caracteres son
significativos.
Se construyen a gusto del programador y siguiendo la siguiente reglas:
SINTAXIS :
READ(<lista de variables>);
READLN(<lista de variables>);
Donde la lista de variables está conformada por el nombre de una o mas variables
separadas por comas, para las cuales deseamos entrar datos usando el teclado.
Para cuales variables debemos entrar los datos por el teclado ?
para todas aquellas que en el proceso de análisis del problema, veamos que son
indispensables para la realización de la taraea que el computador va a realizar y el
no puede conocerlos por medios de cálculos o lectura de algun dispostivo de
almacenamiento .
EJEMPLOS: Si supone, que quiere entrar los valores a las variables declaradas
en un programa podría hacer lo siguiente :
READ( a,b);
READLN(a,b,d,e);
READLN(f);
SINTAXIS:
<Identificador> := <expresión>
estado:= TRUE;
Salario := 5000;
Cuando vamos asignar valores a una variable de tipo char o string se encierra
entre comillas el valor que define la expresión, ejemplo:
Ejemplo:
'NACIONAL LE GANA A EL DIM' :=mensaje;
salario*2 :=sal_total;
SINTAXIS :
WRITE( <item(s)> );
WRITELN( <item(s) > );
Ejemplo:
WRITELN(a);
WRITELN(a+b) ;
Una combinacón de los anteriores : Se escriben cada uno de los items, siguiendo
el comportamiento descritos.
WRITELN(´La X =´, a) ;
FORMATO DE SALIDA:
Cuando PASCAL presenta resultados en pantalla usando los procedimientos
WRITE o WRITELN sigue las siguientes reglas por omisión para escribir en la
salida cada tipo de dato.
PROGRAM Formatos;
VAR
a :INTEGER;
b :REAL;
c :CHAR;
d :BOOLEAN;
e :STRING[15];
BEGIN
a:= 45;
b:= 1.33;
c:='X';
d:=false;
e:='Turbo';
WRITELN(a,b,c,d,e);
END.
Escribe en la pantalla los resultados así:
45 1.3300000000E+00XFALSETurbo
Para cambiar el formato de salida por omisión para los datos a escribir con un
WRITE / WRITELN, especifique mediante un número entero el ancho para el
campo de salida.
Para hacer eso escriba dos puntos (:) y un entero (para el ancho del campo) a
cada uno de los datos a escribir. Para todos los tipos de datos, salvo los reales, el
ancho del campo que se especifique debe ser mayor al ancho por omisión para que
se vea algún efecto.
Para el caso de los números de reales se debe especificar cuanto espacio del ancho
del campo se quiere utilizar para presentar cifras decimales como se muestra a
continuación.
WRITELN(a:4,b:7:2,c:2,d:7,e:7);
4 5 1 . 3 3 X F A L S E T U R B O
OPERADORES ARITMETICOS :
Los operadores aritméticos son:
+ SUMA.
- RESTA.
* MULTIPLICACION.
/ DIVISION DE REALES.
MOD OBTIENE EL RESIDUO DE UNA DIVISION.
DIV DIVISION ENTERA.
EJEMPLO:
Escriba un programa que lea dos números enteros a, b y muestre el residuo de
dividir a por b.
PROGRAM Ejemplo;
VAR
x,w,
y :INTEGER;
BEGIN
WRITE('Entre dos numero')
READLN(x,y);
w := x Mod y;
WRITELN('El residuo de Dividir', x :10, 'entre' , y:10 , 'es =' ,w:10);
END.
OPERADOR DIV:
Dicho operador nos permite conocer el cociente entero de dividir dos números
enteros.
PROGRAM Ejemplo;
VAR
x,w, y :INTEGER;
BEGIN
WRITE('Entre dos numero')
READLN(x,y);
W := X DIV Y;
WRITELN(' El cociente de Dividir ', x:10 , 'entre' ,y:10 ,' es = ' ,W:10);
END.
b b 2 4 * a * c
X
2*a
Si en un programa escribimos:
X b sqrt (b * b 4 * a * c) / 2 * a;
No se extrañe si al evaluar esa expresión el computador le da unos valores
extraños.
Por la prioridad de los operadores involucrados en la expresión, el computador
haría lo siguiente:
Primero evalúa: b*b luego evalua 4*a*c , luego hace la resta b*b - 4*a*c para
al valor así obtenido le calcula la raiz cuadrada y luego ese valor lo divide por 2 y
ese resultado lo multiplica por a para finalmente sumarle -b, es claro que el
resultado no debe ser correcto.
La expresión queda bien escrita si usa los parentésis así:
DEFINICION DE FUNCIONES:
Las computadoras no saben realizar por si mismas operaciones complejas como
calcular un logaritmo o evaluar la función seno, o tangente, por tal motivo es
necesario que los lenguajes le den al programador módulos de programa que le
permitan calcular valores usando dichas funciones.
Las funciones que a continuación se describen son módulos de programa que
permiten a los usuarios de turbo Pascal evaluar las funciones matemáticas
siguientes:
Y:= Ln(x) + 6;
Las variables x e y deben ser definidas tipo real previamente.
Y:=3*PI
FLUJO DE CONTROL :
Se llama flujo de control de un programa al orden en que se ejecutan las
instrucciones que lo conforman.
El flujo de control de los programas sencillos, que hemos realizado a la fecha es
lineal lo que significa que se ejecutan las instrucciones en el orden en que se
escriben, sin alterar el orden de ejecución.
Pero en una gran cantidad de situaciones lógicas es necesario tomar decisiones que
nos permitan seleccionar la ejecución de determinadas instrucciones, dependiendo
que la condición lógica en el momento de evaluarla sea falsa o verdadera.
EXPRESION LOGICA :
Una expresión lógica en PASCAL es una sentencia que al ser evaluada, su valor
puede ser FALSE o TRUE
OPERADORES DE RELACION :
Los siguientes operadores los utilizaremos para construir expresiones lógicas,
establecen relación entre los operandos.
OPERADOR SIGNIFICADO
>= mayor ó igual que.
<= menor ó igual que.
= igual que.
<> diferente.
< menor que
> Mayor que
EJEMPLO :
Cualquiera de las siguientes expresiones, son validas en un programa escrito en
PASCAL.
X='S'
compara el valor en la variable X con el carácter S en mayúscula si son iguales el
resultado es TRUE, en otro caso es FALSE.
La variable X debe ser de tipo STRING o CHAR.
Compara las cadenas 'La mamá' y 'LA MAMA' y el resultado es FALSE pues a
pesar de que dicen lo mismo están escritas en mayúsculas y en el otro caso en
minúsculas.
La siguiente expresión:
Z:=A + B >=C*2
OPERADORES LOGICOS :
Los operadores lógicos se utilizan para formar expresiones lógicas más complejas.
OPERADOR SIGNIFICADO
AND y
OR o
NOT no
La expresión z:=NOT(5>3);
almacena FALSE en la variable BOOLEAN z.
La expresión :
Z: = NOT(A + B >=C*2);
Almacena TRUE en la variable Z si el resultado de evaluar A + B >=C*2 es
FALSE, y almacena FALSE en caso contrario.
PRIORIDAD DE LOS OPERADORES :
Teniendo los operadores lógicos ya definidos resulta de importancia la prioridad de
los operadores, así:
PRIORIDAD OPERANDOR
1o Not
2o *, div, mod, /, and
3o +, -, or
4o <, <=, >, >=, <>
SINTAXIS
IF <expresión lógica> THEN
<acción A>
ELSE
<acción B>;
PROGRAM Ejemplo;
VAR
nota1,
nota2,
nota3 :REAL ;
definitiva :REAL ;
BEGIN
WRITELN('Entre tres notas ');
READLN(nota1,nota2,nota3);
definitiva := (nota1+nota2+nota3)/3;
IF definitiva >= 3.0 THEN
WRITELN('Su nota =',definitiva:10:2,'Gano la materia')
ELSE
WRITELN('Su nota =',definitiva:10:2,'Perdió la materia');
END.
Otra versión del programa usando las instrucciones que hemos visto es:
PROGRAM Ejemplo;
CONST
gano ='Gano la materia' ;
perdió ='Perdió la materia' ;
VAR
nota1,nota2,
nota3 :REAL ;
definitiva :REAL ;
mensaje :STRING ;
BEGIN
WRITELN('Entre tres notas ');
READLN(nota1,nota2,nota3);
definitiva := (nota1+nota2+nota3)/3;
IF definitiva >= 3.0 THEN
mensaje:=gano
ELSE
mensaje := perdió ;
WRITELN('Su nota =',definitiva:10:2,mensaje:24)
END.
SENTENCIAS COMPUESTA:
Cuando sea necesario que después del THEN o el ELSE se ejecuten no solo una
instrucción sino varias, es necesario escribir lo que llamamos una sentencia
compuesta; que no es mas que varias instrucciones simples encerradas entre
BEGIN y END.
IF ANIDADOS :
Tendremos situaciones lógicas en las cuales después de hacernos una pregunta se
nos hace necesario hacer una nueva pregunta, en esos caso tenemos entonces que
después del THEN y/o ELSE es necesario volver a tener una sentencia IF THEN
ELSE decimos entonces que anidamos IF.
PROGRAM EJEMPLO;
VAR
BEGIN
a, y :REAL;
WRITE('Entre un número ');
READLN(a);
IF a<3 THEN
y := 5*A +SQR(A+1)
ELSE
IF (A>=3) AND (A<=9) THEN
y := A + 5 -(A + 2)/3
ELSE
y:= EXP(3*LN(A)) + 7*A;
WRITELN('y(',a:6:2,')=',y:10:2);
END.
Observe que el IF después del ELSE no se encierra entre BEGIN y END, pues
IF THEN ELSE es una solo instrucción.
Observe como se construye una expresión lógica con los operadores AND, OR.
SENTENCIA CASE :
La sentencia case se utiliza para elegir entre diferentes alternativas. Una sentencia
case se compone de varias sentencias simples. Cuando case se ejecuta, una (y solo
una ) de las sentencias simples se selecciona y ejecuta.
END;
EJEMPLO:
Para que se ejecute lo que en el diagrama se llama sentencia 1 debe suceder que el
valor de la variable identificada como selector tenga un valor que este en la lista
de constantes 1.
Una vez ejecutada la sentencia el control de la ejecución se transfiere a la
instrucción después del END. Cada sententencia puede ser una sentencia simple o
compuesta.
PROGRAM días;
VAR
dia :INTEGER;
BEGIN
WRITE('Entre el numero del Dia ');
READLN(dia);
CASE dia OF
0: WRITELN('Domingo');
1: WRITELN('Lunes');
2: WRITELN('Martes');
3: WRITELN('Miércoles');
4: WRITELN('Jueves');
5: WRITELN('Viernes');
6: WRITELN('Sábado');
ELSE
WRITELN('No clasificado');
END;{ Fin del Case }
END.
PROGRAM identifica;
VAR
caracter :CHAR;
BEGIN
WRITE('Entre un carácter ');
READLN(carácter);
CASE carácter OF
'a'..'z': WRITELN('Es una letra en mayúsculas');
'A'..'Z': WRITELN('Es una letra en minúsculas');
ELSE
WRITELN('No es una letra');
END;{ Fin del Case }
END.
PROGRAM identifica;
VAR
caracter :CHAR;
BEGIN
WRITE('Entre un carácter ');
READLN(caracter);
CASE caracter OF
'a'..'z': BEGIN
carácter:=CHR( ORD(carácter) - 32);
WRITELN('Carácter en mayúsculas es',caracter);
END;
'A'..'Z: BEGIN
caracter:=CHR( ORD(carácter) + 32);
WRITELN('Carácter en minúsculas es',caracter);
END;
ELSE
WRITELN('No es una letra',caracter);
END;{ Fin del Case }
END.
CICLOS REPETITIVOS:
Llamaremos ciclo repetitivo a un conjunto de instrucciones que se repiten un
número finito de veces.
Para que un conjunto de instrucciones se repita es necesario que se tenga alguna
condición que se satisfaga, diremos entonces que el ciclo se repite mientras se
cumple una determinada condición, también existen ciclos que se repiten hasta
cuando una condición deja de cumplirse, diremos que el ciclo se repita hasta que
la condición fue verdadera o mientras la condición fue falsa.
Para cualquiera de los casos tenemos en PASCAL instrucciones que nos permiten
simular esos procesos con un computador.
INSTRUCCION WHILE :
Repite un conjunto de instrucciones mientras se cumple la condición.
Es necesario que exista dentro del ciclo al menos una instrucción o varias que se
hagan cargo de que la expresión lógica se haga falsa en algún momento de la
ejecución del problema, de lo contrario, el computador entra en un ciclo sin fin.
1. Lea n
2. Numero = 1
3. Escriba Numero
4. Numero = Numero +1
5. Mientra Numero<=n repita desde 3 al paso 4
1. Lea n
2. Numero = 1
3. Mientras Numero<=n Haga
4. Escriba Numero
5. Numero = Numero + 1
6. Fin Mientras
PROGRAM EJEMPLO
VAR
numero, n : INTEGER ;
BEGIN
WRITE('Hasta que número escriba?')
READLN(N);
numero:=1; { Le doy valor 1 a número}
WHILE numero <= n DO
BEGIN
WRITELN(numero);
{ Incremento en 1 el número }
numero:=numero+1;
END;
END.
Leer n
contador <- 1
MIENTRAS contador <=n HAGA
Escriba :'NACIONAL ES LO MEJOR'
contador <- contador + 1
FIN MIENTRAS
Recuerde que :
n!= 1*2*3*4*5*6*7*8*....*n-1*n
PROGRAM FACTORIALES ;
VAR
n, factorial
factor :LONGINT ;
BEGIN
WRITE('Escriba el número al que le debo calcular el factorial');
READLN(N);
factor := 1 ;
factorial:= 1 ;
WHILE factor<=n DO
BEGIN
factorial:=factorial*factor;
factor:=factor+1;
END;
WRITELN(n:5,'!=',factorial:7);
END.
INSTRUCCION REPEAT UNTIL:
La instrucción REPEAT permite definir procesos repetitivos, que se ejecutan
mientras la evaluación de la expresión lógica en el UNTIL de falso.
Sintaxis:
REPEAT REPITA
La instrucción Repeat realiza las instrucciones a repetir por lo menos una vez, y
repite el proceso solo si la expresión lógica es falsa.
En el momento en que la condición se hace verdadera el computador continua la
ejecución en la instrucción siguiente al UNTIL.
PROGRAM EJEMPLO;
USES CRT;
CONST
MENSAJE ='COLOMBIA ES GRANDE';
VAR
contador :INTEGER;
BEGIN
contador := 0; { inicia la variable en cero }
REPEAT
WRITELN ('Colombia es grande');
Contador := Contador + 1;
UNTIL Contador = 3 ;
END.
La variable de nombre contador cuenta las veces que se imprime el mensaje
'COLOMBIA ES GRANDE'.
EJEMPLO: Modificar el problema anterior para que nos permita elegir el número
de veces que se debe repetir el proceso.
Para resolver el problema ahora debemos hacer que el computador pregunte por el
número de veces que desea que se repita el proceso.
PROGRAM EJEMPLO;
USES CRT;
CONST
MENSAJE ='COLOMBIA ES GRANDE';
VAR
nveces, contador :INTEGER;
BEGIN
clrscr;
WRITE('Cuantas veces repito el proceso ');
READLN(nveces);
contador := 0; { inicia la variable en cero }
REPEAT
WRITELN ('yo quiero a mi mama');
Contador := Contador + 1;
UNTIL Contador = 3 ;
END.
PROGRAM EJEMPLO ;
VAR
n, contador :INTEGER;
BEGIN
WRITE('Hasta que número escribo?');
READLN (n);
contador := 1;
REPEAT
WRITELN(contador);
Contador := Contador + 1;
UNTIL Contador = N+1 ;
END.
INSTRUCCION FOR :
Permite repetir un conjunto de instrucciones mientras el valor de la variable de
control es menor o igual que un valor Vf.
La variable de control es una variable que debe estar declarada de tipo CHAR,
INTEGER, BOOLEAN, ENUMERADO.
El valor de la variable de control se incrementa en uno cada que se llega al END.
PROGRAM FACTORIAL;
VAR
Facto,N : LONGINT ;
Factor : REAL ;
BEGIN
WRITE('Entre el N');
READLN(N);
Facto := 1
FOR Factor := 1 TO N DO
Facto:= Facto*Factor;
WRITELN(Facto:10:0);
END.
m m!
n m n !* n