Beruflich Dokumente
Kultur Dokumente
Junta de Andalucía
Auxiliares Técnicos
Opción Informática
Convocatoria
Actualizado para la n de 2
promulgada por Or,de
de septiembre de 20 09 turno libre
/2009).
(BOJA n.º 178, de 10/09
AUXILIARES TÉCNICOS
OPCIÓN INFORMÁTICA
DE LA JUNTA DE ANDALUCÍA
!
*'
/
/
0
)
(
*
*
(
#
+,-
.,,-
*
'
$
%
&
'
& (
)
$
(
!"
#
/
'#
!"#
'(
) *+, --- -./
AUXILIARES TÉCNICOS
OPCIÓN INFORMÁTICA
DE LA JUNTA DE ANDALUCÍA
TEMARIO
AUTOR
Este volumen recoge los quince temas del programa para las oposiciones a las plazas
de Auxiliares Técnicos de la Junta de Andalucía, Opción Informática, totalmente actualizado
y ajustado, de modo pormenorizado, a cada uno de los contenidos solicitados en esta
convocatoria.
La estructuración del texto pretende que los conceptos expuestos, objeto de estudio,
sean asimilados de modo coherente y preciso, cuidando el encuadre y desarrollo de cada
apartado.
El resto de los temas aparecen recogidos en un volumen común a todas las categorías
de la Junta de Andalucía, que es el Temario y Test de Igualdad de Género para las Oposiciones
de la Junta de Andalucía.
Tema 12. Medidas de seguridad de una instalación y de los soportes de información 471
Tema 15. Redes de ordenadores. Redes de área local. Redes de área extensa. Internet 567
TEMA
1
ESQUEMA INICIAL
1. Introducción
3. Comunicación y codificación
1. INTRODUCCIÓN
El conocimiento de términos como información, ordenador o programa es imprescindible para
iniciarse en la ciencia de la Informática. Estos conceptos son la base para construir ideas más
complejas y además se utilizarán con frecuencia en el resto del temario; por tanto es muy importante
adquirir una visión de conjunto de nuestros primeros conocimientos informáticos.
En la literatura informática es frecuente el uso del inglés
para denominar estos conceptos. Encontraremos palabras como
software, hardware o Windows, así como otras formadas por
iniciales o siglas como RAM (Random Access Memory), ROM
(Read Only Memory) o USB (Universal Serial Bus). Para algunos
de estos términos no existe su correspondiente versión en espa-
ñol; para otros, aun existiendo, su forma original en inglés está
tan extendida que es comúnmente aceptada sin traducción.
La existencia de tanta terminología anglosajona se debe
principalmente a que ha sido en los Estados Unidos donde más
investigación y desarrollo se ha producido a lo largo de la breve
historia de la Informática. Nosotros, en la medida de lo posible,
utilizaremos conjuntamente sus traducciones al español, pero
sin olvidar que en ocasiones resulta más claro el uso del original
en inglés.
Por otra parte, la cantidad numérica que estamos expresando tiene sentido porque previamente
se nos ha preguntado la edad; es decir, el dato aportado expresa una característica concreta de un
sujeto de más identidad (nosotros mismos). Esta era la segunda condición para poder hablar de un
dato propiamente dicho.
Un dato está íntimamente ligado al contexto en el que se sitúa. Por ejemplo, el número 27 en sí
mismo aporta poca información, ya que de forma aislada no sabemos si es el número de zapato de
una persona, su edad o los euros que lleva en su bolsillo. Cuando situamos este dato en el contexto
adecuado adquiere todo su significado. En el ejemplo anterior, el contexto consistía en una pregunta
sobre nuestra edad.
El significado completo de un dato (o la información que representa) depen-
de de dos factores, la propia información del dato y el contexto en el que
se sitúa.
La ecuación expuesta a continuación es muy importante, y resume las ideas de estas páginas:
los datos por sí mismos no aportan información útil si no se les aplica una interpretación
lógica, la cual es facilitada por el contexto:
Si continuamos con el ejemplo anterior, cuando proporcionamos nuestra edad transmitiremos una
información breve y muy concreta, como vimos antes, esta es la primera condición de un dato.
En nuestra conversación ambos interlocutores hablan castellano, por lo que nuestra exposición
del dato queda clara. No obstante, un ordenador no entiende este dato si no lo expresamos de una
forma más adecuada a su naturaleza. Al introducir nuestra edad mediante el teclado, el ordenador la
almacena en su memoria en forma de señales digitales (que estudiaremos posteriormente), es decir,
le damos un formato específico que puede ser “entendido” por el ordenador. Esta era la segunda
condición.
El dato se encuentra ahora en la memoria del ordenador, listo para ser procesado electrónica-
mente, cumpliéndose así la tercera condición de la definición.
Aunque los datos pueden usarse como entidades individuales, con frecuencia aparecen asocia-
dos en estructuras más o menos complejas. Un buen ejemplo es nuestro documento nacional de
identidad, donde encontramos un conjunto de datos relacionados sobre nuestra persona: nombre,
dirección, fecha de nacimiento, etc.
En un DNI encontramos una serie de datos individuales formando una estructura más compleja.
La agrupación lógica de datos es una idea esencial en informática.
La idea de agrupar los datos en estructuras más complejas es muy importante en ciertas ramas
de la informática, sobre todo en aquellas relacionadas con la gestión de grandes ficheros (bases de
datos) y con la representación de la información.
Esto nos lleva a redefinir el concepto de información en nuestro nuevo entorno informático:
En informática, la información consiste en un conjunto de datos interrela-
cionados y ordenados según una estructura específica. Esta información puede
almacenarse, procesarse y transmitirse electrónicamente, además de transformar
su formato para su introducción y compresión por un ser humano (mediante un
teclado, pantalla, listado de impresora, etc.).
La información sigue un camino general en informática:
1. La información es introducida en un ordenador por algún medio (un teclado, una tarjeta
electrónica, incluso mediante una orden oral). Ciertos elementos periféricos del ordenador
traducen dicha información a formato electrónico manejable por el ordenador.
2. La información es almacenada en la memoria del ordenador, donde se le aplica un proceso.
3. Los resultados se vuelven a traducir para que los usuarios podamos comprender las conse-
cuencias del proceso de la información original y obtengamos nuevos conocimientos (me-
diante un monitor, un listado, etc.).
Proceso o procesamiento: tratamiento y transformación de la información
que se produce en un ordenador con objeto de obtener resultados útiles para el
ser humano.
3. COMUNICACIÓN Y CODIFICACIÓN
La comunicación entre los seres vivos es una característica fundamental y necesaria de la vida,
siendo a la vez consecuencia directa de ésta. La definición básica de comunicación consiste en
un intercambio de información.
Los mecanismos de comunicación son muy numerosos y diversos, no obstante podemos hacer
una primera clasificación general: los creados por la propia naturaleza y aquellos otros frutos de la
inventiva humana.
En efecto, ya identificamos formas de comunicación en los más primitivos organismos vivos, que
utilizan ciertas moléculas como mensajeros químicos. En el otro extremo se sitúa la capacidad del
habla del ser humano, única en la naturaleza. Por otra parte, como ejemplo de una comunicación
artificial podemos señalar la producida entre un satélite y una base receptora terrestre.
Actualmente el hombre es el máximo exponente de todos los organismos comunicadores, ya que
además de los medios naturales que posee (la capacidad del habla antes comentada), utiliza todo tipo de
dispositivos artificiales para comunicarse. Las razones más importantes de esta diversidad de medios son
la naturaleza eminentemente sociable de la raza humana y la inteligencia creativa que poseemos, factores
que nos conducen al desarrollo de sistemas de comunicación cada vez más perfectos y sofisticados.
Desde una perspectiva humana, la comunicación puede definirse como sigue:
Comunicación: descubrir, manifestar o hacer saber a otra persona una cosa.
Desde el ámbito de la informática, existe otra definición más adecuada:
Comunicación: transmisión de información entre diversas entidades organiza-
da según ciertas reglas básicas.
Esta sencilla definición encierra aspectos significativos:
– Transmisión de información: en el sentido más amplio del término según veíamos en el
apartado anterior.
– Entre diversas entidades: (nótese la generalización del término). Se incluye igualmente
una persona, un dispositivo electrónico o en general cualquier cosa capaz de transmitir in-
formación.
– Organizada según ciertas reglas básicas: que detallan en qué formato se estructura la
información, qué medio se utiliza para su transmisión y otros aspectos que detallaremos más
adelante. Estas reglas en la comunicación se denominan protocolo.
Para que cualquier tipo de comunicación pueda efectuarse deben existir ciertos elementos:
– Un emisor que origina la comunicación.
– Un mensaje generado, codificado y transmitido por el emisor.
– Un medio o canal por el cual viaja el mensaje.
– Un receptor que recibe el mensaje, lo decodifica y lo analiza.
El emisor y receptor tienen ciertas características que caben resaltar:
– Realizan una comunicación bidireccional; la infor-
mación fluye en ambos sentidos y emisor y receptor
intercambian sus papeles. Esto ocurre por ejemplo en
una conversación, cuando hablamos y escuchamos
a la otra persona alternativamente. La comunicación
también puede existir entre un único emisor y varios
receptores, tal es el caso de un programa de radio, o
viceversa, por ejemplo una carta enviada por varios
amigos.
– Emisor y receptor pueden estar separados en tiempo
y espacio. Por ejemplo, podemos leer obras de anti-
guos autores griegos ya desaparecidos, o hablar por
teléfono con un amigo que vive en Australia.
El concepto de codificación es muy importante en la comu-
nicación. El mensaje que contiene la información puede codifi-
carse de diversas formas. Por ejemplo, dos indios podrían co- La codificación del mensaje
municarse mediante señales de humo, cuyo significado ambos es fundamental para com-
conocen. Un soldado, sin embargo, no entendería el mensaje. prender su significado.
El mensaje está codificado en forma de señales de humo que
el soldado desconoce, pero no por ello deja de ser válido para
los indios.
El medio utilizado en la comunicación es un factor importante en la codificación, aunque no
definitivo. Por ejemplo, al leer las páginas de este libro, el medio lo constituye el papel y la tinta, sin
embargo, cuando mantenemos una conversación con otra persona, el medio lo constituye el aire y
las ondas sonoras que viajan por él. En ambos casos el sistema de codificación empleado es el cas-
tellano, pero se han utilizado distintos medios.
Veamos otro ejemplo que incluye todos los conceptos estudiados: cuando el lector lee estas
páginas (medio o canal) asimila su contenido porque están escritas en castellano (sistema de
codificación) conocido por el autor (emisor) y por el lector (receptor). Si estas ideas estuviesen
codificadas con símbolos chinos no existiría comunicación, a no ser que el lector conociese dicho
lenguaje.
NOTA: podemos comunicar sin problemas nuestra edad a un alemán, a un
francés y a un inglés, siempre que utilicemos el medio escrito. Efectivamente, to-
dos esos receptores sabrían interpretar un número en un papel. Sin embargo no
ocurriría lo mismo si el medio que se usa es la voz, ya que entonces codificamos en
nuestro propio idioma, que pueden no compartir los receptores.
En los modernos sistemas de comunicación pueden aparecer niveles de codificación más profun-
dos, los cuales el emisor y receptor no tienen por qué conocer.
Imaginemos a dos personas hablando por teléfono. Si utilizan el lenguaje castellano están reali-
zando un primer nivel codificación. Por otra parte se está utilizando un medio más complejo que es
la red telefónica que realiza una segunda codificación. Efectivamente, en el micrófono del emisor
está ocurriendo una transformación de las ondas sonoras en impulsos eléctricos, estos viajan por el
cable hasta alcanzar el otro teléfono, momento en el que se produce la transformación inversa: en el
auricular del receptor los impulsos eléctricos se convierten en ondas sonoras.
Esta segunda codificación se debe al cambio de medio (de ondas sonoras a impulsos eléctricos),
y su existencia puede ser totalmente ignorada por el emisor y el receptor sin que la comunicación se
vea afectada.
!"
"
A nivel macroscópico, es decir, desde un punto de vista humano, todas las magnitudes en la
naturaleza varían de forma continua a lo largo del tiempo. Una variación continua significa que no
existen cambios bruscos en la magnitud medida. Siguiendo con el ejemplo de la habitación, podemos
asegurar que la temperatura no bajará de +20 ºC a –15 ºC de forma inmediata, sino a lo largo de un
periodo más o menos largo de tiempo.
Una magnitud o señal es analógica cuando es continua en el tiempo.
Como antes comentábamos, todas las magnitudes de la naturaleza son analógicas y se pueden
representar en una gráfica como una línea continua, sin cortes ni interrupciones.
Por otra parte, el hombre, en su evolución tecnológica, ha introducido un nuevo tipo de magnitud
que no se comporta de esta forma. Son las magnitudes discretas.
Una magnitud o señal es discreta cuando varía a lo largo del tiempo tomando
valores definidos, nunca toma valores intermedios.
De forma coloquial podemos decir que varían “a saltos”. En la siguiente gráfica observamos una
de estas magnitudes que cambia entre los valores 0 y 3.
Obsérvese que los cambios se producen pasando directamente de un valor al siguiente. No existe
ningún intervalo de tiempo en el que la señal tome un valor intermedio. En el intervalo t1 el valor es
0 y en t2 el valor es 1, pero no existe ninguno donde el valor sea 0,5.
Variación de una señal digital a lo largo del tiempo. Una señal digital es una
magnitud discreta que sólo toma dos valores posibles: A o B.
Por otra parte, pero muy relacionado con lo que acabamos de aprender, tenemos el sistema
binario.
El sistema binario es un sistema de numeración que utiliza la base dos.
La anterior definición significa que el sistema binario representa cualquier cantidad con sólo dos
dígitos. El ser humano utiliza el sistema decimal, que consta de 10 dígitos (del 0 al 9), con los cuales
podemos igualmente expresar cualquier cantidad.
Matemáticamente hablando, ambos sistemas poseen muchas similitudes y comparten nume-
rosas propiedades. Por ejemplo, el binario posee toda la gama de operaciones aritméticas (suma,
resta, multiplicación, etc.) que realizamos en decimal. Además consta de algunas otras que le son
exclusivas y que toman nombres como NOT, XOR, etc.
IMPORTANTE: el sistema binario es el sistema de numeración utilizado por
los ordenadores. La base del sistema binario (como su propio nombre indica) es el
dos, lo que significa que sólo tiene dos símbolos: el 0 y el 1, frente a los diez del
sistema decimal.
Si el sistema binario posee los mismos principios que el decimal, con el que estamos más
familiarizados, ¿por qué los ordenadores utilizan el sistema binario y no el decimal? La respuesta
radica en que los circuitos que forman los ordenadores trabajan exclusivamente con señales
digitales.
Parece obvio que el sistema binario es ideal para codificar las señales digitales. En efecto, la
correspondencia es inmediata: el sistema binario, como su propio nombre indica sólo consta de dos
símbolos. Paralelamente las señales digitales sólo alcanzan dos valores.
Generalmente se utiliza el dígito 0 para representar el nivel bajo de la señal binaria, y el 1 para el
alto. De esta forma, la señal de la figura anterior puede ser codificada mediante la secuencia binaria
01010101.
La tabla anterior nos lleva a pensar sobre la correspondencia entre ambos sistemas. Efecti-
vamente, toda cantidad puede ser expresada con sistemas de numeración de cualquier base. La
dificultad que encontramos en comprender las cantidades expresadas en binario radica en la fuerte
costumbre que tenemos de utilizar exclusivamente el sistema decimal.
La siguiente tabla muestra la correspondencia entre los sistemas decimal, binario y hexadecimal
(este último con base 16 y también muy utilizado en informática):
Sistemas de numeración
Decimal Binario Hexadecimal
0 0 0
1 1 1
2 10 2
3 11 3
4 100 4
5 101 5
6 110 6
7 111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
La correspondencia entre los sistemas de numeración permite afirmar que cualquiera
de ellos es perfectamente válido para representar cualquier cantidad numérica.
NOTA Sobre la tabla anterior: no hay que confundir la lectura de las cantida-
des; 4 en decimal se lee “cuatro”, pero su equivalente en binario (100) no se lee
“cien”, sino “uno-cero-cero”.
El sistema binario puede codificar cualquier número, empleando para ello cadenas de ceros y
unos. Estas cadenas aumentan su longitud a medida que la cantidad representada crece. Por ejem-
plo, el número 4 es 100 en binario, pero 2002 es 11111010010
En informática necesitamos facilitar el manejo de estas cadenas binarias, para ello se agrupan
conjuntos de dígitos binarios. Esta medida simplifica además el diseño de los circuitos digitales y las
operaciones binarias.
Cuando se aplicó toda esta teoría al diseño de los circuitos digitales, se observó la necesidad de
asociar los bits en grupos, con objeto de simplificar algunas operaciones y facilitar los diseños de los
circuitos electrónicos. Las agrupaciones más importantes son las siguientes:
Actualmente los componentes más utilizados, los transistores, han evolucionado y se agrupan en
circuitos integrados muy pequeños y complejos. Esto se consigue mediante un importante proceso
de miniaturización e inclusión en pequeñas pastillas de silicio. Estas se protegen del exterior en una
cápsula de plástico, constituyendo los chips o circuitos integrados.
Por el interior de los chips circula una corriente eléctrica de bajo voltaje que activa su funciona-
miento. Al ser circuitos digitales sólo admiten dos valores de voltaje eléctrico.
Representación y tablas de la verdad de las puertas lógicas que forman los circuitos
de un ordenador digital. La primera columna de cada tabla muestra el nombre de la puerta lógica
y el símbolo por el que se representan. El resto de las columnas constituyen las tablas de la verdad, donde A y B
son las señales de entrada (nótese que la puerta NOT sólo tiene una entrada).
Los sistemas complejos se componen de otros más sencillos, como el motor de la figura.
Este es un principio muy importante en informática, pues permite abordar sistemas muy
complejos mediante el estudio, diseño y combinación de otros más sencillos.
CURIOSIDAD: los ordenadores son los sistemas artificiales más complejos que
existen. El cuerpo humano, sin embargo, es un sistema infinitamente más com-
plicado que el más potente ordenador, pero no es producto de la inteligencia del
hombre, sino de millones de años de evolución natural.
Aplicando el razonamiento anterior, podemos afirmar que un ordenador es un sistema que se pue-
de dividir a su vez en subsistemas más sencillos. Desde nuestro contexto informático podemos definir:
Subsistema o módulo: unidad intercambiable que realiza una función concre-
ta y que está acoplada al resto del sistema mediante unas conexiones especiales.
El uso de módulos aporta grandes ventajas al diseño de dispositivos electrónicos. Un buen ejem-
plo lo constituyen los equipos de música, donde podemos ver el amplificador, el giradiscos o el re-
productor de compactos como módulos interconectados por medio de cables y clavijas. Es muy fácil
(si tenemos el dinero necesario) sustituir nuestro viejo amplificador por otro más moderno; tan sólo
hay que desenchufar el viejo y conectar el nuevo. El sistema completo, el equipo de música, sigue
funcionando perfectamente aunque hayamos sustituido uno de sus módulos. Este principio cobra
especial importancia en el ámbito de la informática.
En general, si se conoce la función de un módulo y sus conexiones, éste se puede ser sustituido
por otro que cumpla las mismas características, sin importar su marca, fabricante o tecnología. Esta
idea es muy importante en diversos aspectos de la informática actual, desde el diseño y la construc-
ción de ordenadores hasta en las modernas técnicas de programación.
Los módulos necesitan mecanismos de conexión con otros módulos. Una interfaz es un punto
de contacto entre dos módulos o entre un módulo y el exterior del sistema. Los cables y conectores
que unen el amplificador con el giradiscos son una buena muestra de interfaz entre módulos.
Las interfaces de un sistema con el exterior son muy importantes, ya que definen la forma de
comunicarnos con dicho sistema. Por ejemplo, cuando deseamos escuchar la música más fuerte
actuamos sobre la interfaz adecuada: giramos el mando del volumen.
Si aplicamos todas estas ideas al mundo de la informática, podemos pensar en un ordenador
como un sistema compuesto por cierto número de módulos o subsistemas conectados entre sí me-
diante sus correspondientes interfaces. Esta es la idea principal sobre la que basar el estudio de la
estructura y el funcionamiento de un ordenador.
Las flechas señalan las conexiones o interfaces de diversos componentes o subsistemas informáticos.
Aunque el término algoritmo esté muy ligado a la informática, puede aplicarse a cualquier tarea de la
vida cotidiana. Por ejemplo, veamos el algoritmo que seguimos para lavarnos los dientes por las mañanas:
1. Entramos en el cuarto de baño.
2. Abrimos el tubo dentífrico.
3. Cogemos el cepillo.
4. Aplicamos la pasta.
5. Cerramos el tubo dentífrico.
6. Cepillamos durante dos minutos.
7. Nos enjuagamos la boca.
El ejemplo anterior describe una tarea muy humana, pero igualmente pueden describirse proce-
sos técnicos más complejos. Cuando los algoritmos se traducen a un lenguaje apropiado para que los
ordenadores lo entiendan, hablamos de programas.
PROGRAMA: conjunto de instrucciones que controla el funcionamiento de un
ordenador para conseguir resultados.
A continuación presentamos un algoritmo sencillo que describe el proceso para sumar dos nú-
meros y el programa correspondiente.
Para que el programa resultante sea correcto, el algoritmo que sirve de punto de partida debe
reunir una serie de características, por ejemplo, que tenga un número finito de pasos, o que en algún
momento llegue a un final. El estudio de los algoritmos, sus propiedades, tipos, etc. se denomina
Algorítmica, y es una ciencia muy relacionada con la informática.
La traducción de un algoritmo a su correspondiente programa de ordenador se hace mediante
un lenguaje de programación. El lenguaje de programación tiene una sintaxis propia que regula la
escritura de las instrucciones en un formato adecuado.
Por ejemplo en el programa que vimos anteriormente, la instrucción para introducir un número
en el ordenador era INPUT seguida de una variable (debemos pensar en esta variable como el lugar
donde se almacena dicho número, en nuestro caso se llama A). Por tanto la sintaxis completa de esta
instrucción se puede resumir:
INPUT + <Variable>
Otros lenguajes de programación tienen distintas sintaxis, formas diferentes de expresar la ante-
rior instrucción. Una analogía son los idiomas español, francés, inglés, etc.
Independientemente del lenguaje de programación utilizado, las instrucciones que componen los
programas se clasifican en los siguientes grupos:
– Instrucciones de entrada/salida: mueven información entre periféricos, memoria central o
microprocesador. Por ejemplo la instrucción INPUT mueve un dato del teclado a la memoria.
NOTA: una clasificación de los periféricos se basa en el sentido en que circula
la información que procesan: de entrada (por ejemplo un teclado), de salida (un
monitor o una impresora) y de entrada/salida (como los módems o las unidades
externas de almacenamiento).
distintos. En este grupo localizamos los procesadores de textos, editores gráficos, programas
de diseño, bases de datos, y un largo etcétera. Al igual que el grupo anterior, hace uso de
los recursos que ofrece el software del sistema.
Relación entre los tres grupos principales de software. Tanto el software de desarrollo
como el de aplicación trabajan utilizando los servicios proporcionados por el software de sistema, el cual
actúa directamente sobre el hardware. Los programadores utilizan el software de desarrollo para producir
nuevo software; los usuarios por su parte utilizan el software de aplicación obteniendo resultados.
11.1. INFORMÁTICA
La información es fruto de la comunicación. Cuando un emisor transmite un mensaje a través
de un medio hacia un receptor, el conocimiento de este último se incrementa. Desde una perspec-
tiva exclusivamente natural, esta característica supone un gran salto evolutivo. Un organismo capaz
de transmitir información compleja tiene más posibilidades de supervivencia que sus competidores;
aumenta su capacidad para la toma de decisiones correctas, para generar experiencias válidas y para
coordinar la vida en comunidad, entre otros factores.
Las ciencias dedicadas al tratamiento de la información son tan antiguas como la existencia del
propio hombre; estas ciencias se han ido potenciando y sofisticando a lo largo de la historia hasta dar
el gran salto tecnológico en la etapa electrónica.
El esfuerzo intelectual y económico dedicado a mejorar el tratamiento de la información y a la
automatización de tareas se debe fundamentalmente a las siguientes razones:
– Realización de funciones que el hombre, por sí solo, no puede realizar (comunicación a larga
distancia, radares, etc.).
– Realizar tareas que al hombre le requieren gran cantidad de tiempo, por ejemplo la elabora-
ción de cálculos muy complejos.
– Necesidad de obtener seguridad en la realización de ciertas tareas (mediciones muy exactas,
procesos libres de errores, etc.).
– Liberar al hombre de tareas muy monótonas o penosas, como los robots en las cadenas de
montaje.
La gestión de una empresa actual precisa una estructura de comunicación que le facilite informa-
ción base para las decisiones más eficientes, contribuyendo al logro de objetivos. Cuando el volumen
de datos a tratar es grande, el proceso de obtener información rápidamente y con un alto nivel de
verosimilitud sólo puede obtenerse por medios informáticos que automaticen los procedimientos.
trabajos en batch o por lotes. Los mainframes admiten entrada remota de trabajos, trabajan
en tiempo compartido, satisfaciendo las necesidades de los equipos situados en niveles
inferiores.
– En un segundo nivel se encuentra el sistema informático de unidades organizativas inferio-
res, por ejemplo el sistema informático de una delegación o de un departamento. Se conoce
como nivel de Informática departamental. Tradicionalmente el Sistema Informático De-
partamental ha estado constituido por ordenadores que interaccionaban con los mainframes
y con elementos del nivel inferior. Hoy día, en unas ocasiones, las redes locales pueden
constituir los Sistemas Informáticos Departamentales en lugar de los miniordenadores.
– El tercer nivel es el de la Informática personal constituido hoy por un único microordenador
o una estación de trabajo. El Sistema Informático personal dispone de herramientas especia-
lizadas para el trabajo personal e interacciona a través de las redes de comunicaciones con
los Sistemas Departamentales y Corporativos.
En una distribución horizontal todos los equipos tienen la misma categoría o por lo menos no
existe un equipo central en el primer nivel de la jerarquía. En realidad suelen existir un conjunto de equi-
pos interconectados que cooperan entre sí, pero sin que ninguno de ellos centralice la información.
La evolución previsible de estos sistemas de informática distribuida es hacia los sistemas de
informática repartida en la que únicamente existirán recursos –de capacidad de proceso, inteligencia
y de almacenamiento– repartidos por las unidades de la organización. El software general del sistema
permitirá actuar al componente que en un momento determinado sea necesario. Las funciones de
proceso, almacenamiento y control de los datos las realizará directamente el sistema de forma global,
optimizando la calidad del servicio y disminuyendo al máximo los costes.
ESQUEMA INICIAL
1. Concepto de ordenador
2. La información y el ordenador
2.1. Instrucciones
2.2. Datos
4. Antecedentes históricos
4.1. Primeros orígenes
4.2. Avances históricos hacia la informática actual
5. Generaciones de ordenadores
5.1. Primera generación (1940-1952)
5.2. Segunda generación (1952-1964)
5.3. Tercera generación (1964-1971)
5.4. Cuarta generación (1971-1981)
5.5. Quinta generación (1981-hasta la actualidad)
1. CONCEPTO DE ORDENADOR
La definición más sencilla de ordenador es la siguiente:
Ordenador: máquina digital electrónica diseñada para realizar tratamientos
automáticos de la información.
En primer lugar observamos que un ordenador es una máquina. Efectivamente, se encuentra
en la misma línea que un molino de viento, una máquina de vapor, o un frigorífico, aunque a nivel de
diseño y construcción un ordenador es mucho más complejo que los ejemplo citados.
Es importante resaltar el carácter artificial del ordenador porque, aunque se trate del más potente
del mundo, se parece más a cualquier máquina que al cerebro humano, sobre el cual no tiene com-
paración en complejidad y versatilidad (aunque sí en potencia y velocidad de cálculo).
La gran variedad de máquinas inventadas por el hombre se clasifican según diversos criterios.
Uno de ellos es la tecnología en la que se fundamentan. Un ordenador es una máquina digital, es
decir, procesa señales discretas. Al ser electrónico pertenece a una rama distinta de los molinos de
viento o las máquinas de vapor, que se mueven por fuerzas físicas. La electricidad es la fuerza motriz
en un ordenador.
NOTA: existen ordenadores analógicos que procesan magnitudes físicas con-
tinuas y que fueron diseñados para la resolución de problemas concretos. Son los
ordenadores analógicos. Hoy en día están en franco desuso y no tienen interés en
nuestro estudio.
Históricamente el tratamiento de la información es un concepto tan antiguo como el hombre,
aunque ha sido la era de la electrónica la que ha posibilitado el despegue de esta ciencia. En nuestro
contexto describe las tareas que los ordenadores son capaces de ejecutar. Casi todas las cosas que
podemos realizar con ellos suponen algún tipo de tratamiento de la información, desde escribir una
carta hasta enviar un robot al planeta Marte. Existen innumerables actividades económicas y pro-
ductivas directamente relacionadas con este concepto, por ejemplo una transacción bancaria puede
considerarse casi exclusivamente una actividad de este tipo.
Cabe citar otra de las características más relevantes de los ordenadores: son máquinas de pro-
pósito general, dada la cantidad de actividades distintas que pueden desarrollar (ya hemos visto que
la expresión “tratamiento de la información” abarca un amplio rango de funciones).
Una definición más compleja que abarca todo lo expuesto es la siguiente:
Ordenador: un ordenador es una colección de recursos que comprende dis-
positivos electrónicos digitales, programas almacenados y conjuntos de datos, que
son capaces de aceptar y procesar datos según dichos programas, produciendo
de forma automática resultados controlados por las descripciones formuladas en
dichos programas.
Esta definición necesita algunas aclaraciones. Ya se ha mencionado el concepto de programa,
aprovechemos ahora para concretarlo: un programa es un conjunto de instrucciones, en un formato
especial aceptable por un ordenador y que controlan su comportamiento. Se denomina almacenado
porque las instrucciones que un ordenador está ejecutando en un determinado momento se encuen-
tran dentro de éste.
Esta capacidad de almacenar un juego completo de instrucciones que más adelante podrán ser
ejecutadas es una de las características distintivas de los ordenadores, aunque de forma estricta
también un vídeo o una lavadora pueden realizarla.
Por otra parte, el “procesado de datos” puede abarcar un conjunto de actividades muy amplio:
ordenarlos, sumarlos, hallar la media, contar palabras, representar una función de forma gráfica, etc.
Estas actividades que pueden llegar a un extremo grado de complejidad no deben hacernos pensar
que un ordenador es un dispositivo inteligente. El ordenador procesa los datos siguiendo las instruc-
ciones de un programa, el cual ha sido concebido, diseñado y creado por un ser humano. El ordena-
dor, por tanto, es tan sólo una potente herramienta con una capacidad de cálculo mucho mayor que
la de una persona, pero carente totalmente de la inteligencia de ésta.
Otras de las características más relevantes de los ordenadores es que son máquinas de propósi-
to general, lo cual viene originado por la cantidad de actividades que pueden desarrollar (ya hemos
dicho que la expresión “proceso de datos” abarca un amplio rango de funciones).
Terminamos señalando que los ordenadores son las más complejas creaciones artificiales jamás
producidas. Los conceptos de módulo e interfaz son esenciales para poder tratar esta complejidad,
tanto desde el punto de vista hardware como software.
2. LA INFORMACIÓN Y EL ORDENADOR
El ordenador es una máquina que sólo trabaja en función de la información que se le facilita. Esta
información se divide básicamente en dos tipos:
2.1. INSTRUCCIONES
Son las órdenes que dictan al ordenador lo que ha de hacer en cada momento. Cada instrucción
sirve para ejecutar una operación determinada. Las podemos clasificar en cuatro grandes grupos:
– Instrucciones de entrada/salida: gobiernan los intercambios de información entre memo-
ria principal y periféricos.
– Instrucciones de tratamiento: ordenan la ejecución de operaciones aritméticas y lógicas.
– Instrucciones de manipulación: ordenan los trasiegos de información de una zona a otra
de la memoria; mueven y transforman la información.
– Instrucciones de bifurcación y control: influyen sobre la marcha de los programas, depen-
diendo, generalmente, de comparaciones.
Un conjunto de instrucciones ordenadas de forma lógica es lo que constituye un programa; éste
se puede considerar como un reglamento que rige el funcionamiento del ordenador. El programa es
la herramienta lógica que usa el ordenador para tratar la información.
2.2. DATOS
Los datos son la información a procesar por el ordenador siguiendo los pasos marcados en el
programa. Los resultados facilitados por el ordenador, como consecuencia del tratamiento de la in-
formación, también son datos.
Los datos pueden ser:
– Datos de Entrada: información que facilitamos al ordenador para que sea procesada.
– Datos de Salida o Resultados: información que nos ofrece el ordenador, una vez han sido
tratados los datos de entrada.
4. ANTECEDENTES HISTÓRICOS
Un hecho común a estas ciencias consiste en que a menudo los avances teóricos suelen ser
más rápidos que los prácticos. En efecto, este hecho es una constante en la historia de la ciencia, y
se debe principalmente a que la tecnología para poner en práctica las ideas teóricas es más difícil de
conseguir que la propia teoría. No hay que olvidar que las ideas y teorías provienen del pensamiento
lógico y del uso racional de la mente, mientras que los aspectos prácticos dependen casi exclusiva-
mente del desarrollo tecnológico disponible en un momento histórico dado.
Estas cuestiones han llamado la atención de los pensadores durante miles de años. Entre todas
las culturas antiguas fue la antigua Grecia la más relevante, ya que realizó una contribución enorme
en la sistematización del razonamiento (el aspecto teórico).
Entre los logros de los griegos podemos citar, por ejemplo, el desarrollo de la geometría como
un sistema de deducción lógica: en lugar de realizar experimentos con círculos y analizar los datos
(método práctico muy utilizado por los egipcios), los matemáticos griegos definieron el concepto de
círculo y derivaron las propiedades de éstos utilizando el razonamiento formal (método teórico).
Los griegos también consiguieron grandes avances en la clarificación de los criterios a seguir
para realizar un razonamiento correcto. Los trabajos de Aristóteles fueron los mayores exponentes en
este sentido, ya que sentaron las bases de la lógica formal; sin embargo, no se produjeron avances
revolucionarios en este campo hasta el siglo XIX.
Los babilonios y egipcios, en cambio, no fueron razonadores sistemáticos como los griegos. En
su lugar desarrollaron una gran cantidad de métodos de cálculo, con la intención de facilitar éstos
y basados, fundamentalmente, en los métodos de prueba-y-error. Algunos de sus logros fueron la
obtención de:
– Tablas de multiplicar.
– Tablas de cuadrados y cubos.
– Tablas de raíces cuadradas y cúbicas.
– Tablas de inversos.
– Tablas de exponenciales para poder obtener el interés compuesto.
Una fórmula para resolver ecuaciones cuadráticas.
Un método para completar el cuadrado.
Pero los egipcios no fueron lo únicos en desarrollar el cálculo de forma práctica; sobre el 3.500
a.C., en los valles del Tigris y Éufrates se construyó un artilugio a base de unos soportes de madera y
unas pequeñas piedras planas sujetas mediante varillas que servía para contar y realizar operaciones
matemáticas básicas, como sumas y restas. Posteriormente se le dio el nombre de Ábaco, término
proveniente de la palabra fenicia Abak. Se han encontrado también ábacos en China, llamados Suan-
Pan, y en Japón (Soroban), aunque ambos de forma más tardía (sobre el 2.500 a.C.).
CURIOSIDAD: la palabra cálculo tiene raíz latina calculus, que significaba pie-
dra (recuérdese la enfermedad denominada cálculo de riñón, en alusión a la piedra
que se forma en este órgano). La razón por la que se adoptó este término para de-
finir una de las más importantes ramas de las matemáticas, es que antiguamente
se utilizaban piedras para contar.
El ábaco estuvo vigente en Europa hasta el siglo XVI, dejando paso entonces a otras herramien-
tas más potentes. Sin embargo, en algunos países orientales el ábaco conserva toda su vigencia y
se utiliza comúnmente para realizar operaciones sencillas en mercados y escuelas. Esto muestra la
potencia de esta sencilla herramienta inventada hace más de 5.000 años.
Tuvieron que transcurrir muchos siglos para el siguiente descubrimiento de importancia trascen-
dental para las matemáticas (y por ende para la informática); se realizó a finales del siglo XVI y co-
mienzos del XVII, cuando François Viète (1540-1603) estableció las bases del álgebra, mediante la
utilización de letras para simbolizar valores desconocidos. Aunque en un principio pueda parecer que
este descubrimiento no revista demasiada importancia, fue el causante de todo el desarrollo posterior
de los distintos tipos de ecuaciones, fundamentales para el progreso de muchas ciencias.
En efecto, a partir de ese momento se vive una intensa sucesión de conquistas matemáticas
acompañada esporádicamente de nuevas herramientas prácticas, fruto de éxitos tecnológicos. En
1614 John Napier (1550-1616) idea y desarrolla la teoría de los logaritmos, que pronto se dispone
como una valiosa herramienta de ayuda al cálculo; además construyó un calculador basado en tar-
jetas (denominado Estructura de Napier) que puede considerarse como un dispositivo intermedio
entre el ábaco y las primeras calculadoras mecánicas.
Pocos años después, en 1620, Edmund Gunter (1581-1626) inventó un precursor de la regla de
cálculo, que tras varias modificaciones originó la propia regla del cálculo, cuyos principios han llegado a la
actualidad casi sin variaciones. La principal mejora la realizó en 1650 un científico llamado Patridge.
Galileo (1563-1642) realizó numerosas contribuciones valiosísimas al desarrollo de las ciencias.
Cabe destacar su aportación de un método conciso, compacto y no ambiguo de expresar sucesos
científicos, además de sentar las bases de la formulación matemática de las ciencias físicas.
Otro ilustre pensador, René Descartes (1596-1650), descubrió e impulsó la geometría analítica
que permitió la aplicación del álgebra a problemas de geometría y dinámica, abriendo las puertas de
varias ramas de la física.
En 1623, Wilhelm Schickard diseñó y construyó un dispositivo, denominado posteriormente la
Calculadora de Schickard o Reloj Calculante, que realizaba sumas y restas de forma totalmente au-
tomática. Aunque las operaciones de multiplicación y división no eran completamente automáticas, se
podían realizar también con gran efectividad. Este dispositivo se considera hoy en día la primera calcu-
ladora digital, aunque en aquellos tiempos no tuvo demasiada difusión y aceptación, sobre todo porque
su inventor y toda su familia murieron víctimas de una epidemia tan comunes en esas fechas.
CURIOSIDAD: en la época de Schickard las técnicas de fabricación no estaban
lo suficientemente avanzadas como para permitir que su calculadora mostrase toda
su potencia, por ello, a principio del siglo XX, ingenieros de la IBM construyeron la
máquina ideada por Schickard siguiendo exclusivamente los planos de éste.
Veinte años más tarde del desgraciado final de Schickard, Blaise Pascal (1623-1662), insigne
matemático y pensador francés, retomó su línea de investigación con cierto éxito, siendo actualmente
considerado (un tanto injustamente) como el inventor de la calculadora. Además esta calculadora de
Pascal sólo podía sumar y restar, por lo que técnicamente fue inferior a su predecesora.
Pascal construyó su calculadora sobre la base de un diseño teórico que consistía en un artilugio
de complicados conjuntos de ruedas dentadas y piezas mecánicas (este artilugio fue denominado
Pascalina en sus primeros momentos, aunque después tomó el nombre de Máquina Aritmética de
Pascal). Aunque la Pascalina en teoría debía ofrecer resultados satisfactorios, la tecnología de aque-
llos días seguía siendo inapropiada para producir las piezas con la precisión requerida, resultando por
ello una máquina de escasa fiabilidad. He aquí un buen ejemplo de cómo las ideas teóricas siempre
han ido por delante de las posibilidades de la tecnología para ponerlas en práctica.
De forma paralela a Pascal, el matemático inglés Samuel Morland inventa en 1666 otro dispo-
sitivo denominado Máquina Aritmética de Morland, cuyo funcionamiento, diseño y prestaciones se
acercaban mucho a la Pascalina.
Un contemporáneo de Pascal, y figura de igual importancia, fue Gottfried Wilhelm von Leibniz
(1646-1716), que acompañó de un poderoso pragmatismo a su condición de excelente pensador
teórico. Baste citar que fue, junto con Isaac Newton, el descubridor del cálculo infinitesimal, el cual
abriría muchas puertas a las ciencias. Una de las citas más relevantes de Leibniz fue la siguiente:
“Es una pérdida de tiempo que personas cualificadas pierdan horas como
esclavos en la labor de calcular, lo que podría ser delegado en cualquier otro si se
pudieran utilizar máquinas.”
Leibniz ideó un dispositivo que fue llamado la Rueda de Leibniz o Calculadora Universal, si
bien es verdad que tuvo como base los trabajos anteriores de Pascal, este dispositivo podía realizar
de forma automática sumas, restas, multiplicaciones y divisiones, llegando a superar con creces la
antigua calculadora de Schickard. Los principios técnicos y teóricos que Leibniz desarrolló fueron tan
trascendentales que hasta la segunda guerra mundial se construyeron máquinas basadas en ellos.
Otra no menos importante aportación de Leibniz a la ciencia de la computación fueron sus ideas
sobre lógica simbólica, expuestas en sus estudios sobre la posibilidad de utilización de máquinas
para la validación de hipótesis, la equiparación del razonamiento a la realización de cálculos y en sus
investigaciones pioneras sobre aritmética binaria.
El francés Charles-Xavier Thomas (1785-1870), basándose en el modelo de Leibniz, construyó
una de las primeras máquinas calculadoras que funcionó correctamente, hasta tal punto que su co-
mercialización resultó un verdadero éxito. Se llevó al mercado con el nombre de Aritmómetro.
De forma independiente, Mathieu Hahn construye en 1779 un curioso dispositivo basado en
un modelo circular que era capaz de realizar las operaciones aritméticas básicas: sumas, restas,
multiplicaciones y divisiones.
Aun así podemos apreciar en el siglo XVIII cierta relajación de los impulsos investigadores que do-
minaron el siglo anterior, tendencia que cambia al entrar en el siglo XIX, el cual abre un período donde
proliferan los avances en computación. Esta vez la constante perfección de los métodos de cálculo y
el desarrollo de la sistematización del razonamiento originaron teorías revolucionarias e innovadoras,
sentándose definitivamente los pilares de la moderna informática.
El primer gran invento del siglo XIX, lo aportó el francés Joseph Marie Jacquard en 1805, cuan-
do, después de ciertos intentos fallidos, consigue fabricar un telar automático controlado por tarjetas
perforadas que actúan sobre las agujas tejedoras, haciendo que éstas dibujasen figuras en el tejido.
Esta máquina puede ser considerada como el primer dispositivo programable del mundo, y su perfec-
ción llegó hasta tal punto que se pudo realizar con ella un retrato en tela del propio Jacquard.
En 1791 nacía en Inglaterra Charles Babbage que, con el tiempo, llegaría a ser una gran figura
de la ciencia de la computación. Entre sus méritos podemos destacar su condición de profesor en
Cambridge, su participación en la fundación de la prestigiosa Royal Astronomical Society además
de ser el primer receptor de su medalla de oro, galardonando su trabajo titulado “Experiencias en la
aplicación de maquinaria en los cálculos de tablas matemáticas”. Este estudio lo llevó a la práctica
mediante la construcción de dos máquinas: la Máquina de Diferencias y la Máquina Analítica, que
en cierta manera pueden ser consideradas las primeras computadoras de la historia (curiosamente su
fuente de energía era una máquina de vapor).
De ambas máquinas, la Máquina Analítica estaba conceptualmente muy cerca de los modernos
ordenadores de propósito general, incluyendo un “almacén”, que correspondería a la actual memoria,
y de una muela, que vendría a ser el procesador.
Babbage diseñó la programación de su sistema mediante una serie de cartones perforados,
idea que tomó del telar de Jacquard. Las tarjetas de Babbage, sin embargo, contenían instrucciones
y datos que utilizaba la Máquina Analítica, la cual, por otra parte, nunca llegó a funcionar correcta-
mente debido a la imprecisa tecnología del momento. De nuevo tenemos otro ejemplo de la falta
de paralelismo entre el desarrollo teórico y el tecnológico, sin embargo su diseño fue revolucionario
por su complejidad basándose en un intrincado mecanismo de ruedas dentadas controlado por los
mencionados cartones perforados.
Esquema de la máquina analítica de Babbage. Esta máquina se ideó para resolver tablas de logaritmos
y cálculos trigonométricos, y por su diseño y estructura se considera a Babbage como el primer padre de la informática.
cular de máquina abstracta (máquinas de Turing). Inicialmente estas ideas supusieron un importante
avance teórico, aplicándose en la práctica una década después.
Otra persona que estuvo fuertemente involucrada en el diseño de computadoras digitales electro-
mecánicas fue Howard T. Aiken (1900-1973). En 1937 identificó cuatro características que debía po-
seer una computadora de uso científico y que no poseían las máquinas de gestión de aquella época:
– La posibilidad de manipular tanto números positivos como negativos.
– La capacidad de utilizar determinadas funciones matemáticas.
– La capacidad de operar de forma totalmente automática.
– La capacidad de realizar cálculos extensos en su secuencia natural.
En 1944 Aiken y sus colaboradores, junto con un grupo de ingenieros de la cada vez más po-
derosa IBM, diseñaron y construyeron una máquina electromecánica que ponía a su disposición las
características citadas anteriormente. Entre sus logros podríamos citar la capacidad de multiplicar dos
números en seis segundos y la de dividirlos en doce. Los programas estaban codificados en una cinta
de papel. Fue la primera computadora electromecánica y fue denominada popularmente Mark-I.
CURIOSIDAD: la Mark-I medía 16,6 metros de largo por 2,6 metros de alto, su
peso se aproximaba a 70 toneladas, poseía 800.000 piezas móviles y la longitud
total de los cables utilizados en su construcción alcanzaba 800 kilómetros.
Bell Telephone Laboratories, la empresa creada por Alexander Bell (inventor del teléfono), cons-
truyó una máquina de similares posibilidades que fue terminada con éxito en 1940. Algunas otras
versiones mejoradas se construyeron a lo largo de esos años, todas basadas en tecnología electro-
mecánica, teniendo el relé como componente principal de conmutación.
En 1938, Claude E. Shannon, del Instituto Tecnológico de Massachusetts (el prestigioso MIT),
contribuyó al desarrollo de la informática con otro éxito notable. Shannon demostró que el análisis de
circuitos de conmutación complejos podía realizarse mediante el álgebra de Boole, lo que supuso un
enlace muy importante entre la teoría y el diseño de los futuros ordenadores.
NOTA: el término BIT (Binary Digit) fue acuñado por Shannon en esas fechas, cuando publica sus
estudios sobre la teoría de la comunicación.
En 1940 un físico llamado John V. Atanasoff, profesor de la Universidad de Iowa (Estados
Unidos), y un alumno suyo, Clifford E. Berry, construyen la primera computadora digital totalmente
electrónica, las piezas electromecánicas en sus circuitos fueron sustituidas por válvulas. La llamaron
ABC (Atanasoff Berry Computer). Esta computadora utilizaba aritmética binaria y estaba construida
con el único propósito de resolver sistemas de ecuaciones lineales, principal interés de Atanasoff, por
lo cual no se consideró nunca como una herramienta decisiva de propósito general.
Aun así, la ABC ejerció una influencia decisiva sobre dos científicos de la Escuela Moore de Inge-
niería Eléctrica: John W. Mauchly y John Presper Eckert, diseñadores de la primera computadora
digital a gran escala. Esta computadora, llamada ENIAC, fue diseñada y construida entre 1943 y
1945 y contenía 18.000 válvulas y 1.500 relés. Entre los miembros del equipo que construyeron la
ENIAC se encontraban Atanasoff y Berry, cuyas experiencias con la ABC resultaron fundamentales.
La ENIAC estaba basada en válvulas de vacío, técnica que aceleró los cálculos mil veces respecto
a la MARK-I, ya que era capaz de sumar dos números en dos diezmilésimas de segundo. Aun así la
ENIAC ocupaba una superficie de 160 metros cuadrados, pesaba casi 30 toneladas y tenía aproxima-
damente 17.500 válvulas que consumían 200.000 watios, razón por la cual, la primera vez que entró
en funcionamiento, las luces de la ciudad de Filadelfia se oscurecieron.
CURIOSIDAD: el ejército de los Estados Unidos utilizó con frecuencia la ENIAC
para el cálculo de las trayectorias de los proyectiles de artillería.
Un matemático del Institute for Advanced Study de la Princeton University (Estados Unidos),
se interesó mucho por la construcción de la ENIAC. Su nombre era John von Neumann (1903-1957),
y puede ser considerado un genio en todos sus sentidos: fue doctor en matemáticas, graduado en física
experimental y química cuando contaba sólo con veintidós años. Al cumplir los veintitrés ya era un renom-
brado matemático en todo el mundo, colaborando con Hilbert (otro famoso matemático) en sus estudios
sobre la axiomatización de las matemáticas y realizando importantes estudios sobre lógica formal.
Por otra parte Von Neumann estaba muy interesado en la resolución de ciertos problemas plan-
teados por los modelos matemáticos de dinámica de fluidos que exigían cálculos complicados y
tediosos. Por todo ello, Von Neumann conjugó en sus logros en computación dos antiguos intereses
de la historia de la ciencia: la sistematización de la lógica (aspecto teórico) y la posibilidad de realizar
cálculos de forma rápida y fiable (aspecto práctico).
En agosto de 1944 Von Neumann fue incluido en el proyecto de la ENIAC, formando parte de un
comité que dictó los fundamentos del diseño de una nueva máquina, la EDVAC, con la que se preten-
dían corregir las deficiencias de la ENIAC. El diseño de la estructura lógica de este nuevo dispositivo
cayó bajo la responsabilidad de Von Neumann, siendo durante este trabajo cuando ideó muchos de
los postulados e ideas más importantes de la informática actual, entre los que se incluyen:
– Una notación para describir los aspectos lógicos de los circuitos de un ordenador, la cual
fue adaptada de un método utilizado anteriormente en medicina para describir el sistema
nervioso.
– Un conjunto detallado de instrucciones para la EDVAC.
– El concepto de programa almacenado, idea por la cual éste y los datos que utiliza pueden
almacenarse en memoria.
– El primer programa almacenado que ordenó y mezcló los números de una lista.
– La noción de secuenciamiento de operaciones basada en la idea de que, aunque una com-
putadora trabaje muy deprisa, una tarea puede subdividirse en una secuencia de pasos,
realizables uno detrás de otro. Esta idea fue decisiva en la simplificación de la circuitería de
la EDVAC en relación a la de la ENIAC.
– Al contrario de la ENIAC, que utilizaba aritmética decimal, la EDVAC utilizaba notación binaria
tanto para el almacenamiento como para la manipulación de números e instrucciones.
El diseño de computadoras evolucionó rápidamente en varias direcciones desde la construcción
de EDVAC, ya que las contribuciones de Von Neumann fueron tan trascendentales que forman las
bases de diseño de los modernos ordenadores; de hecho, hoy en día, en ciertos ámbitos, se utiliza el
término de máquina de Von Neumann para referirnos a ellos.
A partir de ese momento termina la etapa “prehistórica” de la informática. Nuevos desarrollos
como la comunicación de señales en paralelo, el uso de soportes magnéticos y la introducción de los
núcleos de ferrita como elementos principales de la memoria, abren nuevas etapas, que pasamos a
describir a continuación.
5. GENERACIONES DE ORDENADORES
Desde mediados del siglo XX hasta finales de la década de los ochenta, los avances tecnológicos
se suceden sin cesar. A lo largo de este período diferenciamos ciertas etapas denominadas genera-
ciones de ordenadores, que vienen definidas principalmente por los siguientes aspectos:
– La tecnología vigente en un momento dado.
– Las técnicas de programación utilizadas.
– El impacto de la informática en la sociedad.
Por otra parte, y debido al increíble ritmo de desarrollo de los últimos diez años, esta forma de cla-
sificación ha perdido la efectividad que tenía. Actualmente es muy difícil separar una etapa de otra.
– La sustitución del cableado por circuitos impresos, otro factor importante en el aumento de
la velocidad de los ordenadores, pues se disminuye la distancia que tienen que recorrer las
señales eléctricas.
– La aparición de los primeros periféricos que simplifican el diseños de los sistemas hard-
ware.
– La rápida expansión de los ordenadores por empresas y universidades, ampliándose sus
aplicaciones a los campos administrativos y de gestión.
– La necesidad de desarrollar nuevos métodos de programación más asequibles y adaptados
al ser humano: aparecen los lenguajes de programación evolucionados (Ensamblador, For-
tran, Cobol y Algol).
6.4. TENDENCIAS
Si bien en los sistemas informáticos corporativos subsisten de forma mayoritaria las arquitecturas
centralizadas, continúa la búsqueda de soluciones hacia arquitecturas distribuidas.
Estas soluciones dependen enteramente de la aparición de gestores de bases de datos distribuidas
suficientemente potentes, de modo que el usuario no tuviera que preocuparse de dónde se encuentran
los datos que estarían dispersos por los distintos equipos y bajo el control del propio sistema.
El acceso a los datos y servicios, así como la integridad y consistencia de éstos, estarían garan-
tizados desde cualquier puesto conectado mediante el sistema de comunicaciones de forma total-
mente transparente al usuario.
Según esto, parece que el tipo de arquitectura informática distribuida marca la tendencia actual
más firme.
Von Neumann supuso que la electrónica siempre sería lo suficientemente rápida para ejecutar
todos los pasos de un algoritmo de forma secuencial, pero debido a la evolución tecnológica los or-
denadores se han ido utilizando en la resolución de problemas cada vez más complejos, habiéndose
llegado a un nivel en que la suposición de Von Neumann ha dejado de ser válida. El diseño de los
procesadores paralelos parecen ofrecer la solución.
Por otra parte los lenguajes de programación también se han desarrollado enormemente en los
últimos años, incluyendo las técnicas de orientación a objetos, permitiendo el aislamiento de módulos
de software reutilizables y originando la construcción de programas más fiable.
Otra de las áreas de máximo interés es el desarrollo de redes de ordenadores, que tienen su
máximo exponente en Internet. Los ordenadores ya no son unidades aisladas; sino que forman parte
de redes que les permiten compartir recursos y comunicarse a grandes velocidades.
Con la difusión y popularización de los ordenadores personales hemos entrado en una nueva era
de las tecnologías de la información, cuyo horizonte parece perfilarse como la sociedad automatizada
o sociedad del ocio en un futuro no muy lejano. Los especialistas, interpretando las repercusiones
de esta revolución de la información en la sociedad, consideran que el impacto ha sido mucho más
profundo que el que causó en su día la revolución industrial.
No es fácil predecir los futuros avances y mucho menos los plazos en que éstos ocurrirán, de-
bido fundamentalmente a que la evolución y el desarrollo de la tecnología aumenta a un ritmo cada
vez más acelerado. No obstante, a partir de los logros alcanzados y de otros en experimentación, se
puede vislumbrar el efecto de su implantación masiva en la sociedad.
La gestión de las empresas se realizará de forma totalmente automatizada, mediante el uso de
los sistemas de información, eliminando así la mayor parte del trabajo manual.
En la industria, el uso de robots con capacidad de variar su producción con tan sólo modificar el
programa de su funcionamiento, hará posible el abaratamiento de productos personalizados o de con-
sumo minoritario, fabricados en pequeña escala, de forma similar a la actual producción en masa.
En el campo de la medicina, las bases de datos, las redes entre hospitales, los sistemas expertos
de diagnóstico y los de vigilancia de pacientes, facilitarán la labor de médicos y personal sanitario para
salvar vidas, no sólo en los grandes centros urbanos, sino en los entornos rurales o aislados, los cua-
les dispondrán prácticamente de las mismas posibilidades gracias a las redes de telecomunicación.
En educación, los programas tutoriales de enseñanza asistida por ordenador se generalizarán en
los centros docentes, universidades y departamentos de formación de las empresas, lo que facilitará
la labor del profesor en la atención personalizada y la adaptación a los diversos ritmos de aprendizaje
de los alumnos, así como en educación especial a discapacitados. Mediante reconocedores y gene-
radores de voz se facilitará la comunicación con el ordenador, el cual será capaz incluso de detectar
el estado anímico de un alumno.
En ciencias e ingenierías, los grandes y complejos programas de simulación eliminarán la necesi-
dad de costosos modelos a escala, y el proceso estadístico de enormes cantidades de datos facilitará
la planificación y la toma de decisiones.
Actualmente se está estudiando el funcionamiento del cerebro humano y de las redes neuro-
nales, con el fin de impulsar de forma decisiva las técnicas de inteligencia artificial y su posterior
aplicación a la robótica.
Existen multitud de opiniones sobre el efecto de todos estos cambios en la sociedad del futuro,
no todas coincidentes. Unos piensan que proporcionarán mayor libertad individual y una sociedad
más humana, por ejemplo, la fabricación controlada mediante ordenador implicará un aumento de la
productividad, una reducción de la jornada laboral, un nivel de vida superior y en definitiva un paso
fundamental hacia la sociedad del ocio.
Por el contrario, los más pesimistas auguran el control y el dominio de los ordenadores sobre la
vida del individuo, social y privada, y de su efecto deshumanizador.
Para finalizar, podemos decir que efectivamente no todas las aplicaciones de los ordenadores
son beneficiosas y ni siquiera efectivas, pero lo que resulta innegable es que, hoy por hoy, hemos de
considerar la informática como una herramienta imprescindible en nuestra vida diaria, que resuelve
muchos más problemas de los que genera, dependiendo sus consecuencias futuras sobre el individuo
y sobre la sociedad de la orientación que le demos.
8.1. SUPERORDENADORES
Son los ordenadores más potentes que existen. Las prestaciones de velocidad y capacidad de
proceso son impresionantes, pues están diseñadas especialmente para cálculos muy complejos.
Poseen un gran número de procesadores que trabajan en paralelo, con lo que se consiguen realizar
billones de operaciones por segundo. Existen relativamente pocas unidades en el mundo, y se utilizan
para fines muy concretos: predicciones meteorológicas, control de satélites, aplicaciones militares,
etc. Un ejemplo de ellos es el Cray Y-MP de Cray Research Inc.
8.2. MAINFRAMES
Son grandes equipos orientados generalmente a la gestión de grandes empresas y a procesar
grandes bases de datos. Su potencia de cálculo es inferior a la de las anteriores, ejecutando varios
millones de operaciones por segundo. Disponen de varios Gb de memoria RAM y de palabras de 64
o 128 bits. Una de sus características principales es la de soportar un gran número de terminales
trabajando de forma simultánea. La IBM 3090 admite aproximadamente 5000 usuarios. Esto se
consigue mediante técnicas de tiempo compartido y multiprogramación.
Funcionan dirigidos por un sistema operativo muy específico (estudiaremos los sistemas opera-
tivos más adelante), y pueden intervenir en procesos distribuidos donde se conectan varios de ellos,
de forma que se reparten el trabajo a realizar.
8.3. MINIORDENADORES
Son máquinas de tipo medio. Se utilizan para gestionar empresas u organizaciones de tamaño
moderado. Su capacidad de proceso es inferior a la de las anteriores y controlan un menor número
de terminales que puede llegar hasta 64. Sus sistemas operativos son poco estándares y pueden
llegar a ser muy específicos, dependiendo del constructor. Dos ejemplos muy típicos de este tipo de
computadoras son la VAX de Digital Equipment Corporation y la AS400 de IBM.
8.5. MICROORDENADORES
Son equipos orientados al trabajo personal o monousuario. Estos ordenadores han permitido la
gran difusión de la informática que vivimos en nuestros días, y son fruto de los avances tecnológicos,
especialmente de miniaturización de componentes, y de la continua reducción de precios.
Un ordenador portátil
– Notebook. Es un microordenador similar al portátil, pero aún más pequeño, de menor peso
y más especializado. Tiene útiles aplicaciones como la de agenda electrónica, procesador de
textos, etc.
Un ordenador notebook
– Palmtop. Es el dispositivo más pequeño que puede considerarse ordenador. Son muy re-
cientes, y van incorporando muchas prestaciones en un tamaño realmente reducido.
ESQUEMA INICIAL
1. Elementos principales
1.1. Estructura básica
1.2. Unidad Central de Proceso
1.2.1. Unidad de control
1.2.2. Unidad Aritmético-Lógica (UAL)
1.2. Memoria central
1.3. Buses
3. Operaciones básicas
3.1. Entrada de datos
3.2. Salida de datos
3.3. Transmisión/recepción de datos
3.4. Tratamiento de datos
5. Memoria
6. Tecnologías
6.1. ROM: Read Only Memory (Memoria de sólo lectura)
6.1.1. ROM
6.1.2. PROM, Programmable ROM (ROM Programable)
6.1.3. EPROM, Erasable Programmable ROM (ROM Programable que se pue
de borrar)
6.1.4. EEPROM, Electrically Erasable Programmable ROM (ROM Programable
que se puede borrar eléctricamente)
6.2. BIOS, CMOS y ROM shadowing
6.3. RAM: Random Access Memory (Memoria de acceso aleatorio)
6.3.1. SRAM: Static RAM (RAM estática)
6.3.2. DRAM: Dynamic RAM (RAM dinámica)
6.4. Memoria Caché
9. Módulos de memoria
9.1. Módulos DIPs (Dual Inline Package)
9.2. Módulos estándar y propietarios
9.3. Módulos SIMMs (Single Inline Memory Module)
9.4. Módulos DIMMs (Dual Inline Memory Modules)
9.5. Módulos RIMM
9.6. Bancos de memoria
1. ELEMENTOS PRINCIPALES
A veces se considera la CPU y la memoria como una única unidad, debido a la fuerte relación
existente entre ellas y a su proximidad física dentro de la carcasa del ordenador (en contrapartida a
los periféricos que suelen encontrarse más distantes). Desde el punto de vista académico conviene
separar estas dos unidades, ya que tanto sus características como sus funciones son diferentes.
Esquema de la estructura básica de un ordenador. El bloque marcado con una C representa un elemento controlador de la
unidad de entrada/salida. Este controlador junto con la unidad es el periférico (recuadro punteado). El controlador puede
situarse físicamente junto a la unidad o cerca de la UCP (caso que representa la figura). La comunicación entre los subsiste-
mas se realiza por los buses del sistema y conexiones externas
Esto puede plantear una curiosa pregunta: ¿qué ocurre al encender el ordenador cuando se
ejecuta la primera instrucción?. Al encender el ordenador el CP toma un valor por defecto
que es donde debe encontrarse la primera instrucción.
– Registro de instrucción (RI): contiene la instrucción que se está ejecutando en un momen-
to dado. Como veremos, las instrucciones tienen dos partes: el código de operación (indica
qué acción se va a realizar) y los operandos (indican dónde se va a realizar dicha acción).
– Decodificador: el decodificador extrae el código de operación de la instrucción del RI, lo
analiza y lo comunica al controlador.
– Controlador (o secuenciador): este elemento es el encargado de interpretar el código de
operación y de llevarlo a cabo. Para ello genera las llamadas microórdenes, que actúan sobre
el resto del sistema en sincronía con los impulsos del reloj.
Esquema de la unidad aritmético-lógica (comprendida en el recuadro punteado)
La ALU se comunica con el sistema mediante el bus de datos, y tiene la siguiente estructura:
– Circuito operacional (COP): es el elemento más importante de la ALU. Contiene todos
los circuitos digitales necesarios para realizar las operaciones. Los registros de entrada pro-
porcionan los datos sobre los que operar. El bus de control indica qué operación hay que
ejecutar (suma, resta, comparación, etc.).
– Registros de entrada (REN): estos registros almacenan los datos u operandos sobre los
que se ejecuta la operación en el COP. Pueden servir también para almacenar resultados
intermedios de las operaciones en curso.
– Acumulador: los resultados finales se colocan aquí. Es un registro especial conectado a los
registros de entrada. Existe también una conexión directa al bus de datos que posibilita el
envío directo de los resultados a memoria o a la unidad de control.
– Registro de estado: registro que almacena información sobre ciertas condiciones y estados
acerca de la última operación realizada. Por ejemplo, si el resultado de una comparación ha
sido positivo o negativo, mayor o menor, etc.
– Registro de dirección de memoria (RD): este registro contiene, como su propio nombre
indica, la dirección de la celdilla a la que se accede, bien para leerla, bien para escribir sobre
ella. La dirección de memoria se obtiene del bus de direcciones del sistema.
– Registro de intercambio de memoria (RI): este registro sirve de almacén temporal en las
operaciones de lectura y escritura. En el primer caso el registro se carga con el dato leído
de la memoria, para posteriormente ser trasvasado al procesador mediante el bus de datos.
Si se tratase de una operación de escritura, el proceso es el inverso: en una primera fase
se carga el RI con el dato a escribir a la vez que el RD toma la dirección dónde escribirlo; en
una segunda fase el dato del RI pasa a la casilla seleccionada por el RD completándose así
la escritura a memoria.
– Selector de memoria: el selector es el elemento que transforma la dirección del RD (que
en realidad consiste en un dato numérico) en una dirección efectiva, activando y desactivan-
do las correspondientes líneas de los circuitos conectados a la memoria central.
1.3. BUSES
Ya hemos mencionado algunos de los buses presentes en la mayoría de los ordenadores. Se
tratan de un conjunto de circuitos que se encargan de la conexión y comunicación entre los diversos
componentes de un ordenador.
Esta comunicación se realiza en la práctica por medio de varias líneas eléctricas que se distribu-
yen por el sistema una al lado de la otra, permitiendo la transmisión de datos en paralelo. Los buses
del sistema se dividen en los siguientes tipos:
– Bus de control: transmite señales generadas en la unidad de control que son interpretadas
como órdenes por el resto de los dispositivos del sistema.
– Bus de direcciones: transporta las direcciones de memoria sobre las que se va a actuar en
operaciones de lectura y escritura.
– Bus de datos: traslada datos hacia y desde la memoria principalmente, aunque también se
conecta a otros dispositivos (puertos del ordenador, controladores de periféricos, etc.).
3. OPERACIONES BÁSICAS
Si tenemos que hacer una clasificación de las actividades que un ordenador es capaz de realizar,
ésta sería la siguiente:
actividad para una única persona o para todos los habitantes de una ciudad. Lógicamente el
tiempo empleado para ambas tareas será distinto, pero el proceso es siempre el mismo.
– Distribución de la información. Hoy en día la cuestión del acceso a grandes cantidades de
información desde cualquier lugar del mundo es un hecho. Seguro que el lector habrá oído
mencionar el fenómeno Internet, que conecta ordenadores en todo el mundo. Los modernos
equipos informáticos y de comunicaciones hacen posible esta realidad.
– Precisión y complejidad. Los ordenadores son especialmente adecuados para actividades
complicadas o que requieran una precisión muy elevada, por ejemplo la gestión del tráfico
aéreo o la predicción de cambios meteorológicos.
– Velocidad. Los ordenadores modernos pueden realizar millones de cálculos por segundo y
con una probabilidad de fallo nula. No hay ni que mencionar las ventajas que esto supone
frente a las capacidades humanas.
5. MEMORIA
Debido a que existen varias memorias en un ordenador actual (del sistema, de vídeo, etc.), el
propio término “memoria” se hace un poco ambiguo, pero tradicionalmente se refiere a la memoria
del sistema principal o del sistema:
La memoria principal, del sistema (o simplemente memoria) almacena los programas y datos que
se están ejecutando en un ordenador en un momento dado.
La memoria está muy relacionada con otros componentes del ordenador, como la placa base, el
chipset y el procesador, y aporta características muy importantes a un ordenador:
– Rendimiento: la cantidad y tipo de memoria disponible es un factor fundamental para el
rendimiento global de un ordenador. Por ejemplo, una falta de memoria puede causar que
un procesador funcione al 50% de su capacidad real.
– Soporte de software: muchos programas actuales requieren una determinada capacidad
mínima de memoria para poder ejecutarse.
– Estabilidad del sistema: una memoria en mal estado es causa de fallos misteriosos en el
ordenador, difíciles de diagnosticar y reproducir.
– Actualización del sistema: existen muchos tipos de memoria, más o menos estándares.
Una buena elección en este aspecto es garantía de que el ordenador pueda adaptarse a los
nuevos avances técnicos del futuro (al menos durante cierto tiempo).
6. TECNOLOGÍAS
Como antes mencionábamos, en un ordenador conviven varios tipos de memoria. Son las siguientes:
6.1.1. ROM
Está construida mediante una técnica denominada lógica cableada, que codificada la informa-
ción en el mismo soporte de silicio donde está instalada la memoria. Está específicamente designada
para realizar una misión que no varía y su funcionamiento a nivel de la utilización de los datos es
análogo a un CDROM: podemos leerlo muchas veces, pero no cambiar su contenido.
6.1.3. EPROM, Erasable Programmable ROM (ROM Programable que se puede borrar)
ROM que puede reprogramarse mediante una técnica especial: la memoria se construye cubrién-
dola de un cristal a través del cual la luz ultravioleta puede cambiar su contenido. Su funcionamiento
es análogo a un CD-R, que podemos regrabar muchas veces.
Sección de una placa base que muestra el chip EEPROM que contiene
la BIOS y la pequeña pila circular que lo alimenta
Aunque la memoria EEPROM mantiene sus valores cuando el ordenador está apagado, necesita
una pequeña pila para mantener su información durante estos periodos, pila que suele durar años.
La tecnología utilizada en esta memoria se denomina CMOS (Complementary Metal Oxide Se-
miconductor) o semiconductor complementario de óxido metálico, y tiene la ventaja de requerir muy
poca energía para mantener su información. La CMOS, asimismo, contiene un mecanismo que ga-
rantiza su integridad denominado checksum.
NOTA: la memoria EEPROM es denominada a veces NVRAM (non volatil RAM)
o RAM no volátil.
El principal inconveniente de la BIOS, y de la ROM en general, es que resulta demasiado lenta,
al menos comparativamente con la RAM. Mientras que el tiempo de acceso de la RAM varía entre 50
y 70 ns, la ROM lo incrementa hasta 200 ns. Además el acceso a la RAM se hace con buses más
anchos que a la ROM.
Estos factores hacen necesario un mecanismo para acelerar el trabajo con la ROM, que resulta
tan sencillo como trasvasar parte de la ROM a la RAM y proteger ésta contra accesos de escritura,
con lo que en la práctica se comporta como una ROM rápida. Este mecanismo se conoce como ROM
Shadowing.
Los ordenadores utilizan DRAM en su memoria principal, aun siendo más lentas y complicadas
que las SRAM y necesitando el circuito de refresco. Las razones de ellos son dos: su coste (conside-
rablemente más baratas) y que ocupan mucho menos espacio (menos de ¼ que las SRAM).
Existen muchas clases de memorias DRAM. Aunque la idea principal es la misma, las diferencias
se dan atendiendo a su tecnología y velocidad. Las diferencias son en su mayoría referentes a su or-
ganización y tipo de acceso, cada vez más eficientes y rápidos, para estar a la altura de los modernos
procesadores.
El factor más importante que condiciona el tipo de DRAM de un ordenador es el chipset de su placa
base, circuito que controla entre otras cosas el acceso a memoria. Estos tipos de DRAM son los siguien-
tes:
– DRAM convencional: es la DRAM original y por tanto más antigua. Las celdas se organizan
matricialmente, con el acceso a las celdas definido por las direcciones de su fila y columna.
Actualmente resulta obsoleta.
– FPM (Fast Page Mode): es más rápida que la anterior porque utiliza la dirección de la fila para
el acceso de varias celdas conjuntas, con lo que dicha dirección sólo debe ser especificada una
vez.
Aunque aún se puede encontrar en ciertos PCs, resulta antigua y lenta, y no es compatible
con los modernos buses de memoria a más de 66 MHz.
– EDO (Extended Data Out): algunas veces también denominada Hyper Page Mode. Resulta
ligeramente superior que la FPM (sobre un 5%) debido a que el acceso a una celda de me-
moria puede comenzar sin que el anterior haya aún finalizado.
La memoria EDO es muy usual todavía, siendo la tecnología estándar para los ordenadores
de 5ª y 6ª generación a partir de 1994, aunque los modernos PCs ya no la utilizan siendo
sustituida por SDRAM.
– BEDO (Burst Extended Data Out): combinación de memoria EDO y tecnología pipeline,
permitiendo velocidades de acceso considerablemente más altas.
Al contrario que EDO, BEDO no ha extendido su uso en el mercado, debido sobre todo a la
imposición de SDRAM. Aun con rendimientos similares, no ha contado con el apoyo de la
todopoderosa empresa INTEL, que no llegó a adaptar sus chipsets a esta tecnología.
– SDRAM (Synchronous DRAM): esta tecnología relativamente nueva (1999) se caracteriza
por ser síncrona, a diferencia de las anteriores que eran asíncronas. El acceso se realiza en
sincronismo con el reloj del sistema, en modo burst (ráfaga) e introduciendo la tecnología
interleaving, resultando todo ello en rápidas velocidades compatibles con los buses de 100
MHz. SDRAM se ha impuesto en el mercado desbancando a los demás sistemas.
– DDR SDRAM (Double Data Rate SDRAM): constituye uno de los nuevos estándares pro-
puestos. Aunque similar a SDRAM en muchos aspectos, dobla la velocidad al optimizar el
uso del reloj del sistema (utiliza tanto los flancos de subida como los de bajada de la se-
ñal).
– DRDRAM (Direct Rambus DRAM): otro candidato al mercado del futuro, con el aliciente
de que no se trata de mejoras de tecnologías preexistentes, sino de un revolucionario nuevo
diseño que utiliza la memoria como si fuese un bus interno. De hecho está basada en un
bus de 16 bits a 400 MHz, dando un rendimiento de 1,6 Gb por segundo. Aunque el bus se
ha reducido de 64 a 16 bits, este último es capaz velocidades mucho más elevadas.
DRDRAM se utiliza en unos módulos especiales denominados RIMM (Rambus Inline Memory
Module).
– SLDRAM (Synchronous-Link DRAM): nueva tecnología desarrollada por un grupo de unas
20 empresas de la industria de los ordenadores. Es un diseño evolutivo destinado a mejorar
el rendimiento de la memoria SDRAM.
Se basa en un bus de 64 bits a 200 MHz, ofreciendo una velocidad de 3,2 Gb por segundo
(doblando a DRDRAM). Además esta tecnología tiene el atractivo de ser un sistema abierto,
de patente pública.
– VRAM (Video RAM): los modernos adaptadores de vídeo utilizan su propia memoria, separada
de la memoria del sistema. El rendimiento exigido a los sistemas de vídeo es mucho mayor, lo
que ha llevado a soluciones revolucionarias en este campo, pero incrementando el coste.
Tecnología Velocidad del bus Velocidad de la memoria (ns)
Conventional 4.77-40 80-150
FPM 16-66 60-80
EDO 33-75 50-60
BEDO 60-100 !?
SDRAM 60-100+ 6-12
Tabla comparativa de tecnologías de memorias
Jerarquía de cachés. Cada capa es más rápida que la anterior y se encuentra más cerca del
procesador. El límite se encuentra en el nivel 1, incluida físicamente dentro de éste.
NOTA: el término caché se refiere por sí mismo a la caché de 2º nivel o secun-
daria, haciendo referencia al sistema entre el procesador y la memoria principal.
1 2 3 4 5 ...
3 H O L A
...
Esta estructura lógica supone un nivel de abstracción sobre la organización física que simplifica
la gestión de la memoria. En efecto, ahora podemos acceder a una celda de memoria con tan sólo
especificar su fila y su columna. Por ejemplo, la fila 3, columna 4 contiene una letra H.
Los ordenadores, al trabajar en sistema binario, no utilizarían exactamente el ejemplo dado
anteriormente. Ellos enviarían un valor 011 (correspondiente binario a la fila 3) y 100 (ídem para la
columna 4). En realidad, al ser la matriz de la memoria muy extensa, las cadenas de unos y ceros
utilizadas son muy grandes, pero se mantiene la misma filosofía aquí expuesta.
El circuito que controla este sistema consta de unas líneas que transportan a la memoria los
valores de las filas y columnas. Estas líneas se denominan bus de direcciones.
La razón de organizar la memoria en forma matricial y no lineal es que en este último caso nece-
sitaríamos un bus de direcciones más ancho. En efecto, al no acceder por filas y columnas, no dividi-
mos la dirección de una celda, por lo que el bus de direcciones tendría que ser el doble de ancho. En
la práctica esto ocasiona que la producción de chips de memoria se complique y se encarezca, razón
por la cual el sistema de filas y columnas se ha impuesto.
1 2 3 4 5 6 7 8 ...
H O L A
Organización lineal de la memoria. Aunque en teoría esta estructura es perfectamente válida para
el acceso a las celdas, en la práctica supone un gran encarecimiento en la producción de los chips
de memoria. Esta es la razón por la que se impone la estructura matricial.
NOTA: los chips de memoria también guardan una estructura en la placa base
del ordenador; se organizan en módulos y en bancos.
Cuanto más ancho sean estos buses, más información pueden transmitir simultáneamente. Sus
señales viajan sincronizadas por el reloj del sistema, factor fundamental a la hora de medir las presta-
ciones de un ordenador. El ancho de banda de un bus es una medida de la cantidad de información
(en bits) que puede transmitir por unidad de tiempo y se mide en MHz (Megaherzios).
NOTA: podemos pensar en bus de datos como una autopista con una serie de
carriles, y el ancho de banda como el número de coches que circulan cada cierto
tiempo. La capacidad total depende del número de carriles (ancho del bus) y de la
velocidad a la que circulan los coches (reloj del sistema).
En cuanto al bus de direcciones, su anchura determina la cantidad total de memoria direcciona-
ble: con más líneas disponemos de más dígitos, lo que incrementa el número utilizado para especifi-
car filas y columnas de la memoria.
Generación del Velocidad del
Tecnología DRAM Velocidad de DRAM
procesador bus de memoria
1ª, 2ª 4.77-20 Convencional 100-120
Convencional, Page
3ª, 4ª 16-40 70-100
Mode, FPM, EDO
5ª, 6ª 50-100 FPM, EDO, BEDO, SDRAM 8-10 (SDRAM) 50-70 (asíncrona)
SDRAM, DDR SDRAM,
Futuro 125+ ?
DRDRAM, SLDRAM
Tabla comparativa de datos referentes a la memoria. Todos los tiempos en nanosegundos.
Los símbolos de interrogación representan tecnologías futuras
El tiempo necesario se define mediante 4 números en la forma X-Y-Y-Y, por ejemplo: 5-2-2-2, donde
el primero indica el número de ciclos necesarios para transferir el primer dato y los demás indican los
ciclos para los datos consecutivos. El tiempo de latencia viene indicado por el primer número.
8.7. INTERLEAVING
Este término define una técnica muy moderna consistente en disponer de varias líneas de acceso
a la memoria, de forma que los datos se puedan recuperar o escribir simultáneamente. La memoria
queda así divida en bloques, generalmente 2 o 4, de acceso simultáneo. Es una técnica cara utilizada
en ordenadores de altas prestaciones.
8.9. CAPACIDAD
La capacidad se define como la cantidad máxima de información que una memoria puede alma-
cenar. Existen varias unidades de medida; en el caso de la memoria RAM la más adecuada es el Mb
(Megabyte), equivalente aproximadamente a 1 libro con un millón de letras.
Existen varios factores que limitan la capacidad máxima en un ordenador. Son los siguientes:
– Límite de direccionabilidad: determinado por el ancho del bus de direcciones, indica la
dirección más alta de fila-columna que cabe en dicho bus.
– Limites del sistema operativo: especialmente los antiguos, como el MSDOS, que debido
a su diseño no permitían trabajar con más de una cantidad determinada de memoria. En los
sistemas operativos actuales este límite, aunque existente, está más allá de las necesidades
más exigentes.
– Límites del controlador de memoria: dispositivo incluido en el chipset del ordenador que
traduce las direcciones de fila-columna en señales de control a la memoria. Este factor está
limitado entre 512 Mb y 1 Gb en los modernos PCs.
– Límites físicos de los chips y de la placa base: los chips de memoria imponen otro límite,
así como los espacios reservados para ellos en la placa base.
Actualmente, en la mayoría de los casos, estos límites dejan suficiente margen para las necesi-
dades que pudiéramos tener.
La capacidad de memoria de un ordenador tiene una influencia decisiva en su funcionamiento.
Una falta de memoria RAM resulta en una disminución de las prestaciones que el equipo podría ofre-
cer. Cambiar el procesador por uno superior en semejantes circunstancias no resuelve gran cosa.
Estrictamente hablando, hay que señalar que aumentar la memoria no cambia la velocidad del
ordenador ni de ninguno de sus componentes, pero disminuye el trasiego producido por la memoria
virtual. Efectivamente, el traspaso de información hacia/desde el disco duro debido a que los progra-
mas no caben en la RAM, causa una degradación en la velocidad del ordenador. Un aumento en la
memoria RAM disminuye este fenómeno, por la sencilla razón de que el disco duro es un dispositivo
miles de veces más lento que la memoria.
NOTA: la memoria tiene un tiempo de acceso de nanosegundos (10-9 sg) mientras que en el
disco duro estos tiempos se elevan hasta los milisegundos (10-3 sg).
Por otra parte, existe un límite pasado el cual un aumento de memoria no resulta apreciable en la
respuesta del ordenador. Este límite depende mucho del tipo de programas que se ejecuten en el orde-
nador.
9. MÓDULOS DE MEMORIA
La memoria, como los procesadores, están hechos de diminutos semiconductores que deben
empaquetarse en una estructura física que aporte solidez y manejabilidad.
Sección de una placa base que dispone de conectores (sockets) para módulos SIMMs
(los 4 blancos más cortos) y DIMMs (los dos negros más largos)
NOTA: las direcciones pueden expresarse, para más facilidad, de forma lineal.
Así C800:0000 se convertiría en C8000.
de la memoria para los programas, limitando ésta. Entonces la decisión parecía acertada porque se
pensaba que los programas nunca necesitarían más de 640 Kb para ejecutarse. Esta idea provoca
risa entre los usuarios actuales.
A medida que los programas crecían en complejidad y prestaciones los límites de la memoria
convencional se hicieron insuficientes. Microsoft intentó atacar este problema mediante dos solucio-
nes:
Cargar el sistema operativo en el área de memoria alta, técnica que liberaba unos 45 Kb de
memoria convencional.
Trasladar algunos drivers al área de memoria superior, con el mismo objeto que la anterior solución.
Afortunadamente estos problemas y soluciones a medias se terminan con los nuevos sistemas
operativos, los cuales se ejecutan en un modo especial denominado protegido que permite superar el
límite de los 640 Kb, disponiendo las aplicaciones de tanta memoria como disponga el sistema.
UMA, permitiendo a los programas crecer en tamaño. Este sistema se basa en el mismo principio de
intercambio que la memoria virtual.
XMS sustituyó a EMS debido a la alta ineficiencia de este último, que necesitaba mucho tiempo
para realizar los traspasos de páginas de memoria. MSDOS incluye un controlador llamado EMM386.
EXE que emulaba la XMS utilizando la EMS.
Existen dos formas de utilizar la XMS:
– Modo protegido: utiliza la XMS directamente (tal es el caso de los sistemas operativos
como Windows NT).
– El modo real: se necesita un controlador de XMS que gestione los accesos a esta memoria.
Tal es el caso de MSDOS y Windows 95. El controlador más conocido es el HIMEM.SYS
Afortunadamente los modernos sistemas operativos nos permiten olvidarnos de este maremag-
num de siglas, técnicas y configuraciones que durante los primeros años del PC complicaron tanto la
existencia a los usuarios.
ESQUEMA INICIAL
1. Equipos de impresión
1.1. Evolución histórica
1.2. Impresoras
1.2.1. Impresoras matriciales o de agujas
1.2.2. Impresoras de tipos (margarita)
1.2.3. Impresoras de banda
1.2.4. Impresoras de tambor
1.2.5. Impresoras térmicas
1.2.6. Impresoras electrostáticas
1.2.7. Impresoras láser
1.2.8. Impresoras de inyección o de chorro de tinta
1.2.9. Impresoras de burbuja
1.2.10. Impresoras de sublimación
1.2.11. Impresoras de ceras (transferencia térmica)
1.3. Conceptos básicos sobre impresoras
1.3.1. Alimentadores de hojas
1.3.2. Soportes de impresión
1.3.3. Memoria RAM
1.3.4. Emulaciones
1.3.5. Lenguajes de descripción de página
1.3.6. Fuentes
1.3.7. Interfaces
1.3.8. Fungibles y consumibles
1.3.9. Panel de controles
1.3.10. Velocidad
1.3.11. Resolución
1.3.12. Impresión en color
1.3.13. Compatibilidad
1.3.14. Conectividad
1.3.15. Nivel de ruidos
1.3.16. Degradación de la calidad de impresión
1.3.17. Multifuncionalidad
1.3.18. Impresión off-line
1.4. Trazadores gráficos (plotters)
2. Unidades de visualización
2.1. Terminales
2.1.1. Evolución histórica
2.1.2. Definición
2.1.3. Clasificación
3. El Teclado
3.1. Conceptos y funcionamiento
3.2. Disposición y funciones de las teclas
4. Dispositivos apuntadores
4.1. Ratón
4.2. Trackball
4.3. Lápiz óptico
4.4. Joystick
4.5. Puntero táctil
4.6. Tabletas digitalizadoras
5. Escáneres
5.1. Principios y funcionamiento
5.2. Tipos
5.3. Reconocimiento Óptico de Caracteres
6. Dispositivos de audio
6.1. Funciones básicas
6.2. Componentes fundamentales
6.3. Muestreo y cuantización
6.4. La conversión digital/analógica
6.5. Síntesis de audio
7. Equipos de comunicaciones
7.1. Módem
7.2. Tarjetas de Red
1. EQUIPOS DE IMPRESIÓN
1.2. IMPRESORAS
Actualmente existe una amplia variedad de impresoras, clasificándose según la tecnología empleada:
– Impacto:
• Matriciales o de agujas
• De tipos (margarita)
• De banda
• De tambor
– No impacto:
• Térmicas
• Electrostáticas
• Láser
• Inyección
• De burbujas
• Sublimación
• De ceras (transferencia térmica)
Las impresoras sin impacto son en general más silenciosas, rápidas y ofrecen mayor calidad
que las de impacto. La transferencia de caracteres al papel se hace mediante técnicas fotográficas,
electrónicas, de inyección, etc., que provocan la impresión de los caracteres y gráficos directamen-
te sobre el papel.
Las velocidades de impresión conseguidas varían desde 30 hasta 900 cps (caracteres por se-
gundo) y más en algunos casos. Son las impresoras más económicas del mercado y para grandes
volúmenes de trabajos con calidad de borrador y media es la tecnología más adecuada. Aunque se
pueden imprimir trabajos en color, el resultado es poco atrayente comparado con el obtenido con una
impresora de inyección o de transferencia térmica.
En la gama de impresoras matriciales existe un modelo orientado a necesidades más exigentes:
las impresoras de línea, con una cabeza estática que abarca toda una línea de impresión, de modo
que ésta se imprime de un golpe (no carácter a carácter). Encuentran aplicación en los grandes CPDs,
donde se requieren altas velocidades de impresión (es posible alcanzar 900 líneas por minuto o lpm).
Tienen la ventaja añadida sobre las impresoras de banda de que también permiten la impresión de
gráficos con calidad de borrador. Es posible utilizarlas para códigos de barras y etiquetas.
El sistema descrito aquí es llamado de escritura negra (Canon). Existe también el sistema de es-
critura blanca (Ricoh), en el que las zonas donde incide el láser en el tambor se cargan de igual carga
que el tóner, por lo que el tóner se adhiere a las zonas donde no incidió la luz.
Todos los datos relativos a una página son almacenados en memoria para su impresión en blo-
que. Estas impresoras son las más rápidas, varias veces más que las matriciales: entre unas pocas
páginas por minuto y 200 ppm. Sus inconvenientes son:
El precio, superior a las matriciales, aunque como actualmente puedan ser compartidas en red,
se han convertido en la opción preferida por muchas organizaciones.
La necesidad de servicio de mantenimiento técnico (limpieza, atenciones preventivas, etc.), es-
pecialmente cuando se trata de impresoras de gran capacidad.
El coste de la sustitución de los fungibles; el precio de un cartucho de tóner es varias veces su-
perior al de una cinta para una impresora matricial.
Entre las características que ofrecen estas impresoras figuran: fuentes escalables, efectos de
texto, gráficos bitmap, gráficos vectoriales y resoluciones de 300, 600 y, en algunos casos hasta de
1200 ppp.
Su aplicación se encuentra en todos los CPDs y de edición electrónica donde se requiere alta
calidad y gran diversidad de opciones (tipos de caracteres, estilos, etc.). Las impresoras láser de baja
capacidad, hasta 20 ppm e incluso 40 ppm, se destinan principalmente a entornos monopuesto de
PCs, estaciones de trabajo y a grupos de trabajo en red.
En los entornos de proceso informático y de edición electrónica (con grandes volúmenes), para
la impresión de trabajos que incluyan fuentes escalables, adición de efectos, empleo de gráficos
vectoriales, gráficos bitmap y resoluciones altas, las impresoras láser representan la selección más
idónea.
Existen dos tecnologías relacionadas aunque no utilizan el láser para crear la imagen. No hay
grandes diferencias en cuanto a fiabilidad, calidad de impresión o precio. Estas son:
– LED (Light Emitting Diode): utilizan otras fuentes de luz para crear la imagen.
– LCS (Liquid Crystal Shutter): utilizan una combinación de lámparas halógenas y de arrays de
cristales líquidos para generar la imagen.
Las impresoras láser también pueden imprimir imágenes a color, que reconstruyen a partir
de tóner de diferentes colores de forma secuencial (un color tras otro). Actualmente estas impre-
soras son muy caras y su calidad no está a la altura de las impresoras de ceras y de sublimación
de tintas.
Tradicionalmente, a las impresoras láser se las ha calificado de antiecológicas, por tener ele-
mentos consumibles no reciclables (tambor, tóner, kit de revelado, etc.). Además, suelen producir
ozono, un gas que respirado continuadamente produce dolores de cabeza. Sin embargo, ya hay
impresoras láser ecológicas, que reducen la emisión de ozono y tienen materiales reciclables o
duraderos.
Las tendencias apuntan a un dominio del mercado por las impresoras láser y de inyección de
tinta, mientras las de impacto quedarán relegadas a aplicaciones específicas (impresiones con papel
autocopiativo, continuo, etc.).
Respecto a la impresión en color, las impresoras de inyección, láser, de sublimación y de ceras
acogerán cada vez más usuarios durante los próximos años, a medida que la necesidad de realizar
trabajos en color con mayores niveles de calidad se incremente y los precios disminuyan.
Una posible solución para mejorar la velocidad de impresión y disminuir el coste se basa en
trasladar la capacidad de proceso de la impresora al ordenador. De este modo se podría eliminar la
controladora de la impresora y la memoria RAM de ésta, dos de sus componentes más caros.
1.3.4. Emulaciones
Este concepto no tiene sentido en impresoras con juegos de caracteres no configurables, como
las impresoras de banda o de margarita. La emulación de uno o más PDL (Page Description Langua-
ge) estándar y la capacidad para instalar nuevas fuentes, son dos medidas muy útiles que evitan que
un periférico se quede obsoleto antes de haber amortizado su inversión.
Entre las impresoras matriciales, las emulaciones más populares son la Epson FX, la IBM Pro-
printer, la Epson LQ Series, la Adobe Systems PostScript, etc. En las láser la PCL 4 y PCL 5 de HP
(el PCL 5 con una velocidad de impresión menor, pero con facilidades de escalabilidad, rotación de
caracteres, y adición de efectos), la PostScript Level 1 y Level 2 de Adobe (el nivel 2 soporta impresión
en color) y la True Type de LaserMaster.
1.3.6. Fuentes
Son el juego de caracteres que se pueden modelar, incluyendo letras, números, signos de pun-
tuación y algunos códigos especiales. Algunos de los tipos de fuentes más populares son: Helvética,
Times, Courier, Arial, etc.
Las fuentes pueden residir en la propia impresora, en un cartucho o en un disco. Las fuentes
residentes son las instaladas por el fabricante y las más fáciles de imprimir, mientras que las fuen-
tes de un cartucho son más costosas y son compradas como una opción. Las fuentes cargables o
blandas residen en el disco del ordenador que utiliza la impresora y son más lentas en la instalación.
Además, cada vez que se enciende la impresora, éstas deben ser cargadas. Para eliminar este último
inconveniente, algunas impresoras ofrecen la posibilidad de instalar un disco duro o una disquetera
en la propia impresora.
Las fuentes escalables (proporcionales y múltiples) aceleran notablemente el trabajo de impre-
sión. Si no se dispone de ellas, por cada tamaño de letra hay que almacenarla independientemente
en la impresora o enviada cuando se transmita la restante información de impresión. En caso de
disponer de fuentes escalables, el aspecto y tamaño de una fuente son incluidos en la descripción
de la página, la definición del tipo de letra ya la posee la impresora. La impresora únicamente tiene
que escalar las fuentes, en lugar de enviar cada tipo, acelerando considerablemente la velocidad de
impresión.
Los tamaños de los juegos de caracteres se miden en puntos (equivalentes a 1/72 de pulgada)
y en caracteres por pulgada (cpi, characters per inch). PCL 4 de HP, PCL 5 de HP, PostScript (Niveles
1 y 2) de Adobe y True Type de LaserMaster son ejemplos de Lenguajes de Descripción de Páginas
que poseen fuentes escalables.
1.3.7. Interfaces
Las interfaces más populares para conectar una impresora a un ordenador son: RS-232, RS-422
(puertos serie que transmiten bits secuencialmente), y Centronics, que funciona de modo paralelo,
y están muy extendidos. Este último es un enlace unidireccional para el envío de 8 bits de datos en
paralelo a la impresora, y que también permite que la impresora notifique al ordenador ciertos men-
sajes (sin papel, desconectada, etc.).
Actualmente existen impresoras conectadas directamente a la red de ordenadores. Esto implica
que todas las informaciones de estado, memoria, carga de trabajo, errores, etc. visualizadas en el
display de la impresora, no pueden ser observadas por el usuario, por la distancia física entre ambos.
La solución pasa por implementar protocolos de comunicaciones bidireccionales que gestionen el
envío de la información de estado referente al funcionamiento de la impresora. Algunos de éstos son
el NPAP (Network Printing Alliance Protocol), el PJL (Printer Job Language) o el SNMP (Simple Network
Management Protocol), muy extendido y aceptado en la actualidad.
1.3.10. Velocidad
La velocidad de impresión tiene diversas medidas en función de la técnica de impresión:
– Páginas por minuto (ppm). Impresoras sin impacto: imprimen la información correspon-
diente a una página completa de una sola vez, como las láser.
– Líneas por minuto (lpm). El mecanismo de impresión realiza la impresión de una línea com-
pleta cada vez, como son las impresoras matriciales de línea, impresoras de tambor, etc.
– Caracteres por segundo (cps). Impresoras que imprimen un carácter cada vez, como en
las impresoras matriciales de carácter, impresoras de margarita, etc.
En el caso de los trazadores gráficos, la velocidad de impresión se mide en:
– Milímetros/segundo (mm/s) para trazadores de plumillas y electrostáticos.
– Páginas por minuto (ppm) para trazadores térmicos, electrofotográficos, láser y de chorro
de tinta.
1.3.11. Resolución
Las impresoras láser y de inyección son los modelos que ofrecen mejor calidad actualmente.
Para la elaboración de cartas, las impresoras de margarita también ofrecen una calidad muy alta,
aunque la elección de los tipos de letra se restringe a las distintas margaritas que posea, y además
su intercambio debe ser manual.
La resolución se expresa en puntos por pulgada (ppp), apareciendo también en su acepción
anglosajona: dpi (dots per inch). Existen muchas tecnologías que mejoran la resolución conseguida
con una determinada plataforma. La RET, Tecnología de Mejora de la Resolución (Resolution Enhan-
cement Technology), modela el tamaño de cada punto para producir una mejor calidad de salida
con una misma resolución (300 ppp). Otras tecnologías son la PQET, Sharp Edge Technology o la de
Photoshop de Adobe (para imágenes y resolución en color).
Dado que la resolución está en correspondencia directa con la calidad de impresión, es intere-
sante mencionar algunos términos relacionados:
– DQ (Draft Quality): calidad borrador.
– NLQ (Near Letter Quality): calidad cuasi-carta.
– LQ (Letter Quality): calidad carta.
– NTQ (Near Typeset Quality): calidad cuasi-tipográfica.
1.3.13. Compatibilidad
Capacidad de la impresora para entender los comandos recibidos desde las diferentes aplicacio-
nes lógicas que la utilicen, sea cual sea la naturaleza de éstas e independientemente de la plataforma
física del usuario, los protocolos de red y el lenguaje de descripción de páginas.
1.3.14. Conectividad
Es una solución que permite compartir las impresoras de red entre los usuarios conectados a ésta.
Estas impresoras han de ser mucho más exigentes en su velocidad de impresión, pues la carga de tra-
bajo crece considerablemente. El inconveniente de adquirir una impresora más cara, dada la velocidad
soportada, se mitiga por la ventaja de la compartición. La impresora deberá estar provista de la interfaz
adecuada para su conexión a red: Ethernet coaxial, Ethernet par trenzado, Token Ring, etc.
1.3.17. Multifuncionalidad
Existen impresoras que añaden otras funciones: fax, fotocopiadora, escáner o módem. Son muy
útiles cuando los requisitos de espacio, coste límite o consumo de energía son muy restrictivos, pero
presenta el inconveniente de que, cuando el equipo se estropea, normalmente lo hacen todas las fun-
ciones con él. Otra opción interesante puede ser la impresión de códigos de barras para direcciones
postales o códigos universales de productos (UPC, Universal Product Codes).
2. UNIDADES DE VISUALIZACIÓN
2.1. TERMINALES
2.1.2. Definición
El terminal de pantalla-teclado constituye el dispositivo físico periférico más habitual en los siste-
mas informáticos centralizados. La pantalla, como dispositivo de salida, tiene como función mostrar
la información requerida. El tipo de información definirá los requisitos exigidos a la pantalla (sólo ca-
racteres, color, gráficos, etc.). El teclado, como dispositivo de entrada, suministra un punto de acceso
al sistema para la introducción de datos.
2.1.3. Clasificación
Se pueden clasificar según diversos criterios: conexión (local o remota), color (monocromo o
color), resolución (alta, media o baja), tipo de exploración (matriz activa, matriz pasiva), etc. La clasifi-
cación más común se basa en la forma de enviar los datos y por la presentación. Generalmente no se
puede elegir cualquier terminal, ya que hay que respetar la forma de comunicación con el ordenador
o el tipo de datos que se quiere visualizar.
Por la forma de enviar los datos:
Un elemento básico y condicionante en la comunicación es la sincronización entre el emisor y el
receptor, con objeto de que la información transmitida sea recuperada correctamente en el destino.
Según la forma de realizar la sincronización tenemos:
– Asíncrono (arranque/parada): el emisor y el receptor disponen de relojes ajustados a la mis-
ma frecuencia que se sincronizan en cada transmisión para garantizar la correcta recepción.
Esto se hace mediante el envío de un bit 0 llamado de arranque, cuya función es arrancar el
reloj del receptor. Posteriormente se envían los datos, normalmente 7 bits por carácter co-
dificados en ASCII (estos terminales se conocen también como terminales ASCII). El último
grupo lo forman uno o dos bits 1, llamados de parada, que separan los bloques transmiti-
dos. Se transmiten pues 7 bits útiles por cada 10 transmitidos (rendimiento del 70%). Si se
aumenta el número de caracteres enviados en una misma transmisión se corre el riesgo de
perder el sincronismo. Estos terminales son los más sencillos y constituyen actualmente una
alternativa barata aunque desfasada en aplicaciones basadas estrictamente en caracteres.
Su velocidad de transmisión generalmente no supera los 9.600 baudios.
– Síncrono: se envían conjuntamente información (datos) y señales de sincronización. Duran-
te la transmisión el receptor se resincroniza permanentemente, lo que permite aumentar la
longitud de la información útil a transmitir. Ésta queda delimitada por una cabecera y una
2.2.1. Introducción
El sistema gráfico es una de las partes más significativas de los modernos ordenadores, ya que
es el componente clave para la comunicación entre el equipo y sus usuarios, ganando mayor impor-
tancia con la generalización de los sistemas operativos con una interfaz gráfica de usuario.
A lo largo de la historia de los ordenadores personales han ido apareciendo estándares con
mayores funcionalidades, especialmente en cuanto a nivel de resolución y número de colores dis-
ponibles
Los primeros terminales pantalla-teclado en aparecer en el mercado fueron los ASCII, que imi-
taban plenamente el modo de transmisión teletipo (TTY) sin apenas ninguna otra funcionalidad adi-
cional. Las exigencias de las aplicaciones que se manejaban obligaron a los terminales a presentar
no solamente caracteres, sino también gráficos y dibujos, lo cual representó un notable cambio en
cuanto a prestaciones y funcionalidades del terminal de visualización.
El sistema de vídeo de un ordenador personal está formado por dos componentes: monitor y
tarjeta de vídeo. Una tarjeta de vídeo es una placa delgada llena de circuitos integrados que se instala
en una ranura de ampliación de la unidad central. El monitor es el dispositivo visual para la presenta-
ción de información. La tarjeta de vídeo se comunica con el monitor mediante un cable que parte del
monitor y llega hasta la tarjeta de vídeo.
Los dos elementos que componen el sistema de vídeo son independientes y se condicionan mu-
tuamente. Por ejemplo, un ordenador con el monitor de color pero una tarjeta monocromo, sólo podrá
visualizar caracteres en blanco y negro. Recíprocamente, un ordenador con la mejor tarjeta de vídeo
en color, pero un monitor monocromo, sólo mostrará letras y figuras en blanco y negro.
2.2.2. El monitor
Es el dispositivo de salida más típico y más usado. La pantalla es normalmente utilizada como sa-
lida estándar en un sistema. Es similar a una televisión, con un tubo de rayos catódicos (CRT, Cathode
Ray Tube), que hace incidir una haz de electrones en la superficie interna de la pantalla, recubierta
de un material fosforescente. Cada posición donde pueden incidir los electrones se corresponde con
un punto o píxel de la pantalla. La imagen se forma por multitud de estos píxeles, encendidos o apa-
gados, y con diferentes colores.
En un monitor la calidad de imagen viene dada por la cantidad y el tamaño de los píxeles: a más
cantidad y menor tamaño mayor resolución. Un monitor de 640x480 tiene por tanto 480 líneas de
exploración (resolución vertical), cada una con 640 píxeles (resolución horizontal).
La resolución viene indicada por el número total de píxeles en el monitor, en la forma: resolución
horizontal x resolución vertical (640x480, 1024x768, etc.). La resolución es una medida de la nitidez
con que se visualizan las imágenes.
Otra medida interesante es el dot pitch, o distancia entre los centros correspondientes a los
puntos de fósforo rojo, verde y azul que forman la tríada de color. Generalmente, un dot pitch más
pequeño implica mayor resolución porque produce gráficos y caracteres más densos. Normalmente
viene dado en milímetros y es del orden de 0,2-0,3 mm.
Sin embargo, la forma de medir la distancia entre los centros varía en función de la tecnología
empleada en el tubo del monitor. Las principales tecnologías de tubos que hay en el mercado son
dos: máscaras de sombra INVAR, y apertura de rejilla, más conocida como Triniton. En dichas
tecnologías se mide de manera diferente el dot pitch: un punto de 0,25 mm de Triniton equivale a un
0,28 mm en máscara de sombra.
Una característica fundamental es el tamaño del monitor, que se define como la longitud de la
diagonal medida en pulgadas (representada por dos comillas: ”). Los valores habituales son:
– 14” (35,4 cm)
– 15” (37,9 cm)
– 17” (43,0 cm)
– 20” (50,6 cm)
– 21” (53,1 cm)
La elección del tamaño de la pantalla dependerá fundamentalmente del tipo de información que
se quiera representar. Por ejemplo, en el caso de visualización de representaciones gráficas de cali-
dad sería ideal tener una pantalla de alta resolución y de un tamaño grande.
Sin embargo, el tamaño del monitor y su AVR (área de visualización real) son conceptos dife-
rentes. Al hablar del tamaño del monitor, se hace referencia la diagonal del tubo de imagen, técni-
camente llamado tubo de rayos catódicos (CRT). El AVR del monitor hace referencia a la longitud de
la diagonal de la pantalla, y dicha medida es variable pues se encuentra en función del fabricante y
modelo. El AVR suele encontrarse entre 13,3 y 14 pulgadas (33,7 y 35,5 cm) en los monitores de 15
pulgadas de tamaño, y de 15,6 a 16,8 pulgadas (39,6 y 42,6 cm) en los de 17.
La imagen en el monitor no es estática. Se forma mediante un haz de electrones que la barre a
gran velocidad varias veces por segundo, siendo este fenómeno imperceptible para el ojo humano (o
casi). La frecuencia de refresco define el número de veces que la pantalla se refresca por unidad
de tiempo. La frecuencia de refresco mínima recomendada por la VESA (Video Electronics Standards
Association) es de 70 Hz para una resolución de 1024x768 píxeles.
Los monitores multiscan o multisync soportan un amplio rango de frecuencias horizontales y
verticales, ofreciendo gran flexibilidad para trabajar con tarjetas adaptadoras gráficas. La mayoría de
los fabricantes ofrece unos cuantos modos preconfigurados, es decir, combinaciones de frecuencias
horizontales y verticales. Cuanto más modos preconfigurados ofrece un monitor, menos probable es
que el usuario tenga que ajustar manualmente la imagen.
También son importantes las clases de controles incorporados en el monitor. Dichos controles
pueden ser de tres clases: analógicos, digitales, o por software. Este último tipo se puede considerar
como un paso atrás pues nos obliga a trabajar con los sistemas operativos para los cuales el software
del monitor incluya utilidades.
Conviene tener en cuenta las normativas que cumplen los monitores en materia de especifica-
ciones sobre emisiones de radiaciones, ergonomía y consumo. Se recomienda que los monitores
cumplan las normativas MPR II y Energy Star, siendo también conveniente que cumplan las normas
TCO92 y TÜV, aunque sería mucho mejor que también cumplieran con las TCO95, especialmente
creadas para cuidar el medio ambiente.
Existen varias tecnologías en la fabricación de monitores:
– Tubo de rayos catódicos (CRT: Cathode Ray Tube): primera tecnología en aparecer y aún
hoy en día la más extendida. Funcionan de forma muy similar a los televisores, aplicando
una técnica conocida como exploración: la pantalla se dibuja constantemente por un haz de
electrones móvil, o tres haces (rojo, verde y azul), según sea la pantalla monocroma o en
color. El haz de electrones impacta sobre las capas de fósforo de la pantalla, produciendo
el brillo que percibe el ojo humano. Este haz (o haces) de electrones realiza un barrido hori-
zontal y otro vertical. La frecuencia de barrido horizontal es del orden de Kilohertzios (KHz) y
la frecuencia de barrido vertical es del orden de decenas de Hertzios (Hz). Esta última indica
la frecuencia de refresco de un monitor. En ocasiones se divide la pantalla en líneas pares e
impares; en un barrido se refrescan las pares y en el siguiente las impares (modo entrela-
zado). Este método produce un ligero parpadeo en el monitor.
– CRTs Digitales: casi el 99% de los monitores vendidos se conectan usando una interfaz
VGA. Esta tecnología representa el estándar mínimo para la conexión de una pantalla de PC.
Hoy día el VGA representa un impedimento para las tecnologías de pantalla plana debido al
incremento de costo al tener que dar soporte a la interfaz analógica. Otro hecho fundamental
es la degradación de la calidad de la imagen producida al convertir señales digitales a seña-
les analógicas.
En otoño de 1998 se formó el grupo de trabajo sobre pantallas digitales (DDWG, Digital
Display Working Group), incluyendo a lideres de la industria como Intel, Compaq, Fujitsu,
Hewlett-Packard, IBM, NEC y Silicon Image, con el objetivo de crear una especificación re-
lativa a la conexión entre pantallas digitales y ordenadores de alto rendimiento, la cual fue
aprobada en su primera versión en la primavera de 1999 y denominada DVI (Digital Visual
Interface), basado en el protocolo de señal digital de Silicon Image conocido como TMDS
(Transition Minimised Differential Signaling). A pesar de que los principales beneficiados de
esta tecnología son los monitores planos, los CRT tradicionales pueden beneficiarse de ella
mediante la recepción de señales digitales desde los controladores gráficos y realizando la
conversión a señal analógica dentro del propio monitor.
– Pantallas de cristal líquido (LCD: Liquid Crystal Display): estos visualizadores cons-
tan de una serie de pequeños elementos cuya agrupación delimita caracteres, números o
signos especiales. En general se forman a partir de 7 elementos dispuestos en forma de
dos cuadrados situados uno encima de otro y con el elemento central común para los dos
cuadrados. Los elementos están compuestos por un líquido especial anisótropo que adopta
transparencia u opacidad en función de que lo atraviese o no un campo eléctrico. Las pan-
tallas LCD tienen la ventaja de ser prácticamente planas, por tanto idóneas para equipos
portátiles. Aunque su coste es menor que el de las pantallas CRT, su calidad también es
menor y el refresco de pantalla es más lento. Las pantallas de cristal líquido no generan luz,
por lo que necesitan otras fuentes de luminosidad para su correcta visualización.
Existen dos tipos de matrices de puntos:
• Matriz activa de puntos (TFT: Think Film Transistor): en la que cada píxel está go-
bernado por un diodo, es decir, una pantalla VGA estándar requiere 921.600 diodos.
Dichos diodos están dispuestos de tal forma que cuando uno de ellos resulta dañado
deja inoperativo todo el sistema de vídeo.
• Matriz pasiva de puntos (DSTN: Double SuperTwist Neumatic): un diodo gobierna
cada fila y otro cada columna. Esta tecnología reduce mucho su complejidad tecnológi-
ca y minimiza el impacto de la rotura de uno de los diodos.
Los modelos con matriz activa ofrecen mejor calidad que los modelos con matriz pasiva,
aunque su precio es muy superior. Las pantallas DSTN sólo se ven bien si el usuario se sitúa
en posición perpendicular a la pantalla, por lo que son ideales para ser empleadas por un
único usuario, mientras que las pantallas TFT se ven bien desde ángulos mucho mayores,
siendo más adecuadas para realizar presentaciones.
– Pantallas táctiles: pueden estar construidas con tecnología CRT o LCD. Son pantallas que
pueden detectar las coordenadas (x,y) de la zona de la propia pantalla donde se aplica una
presión; la pantalla puede contener una red rectangular interna o matriz de hilos conductores
muy finos, donde al presionar con los dedos se hace que entren en contacto determinados
hilos, uno x y otro y. El contacto eléctrico producido permite identificar la posición de un
punto presionado. Otras pantallas de menor resolución funcionan a través de células foto-
eléctricas o incluso mediante una rejilla de haces infrarrojos emitidos delante de la pantalla.
Su principal ventaja es que suministran una interfaz más amigable y más simple al usuario,
pero tienen como inconveniente su falta de precisión al intentar seleccionar una opción entre
varias contiguas.
– Pantallas planas (FST: Flat Square Tube): las pantallas planas mejoran el diseño debido
a que poseen una mayor área de visualización y esquinas casi cuadradas. El diseño menos
esférico de la superficie de la pantalla provoca un control más difícil de la geometría y el foco
de la imagen. Esto es debido principalmente a que en el centro de la pantalla el camino del
rayo es más corto que en los extremos y tiende a concentrarse la energía. Los monitores mo-
dernos utilizan microprocesadores que aplican técnicas de foco dinámico para compensar la
forma plana de la pantalla.
Existen ordenadores con sistemas de vídeo que sólo pueden trabajar en modo texto. Sin embargo
los sistema en modo gráfico permiten trabajar de ambas formas: gráficos o texto. A su vez los siste-
mas gráficos se dividen en diferentes estándares:
(ver tabla en la página siguiente)
ESTÁNDAR RESOLUCIÓN MÁX. COLORES
MDA (Monochrome Display Adapter) 720 x 350 Monocromo
CGA (Color Graphics Adapter) 640 x 200 4
EGA (Enhanced Graphics Adapter) 640 x 350 16
MCGA (Multicolor Graphics Array) 320 x 200 256
720 x 400 (texto) 16
VGA (Video Graphics Array)
640 x 480 (gráfico) 16
256
8514/A 1024 x 768
(En monocromo 64 tonos grises)
XGA (Extended Graphics Array) 1024 x 768 65.000
SVGA (Super VGA) 800 x 600 16 millones
SXGA (Super XGA) 1280 x 1024 Color real
UXGA (Ultra XGA) 1600 x 1200 Color real
A partir del sistema VGA, todos los sistemas soportan los modos de vídeo de sus predecesores (además del propio). Este fenó-
meno se denomina “compatibilidad hacia atrás”. Los colores se eligen de un conjunto mayor denominado paleta
Lo deben soportar los mismos modos de vídeo que el monitor para que estén coordinados y se
pueda trabajar a una resolución igual que la máxima aceptada por el monitor. La llamada memoria de
vídeo almacena la información que se visualiza en pantalla, ya que el monitor es un periférico de los
denominados mapeados por memoria. El procesador escribe en una zona determinada de memo-
ria, que lee el controlador enviando las señales correspondientes a la pantalla.
La cantidad de memoria de vídeo necesaria depende de la resolución y del número de colores.
Para determinarla hay que multiplicar el número de bytes por píxel por el número total de píxeles de
resolución.
Características más importantes de la tarjeta gráfica:
– Resolución: número máximo de píxeles que puede visualizar.
– Número de colores: colores que puede mostrar simultáneamente.
– Velocidad: factor importante ya que el sistema gráfico es uno de los más importantes y de los
que pueden llegar a ralentizar mucho un sistema. Una opción para acelerar el sistema gráfico
son las tarjetas aceleradoras que incorporan o un chip acelerador o un procesador propio.
– Memoria: fundamental para el manejo de grandes resoluciones, con muchos colores y si
interesa ganar velocidad. Generalmente está formada por chips de VRAM.
– Drivers: elemento software que comunica la tarjeta con el sistema operativo.
2.3. TERMINALES X
Son puestos de trabajo que soportan el producto XWindow; suministran una interfaz amigable a
los usuarios mediante ventanas y ratón, y actúan como intermediarios entre la aplicación y el sistema
de presentación. Los terminales X también podrían ser estaciones de trabajo o PCs. La comunicación
entre el terminal X y el procesador correspondiente en un sistema XWindow se define en el protocolo
estandarizado X.11. El juego de librerías que utiliza, también estandarizadas, son conocidas como
XLib.
El sistema X comenzó a desarrollarse para UNIX pero hoy en día existe para otros sistemas: VMS,
DOS, MVS, Ultrix, etc. El sistema X es también abierto, portable e independiente del equipo físico. Los
terminales X se desarrollaron para uso profesional y técnico (segmento medio), en actividades como
la ingeniería, donde se necesitaban altas prestaciones en cuanto a resolución y colores. La generali-
zación del uso de terminales X, debido a su estandarización, ha llevado a sustituir muchos terminales,
incluso los terminales ASCII, que corresponden a los de prestaciones más bajas.
El siguiente es un cuadro comparativo de los distintos segmentos de usuarios y los requisitos
para los terminales X correspondientes:
SEGMENTO
REQUISITOS
DE MERCADO
Pantalla 17-19 pulgadas
Resolución 1280x1024 o mayor
Alto
Hasta 16 millones de colores
16 MB de RAM o más
Pantalla 16-19 pulgadas
Resolución 1152x900 a 1280x1024
Medio
256 colores
8-16 MB de RAM
Pantalla 14-19 pulgadas
Resolución 1024x768 a 1152x900
Bajo
Monocromo, escala de grises o 16-256 colores
Menos de 8 MB de RAM
Resolución 1024x768
Terminales ASCII
Sustitución
Monocromo
Menos de 4 MB de RAM
3. EL TECLADO
La tecnología de los teclados está basada en una matriz de interruptores, mecánicos (teclados
mecánicos) o electrónicos (teclados de membrana).
Cuando se pulsa una tecla se envía una señal digital al ordenador. Cada tecla y ciertas combina-
ciones de dos o más teclas generan una única señal digital.
Cuando se presiona una tecla, se cierra un circuito eléctrico que es detectado por un pequeño
chip incluido en el teclado, llamado controlador del teclado. Este chip genera un código en una me-
moria temporal del teclado, que identifica qué tecla o combinación de ellas fue pulsada. El controla-
dor envía una petición de interrupción a la CPU y, cuando ésta la acepta, se transmiten los códigos
del teclado a la CPU para su análisis.
El tipo estándar de teclado es el QWERTY, llamado así por la disposición de las primeras teclas
en la parte superior izquierda. La disposición de teclas QWERTY no es óptima ya que fue diseñado en
el siglo pasado para dar respuesta a los requisitos técnicos de las máquinas de escribir de la época.
Aunque existen disposiciones más optimizadas, QWERTY ha quedado ya como un estándar. Otro tipo
de teclado es el AZERTY, mucho menos utilizado.
El teclado más usual es el extendido, que consta de 101/102 teclas, incluyendo las teclas de funcio-
nes, las cuales son programables y desencadenan una serie de acciones programadas previamente.
En los teclados hay 12 teclas de función que se sitúan horizontalmente encima de las teclas
de escritura general. La teclas de función se nombran desde F1 hasta F12, y se utilizan dentro de los
programas para activar operaciones especiales. Por ejemplo, en la mayoría de los programas la tecla
F1 visualiza en pantalla un mensaje de ayuda.
El teclado numérico independiente se encuentra localizado a la derecha del teclado. Este te-
clado cumple dos funciones que dependen del estado de una tecla llamada BloqNum, situada en la
esquina superior izquierda del propio teclado numérico.
Si la tecla BloqNum está activa, entonces el teclado es similar al de una calculadora y se ge-
neran los números indicados en las teclas. Pero si la tecla BloqNum está desactivada, entonces las
teclas generan movimientos del cursor.
NOTA: es habitual que las teclas correspondientes a los dígitos decimales,
signos de operaciones básicos y punto decimal estén repetidas para facilitar su
introducción.
Un usuario de ordenador tiene que aprender a utilizar el teclado. Existen teclas especiales que
se deben conocer desde el primer momento, antes de realizar cualquier operación. A continuación se
explica el significado de estas teclas especiales:
– Intro: la tecla Intro, conocida en inglés como Return o Enter, es una de las teclas más im-
portantes. Está señalada en el teclado mediante una flecha hacia la izquierda que forma un
ángulo recto de 90º. En el sistema operativo DOS sirve para indicar el final de una orden o
comando. Todas las órdenes del DOS tienen que terminar siempre pulsando la tecla Intro.
En los editores y procesadores de texto la tecla Intro se utiliza para indicar el final de línea y
pasar a la siguiente línea de texto.
– Retroceso: está situada encima de la tecla Intro, representándose por una flecha hacia la
izquierda. Se utiliza para borrar caracteres, más exactamente, para borrar el carácter situado
a la izquierda del cursor.
NOTA: cuando se utiliza un teclado, por ejemplo con un procesador de textos,
las pulsaciones que realiza el usuario se traducen en la aparición de letras, nú-
meros y caracteres en pantalla. Estos caracteres se visualizan en la posición que
señala un indicador denominado cursor, que suele tomar la forma de una pequeña
barra vertical intermitente.
– Esc: la tecla Esc está situada en solitario en la esquina superior izquierda del teclado. Se
utiliza frecuentemente en los programas de aplicación basados en ventanas para cerrar la
ventana activa y volver al estado anterior.
– Ctrl: la tecla Ctrl (Control) es una tecla que por sí misma no tiene ningún significado, utili-
zándose siempre en combinación con otra tecla.
– Alt: similar a la tecla Ctrl, pues sólo se puede utilizar en conjunción con otras teclas. Utili-
zando la tecla Alt seguida de un número se puede generar cualquiera de los 256 caracteres
del código ASCII que reconoce ordenador.
– BloqNum: las teclas del teclado numérico pueden funcionar como teclas de movimiento del
cursor o como teclas de los números, que sirvan para una cosa u otra depende del estado
de esta tecla.
– Mayúsculas: las dos teclas Mayúsculas, representadas por dos flechas anchas apuntando
hacia arriba, están localizadas a la derecha e izquierda del teclado de escritura general. Igual
que en las máquinas de escribir, sirven para generar letras mayúsculas.
4. DISPOSITIVOS APUNTADORES
4.1. RATÓN
Es el dispositivo apuntador más extendido y estandarizado. Consta de una pequeña cajita plás-
tica con 2 o 3 botones por encima y una bola que gira por debajo. Los movimientos que se hagan
desplazando este dispositivo harán rodar la bola, y se traducirán en movimientos en la pantalla del
ordenador. Al moverse la bola por acción de la mano, hace que se muevan dos rodillos en posiciones
perpendiculares entre sí, que detectan los movimientos en el eje X y en el eje Y, respectivamente.
Existen otros ratones con tecnología óptica, más caros y más precisos. Su funcionamiento es
similar. Tienen debajo un haz de luz en vez de una bola y es obligatorio moverlo encima de una alfom-
brilla metálica con unas rayas horizontales y verticales, formando una cuadrícula. Al moverse por esta
alfombrilla la luz detecta el paso de estas rayas y lo traduce en movimientos del cursor, dependiendo
de si pasan rayas horizontales, verticales o ambas.
4.2. TRACKBALL
Usa la misma tecnología que el ratón. Es prácticamente igual que un ratón invertido, en el que
no hay que mover el aparato entero, sino mover con la mano directamente la bola. Es más exacto, ya
que se tiene más precisión moviendo el dedo pulgar. No cogen polvo y es muy útil en espacios donde
no haya una mesa libre. Por eso se usa en ordenadores portátiles.
Existe también una versión óptica. Se basa en la detección del movimiento de la bola por ele-
mentos optoelectrónicos. La bola es de color rojo con puntos negros de diverso tamaño. La bola se
ilumina por unos LEDs, y un sensor registra los movimientos sin necesidad de contacto directo.
4.4. JOYSTICK
Es una palanca que sale, hacia arriba, de una cajita con varios botones. El movimiento de esta
palanca, inclinándola hacia los lados, se traduce en movimiento del cursor. Es un dispositivo ideal
para juegos. A veces, en equipos portátiles, se incorpora un pequeño joystick entre las teclas G, H y
B del teclado.
forma. Para hacer clic puede que existan unos botones, o también es posible dar un ligero golpecito
sobre la superficie de contacto. No le afecta ni el polvo de la mesa, ni la humedad.
5. ESCÁNERES
5.2. TIPOS
Se distinguen los siguientes tipos de escáneres:
Por la tecnología electromecánica empleada:
– De mano: los escáneres manuales permiten un área de registro pequeña. Como su propio
nombre indica se controlan con la mano, haciéndolo desplazar a lo largo de la imagen que
se desea digitalizar.
Los primeros modelos tenían muy poca resolución, lo que les hizo ganarse fama de juguetes
u orientados a la informática doméstica. Actualmente existen modelos de 400 dpi (dots per
inch) y 16,7 millones de colores; además, mediante equipo lógico, algunos modelos permi-
ten digitalizar imágenes de tamaño muy superior al área de registro físico.
– De sobremesa: consisten en un carro plano de cristal sobre el que se coloca el documento
a digitalizar. Tienen una tapa que los protege de luz y polvo, y unos diodos insertados en
una ranura debajo del carro son los encargados de capturar la imagen. Lo normal es que se
desplace el carro pero en algunos modelos puede que lo que se desplace sean las lámparas.
Estas tienen una vida útil limitada. En el caso de escáneres de color, estos incorporan tres
lentes de los tres colores fundamentales del método aditivo (RGB: rojo, verde y azul). Pueden
ser de blanco y negro o color y con resoluciones de hasta 2400 dpi. En la actualidad son los
más extendidos y pueden ser de dos tipos:
• Flatbed o de lecho estable: el documento original permanece inmóvil mientras su
superficie es barrida por el haz proveniente de la fuente luminosa que se va desplazando
paulatinamente. La calidad de la imagen digitalizada suele ser elevada.
Esta técnica se ve complementada con los ICR (Inteligent Character Recognition), es decir, pro-
cesos software destinados a eliminar y procesar los caracteres individuales dándoles aspecto de
párrafos o páginas colectivas.
Actualmente los sistemas de reconocimiento óptico de caracteres son capaces de leer y reco-
nocer textos manuscritos o escritos a máquina, de imprenta o de impresora, convirtiéndolos en texto
ASCII, editable por el usuario con cualquier programa de tratamiento de textos convencional. En
teoría, un buen OCR es capaz de leer texto de imprenta en varios tipos de letra, en distintos formatos
(columnas, cuadros, etc.) y con caracteres especiales (acentos, signos, ortográficos, etc.). Hasta
hace relativamente poco tiempo, los OCR eran muy imprecisos y propensos a múltiples errores. En
estos momentos se emplean sistemas inteligentes que, con aprendizaje interactivo o con ayuda del
usuario, consultan diccionarios y se corrigen a sí mismos.
Los OCR (Optical Character Recognition) se basan en algoritmos de reconocimiento de patro-
nes provenientes de investigaciones en el campo de la Inteligencia Artificial. Funcionan aislando los
posibles caracteres y comparándolos con los patrones de imagen correspondientes a caracteres
conocidos hasta que encuentren el de mayor parecido, en un proceso parecido al de reconocimiento
de huellas digitales. El tipo de algoritmo que se utiliza es lo que diferencia a unos reconocedores de
otros.
6. DISPOSITIVOS DE AUDIO
La tarjeta de sonido es el dispositivo que procesa la información audible en un ordenador. En este
apartado estudiamos su estructura, funcionamiento y características más importantes.
Desde sus comienzos hasta la actualidad, el PC ha podido generar sonidos de baja calidad me-
diante su altavoz interno. Este altavoz, sin embargo, no es apto para reproducir sonido de alta calidad,
como ocurre por ejemplo en un CD.
La tarjeta de sonido es un dispositivo periférico de entrada/salida que proporciona al PC la capa-
cidad de procesar audio. Hoy en día este elemento es prácticamente imprescindible en un ordenador
personal, dada la cantidad de software que requiere características multimedia; de hecho, algunos
PCs se fabrican con el hardware de audio integrado en la placa base (algo que también ocurre con
las tarjetas de vídeo).
La tarjeta de sonido (o de audio) es un periférico de entrada/salida porque no sólo tiene posibili-
dades de reproducción, sino que sirven también para capturar o grabar información sonora desde el
exterior del PC, ya sea mediante un micrófono o cualquier otra fuente de audio con la interfaz adecua-
da. La tarjeta de sonido puede considerarse como un coprocesador dedicado a gestionar información
de audio, liberando a la CPU de esta tarea.
En conclusión, el DSP de la tarjeta de sonido es el centro de tratamiento de audio del PC; por
ejemplo, la aplicación de efectos como los ecos se deben a dicho componente.
Proceso de muestreo. La línea curva representa la señal analógica a digitalizar. Las x representan las
muestras, tomadas cada 0,3 segundos (es decir, con una frecuencia de muestreo de 1/0,3 Hz)
La calidad del sonido capturado será mayor cuanto mayor sea la frecuencia de muestreo.
Por otra parte, el proceso de cuantización queda caracterizado por un factor denominado reso-
lución del CAD: número de bits utilizados para representar cada muestra. Cuanta mayor resolución,
mejor quedará representada la amplitud de la señal, alcanzándose mejor fidelidad. Resoluciones
demasiado pequeñas causan que la señal reconstruida a partir de las muestras esté distorsionada
por la pérdida de información. En contrapartida, mayor resolución requiere mayor espacio de almace-
namiento para información de audio.
En general, una buena captura de audio se basa en encontrar un buen compromiso entre fre-
cuencia de muestreo y resolución, lo que se traducirá en un equilibrio óptimo entre calidad de audio
y espacio de almacenamiento necesario.
EJEMPLO: Capturamos una melodía de 5 minutos seleccionando los siguien-
tes parámetros (adecuada para grabar sonido procedente de un CD-audio):
– Frecuencia de muestreo: 44.100 Hz
– Resolución: 16 bits
– Sonido estéreo (implica capturar sonido de dos canales diferentes)
Se almacenará la siguiente información: 2 canales x 44.100 muestras/s x 16
bits/muestra = 1.411.200 bits por segundo = 172 Kb por segundo, aproximada-
mente. Si el tema musical dura 5 minutos (300 segundos), se almacenarán 300 s
x 172 Kb/s = 51.600 Kb, y por tanto el fichero WAV
Este tamaño de archivo no es excesivo para el almacenamiento en el PC, pero resulta prohibi-
tivo para descargar el fichero a través de Internet. Para reducir el tamaño del fichero, podría utilizar
11.025 Hz, 8 bits y sonido mono (un solo canal), lo cual corresponde a calidad de teléfono. En ese
caso, el fichero ocuparía alrededor de 3 MB, pero la calidad del sonido sería inadecuada.
lógica (continua en el tiempo y la amplitud). El CDA asocia a cada valor binario un nivel de tensión
previamente establecido, generándolos en intervalos de tiempo constante.
La cuestión a resolver es la siguiente: ¿cómo unir una muestra con la que le sucede? En efecto,
dicha unión es necesaria para hacer que la señal vuelva a ser continua en el tiempo. Existen muchas
técnicas que hacen esto posible. La más sencilla consiste en mantener el nivel de tensión de una
muestra hasta que llegue la siguiente. Otras técnicas más complejas emplean la muestra actual y las
muestras anteriores para predecir la siguiente muestra.
Después de este proceso, la señal aún presenta cierto grado de distorsión. Por ello, se suele
aplicar un proceso de filtrado que suaviza la señal. Si la frecuencia de muestreo y la resolución han
sido apropiadas, la señal resultante será una buena reconstrucción de la señal original.
7. EQUIPOS DE COMUNICACIONES
7.1. MÓDEM
Ver tema 5.
simultaneidad de la comunicación. Debido a la cantidad tan enorme de información que se tiene que
enviar en tiempo real, la RTC no resulta muy adecuada. Lo ideal es usar la RDSI.
– Tamaño: el tamaño del sensor incide en el número de fotodiodos que hay presentes en el sen-
sor y en la resolución máxima soportada. Cuanto mayor sea, mejor. Se expresa en pulgadas.
Las compactas son de pequeño tamaño, idóneas para el fotógrafo aficionado. La imagen se
suele ver a través de un visor o panel LCD. Suelen admitir objetivos intercambiables. Algunas
cámaras ultracompactas son tan pequeñas como un bolígrafo o un paquete de tabaco.
– Resolución máxima/real: número de píxeles o puntos que puede captar el sensor. Cada pun-
to necesita también su correspondiente información RGB (roja, verde y azul), con lo cual este
dato no es el resultado aritmético de multiplicar los puntos por pulgada de la imagen final. De
este modo, la segunda cifra nos indica la resolución real incluyendo la información del color.
– LCD y/o visor: visor LCD y/o óptico para encuadrar la imagen o para incluir los menús. En el
caso del LCD hay que considerar el tamaño de su diagonal en pulgadas.
– Memoria: ranuras disponibles para insertar tarjetas de memoria externa. Hay cámaras que
disponen de una pequeña memoria interna complementaria a la externa.
– Conexiones: puertos de conexión disponibles al PC, TV u otros.
– Abertura máxima/mínima: estos valores indican la abertura máxima y mínima del objetivo.
Cuanto más se abra el objetivo más luz entrará.
– Velocidad de obturación: tiempo durante el cual se abre el obturador para dejar pasar la
luz y así tomar la imagen. Se mide en segundos.
– Balance y exposición: las opciones de balance de blancos son de las mejores característi-
cas de las cámaras digitales. Pueden incluir la opción de fotografiar en blanco y negro, añadir
efectos, brillos, utilizarse de forma manual, etc. También disponen de modos de exposición:
retrato detallado, deportes, paisajes, etc. Esto supone una fijación previa de valores como
profundidad de campo, abertura, obturación, balance...
– Longitud focal: indica la distancia máxima y mínima del cristal exterior de la cámara al pla-
no focal. Cuanto menor sea esa distancia, el ángulo de imagen será mayor, pero el enfoque
será de imágenes a corta distancia. En su máxima separación podremos captar con nitidez
imágenes lejanas, pero con menor ángulo de visión. Está expresada en milímetros. Cuando
la cámara tiene zoom, la longitud focal es variable.
– Longitud focal equivalente: este dato sirve para comparar cámaras digitales con las clásicas.
La distancia focal de la lente de una cámara producirá una imagen de mayor o menor tamaño
dependiendo del que tenga el recuadro donde se proyecte la luz. En una cámara convencional
ese recuadro es el negativo y su diagonal mide 35 mm, pero en una digital es el CCD y mide
mucho menos. Así, un objetivo de menos de 50 mm será un gran angular para una cámara
convencional, pero puede ser un teleobjetivo corto en una digital. Para evitar inducir a errores
se suele hablar del equivalente en 35 mm, de modo que una lente equivalente a 50 mm pro-
ducirá el mismo efecto final que un objetivo de 50 mm en una cámara convencional.
– Zoom O/D/T: aumentos ópticos de la cámara (reales) y los realizados por software (digital).
Donde no llega la longitud focal real puede llegar la digital, pero con menor calidad. También
se dispone del total al sumar ambos aumentos.
– Flash: flash incorporado y su distancia efectiva.
– Objetivo: objetivo intercambiable.
– Software: retoque, gestión de imágenes, etc.
8.10.1. Introducción
El estándar DV apareció como el primer sistema digital de vídeo orientado al mercado de consu-
mo. En 1995 se presentan los primeros modelos de videocámaras basadas en este estándar, convir-
tiendo el vídeo digital en una realidad para el usuario doméstico y aficionado.
1. Zapata para accesorios: pequeñas guías metálicas donde instalar accesorios opcionales
suministrados por el fabricante, por ejemplo un foco de luz o un micrófono externo.
2. Palanca de zoom: maneja el motor del mecanismo de zoom. La velocidad del zoom varía con
la presión que ejerzamos sobre la palanca.
3. Correa de mano: permite sujetar con firmeza la videocámara, evitando el movimiento que
puede afectar a la grabación.
4. Conexiones de audio y vídeo: diferentes entradas y salidas de vídeo analógico, entrada de
auriculares, micrófono, y el puerto FireWire para la transferencia de vídeo digital. Algunos
modelos también poseen un puerto USB o un conector de serie para enviar las imágenes al
ordenador.
5. Acceso a las funciones más utilizadas: botones para funciones habituales como el control
de exposición, enfoque manual o la activación de los diferentes efectos digitales. Además,
también incluye un pequeño botón disparador cuando la cámara se emplea en modo foto-
gráfico.
6. Objetivo: las videocámaras digitales usan objetivos tipo zoom con ángulo de visión variable:
desde una posición en gran angular que toma una porción amplia de la escena, hasta la
posición teleobjetivo, que muestra una vista más cercana.
7. Micrófono integrado: pequeño micrófono estéreo situado en la parte superior para evitar en
lo posible la grabación de ruidos procedentes del motor de la videocámara.
8. Pantalla LCD: display de cristal líquido de alta resolución para enfocar y encuadrar tomas
de vídeo. También funciona como monitor para visualizar el contenido grabado en la cinta.
La pantalla se puede cerrar para ahorrar espacio y girar completamente para orientarla a
conveniencia durante la grabación.
9. Controles de navegación: pequeño panel de navegación que cuenta con los habituales boto-
nes de reproducción, pausa, avance y retroceso para desplazarnos por la cinta.
10. Altavoz: pequeño altavoz monofónico integrado que se utiliza para la reproducción del sonido
grabado en la cinta.
11. Baterías: normalmente del tipo ion-litio con una autonomía que no suele superar una hora
de filmación.
12. Selector de modo: mando para acceder a los modos principales de trabajo de la videocáma-
ra: grabación, reproducción de cinta y modo fotográfico. En el centro de este control se sitúa
el botón con el que podremos iniciar la grabación.
13. Control de menús: las videocámaras disponen de completos menús en pantalla que dan
acceso a todas las opciones posibles. La navegación se puede realizar a través de botones o
mediante una pequeña rueda similar al dial de un receptor de radio. Las videocámaras más
sofisticadas sustituyen estos controles por pantallas LCD táctiles desde las que es posible
acceder directamente a los menús.
14. Visor electrónico: además de la pantalla LCD, un pequeño visor permite ahorrar una cantidad
considerable de batería. Es muy adecuado para ambientes de alta luminosidad.
15. Ranura para tarjetas de memoria: las videocámaras incluyen un modo de trabajo fotográfico
capturando imágenes fijas.
Es importante diferenciar entre el zoom óptico y el digital. El primero se basa en la capacidad real
de acercamiento que poseen las lentes, alcanzando valores de 10x en las videocámaras analizadas,
muy lejos de las espectaculares cifras del zoom digital que, sin embargo, resulta poco práctico por el
deterioro que presentan las imágenes ampliadas por este método.
Los modelos domésticos emplean un único sensor CCD (Charge Coupled Device) para convertir
las imágenes capturadas en señales eléctricas. El CCD es el responsable principal de la calidad de
imagen. Existen dos parámetros a considerar: tamaño y resolución efectiva. El tamaño en una cáma-
ras domésticas suele ser de 1/3 o 1/4 de pulgada (cuanto más grande, mejores resultados obten-
dremos). La mayoría de fabricantes no suele facilitar la cantidad de píxeles efectivos de sus sensores
CCD, indicando únicamente valores de resolución total.
La electrónica de las videocámaras digitales ofrece un sinfín de atractivas posibilidades: efectos
especiales, modos de exposición programados, visión nocturna, función fotográfica, autoenfoque rá-
pido y preciso, ajustes manuales de exposición y equilibrio de color o la posibilidad de elegir diferentes
velocidades de obturación. Además, es importante que la videocámara ofrezca un buen estabilizador
de imagen –óptico o digital– que permita minimizar las sacudidas propias de una grabación manual.
FACTOR
FORMATO MUESTREO TASA DE BITS
DE COMPRESIÓN
Betacam SX 4:2:2 10:1 18 Mbits/s
Disgital Betacam 4:2:2 2:1 90 Mbits/s
Digital S 4:2:2 3:3:1 50 Mbits/s
DV/MiniDV 4:1:1 5:1 25 Mbits/s
DVCAM 4:1:1 5:1 25 Mbits/s
DVCPRO 4:1:1 5:1 25 Mbits/s
DVCPRO 50 4:2:2 5:1 25 Mbits/s
8.10.6. Diseño
Las videocámaras digitales domésticas han alcanzado un sorprendente grado de miniaturización,
debido en gran parte al pequeño tamaño del soporte de grabación: la cinta miniDV. Los modelos ac-
tuales presentan diseños compactos y ergonómicos, provistos de sofisticadas pantallas LCD, visores
electrónicos y multitud de controles de acceso a las funciones más importantes.
Una buena resolución de pantalla LCD es fundamental para conseguir un correcto enfoque y
ajuste de la exposición. Además, dependiendo de las condiciones de luminosidad, un visor electrónico
puede resultar extremadamente útil. La ergonomía es otro aspecto importante, un diseño cómodo es
decisivo a la hora de obtener buenos resultados.
8.10.7. Conexiones
Todas las videocámaras digitales actuales cuentan con un puerto FireWire también llamado i-link
o DV-, a través del cual se realiza la transferencia de vídeo digital hacia dispositivos externos. Para
aprovechar al máximo las posibilidades de la cámara, es importante que este puerto sea bidireccio-
nal, permitiendo también la transferencia de datos hacia la cámara, por ejemplo, para volcar en la
cinta el vídeo editado en el ordenador.
Todas las cámaras disponen de salidas de vídeo analógico (S-Vídeo) y vídeo compuesto que
permite visualizar las grabaciones en un televisor. Una entrada analógica permite digitalizar viejas
grabaciones analógicas. Las entradas de auriculares y micrófono son de gran utilidad para monitorizar
el sonido y reducir la grabación de ruidos del motor de la videocámara.
La función fotográfica requiere ranuras para tarjetas MultimediaCard o Memory Stick. En estos
casos, un conector USB puede ser de gran utilidad para transferir las imágenes al PC.
9.1. CONCEPTO
Las unidades de almacenamiento son dispositivos periféricos del sistema que actúan como me-
dio de soporte para programas, datos y ficheros. Constituyen una parte muy importante de cualquier
sistema o instalación informática. Fueron creados y desarrollados por la industria para responder a las
necesidades de manejar cantidades crecientes de información almacenada.
Las unidades de almacenamiento masivo se utilizan en todos los entornos informáticos existen-
tes: mainframes, cliente-servidor, monopuestos de sobremesa, portátiles, etc. Destacan los dispo-
sitivos de acceso directo o DASD (Direct Access Storage Devices), constituidos principalmente por
unidades de disco, y los dispositivos de acceso secuencial, representados fundamentalmente por las
unidades de cinta magnética.
La película magnética y el soporte físico determinan las características del medio. Las caracterís-
ticas más importantes son las siguientes:
– Uniformidad de la superficie: La superficie del soporte no debe presentar rugosidades,
manteniendo la capa magnética uniforme y lisa.
– Estabilidad del soporte: El paso del tiempo no debe alterar ni la forma ni el tamaño del
soporte. Cualquier alteración modificaría la posición de los puntos de memoria ocasionando
problemas de lectura. Se dice que el soporte ha de ser estable.
– Tamaño de la partícula: Los dominios magnéticos son proporcionales a las partículas de
la capa magnética. Cuanto más pequeño su tamaño, mayor número de dominios caben por
unidad de superficie aumentando la capacidad de almacenamiento.
– Grosor de la capa magnética. Cuanto más fina sea la capa magnética, más pequeños
pueden ser los dominios y por tanto alcanzamos mayor densidad de grabación. En contra-
partida una capa fina ocasiona señales de lectura más débiles.
– Fuerza coercitiva: La fuerza coercitiva mantiene el material magnetizado. Por otra parte, la
tendencia a la desmagnetización (pérdida de la información) es mayor cuanto más pequeños
sean los dominios.
– Densidad de flujo residual: La señal de lectura es directamente proporcional a este factor,
por lo que interesa que éste sea grande. La densidad de flujo residual crece además propor-
cionalmente a la fuerza coercitiva.
Densidad
Cód. Descripción Reloj Aplicación
Grabación
Discos y
Idéntico al NRZ, introduce un impulso auxi- Mitad que disquetes de
FM Autocontenido
liar de reloj por bit con NRZ densidad
simple
.../...
.../...
Disquetes
Idéntico al FM, se eliminan los impulsos Doble que
MFM Autocontenido de doble
de reloj innecesarios con el FM
densidad
10.3. CAPACIDAD
10.3.1. Discos
La capacidad de almacenamiento en los discos se organiza en cilindros, pistas y sectores. Un dis-
co es un sistema de varias superficies y cabeza móvil, aquellas pistas que se acceden en una misma
posición de la cabeza constituyen un cilindro.
Una pista es la franja del disco que gira delante de una cabeza. En los sistemas de cabeza fija
cada una de éstas define una pista, mientras en los sistemas de cabeza móvil cada posición de la
cabeza define una pista. Las pistas se encuentran divididas en unidades menores denominadas seg-
mentos. Un sector lo constituye el conjunto de segmentos concéntricos de cada una de las pistas.
La unidad de información transferida en un acceso es el sector (definido en el formateo inicial).
Los disquetes dividen su superficie únicamente en pistas y sectores, los sistemas de varias superficies
tienen además cilindros. El acceso a la información deseada exige la selección de la cabeza adecua-
da, su posicionamiento (en caso de ser móvil) y la interpretación de la información leída de la pista,
para llegar a seleccionar el sector deseado.
NOTA: Antes de utilizar un disco es necesario una operación preliminar que
los prepara para su uso. Se denomina formateo. Cuando se formatea un disco,
el sistema operativo elimina toda la información previamente existente (si el disco
ya había sido utilizado) o lo prepara físicamente para su primer uso (en caso de un
disco nuevo). Entre estas operaciones se encuentran la comprobación de sectores
y la marcación de aquellos que resulten inservibles, además se crean las tablas
internas que se utilizarán posteriormente para asignar espacio a la información que
se almacene.
No toda la capacidad de la unidad de almacenamiento es aprovechable. Durante el formateo se
especifica la información de direccionamiento, y en algunos casos la de sincronismo, que permiten
que la información que se almacene en estos dispositivos se pueda recuperar. Por ello, de la capaci-
dad de almacenamiento bruta del dispositivo sólo se puede destinar para el almacenamiento de datos
un determinado porcentaje: la capacidad de almacenamiento neta o capacidad formateada.
10.3.2. Cintas
La capacidad de almacenamiento bruta de las cintas viene determinada por su longitud y por la
densidad de grabación (bits grabados por pulgada). Como en los discos, también se guarda informa-
ción de dirección para acceder a los datos deseados. Además, las poleas necesitan tiempo para parar
y alcanzar la velocidad de régimen de la cinta, necesitándose unas zonas muertas entre los registros
denominados IRG (Inter Register Gaps). Para disminuir su número los registros se agrupan en bloques
o ficheros, sin claros entre ellos, con un directorio en su cabecera que especifica los registros que
contiene. Al final del fichero se acompaña la información para la detección de errores y de fin de
registro. Este proceso definitorio se realiza durante la operación de formateo de la cinta.
10.4.1. Discos
Viene determinado por el tiempo que tarda en posicionarse la cabeza de lectura-escritura en la
pista deseada (tiempo de búsqueda) más el tiempo que tarda la información de la pista en pasar
delante de la cabeza (tiempo de latencia). Estos tiempos siempre se expresan en valor medio, porque
tanto el tiempo de búsqueda como el tiempo de latencia dependen de la posición de partida y de la
posición deseada. En las tecnologías ópticas el tiempo de acceso es muy pequeño, dado que el láser
accede a cualquier zona del disco muy rápidamente, pero todavía alcanzan los valores medios de
acceso de los discos magnéticos.
10.4.2. Cintas
Estos dispositivos tienen una naturaleza secuencial, por lo que la unidad lectora debe explorar la
cinta sucesivamente hasta hallar una información específica. Por consiguiente, a mayor capacidad de
almacenamiento, mayor longitud de la cinta y mayor tiempo de acceso medio.
El tiempo de acceso en este caso viene determinado por el tiempo que tarda en posicionarse la
cabeza de lectura-escritura al inicio del registro que se quiere leer, más el tiempo que tarda la infor-
mación de la cinta en pasar delante de ella.
Existen sistemas que resuelven en parte esta desventaja: La técnica QFA (Quick File Access) crea
un índice para el contenido de la cinta, leída por el equipo lógico de lectura para acceder directamen-
te a la zona donde se encuentran los datos solicitados. En primer lugar se consulta la tabla y después
se avanza a la posición obtenida sin necesidad de recorrer todos los datos de la cinta.
dimiento leyendo con antelación peticiones de datos de salida o almacenando datos de entrada y
guardándolos en memoria intermedia hasta que la unidad esté libre. El inconveniente de la utilización
de esta caché es que la información siempre necesita pasar a través del bus de Entrada/Salida del
ordenador.
La caché lógica se basa en un programa que gestiona parte de la RAM del sistema como an-
tememoria del subsistema de almacenamiento. La información es directamente accesible por el
procesador utilizando el bus local. Su inconveniente es que está limitada por la memoria disponible
en el sistema.
10.8. MOVILIDAD
En un método de almacenamiento removible es imprescindible que los dispositivos de soporte
permitan intercambiar información de un sistema a otro, sin necesidad de realizar conexiones inter-
nas, garantizando la fiabilidad e integridad de los datos.
10.9. COMPATIBILIDAD
La compatibilidad entre un ordenador y los dispositivos de almacenamiento, así como con otros
sistemas que puedan existir en el futuro, asegura la inversión y la recuperación de los datos.
11.8. STREAMERS
Una de las tareas informáticas más importantes desde el punto de vista de la seguridad de la
información es la realización de copias de seguridad o backups. Una de las formas más avanzada para
poder llevarla a cabo con rapidez y garantías es el uso de un streamer.
El streamer es un dispositivo que se conecta, interior o exteriormente, al ordenador y me-
diante un software realiza la copia de la información contenida en el disco duro a una cinta au-
tomáticamente. Mediante este mismo software podemos recuperar parte o toda la información
contenida en dicha cinta, transfiriéndola de nuevo al mismo disco duro de donde se copió o a
otro diferente.
La mayoría de los programas de backup permiten realizar copias de seguridad de dos maneras
básicas:
– Copia de imagen completa: Método más rápido de efectuar una copia completa de un
disco duro y la que menos atención requiere. Tiene la contrapartida de importar todos los
errores que tuviera el disco duro.
– Copia selectiva: Copia únicamente los datos que se le indique mediante el criterio de se-
lección (de ficheros y directorios). Se almacenan en bloques contiguos optimizando el medio
de grabación.
Generalmente, la copia de seguridad de los discos duros se realizará diariamente, aprovechando
períodos en que no se realice ningún tipo de tareas sobre el mismo. Para ello se ha de introducir
una cinta dentro del streamer y a través del software programar el tipo de copia que se quiere reali-
zar, una vez configurado se realizará la copia en dicha cinta. Es muy conveniente realizar las copias
programando en distintas cintas por días alternos para evitar que alguna copia se realice en cintas
defectuosas.
Existen distintos tipos de streamer según el estándar de cintas que utilicen. Los streamer han
evolucionado tanto en el software como en el hardware. Una tendencia tecnológica tiene el objetivo
de que el streamer pueda realizar una copia de seguridad de una forma automática, sin ser atendido
por ningún operador. Para conseguir esto cada día van apareciendo cintas de backup más rápidas y
de mayor capacidad, software más sofisticado, mejores interfaces y más alta velocidad de transfe-
rencia de datos a la cinta.
Una operación de formateo incluye, al igual que en las cintas magnéticas, zonas reservadas o
gaps. Estos gaps se deben al tiempo de conmutación de la electrónica de la cabeza para pasar de
lectura a escritura y viceversa. Estas zonas son mucho menores que en el caso de las cintas.
Como se ha explicado anteriormente, la información se estructura en sectores, siendo un sector
la mínima cantidad de información que se transfiere en una operación de lectura o escritura. El for-
mato puede ser de tipo hardware o software. En el primer caso, existen unas marcas físicas fijas que
indican el comienzo de cada sector de tamaño fijo. En el segundo caso, suele existir una única marca
que indica el principio de las pistas que se denomina índice.
Respecto al mecanismo de rotación, el eje de la disquetera se fija a un eje de metal que se ex-
tiende en la parte inferior de la caja del disquete y está fuertemente adherido al disco. Para la lectura
y escritura de estos dispositivos, la superficie del disco gira en cualquiera de los dos sentidos delante
de la cabeza de lectura-escritura que posee la disquetera.
Además de las diferencias expuestas entre disquetes de 5¼ y 3½, se hace otra subdivisión den-
tro de cada tipo según la densidad o capacidad del disco. Existen disquetes de densidad doble (DD
Double Density) y de alta densidad (HD High Density). La diferencia entre los disquetes de doble y
alta densidad es muy simple: los segundos pueden almacenar el doble de información que los prime-
ros. Actualmente se utilizan casi en exclusiva los disquetes de 3½ de alta densidad.
Discos magnéticos.
A la izquierda podemos apreciar un disco duro y a la
derecha una disquetera de 3½ pulgadas con un disco
sobre ella
cidad definitiva, que será de 1.024 cilindros (máximo de la BIOS), 16 cabezas (máximo del IDE) y 63
sectores (máximo de la BIOS), originando un total de 528 Mb.
Para superar esta traba la BIOS debe implementar un modo de trabajo conocido como LBA, que
traduce el esquema CHS a otro de direccionamiento lógico. Esta operación es totalmente transparen-
te al sistema operativo y al software en general, y aporta la evidente ventaja de poder acceder a todo
el espacio disponible del disco duro del ordenador.
Cuando una BIOS no soporta esta técnica es preciso emularla por software; para ello, el
fabricante de la unidad suele poner a disposición del usuario utilidades especiales que, en forma
de driver residente, consiguen “engañar” al sistema y obtener el mismo efecto que el LBA por
BIOS.
12.4. OTROS
– Tarjetas PCMCIA (PC Memory Card International Association): Son dispositivos basados en
HDs diminutos, del tamaño de una tarjeta de crédito. Se utilizan generalmente en equipos
portátiles.
– Unidades ZIP: Estas unidades están adquiriendo una importante popularidad en el mercado
actual debido a su bajo precio y a su flexibilidad. Desde el punto de vista del usuario funcio-
nan como disquetes de alta capacidad. Son transportables, rápidas, se conectan al ordena-
dor fácilmente, tienen un cómodo formato y su capacidad supera más de 100 veces la de
un disquete de 3½, por lo que los hacen ideales para muchos segmentos del mercado.
tanto, las aplicaciones con numerosas operaciones de escritura pueden sufrir descensos
en el rendimiento. No obstante, otras unidades de la batería pueden seguir leyendo datos
durante la operación de escritura, contribuyendo a mejorar el rendimiento general de la E/S
de la batería. Debido a la información de paridad, este es el más apropiado para aplicaciones
con un elevado número de operaciones de lectura respecto a las de escritura.
– Nivel 6: Añade un nivel más de discos, resultando una organización con dos dimensiones
de discos y una tercera que corresponde a los sectores de los discos. La ventaja consiste en
que se puede recuperar un error de entre dos discos y además es posible recuperar muchos
errores de tres discos. La operación de escritura es difícil debido a la necesidad de sincroni-
zar todas las dimensiones. Esta organización funciona como el nivel 0 de RAID en cada una
de las dos dimensiones de discos, y como el nivel 1 de RAID en la operación entre las dos
dimensiones de discos. El acceso es simultáneo en cada una de las dimensiones indepen-
dientes de discos.
Coste de duplicar el
Gran porcentaje de
1 Alta disponibilidad almacenamiento y no mejora
escritura sobre lectura
la velocidad de acceso
Grabación de datos
Menor porcentaje de
2 en distintos discos División a nivel de bit
escritura sobre lectura
simultáneamente
Dichas burbujas son estables, siempre que se mantenga el campo magnético de polarización.
Además, se pueden manipular haciéndolas avanzar, dividiéndolas, eliminándolas y detectándolas. Se
constituye así una memoria de propagación, en la que la existencia de una burbuja indica un 1 y su
ausencia un 0.
Las características de las pastillas de estas memorias son las siguientes:
– Capacidad del orden de 1 Mbit.
– Tiempo de acceso del orden de 10 ms. En la lectura hay que esperar a que las burbujas co-
rrespondientes al bucle interno deseado alcancen la conexión al bucle externo y circulen por
este bucle hasta el transductor de lectura, necesitando un proceso similar en la escritura.
– Velocidad de transferencia del orden de 150 Kbits/s.
– Memoria de propagación.
– No es volátil. Si se deja de alimentar, pero se mantiene el campo de polarización (por ejem-
plo mediante imanes permanentes), las burbujas se paran pero no desaparecen.
– El direccionamiento requiere grabar información de dirección con los datos.
– La lectura es destructiva: hay que reescribir lo leído para conservarlo.
14.1. CDROM
Son unidades de sólo lectura, cuya aplicación principal es similar a la memoria permanente tipo
ROM o PROM. Son prácticamente iguales que los Compact Disc de música y se encuentra protegidos
por una carcasa de plástico. El tiempo de acceso varía de 100 a 250 ms y tiene una velocidad de
transferencia de hasta 200 Kbytes/sg. Ofrecen una capacidad de almacenamiento que oscila entre
500 y 700 Mb.
Como todo disco el CDROM gira dentro de la unidad gracias a un motor. A diferencia de los dis-
quetes y los discos duros, la lectura de un CDROM no se realiza por medios magnéticos sino ópticos.
La combinación de la velocidad del disco con la precisión del láser permite una gran capacidad de
lectura fiable en poco tiempo.
Un CD-R estándar está formado por tres capas principales: una capa plástica de protección, una
capa reflectante de aluminio, y una capa de policarbonato. Entre estas dos, hay una nueva capa com-
puesta de tinta orgánica fotosintética. El láser grabador marca físicamente una serie de pits –hendi-
duras–, con una potencia situada entre los 4 y los 8 milivatios, en la capa de tinta. Esta sustancia, al
recibir calor, se vuelve opaca, debido a una reacción química.
En estos dispositivos los datos binarios se presentan mediante combinaciones de pits a lo largo
de una espiral. Durante el proceso de lectura, el haz de un rayo láser recorre la espiral a una velo-
cidad lineal constante, interpretando los llanos y depresiones como unos y ceros, según la diferente
reflexión que experimenta el rayo cuando encuentra unos u otros.
Estos discos ofrecen una gran capacidad de almacenamiento en un espacio mínimo. Reciente-
mente la tecnología ha evolucionado acercando a los usuarios máquinas que permiten la grabación
de CD. Los primeros en aparecer fueron los llamados WORM. En estos aparatos es posible grabar
datos, mediante un haz de láser de más potencia, sobre un disco virgen, pero sólo una vez. Hoy,
sin embargo, esa tecnología ha evolucionado hacia los discos magneto-ópticos en los que mediante
tecnología láser se puede leer, grabar y borrar información tantas veces como se necesite.
La vida media de un CD es teóricamente ilimitada, dado que en lectura nunca hay contacto
físico con el disco. Las unidades de CD incluyen, además del mecanismo para la lectura, una tarjeta
controladora que se conecta en una ranura libre del ordenador y, si es necesario, los cables de ali-
mentación y conexión.
Para controlar de forma lógica la unidad de discos CDROM suele ser necesaria alguna exten-
sión de software para el sistema operativo instalado. En MSDOS, por ejemplo, esto se consigue
mediante una serie de controladores o programas especiales que se añaden a la configuración
del sistema. Habitualmente, las unidades de CDROM se comportan como unidades de disco duro
adicional, en las que se pueden ejecutar programas, importar ficheros o simplemente escuchar
música.
Los CD-ROM grabables se llaman CD-R, si se graban una sola vez, y CD-RW,
si pueden grabarse y borrarse varios miles de veces.
utilizarse por las dos caras. El tiempo de acceso y de transferencia son similares a los de los discos
WORM.
Con estas características, estos discos aglutinan las ventajas de fácil uso y transportabilidad de
los disquetes y la fiabilidad, durabilidad y capacidad de almacenamiento de los discos ópticos.
A la hora de evaluar una regrabadora, hay que analizar seriamente el software incluido. Debe
tratarse de versiones completas con soporte para todos los tipos de grabación posibles: multisesión,
DAO, TAO, por paquetes incrementales, etc.
15.1.1. PCMCIA
PMCIA, la Asociación Internacional de Tarjetas de Memoria para Ordenadores Personales estable-
ció el primer estándar del mismo nombre en 1990 (versión 1.0). Posteriormente se ha ido actualizan-
do hasta la versión 8.0. Se trata de una tarjeta de considerables proporciones si la comparamos con
el resto de tarjetas posteriores, pero que se ha convertido en un estándar para PC portátiles.
NOTA: PCMCIA (Personal Computer Memory Card International Association).
Tipos de tarjetas PCMCIA. Todas las PC Card pueden insertarse en zócalos diseñados para el tipo superior, pero el tipo superior
no puede insertarse en el zócalo destinado al inferior
CURIOSIDAD:
La SDMI (Secure Digital Music Initiative, Iniciativa para la Música Digital Segu-
ra), bajo la tutela de la RIAA (Asociación Americana de la Industria Discográfica),
agrupa a 200 compañías y sellos discográficos como EMI o Warner. Su objetivo es
crear un estándar de seguridad para la protección de archivos musicales digitales.
Actualmente, la versión 1.0 se basa en marcas de agua, sistema desarrollado
por Verance Corporation (www.verance.com). Una variante de esta tecnología viene
siendo utilizada en España por la sDae (Sociedad Digital de Autores y Editores) y la
SGAE (Sociedad General de Autores y Editores) para identificar las obras musicales
del repertorio de sus socios y así perseguir las copias ilegales mediante su rastrea-
dor de Internet Araña.
Con una variante de este mismo sistema, la SDMI persigue impedir las copias
ilegales mediante su encriptación. Para poder ser utilizado, las tarjetas de memoria
que lean el archivo deben disponer de una identificación particular –ID– y el disposi-
tivo lector debe ser compatible con este sistema –actualmente no existe ninguno–.
Las marcas de agua son un código que se inserta en el archivo, inaudible por el
oído humano, pero identificable por software o por reproductores que lo soporten.
15.1.2. CompactFlash
El estándar CompactFlash (CF), basado en el estándar PCMCIA, fue aprobado por la Asociación
CompactFlash (CFA) establecida en octubre de 1995 por 12 compañías.
Su premisa partió de introducir una nueva clase de almacenamiento de bajo peso y bajas nece-
sidades energéticas. Las funciones serían capturar, retener y transportar datos, audio e imágenes.
Actualmente 205 compañías son miembros de la asociación.
En cuanto a tamaños, podemos encontrar las CF Tipo I de 3,3 milímetros de grosor y la CF Tipo
II de 5 milímetros. Las CF I pueden ubicarse en puertos para CF I y II, pero las CF II sólo encajan en
puertos CF II.
El último estándar aprobado es la versión 1.4, e independientemente de las anteriores divisio-
nes recoge otras dos: por un lado están las CompactFlash que se identifican como dispositivos de
almacenamiento (con memoria Flash) y por otro las CF+, con funciones adicionales: incluir discos
magnéticos (no memoria Flash), módulos adicionales de comunicaciones (Ethernet, módem, Blue-
tooth, Wireless LAN, etc.) u otro tipo de módulos (cámaras fotográficas digitales). Ambas pueden ser
de tipo I o II.
Las tarjetas CompactFlash de almacenamiento están diseñadas a partir de tecnología Flash, so-
lución basada en un chip de memoria no volátil que no requiere energía constante para mantener los
datos de forma indefinida. Su principal beneficio es que se trata de un dispositivo pequeño y portable,
y muy resistente, ya que no tiene piezas móviles.
Una tarjeta CompactFlash (CF) incluye un único chip controlador y un módulo que puede consistir
en memoria Flash o en un módulo complementario con diversas funciones: módem, tarjeta Ethernet,
Bluetooth, Wireless LAN, puerto adicional USB, etc. En una tarjeta CompactFlash de almacenamien-
to, el controlador gestiona los protocolos de intercambio, el almacenamiento de datos, su propia
alimentación y dispone de un sistema propio de diagnóstico y corrección de errores. El controlador de
las CF+ puede incluir más funciones, debido a la heterogeneidad de los módulos instalables.
Todas las CF están debidamente identificadas con la información contenida en CIS (Card Infor-
mation Structure). Estos registros de configuración describen la funcionalidad y características de la
tarjetas. De este modo favorecen el acceso a la información.
Relativamente reciente (mayo de 2001) es la aprobación por parte de la asociación Compac-
tFlash del sistema de codificación CPRM (Content Protection for Recordable Media) para las futuras
tarjetas Secure CompactFlash, entre otros proyectos. Las tarjetas Secure CompactFlash son com-
pletamente compatibles hacia atrás con las CF.
De acuerdo con SDMI cada CF lleva su propio ID para proteger el copyright. Ese identificador
es usado para desencriptar la música que es descargada o comprada. Sin embargo, todavía no hay
ningún reproductor MP3 que utilice este sistema de seguridad.
15.1.3. SmartMedia
El estándar SmartMedia fue aprobado por la asociación PCMCIA en 1999. Desarrolladas por Tos-
hiba y Samsung, las tarjetas SmartMedia o SSFDC (Solid State Floppy Disk Card) luchan por hacerse
un hueco en el mercado.
Utilizan un terminal de 22 contactos. Disponen de capacidades entre los 8 y 128 MB y no dispo-
nen de controlador como las CF. El hecho de no disponer de controlador reduce costes, pero obliga a
tener que ubicarlo en los dispositivos lectores (cámaras, reproductores MP3, etc.).
El aspecto negativo es que algunos dispositivos no reconocen las nuevas tarjetas. Están dis-
ponibles dos versiones, 5 y 3,3 voltios, pero soporta ambas la vez como las tarjetas CF. El tamaño,
eso sí, es mucho menor, sobre todo en grosor (0,76 mm). Internamente, se trata de una memoria
formateada en FAT DOS.
El estándar recoge dos tipos de SSFDC dependiendo de la memoria que lleven. Por una parte es-
tán las que disponen de memoria Flash y por otra las que tienen Mask ROM. La Mask ROM funciona
igual que la memoria Flash pero no se puede grabar sobre ella. Por ejemplo, las casas discográficas
pueden utilizarla para grabar música original y que se pueda escuchar en reproductores MP3. La me-
moria Flash siempre funciona con 3,3 voltios y la Mask ROM puede utilizar ambos (3,3 y 5).
Por otro lado, si la tarjeta monta memoria Flash, puede incluir dos chips en vez de uno, lo que
aumenta su capacidad. Una tarjeta SSFDC con memoria Flash que utilice 3,3 voltios tendrá una
muesca en su parte superior derecha. Las que soporten 5 voltios la llevan en la parte superior iz-
quierda. Esto impide utilizar tarjetas en dispositivos no preparados a tal efecto. Las tarjetas SSFDC
también llevan protector en forma de círculo, para evitar escrituras no deseadas, que se puede tapar
con una pegatina.
Estas tarjetas, al igual que las CF, llevan un único identificador ID diseñado para evitar la dupli-
cación de música pirata. También tienen un sistema propio de detección y corrección de errores para
las transacciones de datos. Pese a no tener controlador, las tarjetas SmartMedia sí disponen de CIS
(Card Information Structure), que informa sobre su estructura e identifica el dispositivo.
Respecto a las primeras memorias, se ha mejorado en velocidad al utilizar la Flash NAND, desa-
rrollada por Toshiba, ya que las transacciones de datos se realizan en pequeños paquetes (512 kB
para la escritura, 8 y 16 kB para el borrado). No dispone de más posibilidades como la CF, así que no
se pueden utilizar módulos, como módems o tarjetas de red. Físicamente está realizada sin soldadu-
ras, el chip se fija con resina a la base y los contactos se ubican sobre la misma.
CURIOSIDAD:
Para almacenar grandes cantidades de imágenes
sin tener que salvarlas en el PC cada vez que se llene la
tarjeta de memoria, existen discos duros portátiles bajo
la forma de un lector de tarjetas CompactFlash y Smar-
tmedia. El dispositivo realiza un volcado completo de la
tarjeta de memoria insertada, posibilitando su reutilización
inmediata. Además, utilizando adaptadores, admite Multi-
mediaCard, Secure Digital y Memory Stick. Puede alimen-
tarse desde un automóvil o desde la red eléctrica, aunque
no puede editar las imágenes o borrar el contenido de la
tarjeta de memoria. Se conecta al PC a través del puerto
USB y puede montar discos duros de distintas capacida-
Tarjeta SmartMedia des (10, 20 o 30 GB).
acompañada de un adaptador
Tarjeta MultimediaCard
En su especificación se recogen dos tamaños posibles: 2,1 y 1,4 milímetros de grosor. Puede
utilizar memoria Flash, ROM, comunicarse mediante los protocolos Secure Digital o SPI. Por otro lado,
no incluye la posibilidad de soportar dispositivos de entrada y salida (modems, puertos USB).
Tarjetas SecureDigital (SD). Las SD podrían confirmarse como la alternativa más seria a las tarjetas SmartMedia.
15.1.7. MemoryStick
La tarjeta más “estirada” de todas es obra de Sony. Se basa en memoria Flash, pero con la
posibilidad de montar diversos módulos, esta especificación tiene aplicación asegurada en varios
dispositivos de Sony: cámaras fotográficas, reproductores MP3, ordenadores portátiles, etc.
Físicamente se trata de una tarjeta alargada finalizada en un extremo con 10 pines y una mues-
ca. Exteriormente podemos distinguir un conector para evitar el borrado involuntario. Dispone de con-
trolador, posibilidad de montar memoria Flash o módulos de comunicaciones y sistema de protección
de errores. Es de color azul, que sería blanco si la tarjeta fuera MagicGate Memory Stick (que dis-
pone de un nuevo sistema de desencriptación para el formato ATRAC3 –utilizado por los MiniDisc–).
Se trata de un nuevo formato de audio comparable en calidad al MP3. Sólo los lectores que puedan
descodificar ATRAC3 (Adaptive Transform Acoustic Cording) podrán utilizar un MagicGate Memory
Stick. Otro tipo de contenidos, datos, fotos o archivos, no está protegido con este sistema.
Un nuevo formato, el Memory Stick Duo, reduce el tamaño y el peso a casi la mitad. Se utiliza
para dispositivos ultra compactos, pero mediante un adaptador también puede utilizarse en las tra-
dicionales ranuras Memory Stick. Tiene un controlador interno dedicado y utiliza un protocolo único
para Memory Stick. Dispone de sistema de detección y corrección de errores. Utiliza memoria Flash
NAND, empleada actualmente por casi todas las tarjetas que utilizan memorias Flash, que permite
borrar y escribir en bloques.
Tarjetas MemoryStick
Por otra parte, también existen en el mercado adaptadores que permiten el uso de una tarjeta
con la interfaz de otra, en otras palabras, los adaptadores facultan el uso de una tarjeta en dispositi-
vos preparados para otro tipo.
15.2. PENDRIVES
Hasta ahora, para transferir datos desde un ordenador a otro teníamos que utilizar varias cajas
de disquetes, grabar un CDROM, trasladar físicamente el disco duro. Existe la posibilidad adicional
de enviar un e-mail, pero esto requiere mucho tiempo de transferencia cuando se trata de un gran
volumen de datos.
La solución revolucionaria a este problema aparece con los dispositivos PenDrive. Acceder a
datos y transportarlos nunca ha sido tan sencillo.
PenDrive es un dispositivo USB de memoria flash, capaz de soportar hasta 2GB de espacio de
disco. PenDrive es plug and play, se enchufa simplemente en cualquier puerto USB y el ordenador lo
detecta automáticamente, pudiéndose leer, escribir, copiar, borrar y mover datos desde el disco duro
al PenDrive o viceversa. En los modelos más avanzados se puede incluso reproducir archivos MP3,
ejecutar aplicaciones, visualizar pequeños vídeos directamente desde el PenDrive, etc.
El PenDrive USB de memoria flash se ha convertido en la llave para transportar datos.
Los PenDrive también soportan flash ROM (EEPROM) para ISP (In-System Programming), que
permite actualizar el firmware del sistema en cualquier momento a través del puerto USB. Para reque-
rimientos de seguridad, se incluye una pestaña de protección contra escritura y borrado.
La PenDrive es muy compacta, se puede transportar a cualquier parte metida en un bolsillo, cartera o
incluso como un llavero. Actualmente presenta varias capacidades de almacenamiento, desde 32MB has-
ta 2GB. Además no requiere batería, ni software, ni cables, y es compatible con cualquier puerto USB.
Podemos resumir las características de un PenDrive como sigue:
– Soporta flash ROM (EEPROM) para ISP (In-System Programming) a través del puerto USB. Es
posible cambiar/actualizar el firmware del sistema a través del puerto USB.
– Memoria flash de 32, 64, 128, 256 y 512Mb, 1 y 2Gb.
– Soporte USB 1.1 y USB 2.0
– Ratio de transferencia de hasta 12Mbit/s
– Soporte power saving para reducir el consumo de potencia
– LED indicador de uso
– Switch de protección escritura/borrado (incluidas o no según
marca)
– Hot Plug & Play: Capacidad de instalación/desinstalación en
cualquier momento
– Almacenamiento duradero: más de 10 años de retención de Uno de los muchos diseños
datos que existen de PenDrive
Dispositivo multifunción portátil. En la vista de la izquierda se pueden apreciar las ranuras de conexión para las tarjetas de me-
moria; a la derecha se ha configurado como un reproductor MP3 portátil
– ST506
– ESDI (Enhanced Small Device Interface), este último ya en desuso.
– IDE (Integrated Drive Electronics)
– EIDE (Enhanced IDE)
– SCSI (Small Computer System Interface)
• SCSI-2
• Fast SCSI-2
• Fast/Wide SCSI-2
• Ultra SCSI
16.1. ST506
Los primeros discos duros en ordenadores personales eran gestionados por controladoras ST506,
un estándar creado por la conocida empresa Seagate. Dentro de esta norma se implementaron los
modos MFM y RLL, dos sistemas para el almacenamiento de datos que, si bien diferentes en su
funcionamiento, a nivel físico y externo del disco presentaban la misma apariencia.
Estas unidades incluían externamente tres conectores: el primero, y común a cualquier disco
duro, es el de alimentación. En los restantes se conectaba un cable de control y otro de datos desde
el disco a su controladora. El cable de control gestionaba la posición de los cabezales, y el de datos
transmitía el flujo de información desde y hasta la controladora.
NOTA: La diferencia entre MFM y RLL es a nivel interno; MFM (Modified Fre-
quency Modulation) y RLL (Run Length Limited) son dos métodos de codificación
de la información binaria.
RLL permite almacenar un 50% más de datos que el MFM, al aumentar la densidad de almace-
namiento. También la tasa de transferencia es superior en RLL, debido al más eficiente método de
grabación usado; sin embargo, la velocidad de rotación era la misma en ambos casos: 3.600 rpm.
En cualquier caso, la tasa de transferencia de estas unidades no era muy alta: una media de
5 Mbits/s en MFM y 7.5 Mbits/s para RLL. La capacidad de las unidades MFM no superaba los 40
Megas, mientras que RLL llegaba hasta 120.
16.2. ESDI
Esta interfaz supuso un importante respecto a la anterior técnica. ESDI (Enhanced Small Devices
Interface) significa precisamente “interfaz mejorada para dispositivos pequeños”. Para empezar, una
parte de la lógica decodificadora de la controladora se implementó en la propia unidad, lo que permi-
tió elevar el ratio de transferencia a 10 Mbits por segundo. Asimismo, se incluyó un pequeño buffer
de sectores que permitía transferir pistas completas en un único giro o revolución del disco.
No obstante, estas unidades no se extendieron demasiado; únicamente compañías como IBM
(muy aficionadas a tecnologías propietarias) fueron las que lo emplearon con profusión en sus máqui-
nas. La capacidad de estas unidades no solían superar los 630 Mb, y en cualquier caso, se trató de
una tecnología de transición, ya que poco tiempo después tuvo lugar un salto cuantitativo y cualitativo
muy importante, con la interfaz que se detalla a continuación.
Ahora únicamente se necesita una conexión entre el cable IDE y el Bus del sistema, siendo po-
sible implementarla en la placa base. Igualmente se eliminó la necesidad de disponer de dos cables
separados para control y datos, bastando con un cable de 40 hilos desde el bus al disco duro. Se
estableció también el término ATA (AT Attachment), que define una serie de normas a seguir por los
fabricantes de unidades de este tipo, y que veremos a continuación.
IDE permite transferencias de 4 Mb por segundo, aunque dispone de varios métodos para realizar
estos movimientos de datos. La interfaz IDE supuso la simplificación en el proceso de instalación y con-
figuración de discos duros, y estuvo durante un tiempo a la altura de las exigencias del mercado.
No obstante, no tardaron en ponerse de manifiesto ciertas limitaciones en su diseño. Dos muy
importantes eran de capacidad de almacenamiento, de conexión y de ratios de transferencia. En
efecto, la tasa de transferencia se iba quedando atrás ante la demanda cada vez mayor de presta-
ciones por parte del software. Asimismo, sólo podían coexistir dos unidades IDE en el sistema, y su
capacidad (aunque esto no era del todo culpa suya, sino también de la BIOS) no solía exceder los
528 Megas. La mejora vendría de la misma empresa que creó este estándar.
Las ventajas de las interfaces IDE son su facilidad de instalación y su precio. Actualmente existen
capacidades de almacenamiento desde 40 MB hasta 1 GB. Con esta interfaz sólo se pueden contro-
lar dos unidades. Además, cuando se desea instalar un nuevo disco, éste se conecta en daisy-chain
al primero, atendiendo a una configuración maestro-esclavo. La velocidad de transferencia que ofrece
esta interfaz llega hasta los 4 MB/s.
Modos de transferencia
Los dispositivos IDE pueden transferir información principalmente empleando dos métodos:
– PIO (Programmed Input/Output): Método de transferencia entre dos dispositivos que depen-
de del procesador para efectuar el trasvase de datos. A nivel de rendimiento no hay mayor
problema, ya que los micros actuales tienen la suficiente capacidad para gestionar estas
operaciones y alternarlas con otras.
ATA utiliza PIO y define la velocidad de transferencia en términos de “modos PIO” según la
siguiente tabla:
EIDE (que veremos a continuación) amplió los modos PIO al 3, y estableció el MultiWord
DMA 1; con ello se logró una tasa de 11 o 13 Megas/s, dando lugar al término Fast ATA.
Con posterioridad, se definió la norma Fast ATA-2, para identificar aquellos productos que se
acogían a los modos PIO 4 y MultiWord DMA 2, que permiten alcanzar un máximo de 16.6
Megas/s. Existe otro método de transferencia propio del Fast ATA, y es la múltiple lectura/
escritura; es decir, la capacidad de leer o escribir varios sectores (normalmente hasta 32)
en una sola interrupción, lo que permite optimizar la transferencia incluso en buses lentos,
como ISA. Conviene resaltar que las tasas de transferencia citadas se consiguen en el mejor
de los casos (picos de transferencia), y no siempre son sostenidas.
– DMA: Transferencia independiente del procesador, que se realiza por mediación de un chip
DMA dedicado. Con el IDE original se usaban los modos PIO 1 y 2, que podían llegar a unos
4 Mb por segundo de transferencia; el modo DMA del IDE original no superaba precisamente
esta tasa, quedándose en unos 2 o 3 Mb por segundo.
Existe una variante de la transferencia DMA denominada BusMaster DMA que aprovecha
las ventajas de los chipsets de las placas base, cada vez más optimizados para estas labo-
res. Además de liberar al procesador, puede obtener por parte de éste un control casi total,
de forma que la información sea transferida con la máxima prioridad.
Aunque se pueden alcanzar 16 Mb por segundo, la modalidad Ultra DMA logra llegar a 33,3
Mb/s, aprovechando las capacidades del chipset TX de Intel.
16.5.1. Introducción
Serial ATA o SATA es una tecnología de bus para ordenadores diseñada principalmente para la
transferencia de información con los discos duros. SATA se constituye como sucesor del estándar
Advanced Technology Attachment (ATA).
NOTA: ATA ha sido renombrada retrospectivamente como PATA (Parallel ATA)
con objeto de distinguirla de SATA.
Los discos de ambas tecnologías, SATA y PATA, disponen de controladores de bus integrados de
bajo nivel (IDE), pero este término generalmente sólo se aplica a PATA.
16.5.2. SATA 1
La primera generación de interfaz SATA, también conocida como SATA/150 o SATA 1, ofrece unas
prestaciones de 1,5 gigabits por segundo (1,5 Gbit/s). SATA utiliza una codificación 8B/10B a nivel
de capa física que garantiza una eficiencia del 80%, resultando por ello una velocidad efectiva de 1,2
Gbit/s o, en términos de Mb, 150 Mbits/s).
La relativa simplicidad de un enlace serie y el uso de una técnica denominada LVDS (Low voltage
differential signaling), permiten el uso de cables más largos, así como una mejor transición a mayores
velocidades.
16.5.3. SATA II
Muy poco después de la presentación de SATA, se produjeron algunas mejoras en el estándar,
incluyendo un aumento de velocidad en la capa física a 3 Gbits/s, duplicando las prestaciones de la
primera versión.
SATA II también utiliza una codificación 8B/10B, con la consiguiente reducción de su capacidad
de transferencia real a 2,4 Gbit/s (300 Mbit/s). Sin embargo, los discos duros actuales no soportan
todavía estas velocidades, siendo este el factor determinante.
En teoría, y para asegurar la compatibilidad entre SATA I y II, se requiere a los dispositivos más
modernos un modo de funcionamiento compatible con SATA I. En la práctica, sin embargo, esto no
siempre está garantizado de forma automática.
NOTA: Aunque ampliamente difundida, la denominación SATA II no es universal.
Esto se debe a que la organización internacional SATA (SATA-IO), organismo que
controla y regula el estándar, prefirió la denominación SATA 3.0 Gbit/s.
Con objeto de facilitar la transición a la tecnología SATA, muchos fabricantes han diseñado uni-
dades mixtas PATA/SATA, que se configuran mediante una controladora PATA pero con un conector
SATA. Entre medio existe un chip conversor denominado “puente”. Estas unidades también disponen
de ambos tipos de conectores de alimentación eléctrica, aunque pueden carecer de algunas carac-
terísticas más específicas de la tecnología SATA. Esta tendencia terminó sobre 2004, cuando los
fabricantes comenzaron a producir en exclusiva unidades con tecnología SATA exclusiva.
Los discos SATA pueden ser conectados en controladores SCSI de tipo SAS (Serial Attached) y
comunicarse directamente por la capa física como un disco SAS nativo. La operación inversa, sin
embargo, no es posible; un disco SAS no puede conectarse a un controlador SATA.
SATA también especifica un cable de alimentación eléctrica muy distinto de la tecnología Molex
de 4 pines de PATA, comenzando por que tiene 15 pines y es bastante más estrecho. El principal
inconveniente detectado es que su fragilidad es mayor, fallo que se manifiesta sobre todo en su ma-
nipulación a la hora de instalaciones o reparaciones.
La razón del elevado número de líneas en este conector radica en que suministra 3 voltajes di-
ferentes: 3,3 V, 5 V y 12 V. Cada voltaje es suministrado por tres pines, haciendo un total de nueve.
Cinco pines adicionales son para tierra y el último se utiliza para funciones de control en las unidades
más modernas.
Algunas unidades disponen de conectores de alimentación PATA para hacerlos compatibles y más
versátiles. La convención de colores es la siguiente:
COLOR FUNCTION
Amarillo +12V
Negro Ground
Rojo +5V
Negro Ground
Naranja +3.3V
16.7. SCSI
La interfaz SCSI (Small Computer System Interface) ha sido tradicionalmente relegada a tareas y
entornos de ámbito profesional, en los que prima más el rendimiento, la flexibilidad y la fiabilidad.
SCSI es una estructura de bus separada del bus del sistema. De esta forma, evita las limitaciones
propias del bus del PC. Además, en su versión más sencilla esta norma permite conectar hasta 7
dispositivos SCSI (uno de ellos ha de ser la controladora) en el equipo. Las ventajas no se reducen al
número de periféricos, sino también a su tipo: se puede conectar prácticamente cualquier dispositivo
(escáneres, impresoras, CD-ROM, unidades removibles, etc.) siempre que cumplan con esta norma.
Otra enorme ventaja de SCSI es su portabilidad, que posibilita la conexión de un disco duro o
CD-ROM a ordenadores Macintosh, Amiga, etc., que empleen también la norma SCSI. Un detalle a
resaltar es que todos los periféricos SCSI son inteligentes: cada uno posee su propia ROM donde
almacena sus parámetros de funcionamiento.
El rendimiento del estándar SCSI es bastante superior a IDE al no depender del bus del sistema.
No todo son ventajas: SCSI es más caro que IDE, y en la mayoría de ocasiones, más complejo
de configurar, aunque esto último es cada vez menos problemático a medida que la norma SCSI ha
evolucionado y mejorado.
Los estándares SCSI son los siguientes:
– SCSI-1: Máximo de 3 Mb/s de transferencia, con una anchura de 8 bits en el bus de datos.
– SCSI-2: Introdujo mejoras en el control de los dispositivos, inclusión de mejoras de caché y
otras, subiendo a 5 Mb de ratio, con la misma anchura de bits que su predecesora.
– Fast SCSI-2: Alcanzó 10 Mb/s, manteniendo 8 bits en el bus de datos. El modo Wide se
unió posteriormente al Fast, resultando el Fast/Wide SCSI-2, con el que se amplió a 16
bits el ancho de banda del bus de datos, lográndose hasta 20 Mb/s en transferencia y per-
mitiendo un soporte de hasta 15 dispositivos en cadena.
– Ultra SCSI: Ha conseguido llegar a 40 Mb por segundo a 16 bits y 20 Mb a 8 bits. Incluye
la norma SCAM (SCSI Configured Automatically), algo parecido al Plug & Play, que libera de
la clásica dificultad de configuración de las cadenas SCSI; para ello los dispositivos también
deben contemplar el SCAM.
ESQUEMA INICIAL
1. Introducción e historia
2. Señales
2.1. Definición, parámetros y tipos
2.2. Conversión de señales
3. Conceptos
5. Medios de transmisión
5.1. Los medios en las redes locales
5.2. Sistemas de cableado estructurado
6. Modos de comunicación
6.1. Según el flujo de información
6.2. Tipos de comunicación conmutada
6.3. Según el uso del ancho de banda
1. INTRODUCCIÓN E HISTORIA
Podemos indicar el inicio de la transmisión digital de datos cuando Samuel B. Morse realizó una
demostración pública del telégrafo en 1844.
Años más tarde, en 1874, Thomas Edison ideó la multiplexación de señales, lo que posibilitó
transmitir en dos sentidos utilizando un único cable. Se obtuvieron velocidades mucho más altas que
en las transmisiones telegráficas, y su nuevo aparato, conocido como teletipo, sustituyó al telégrafo.
Ya en el siglo XX aparecen los primeros ordenadores en la década de los 50 para, a raíz de los
80, obtener su gran difusión causada por la creación del microordenador PC de IBM. Esta rápida
expansión de la informática personal ha dado origen a una nueva cultura y a una nueva forma de
tratamiento de la información.
En los últimos 20 años muchas compañías informáticas centran sus investigaciones en el desa-
rrollo de productos que permiten compartir información y recursos, surgiendo el concepto de redes
de ordenadores y sistemas distribuidos. La telemática, sus técnicas y métodos en continuo desarrollo
son la base para todo este progreso.
El término Telecomunicación proviene de comunicación, al que se añade el prefijo como indi-
cador de distancia.
2. SEÑALES
Representación de una señal analógica típica (también llamada senoidal pura) sobre un eje de coordenadas.
Se indican los tres parámetros básicos: amplitud, frecuencia y fase
3. CONCEPTOS
– Atenuación: las señales prácticamente en cualquier situación sufren un proceso de degra-
dación (combinación de disminución de potencia y deformación) al viajar por el medio en
que se transmiten. La atenuación mide esta degradación, que depende fundamentalmente
de dos factores: el tipo de señal y el medio. Tanto la atenuación como la deformación de-
penden del medio y de la frecuencia.
– Diafonía: se produce por acoplo electromagnético entre dos líneas próximas, cuando la
señal de una influye en la otra.
– Ecos: cuando se produce un cambio en las características del medio (terminaciones, co-
nexiones, etc.), parte de la señal se refleja interfiriendo en el medio.
– Caída de señal: interrupción de los circuitos de comunicación por tiempos cortos. Pueden
estar causadas por dispositivos defectuosos, tormentas, etc.
Donde:
– ETD (Equipo terminal de datos): son los dispositivos que procesan la información recibida o
que será enviada (en el receptor y emisor, respectivamente). Por ejemplo, un ordenador. La in-
serción del ETD dentro del conjunto se realiza mediante interfaces perfectamente definidas por
normas internacionales (CCITT), complementadas a veces con otras de carácter nacional.
– ECD (Equipo de comunicación de datos): equipos cuya función es transmitir la información.
Un módem es el ejemplo más clásico. Además de la mencionada, un ECD tiene otras fun-
ciones:
* Dialogar con el ETD en el establecimiento, mantenimiento y terminación de una trans-
misión de datos.
* Transformación del mensaje de datos que recibe del ETD en una señal compatible con
la línea de transmisión utilizada.
* Reconversión de las señales recibidas de la línea de transmisión en un mensaje de da-
tos compatible con el ETD.
– CD (Circuito de datos): líneas de transmisión que unen ambos extremos del sistema por
donde circulan las señales que se envían. La Interface ECD/CD tiene unas características
impuestas por el tipo de línea y naturaleza de la señal a transmitir.
5. MEDIOS DE TRANSMISIÓN
El medio de transmisión define las características físicas del canal que conecta cada dispositivo
a la red. La utilización de uno u otro medio de transmisión determinará:
– La velocidad máxima de transferencia de información.
– Longitud del segmento: distancia a la cual es posible transmitir sin utilizar repetidores de
señal.
– El grado de sensibilidad a interferencias.
– El mayor o menor coste del cableado y de las interfaces de conexión.
– Las posibilidades de integración voz/datos así como la posibilidad de utilizar banda ancha.
Existen diferentes tipos de medios de transmisión. La elección de uno u otro depende del tamaño
de la red, del ancho de banda deseado para la red y del coste del medio.
Cada medio de transmisión tiene sus ventajas e inconvenientes; no existe un modelo ideal con
una serie de características definidas. Las principales diferencias entre los distintos medios de trans-
misión radican en la anchura de banda permitida (y consecuentemente en el rendimiento máximo de
transmisión), su grado de inmunidad frente a interferencias electromagnéticas y la relación entre la
amortiguación de la señal y la distancia recorrida (necesidad de repetidores).
6. MODOS DE COMUNICACIÓN
7.1. MÓDEMS
En los primeros tiempos de las redes de ordenadores surgió la necesidad de conectar múltiples
ordenadores separados entre sí por grandes distancias geográficas. Para solventar este problema se
estudió la posibilidad de utilizar una infraestructura ya existente y muy extendida: la red telefónica.
Esta solución generaba a su vez otro problema: los ordenadores utilizan señales digitales mien-
tras que la red telefónica era analógica. Había que transformar estas señales de una a otra para poder
utilizar la red telefónica en la comunicación de ordenadores. Un dispositivo conocido como módem
fue la respuesta a este segundo problema.
Un módem convierte la señal digital, que es la que utiliza el ordenador, en una señal analógica
válida para transmitir a través de la línea telefónica. En el extremo opuesto la conversión se invierte
recuperándose la señal digital original.
Un módem convierte señales digitales en señales analógicas y viceversa. Los ordenadores
pueden así utilizar las redes telefónicas de voz para la transferencia de información a grandes distan-
cias sobre una infraestructura ya existente.
La modulación es un proceso por el que se modifican las características de una señal analógica
llamada portadora, en función de la señal digital que se recibe del equipo de datos.
Esquema de un sistema de transmisión de información. La explicación del esquema se ofrece en la siguiente secuencia
Existen módems de tecnologías muy distintas, pero todos han de cumplir una serie de normas
básicas o estándares para permitir comunicarse entre sí. Según esto tenemos módem V.19, V.24,
V.28, V.36, etc. Todos estos estándares se diferencian fundamentalmente en la velocidad de la co-
municación. La velocidad se mide en bits por segundo (bps). En la actualidad nos encontramos con
módems de hasta 56.600 bps. Para velocidades superiores se deben utilizar otros tipos de equipos
de comunicaciones, como módems de banda ancha, con interfaces adecuados a la velocidad del
módem (v.35) o redes de datos digitales de conmutación de circuitos.
Las velocidades normalizadas, para módems de banda de voz, a través de líneas telefónicas, son
las siguientes (si bien las más lentas han caído en desuso):
– 300 bps.
– 1.200 bps.
– 2.400 bps.
– 4.800 bps.
– 9.600 bps.
– 14.400 bps.
– 19.200 bps.
– 28.800 bps.
– 33.600 bps.
– 56.600 bps.
El software de comunicaciones para módem es tan importante como el módem mismo. Está en-
cargado de proporcionarnos una herramienta sencilla de manejar que gobierne el módem. El estándar
Hayes está diseñado como un lenguaje de comandos con instrucciones precisas que gestionan el
módem. La mayoría de programas hacen uso de este estándar.
Hoy en día la mayoría de los módem tienen funciones de fax, de ahí que se conozcan con el tér-
mino módem-fax. Un programa de gestión de fax sirve esencialmente para enviar y recibir documen-
tos, mantener una agenda de direcciones y un fichero de los faxes enviados y recibidos. Programas
de gestión de fax muy conocidos son: TRANSEND FAX y WINFAX PRO.
Con un módem no sólo puede comunicarse con otros ordenadores conectados a la red telefónica
y enviar y recibir faxes, sino que podrá acceder a Internet y abrir todo un mundo de información.
7.2.1. Velocidad
En los primeros equipos de comunicaciones la velocidad se especificaba en baudios, que corres-
ponden a una unidad de medida utilizada en la comunicación telegráfica que definía la cantidad de
veces que la señal cambia por unidad de tiempo.
NOTA: en los equipos actuales la velocidad debe especificarse en bits por se-
gundo (bps), ya que un baudio puede representar varios bits.
La red telefónica actual no soporta velocidades superiores a los 2.400 baudios, pero con codifi-
caciones en varios niveles pueden alcanzarse velocidades de 56.600 bps sin exceder dicho límite.
Si clasificamos los módems por su velocidad tenemos una gama que va desde 50 bps hasta 64
Kbps con líneas especiales. De acuerdo con la sofisticación podemos considerar tres categorías:
– Módems de baja velocidad: inferior a 1200 bps.
– Módems de media velocidad: desde 1200 hasta 9.600 bps.
– Módems de alta velocidad: hasta 56.600 bps.
Los módems más utilizados en la comunicación entre los micros trabajan en modo asíncrono.
Las conexiones síncronas se utilizan fundamentalmente para acceso a redes públicas o privadas o
comunicaciones entre ordenadores o terminales específicos.
7.2.2. Interface
Para referirnos a los equipos implicados utilizamos la nomenclatura más normal en redes de
comunicaciones de datos, donde se llama ETD o DTE (Data Terminal Equipment) al terminal de datos
que accede la red de comunicaciones (ordenador).
Al equipo que accede a la red se le denomina ECD o DCE (Data Communications Equipment) o
equipo terminal de circuito de datos. En el caso concreto que nos ocupa (comunicaciones a través de
la red telefónica) nos referimos al módem.
La conexión entre el ETD y el ECD constituye la interface de comunicaciones. La interface or-
denador-módem sigue las recomendaciones V.24/V.25 del CCITT, que se corresponde con la norma
RS-232C de la EIA. Éstas definen una serie de señales que se intercambian a través de circuitos
independientes que manejan señales de datos, de control y de sincronización.
Los circuitos de control manejan las señales que permiten realizar el protocolo de nivel físico
entre el ETD y el ECD, comandando la conexión y desconexión de módem a la línea telefónica, de-
tectando la conexión al módem remoto, controlando la transmisión de datos de forma adecuada, la
velocidad, la calidad de los datos recibidos, etc.
Los circuitos de sincronización se utilizan exclusivamen-
te cuando se trabaja en modo síncrono, proporcionando las
señales de reloj que se generan en el terminal transmisor, se
envían junto con los datos a través de la línea telefónica y se
recuperan en el módem receptor, que se encarga de enviar
al terminal receptor los datos y las señales de reloj a través
de dos circuitos independientes, asegurando de esta forma
el sincronismo entre los dos extremos del enlace.
Módem en funcionamiento
7.2.3. Modos de Operación
Los módems pueden operar fundamentalmente de una de las tres maneras siguientes:
– Half-duplex o semidúplex (HDX): un módem que trabaja en el modo HDX utiliza todo el
ancho de banda de la línea telefónica, por lo que a dos hilos solamente puede transmitir o
recibir datos, pero no ambas cosas de forma simultánea. Para poder transmitir y recibir en
este caso es necesario utilizar los circuitos de control de la interface, que manejan la línea en
función del proceso que esté realizando (transmisión o recepción). Actualmente este tipo de
operación está en franca regresión debido a que la eficiencia de las comunicaciones es baja,
pues es necesario un cierto tiempo de espera desde que se hace la solicitud de transmitir
hasta que la línea se estabiliza y queda lista para la transmisión.
– Full-duplex o dúplex (FDX): los módems que trabajan en FDX sobre líneas telefónicas a dos
hilos utilizan multiplexado por división de frecuencia o cancelación de ECO para conseguir la
transmisión bidireccional sobre un solo par. En este tipo de multiplexado se utiliza una banda
de frecuencia determinada para la transmisión en un sentido y otra banda distinta para la
transmisión en el sentido opuesto.
Dentro de cada banda, la marca y el espacio se representan por dos frecuencias diferentes,
lo que supone cuatro frecuencias que representan las cuatro combinaciones de marca y
espacio con dos sentidos de transmisión. Estas frecuencias se separan mediante filtros, y
deben estar lo suficientemente distanciadas como para que sea posible su discriminación.
Otra técnica empleada para la transmisión FDX se basa en la cancelación de ECO, en la cual
se utilizan circuitos especiales para evitar que la señal enviada por los circuitos de transmi-
sión entre de nuevo por la recepción del mismo módem. En este caso los módems pueden
utilizar la misma banda de frecuencia sin interferencias entre sí, por lo que disponen de
todo el ancho de banda para la transmisión, y así pueden conseguir velocidades superiores
incluso que en el caso de multiplexado de frecuencia.
– Multipunto: existe un sistema maestro que se comunica con un grupo de esclavos conecta-
dos a la misma línea utilizando protocolos denominados Polling. Normalmente la conexión
para este tipo de configuraciones suele ser a cuatro hilos. Los terminales deben ser capaces,
además de soportar el protocolo multipunto a nivel de software, de manejar las señales de
la interface de forma similar al caso de conexiones HDX.
En una conexión multipunto existe un módem principal, conectado al terminal maestro, y una
serie de módems secundarios a los terminales esclavos. El módem principal envía permanen-
temente la portadora a línea, siendo ésta recibida simultáneamente por todos los esclavos que
reciben del mismo modo todos los datos que envía el maestro. Cada uno de los terminales
remotos debe ser capaz de reconocer en la información que reciba los mensajes que le corres-
ponden, y aceptar y contestar únicamente a éstos. Cuando un terminal esclavo quiere enviar
información a la línea es necesario que haga una petición de emisión, con lo cual sólo enviará
portadora a línea cuando le corresponda transmitir, pues en caso contrario se produciría una
colisión de portadoras y el maestro sería incapaz de reconocer los datos recibidos.
Recomendación V.19
Diseñados para su instalación en una estación central, donde actúan como receptores de los
datos enviados por múltiples estaciones periféricas, constituidas por simples aparatos telefónicos de
uso universal. Están dotados de señalización multifrecuencia que emplean para establecer la comu-
nicación y/o para enviar los datos una vez establecida, envío que se realiza a la velocidad de hasta 10
caracteres/s. Sus características más significativas son:
– Cada carácter se transmite por medio de dos frecuencias emitidas simultáneamente.
– Las frecuencias pertenecen a dos subconjuntos separados, a y B, compuestos por cuatro
frecuencias cada uno. Pueden transmitirse, por tanto, hasta 16 combinaciones de las que
en los teléfonos ordinarios se emplean doce.
– La duración mínima de los períodos de emisión y silencio será de 30 y 25 ms, respectiva-
mente.
– Los datos suelen transmitirse unidireccionalmente. La respuesta es generalmente audible o
con tonos.
– La interface del módem, para su unión al ordenador, sigue las Recomendaciones V.24 y V.28.
Recomendación V.20
Se trata de un módem especial, muy simple y económico, que no se adapta a las características
generales definidas para los equipos conversores de señales. Se usa para transmisión en paralelo de
datos (carácter a carácter) sobre líneas vía Red Conmutada. Se basa en la transmisión simultánea de
dos o tres frecuencias diferentes elegidas según una determinada ley. Utiliza dos tipos de codificación:
16 o 64 combinaciones de frecuencias.
La velocidad de modulación es, como máximo, de 40 baudios, equivalente a 240 bits/s con el
segundo sistema de codificación. La interface lógica con el terminal es de tipo paralelo y sus caracte-
rísticas eléctricas y funcionales vienen definidas en las recomendaciones V.30 y V.31.
Recomendación V.21
Características:
– Velocidad máxima de transmisión: 300 bits/s.
– Transmisión asíncrona.
– Modo de explotación: permite el Dúplex Integral.
– Tipo de línea: Red conmutada o línea dedicada de dos hilos.
– Modulación en frecuencia.
– Interface lógica con el terminal según Rec. V.24 y V.28.
El hecho de permitir la explotación en Dúplex Integral sobre línea de dos hilos se debe a que al
trabajar a velocidades bajas no precisa toda el ancho de banda transmisible por la línea. El canal
se divide entonces en dos partes, cada una de las cuales constituye un canal independiente con
frecuencias portadoras de 1080 y 1750 Hz, respectivamente, sobre los que se producen desplaza-
mientos de 100 Hz hacia abajo para el bit 1 y hacia arriba para el 0.
Mediante un circuito de la interface lógica puede elegirse para transmitir el canal superior o el
inferior, quedando el otro para recibir, lo que puede hacer simultáneamente.
Por convención internacional, cuando se utilice la Red Conmutada como línea de transmisión, el
módem del extremo que llama debe elegir para transmitir el canal inferior.
Recomendación V.22
Características:
– Este módem permite trabajar en modo dúplex y a 1200 bits/s vía RTC o vía líneas arrendadas
a 2 hilos.
– La separación de canales se lleva a cabo por división de frecuencia, empleando como porta-
doras 1200 Hz para el canal bajo y 2400 Hz para el alto.
– La modulación de cada canal es DPSK.
– Transmisión en línea síncrona.
– Velocidad de modulación 600 baudios.
– Con aleatorizador de polinomio generador 1 + X 14 + X 17, y facilidades de prueba norma-
lizadas.
– Incorpora igualador fijo de compromiso, repartido entre transmisión y recepción.
Se especifican tres posibles configuraciones alternativas:
1. Módem síncrono a 1200 bits/s y 600 bits/s (facultativo).
2. Módem síncrono o arrítmico a 1200 bits/s y 600 bits/s (facultativo).
3. A las posibilidades de la segunda alternativa se le añade el modo asíncrono con capacidad
para tratar datos arrítmicos a 1200 bits/s y asíncronos hasta 300 bits/sg.
Dispone de memoria tampón en el transmisor que convierte los datos entrantes en un tren de da-
tos síncronos. Los datos asíncronos podrán ser de 8, 9, 10, u 11 bits por carácter. La configuración,
transmisión y recepción deberán ser idénticas.
Recomendación V.23
Características:
– Velocidad de transmisión 600 y 1200 bits/s.
– Tipos de transmisión: Síncrona o Asíncrona.
– Líneas de transmisión: Red Conmutada o línea dedicada de 2, 6, 4 hilos, calidad normal
(punto a punto o multipunto).
– Modos de explotación: semidúplex en líneas de 2 hilos o Dúplex integral en líneas de 4 hilos.
– Modulación FSK.
– Canal de retorno: opcionalmente puede utilizar un canal de baja velocidad (75 baudios) para
enviar hacia atrás señales de control.
– Interface lógica con el terminal según Rec. V.24 y V.28.
– Sensibilidad para señales de línea: 43 dBm.
– Señal de sincronismo: sólo módem.
Recomendación V.26
La secuencia de bits a transmitir se va dividiendo en dibitios (pares de bits consecutivos), consti-
tuyendo un símbolo que se corresponde con un salto de fase de la señal portadora.
Características:
– Velocidad de transmisión: 2400 bits/s.
– Tipo de transmisión: síncrona.
Recomendación V.26bis
Permiten la transmisión de datos a 2400 bits/s, vía Red Automática Conmutada o línea dedicada
de dos hilos. Sus características son, esencialmente, las mismas que las fijadas en la Rec. V.26 con
las modificaciones siguientes:
– Al ser la línea a dos hilos, sólo permite la explotación en modo semidúplex, si bien puede
utilizarse opcionalmente el canal de retorno, en simultáneo con el canal de datos en el otro
sentido.
– Para el funcionamiento a 2400 bits/s sólo está prevista la solución B de la V.26 como tipo
de modulación.
– Para las comunicaciones en que las condiciones de transmisión no permiten trabajar a 2400
bits/s se ha previsto una segunda velocidad a 1200 bits/s. En este caso se usa una modu-
lación diferencial de fase bivalente con saltos de fase de +90º para el estado binario 0 y de
+270º para el 1.
Recomendación V.27
Los datos a transmitir se dividen en tribitios de 3 bits consecutivos, codificándose cada uno con
un cambio de fase. Para la transmisión de datos a 4800 bits/s existen tres tipos de módem: V.27,
V.27 bis y V.27 ter, siendo el básico el primero, con las siguientes características:
– Velocidad de transmisión: 4800 bits/s.
– Tipo de transmisión: síncrona.
– Línea utilizable: dedicada de calidad especial (M1020).
– Modo de explotación semidúplex o dúplex integral.
– Modulación: PSK octofásica diferencial.
– Canal de retorno: opcional y según Rec. V.23.
– Interfaz lógica: según Rec. V.24 y V.28.
– Frecuencia portadora: F = 1800 Hz ± 1 Hz.
– Igualador de amplitud y fase ajustable manualmente.
– Tiempo de sincronización: < 20 ms.
Recomendación V.27bis
Este módem es igual al anterior excepto en los siguientes puntos:
– El igualador de amplitud de fase es automático, autoadaptable con secuencias de arranque
distintas según la calidad de línea.
– Puede funcionar sobre líneas punto a punto, a dos o cuatro hilos y no precisamente de cali-
dad especial (M1020).
– Para los casos en que las condiciones lo exijan disponen de una velocidad reducida de 2400
bits/s que sigue la recomendación V.26.
– Los tiempos de sincronización son de 50 ms para las líneas de calidad especial y de 70 en
líneas de menor calidad.
Recomendación V.29
Transmiten hasta 9600 bits/s en líneas de calidad especial, aunque sin excluirse su uso en cir-
cuitos de calidad inferior, a discreción de las administraciones interesadas.
Características:
– Velocidades de transmisión: 4800, 7200 y 9600 bits/s.
– Tipo de transmisión: síncrona.
– Línea de transmisión: dedicada, de cuatro hilos, calidad especial (opcional).
– El modo de explotación: semidúplex o dúplex total.
– Tipo de modulación: PSK y ASK combinadas.
– Interface lógica: V.24 y V.28.
– Inclusión facultativa de un multiplexor para la combinación de las velocidades binarias: de
7200, 4800 y 2400.
– bits/s.
– Frecuencia portadora: F = 1700 ± 1 Hz.
– Velocidad de modulación: 2400 baudios.
Recomendación V.32
La recomendación V.32 fue aprobada por la CCITT en Torremolinos en 1984 y permite la trans-
misión a 9600 bits/seg. Sus características son las siguientes:
– Velocidad de transmisión: 4800 o 9600 bits/segundo.
– Tipo de transmisión: asíncrono.
– Línea utilizable: a 2 hilos, punto a punto o RTC.
– Modo de explotación: full dúplex.
– Modulación: QAM (Modulación en Amplitud de Cuadratura).
– Frecuencia portadora: 1800 Hertzios.
– Tiempo de sincronización: < 20 ms.
– Nivel de recepción: entre 0 y 43 dBm.
Existe una variación de esta norma más reciente conocida como V.32 bis que permite velocida-
des físicas de hasta 14400 bits/segundo. Permitiendo con las normas de compresión y corrección de
errores V.42 y V.42 bis una velocidad lógica de hasta 57600 bits/segundo.
Recomendación V.36
Permiten la transmisión de señales digitales sobre una línea constituida por un grupo primario de
un sistema multiplex MDF (ancho de banda 60108 KHz), pudiéndose destinar a varias aplicaciones.
Características:
– Velocidad recomendada: 48 Kbits/s.
– Velocidades para aplicaciones específicas: 56, 64, 72 Kbits/s.
– Tipo de transmisión síncrona.
– Línea utilizada: grupo primario (60108 KHz).
– Modo de explotación: dúplex integral.
– Interface lógica: según Rec. V.24, V.10 y V.l 1.
– Modulación de amplitud con Banda Lateral única (BLU).
– Frecuencia Portadora: 100 Khz.
En general los Módems V.36 se instalan en las centrales telefónicas, donde esté el grupo prima-
rio, y se prolongan hasta el usuario mediante enlaces en banda base.
7.3.2. AIT
Equipos obsoletos utilizados cuando la línea de transmisión es de tipo telegráfico (pares físicos y/o
canales de telegrafía armónica) y para velocidades de hasta 200 bits/s; se emplean como ETCD los
adaptadores de impulsos telegráficos, cuya función consiste en convertir la señal digital que entrega el
terminal (entre 3 y 25 voltios) en impulsos telegráficos de la misma duración que el bit que los origina,
pero de tensiones de ± 60 V, según que aquel sea 1 o 0. En la parte receptora, se realizará el proceso
inverso.
El AIT presenta una interface según Rec. V.24 y V.28 en el lado terminal, y entrega a la línea de
transmisión, que siempre será de dos hilos con vuelta por tierra, una corriente de doble polaridad y
nivel telegráfico. Permite el trabajo en modo semidúplex o dúplex integral.
7.4.1. Teletipos
El teletipo es en esencia una máquina de escribir capaz de entregar textos codificados en el
alfabeto CCITT2 (5 bits), transmitidos en formato arrítmico a 50 baudios (algunas administraciones
permiten el funcionamiento a 75 y 100 baudios).
El teletipo permite la recepción automática desatendida, poniéndose en marcha automática-
mente para la recepción de un mensaje e incluyendo una identificación automática del terminal
distante.
Aunque este servicio es muy limitado en cuanto a formato y juego de caracteres y en un futuro
lejano será sustituido paulatinamente por el Teletex, ofrece las ventajas de tener una cobertura mun-
dial, estar altamente normalizado y tener unas tarifas razonablemente bajas.
También existe la posibilidad de utilizar una interface ordenadortelex, aprovechando la difusión de
los PC’s, permitiendo la interconexión del sistema informática con la red telex, disponiendo además
de las facilidades y funciones del ordenador.
7.4.2. Teletex
En 1980 el CCITT normalizó el servicio TELETEX dando para el mismo la siguiente definición:
Un servicio internacional de transferencia automática de textos entre memorias
de dos terminales, que se utilizan para producir, editar y presentar dichos textos,
y que permite a los abonados el intercambio de correspondencia o archivos sobre
la base de esta transferencia automática de memoria a través de redes de teleco-
municación.
Los terminales Teletex integran de alguna forma las funciones del teletipo, la máquina de escribir
y del procesador de textos.
Cuando el terminal opere en modo local, por ejemplo, cuando sea utilizado como máquina de
escribir, la comunicación entrante no debería interrumpir el trabajo en local. Sin embargo, bajo la
condición de memoria de recepción ocupada, la producción de una copia permanente del mensaje
recibido debe tener prioridad sobre el modo local.
En el modo de envío el terminal teletex debe ser capaz de enviar al menos una selección de
caracteres de los contenidos en el repertorio básico internacional de caracteres teletex. En el modo
de recepción el terminal teletex debe ser capaz de recibir todos los caracteres de este repertorio, así
como manejar páginas en formato vertical y horizontal.
Después de la transmisión en el modo básico de operación el contenido, disposición y formato
del mensaje Teletex en el terminal receptor será el mismo que el generado por el terminal transmisor.
Cada terminal Teletex debe tener una única identificación y deberá estar provisto con memoria para
las funciones de transmisión y recepción.
7.4.3. Datáfono
Es un equipo de abonado que trabaja como teléfono convencional y además como equipo para
comunicaciones informáticas. Como equipo de datos puede comunicarse con un Centro de Cálculo
Abonado (CCA) por la Red Telefónica Conmutada o por la Red de Transmisión de Datos (lberpac). Las
características más importantes son:
– La entrada de datos puede efectuarse por teclado principal, teclado auxiliar, o lectura de
banda magnética de la tarjeta.
– El procedimiento de conexión es automático mediante la pulsación de una tecla de control.
– Los datos de cada transacción se almacenan en un registro, antes de su envío a línea, para
permitir su corrección.
– Tienen un visualizador de mensajes de tutoría para guiar al operador en los distintos pasos.
– La velocidad de transmisión/recepción es de 300 bps.
– Los datos recibidos del CCA pueden destinarse al visualizador y/o a la impresora.
– Dispone de una rutina automática de mantenimiento.
– El identificativo del equipo está programado y coincide con el número telefónico de la línea
a la que se conecta.
– Consta de: Unidad de Control, Microprocesador + Memoria, teclado principal de funciones,
auxiliar, utilidad de display, etc.
La diferencia fundamental es que, mientras con el uso del MIM todos los terminales tenían que
estar ubicados en el mismo punto (100 m), con el uso del DR, cada terminal puede tener una ubica-
ción diferente utilizándose módems.
Al ser un equipo totalmente transparente y no introducir retardos, permite su uso con cualquier
sistema, pudiendo trabajar a velocidades de hasta 19.200 bps, en síncrono y asíncrono.
7.4.6. Facsímil
Los terminales de Facsímil, también conocidos como equipos de Telefacsímil o Telecopiadoras, o
más comúnmente como el equipo que presta el servicio “FAX”; se conocen desde el siglo pasado (año
1842). Permiten transmitir a distancia documentos mediante su exploración secuencial. Por supuesto
también permiten la recepción de documentos.
Los equipos normalizados por el CCITT para los servicios de facsímil se dividen en grupos:
– Grupo l. Equipos que emplean técnica analógica, capaces de transmitir un documento ISO
A/4 de 4 a 6 ms, tiempo excesivo que los hace poco eficaces. Resolución 96 x 96 líneas/
pulgada, modulación de frecuencia. Están en desuso.
– Grupo II. Terminales analógicos, utilizan técnicas de compresión de banda, aunque sin incluir
el procesamiento de la señal obtenida para reducir redundancia. Son capaces de transmitir un
documento ISO A4 en unos 3 ms. Modulación de amplitud en BLV, resolución similar al grupo l.
Están concebidos para su conexión a la red telefónica conmutada. Servicios Telefax, Burofax.
– Grupo III. Terminales digitales, equipos que, incorporando sistemas de reducción de la in-
formación redundante de la señal antes de realizar el proceso de modulación (modulación
en fase), son capaces de transmitir el documento ISO A4 en menos de 1 minuto. Están
concebidos para su conexión a la red telefónica conmutada y son compatibles con los del
grupo II. Servicios Telefax, Burofax.
– Grupo IV. Terminal digital concebido especialmente para su conexión a la red de datos. En
estas máquinas será usual el uso mixto Teletex/Facsímil. Están pensados especialmente para
el servicio Datafax (uso de las redes públicas de datos para la transmisión Facsímil). Si la
transmisión tiene lugar entre Oficinas Públicas se denomina BUROFAX. Emplea modulación
de fase. Envío A4 inferior a 3 segundos. Resolución: 203 x 203 líneas por pulgada.
Los terminales grupo II y grupo III del servicio Telefax, pueden funcionar en modo manual o se-
miautomático (recepción desatendida) e incluso como fotocopiadores en modo local.
Las comunicaciones mediante redes basadas en multiplexores tienen como característica fun-
damental la existencia de retardos de transmisión muy bajos y la posibilidad de manejar caudales
de información muy elevados. Están especialmente indicados para aplicaciones relacionadas con
servicios de transmisión de datos a alta velocidad.
Estos equipos suelen incorporar la posibilidad de interconexión a otros dispositivos y redes, tales
como PABX o redes de conmutación de paquetes X.25, pudiendo por ello también utilizarse para la
instalación de redes privadas de telefonía y para aplicaciones que requieran servicios de transmisión
de datos a baja y media velocidad.
Existen dos técnicas de multiplexación bien diferenciadas:
– Multiplexado por división en frecuencia (FDM): técnica de tipo analógico. Las caracterís-
ticas fundamentales son:
* Se divide el ancho de banda en canales paralelos.
* La anchura de banda de cada subcanal es directamente proporcional a la velocidad.
* Para evitar interferencias entre subcanales se utilizan bandas de guarda.
* La capacidad del canal está limitada por el ancho de banda.
Aunque esta técnica ha tenido gran desarrollo en telefonía y radio, está cediendo más terre-
no al Multiplexado por División en el Tiempo (TDM), que emplea tecnología digital y por tanto
más potencia al poder hacer uso de ordenadores en su proceso.
– Multiplexado por división en el tiempo (TDM). Sus características son:
* Emplea tecnología digital, y por lo tanto es más apropiada para la transmisión de datos
que FDM.
* División del tiempo en intervalos.
* Muestreo de líneas.
* Tiempos de guarda para evitar interferencias.
* Necesidad de empleo de módems.
Un caso particular del TDM es el Estadístico, consistente en no asignar intervalos fijos de
tiempo a cada canal, sino en hacerlo en función del tráfico existente en cada momento
en cada uno de ellos. Por tanto emplea tramos de longitud variable y el muestreo de
líneas se realiza en función del tráfico existente en cada momento en cada uno de ellos,
es decir, en función de su actividad.
– Enrutadores (Routers).
– Pasarelas (Gateways).
– Ordenadores multienlace.
NOTA: las internets (conexión de varias redes) no toman ninguna topología
específica, sino aquellas de las redes que las forman.
Vistas delantera y trasera de un pequeño concentrador. En esta última podemos apreciar los puertos de comunicaciones donde
se conectan los dispositivos, mientras que la delantera dispone de pilotos indicadores de la actividad del dispositivo
Todos los dispositivos que estamos estudiando se pueden montar en una disposición especial denominada rack,
que consiste en un armario metálico con guías en sus lados donde fijar los dispositivos de comunicación
Entre las ventajas y desventajas de las comunicaciones vía satélite se pueden destacar:
Ventajas:
– El coste de la transmisión no depende de la distancia entre las estaciones emisora y receptora.
– El coste de la transmisión no depende del número de estaciones que reciben la comunicación.
– Se utilizan señales de gran ancho de banda capaces de transmitir grandes cantidades de
datos.
Desventajas:
– El retraso en la comunicación entre dos estaciones terrestres es de 250 ms.
– Las señales procedentes del satélite son muy débiles, necesitándose equipos sofisticados y
antenas de considerable tamaño para su amplificación.
– Los satélites que operan en la banda de frecuencia K (14/12 GHz) son muy sensibles a in-
terferencias por el mal tiempo.
– Los que operan en la banda C (6/4 GHz) son muy sensibles a las interferencias terrestres de
las grandes ciudades.
La Red Telefónica Básica (RTB) es el soporte físico de comunicaciones más popular y el más
utilizado de los existentes en la actualidad en nuestro país y en el extranjero, puesto que se trata de
la red que da soporte al servicio telefónico tradicional. En España esta red es explotada y gestionada
por su propietaria Telefónica de España, S.A.
Ventajas:
– Posibilidad de establecer una comunicación telefónica con cualquier usuario del mundo.
– Compatibilidad con todas las redes telefónicas internacionales.
– Rapidez bastante aceptable en la comunicación.
– Capacidad para el intercambio electrónico de ciertas informaciones.
– Coste de comunicación moderado.
Desventajas:
– La cobertura no es total en el ámbito geográfico, sobre todo en lo que se refiere a las zonas
rurales menos favorecidas.
– La saturación en las líneas puede producir a veces un cierto retraso en el establecimiento de
la comunicación.
– La capacidad de transmisión de datos es bastante baja, dado que el diseño de la red res-
ponde básicamente a las necesidades de transmisión de señales analógicas.
– Los costes son crecientes con la distancia.
9.5.2. Videotex
El videotex es un servicio de telecomunicación especialmente orientado al acceso a bases de
datos a través de la Red Telefónica Conmutada, con un terminal específico de bajo coste y fácil ma-
nejo aunque también es posible convertir un PC en terminal de videotex añadiéndole una tarjeta de
emulación de muy bajo coste.
9.5.3. Teletex
El objetivo de este servicio es permitir la transmisión de textos alfanuméricos entre diversos
terminales, de tal forma que la información llegue del emisor al receptor en idénticas condiciones de
formato, presentación y contenido.
9.5.7. Telealarmas
Servicio orientado a proporcionar a los centros de operación y servicio la información procesada pro-
cedente de sensores remotos. Se apoya en la RTC, utilizando la propia línea telefónica del abonado para
el envío instantáneo de una señal de alarma codificada cuando se activa algún sensor. Acceso a bases
de datos: servicio que permite a sus usuarios acceder a información residente en ordenadores remotos.
Por el lado de los suministradores están los productores, quienes generan y elaboran la información y los
distribuidores, quienes ponen los medios para facilitar el acceso a ella por parte de los usuarios.
ESQUEMA INICIAL
1. Sistemas de numeración
1.1. Evolución
1.2. Conceptos
1.3. Teorema Fundamental de la Numeración
2. El sistema decimal
3. El sistema binario
3.1. El bit y los números binarios
3.2. La aritmética binaria
3.2.1. La suma
3.2.2. La resta
3.2.3. La multiplicación
3.2.4. La división
6. Comunicación e información
11. Datos
11.1. Definición y características
11.2. Tipos de datos
11.2.1. Tipos de datos simples estándar
11.2.2. Tipo de datos simples no estándar
11.2.3. Tipos de datos estructurados o complejos
15. Registros
16. Arrays
6.1. Arrays unidimensionales: vectores
6.2. Operaciones con arrays unidimensionales
6.3. Arrays bidimensionales: matrices
6.4. Arrays multidimensionales
1. SISTEMAS DE NUMERACIÓN
1.1. EVOLUCIÓN
Desde los comienzos de la historia, el hombre ha utilizado la escritura para mantener y transmitir
información. La escritura abarca una gran variedad de técnicas y formas que oscilan desde el antiguo
jeroglífico egipcio, en el que se utilizaban símbolos para la representación de palabras, hasta el alfa-
beto actual que utilizan la mayoría de los idiomas contemporáneos.
Originalmente, el alfabeto como conjunto de símbolos se desarrolló en Grecia y posteriormente
en Roma, y de él se deriva nuestro alfabeto actual.
NOTA: recordemos que, aunque nuestra cultura occidental ha heredado gran
parte de su bagaje del imperio romano, en aquella época el uso del número, tal
como lo conocemos hoy día, era inexistente. Los romanos utilizaban letras para
representar cantidades numéricas.
Uno de los primeros intentos para la representación de datos numéricos en forma de escritura
fue el sistema de numeración indoarábigo, del que derivan los actuales sistemas de numeración,
incluido el sistema decimal.
Un sistema de numeración se caracteriza fundamentalmente por su base, que es el número de
símbolos distintos que utiliza; además es el coeficiente que determina cuál es el valor de cada sím-
bolo dependiendo de la posición que ocupe.
1.2. CONCEPTOS
Desde tiempos prehistóricos el ser humano ha tenido la capacidad de contar objetos. Intuiti-
vamente este hecho resulta bastante sencillo, pero se basa en una abstracción muy importante: la
representación del número de forma independiente a los objetos a los que se aplica.
Cuando decimos que alrededor de una mesa hay cuatro sillas, estamos particularizando un con-
cepto numérico general: el número cuatro. Es una abstracción general porque podemos aplicar el
número cuatro a diferentes objetos siempre que se presenten en esta cantidad, sean sillas, lápices
o las ruedas de un coche.
Un dígito es una representación material de un concepto numérico. Por “material” indicamos
que se puede plasmar sobre algún soporte, por ejemplo, podemos escribir el número cuatro en un
papel.
Esta abstracción de las cantidades significan que cobran entidad por sí mismas, pero es una
identidad abstracta que necesita representarse de alguna manera. La representación “material” de
los números es la base para ideas más complejas, como las operaciones aritméticas básicas, en un
primer lugar, y el desarrollo de matemáticas más complejas posteriormente.
La forma de representar y ordenar cantidades nos lleva a considerar un sistema de numeración.
La definición más sencilla del término “Sistema de numeración” es la siguiente:
Un sistema de numeración es un conjunto de símbolos y reglas que se utili-
zan para la representación de datos numéricos o cantidades.
Esta definición se completa con los siguientes postulados:
1. La representación de un número se efectúa mediante cadenas de dígitos (o sólo uno de
ellos).
2. Las cantidades expresadas dependen de los dígitos empleados por una parte, y de las posi-
ciones de éstos dentro de la cadena, por otra.
Cualquier sistema de numeración de los que vamos a estudiar se basa en estos dos principios
básicos. Nótese que el primer principio no indica que son necesarios un número predeterminado de
dígitos. La principal diferencia entre ellos es el número de dígitos que utilizamos para representar las
cantidades.
NOTA: intuitivamente pensamos en diez dígitos, del 0 hasta el 9. La razón
de que pensemos en esta dirección se debe a que el sistema de numeración que
utilizamos tiene diez dígitos como reflejo de nuestros diez dedos. Los dedos son el
primer y principal instrumento para contar que el ser humano utiliza.
Un sistema de numeración se caracteriza por su base, que no es más que el número de símbolos
(dígitos) que utiliza. El sistema decimal tiene 10 símbolos, y, como antes mencionábamos, las perso-
nas lo adoptamos por la sencilla razón de que tenemos 10 dedos en las manos. La curiosa razón de
ello es que en tiempos prehistóricos se utilizaban los dedos para contar rudimentariamente y expresar
cantidades.
El segundo principio nos lleva a una nueva definición: los sistemas de numeración actuales se
denominan posicionales, indicando esto que el valor de cada dígito en un número depende de su
posición y de su valor intrínseco.
El valor posicional está íntimamente ligado a la base que utilice el sistema. El siguiente ejemplo
pone de manifiesto esta idea. Veamos el número 675 en sistema decimal.
El número decimal 675. Para determinar la posición de un dígito en la cadena que representa
el número comenzamos a contar de derecha a izquierda empezando desde 0
Número = XnBn + Xn-1 Bn-1 + ... + X1B1 + X0B0 + X-1B-1 + . + X-m-1B-m-1 + X-mB-m
O en forma de sumatorio:
n
i
Número = 6 xi B
i = -m
Donde:
– i = posición respecto a la coma decimal
– B = base del sistema de numeración
– Xi = dígitos (en función del lugar que ocupa frente a la coma decimal)
– m = número de dígitos a la derecha de la coma decimal
– n = número de dígitos a la izquierda del número decimal
En efecto cualquier número en cualquier base se puede representar como una serie de sumas y
multiplicaciones. Veamos ejemplos:
12034 = 1 . 104 + 2 . 103 + 0 . 102 + 3 . 101 + 4 . 100 (= 1 . 104 + 2 . 103 + 3 . 10 + 4)
73,148 = 7 . 101 + 3 . 100 + 1 . 10-1 + 4 . 10-2 + 8 . 10-3
Obsérvese que el segundo es un número con decimales. En este caso las potencias de 10 son negativas
El teorema aplicado a la inversa nos sirve para obtener la representación de una cantidad decimal
en cualquier otro sistema de numeración, por medio de divisiones sucesivas por la base.
Los conceptos estudiados pueden lleva al lector a plantearse el siguiente razonamiento:
Los ordenadores utilizan exclusivamente el sistema binario como medio de codificación de la
información.
El sistema binario es un sistema numérico que, como su propio nombre indica, sólo representa
números. No sólo eso, además, sólo posee dos dígitos, el 0 y el 1.
¿Cómo puede entonces un ordenador representar un texto, un gráfico, un sonido o una imagen?
Esta pregunta es muy interesante; por ahora baste decir que todos los tipos de información
mencionados pueden ser codificados mediante números. Las técnicas empleadas para representar
información mediante el sistema binario son muy amplias y las estudiaremos en el siguiente capítulo.
Ahora sigamos con los sistemas de numeración.
2. EL SISTEMA DECIMAL
Desde tiempos históricos el hombre ha utilizado el sistema decimal como norma fundamental
para contar, realizar operaciones aritméticas, manejar contabilidades, etc.
El sistema decimal tiene base 10, es decir, cuenta con diez dígitos o símbolos para representar
la información numérica:
0123456789
El sistema decimal derivó del sistema numérico indoarábigo, aunque la razón última de su uso
parece estar íntimamente ligada al hecho de que el ser humano cuenta con diez dedos en sus manos
(como antes comentábamos), siendo éstas el instrumento primario para contar.
El decimal es un sistema de numeración posicional; utiliza un conjunto de símbolos cuyos valores
dependen de sus posiciones relativas al punto decimal (.), que en caso de ausencia se presupone
colocado a la derecha del número.
No es objetivo de este libro enseñar las operaciones básicas que se pueden realizar con el
sistema decimal. Baste señalar que las principales son las aritméticas, incluyendo la inversión y
potenciación.
3. EL SISTEMA BINARIO
.../...
11010 26
11011 27
11100 28
11101 29
11110 30
11111 31
3.2.1. La suma
La suma es la operación más sencilla. Sigue los mismos pasos que el sistema decimal, con la
importante diferencia de manejar sólo dos dígitos. Cuando el resultado de una suma parcial excede
de los símbolos utilizados (dos en nuestro caso) se produce un acarreo que se suma a la siguiente
suma parcial. Veamos varios ejemplos:
0+0=0
Este caso está bastante claro, pues es igual al sistema decimal
0+1=1
1+0=1
Los casos B y C son equivalentes, pues el orden de los sumandos no altera el resultado
1+1=0
(con un 1 de acarreo)
En decimal 1 + 1 = 2, pero al no existir el símbolo dos en binario, se produce el acarreo de una unidad
12 1100
+ 34 100010
46 101110
En el caso anterior no ha tenido lugar ningún acarreo, cosa que no ocurre en los dos ejemplos
siguientes:
3.2.2. La resta
La resta binaria se efectúa de forma similar a la resta decimal, con la excepción indicada en la
siguiente tabla (*):
0–0=0 1-0=1
3.2.3. La multiplicación
La multiplicación, como el resto de las operaciones, se realiza de forma análoga a si operásemos
en base decimal. El sistema binario, por tanto, tiene su propia tabla de multiplicar, aunque mucho
más sencilla que las del sistema decimal.
Ejemplo:
3.2.4. La división
Por último, la división, al igual que las operaciones anteriores, se realiza de forma similar a su co-
rrespondiente decimal, teniendo en cuenta que las multiplicaciones y sumas intermedias lógicamente
han de hacerse en binario. Veamos un ejemplo, divídase 100010 (34) entre 110 (6):
Hexadecimal Decimal
A 10
B 11
C 12
D 13
E 14
F 15
10 16
.../...
AUXILIARES TÉCNICOS DE INFORMÁTICA DE LA JUNTA DE ANDALUCÍA. TEMARIO 209
SISTEMAS DE NUMERACIÓN Y SU REPRESENTACIÓN
.../...
11 17
12 18
13 19
14 20
Equivalencia entre los dígitos hexadecimales y decimales. Sólo se incluyen aquellos mayores que 10,
que se representan por letras a falta de más dígitos numéricos, y algunos otros (hasta el 20 decimal)
Las operaciones algebraicas estudiadas para el sistema binario son válidas también para los sis-
temas octal y hexadecimal, con la salvedad de que operamos en base 8 y 16, respectivamente. Esta
similitud a la hora de operar se debe a que todos los sistemas mencionados son posicionales.
El sistema octal es muy poco utilizado en la actualidad, aunque hace algún tiempo tuvo su im-
portancia. El sistema hexadecimal, sin embargo, tiene un uso considerable al resultar muy útil por
varias razones:
– Su base es igual al número de combinaciones que pueden obtenerse con un nibble (4 bits).
– Representa una notación compacta eficaz para representar el contenido de un byte, cuyo
valor máximo en este sistema es FF, que equivale a 256 en decimal. Nótese, no obstante,
que en el primero de los casos sólo son necesarios dos símbolos en lugar de tres.
Actualmente los componentes más utilizados, los transistores, han evolucionado y se agrupan en
circuitos integrados muy pequeños y complejos. Esto se consigue mediante un importante proceso
de miniaturización e inclusión en pequeñas pastillas de silicio. Éstas se protegen del exterior en una
cápsula de plástico, constituyendo los chips o circuitos integrados.
Un chip de ordenador. El encapsulamiento se suele hacer en una pastilla de plástico en cuyo interior se encuentra
el diminuto circuito electrónico que procesa las señales digitales. Obsérvense los pines en forma
de patitas plateadas que se utilizan para conectar el dispositivo al resto del sistema
Por el interior de los chips circula una corriente eléctrica de bajo voltaje que activa su funciona-
miento. Al ser circuitos digitales sólo admiten dos valores de voltaje eléctrico. los ordenadores ba-
sados en estos chip son digitales, lo que implica que sus circuitos sólo admiten dos valores, por eso
decimos que siguen una lógica binaria.
Boole comenzó a estudiar álgebra y poco después publicó una aplicación de métodos algebraicos
para la solución de ecuaciones diferenciales en el Transaction of the Royal Society. Por este trabajo
recibió la medalla de la Real Sociedad y fue el comienzo de su fama a gran escala.
Boole fue nominado para una cátedra de matemática en el
Queens College, Cork (Irlanda), en 1849. Enseñó allí durante el
resto de su vida, ganándose una reputación como un prominente y
dedicado profesor.
En el año 1854 publicó una investigación acerca de las leyes
del pensamiento sobre las cuales se basan las teorías matemáti-
cas de Lógica y Probabilidad. Boole aproximó la lógica en una nue-
va dirección reduciéndola a una álgebra simple, incorporando las
matemáticas. Agudizó la analogía entre los símbolos algebraicos y
aquellos que representan formas lógicas.
Comenzaba el álgebra de la lógica llamada Álgebra
Booleana o Álgebra de Boole, la cual resultó el funda-
mento principal para la construcción de ordenadores.
George Boole.
Boole también tradujo en ecuaciones diferenciales. El influyente Nacido el 2 de noviembre de 1815 en
“Tratado en Ecuaciones Diferenciales” apareció en 1859, el cálculo Lincoln, Lincolnshire, Inglaterra. Falleció
de las diferencias finitas, “Tratado sobre el Cálculo de las Diferen- el 8 de diciembre de 1864 en Ballin-
temple, County Cork, Irlanda. Boole
cias Finitas” (1860), y métodos generales en probabilidad. Publicó recluyó la lógica a una álgebra simple.
alrededor de 50 escritos y fue uno de los primeros en investigar También trabajó en ecuaciones diferen-
las propiedades básicas de los números, tales como la propiedad ciales, el cálculo de diferencias finitas y
distributiva. métodos generales de probabilidad
Muchos honores le fueron concedidos a Boole por las universidades de Dublín y Oxford, siendo
elegido miembro académico de la Real Sociedad en 1857. Sin embargo, su carrera, que comenzó
un tanto tarde, terminó desafortunadamente temprano, cuando contaba con sólo 49 años: un día
de 1864, como otros tantos, caminaba desde su casa al colegio, una distancia de dos millas, pero
aquella vez bajo una lluvia torrencial. Luego dio una conferencia con la ropa empapada. El resultado
fue un resfriado que dañó sus pulmones y terminó con su carrera y con su vida, poco después.
El sistema de lógica de Boole es una de las muchas pruebas de genio y paciencia combinadas.
El proceso simbólico del álgebra, inventado como herramienta de cálculo numérico, provee la gramá-
tica y el diccionario de los sistemas de lógica. El trabajo de Boole ha sido un paso fundamental en la
revolución de los ordenadores.
En una función booleana pueden aparecer un número de variables de entrada con las que se rea-
liza una serie de operaciones determinadas por la función. El resultado de aplicar estas operaciones
produce un resultado que siempre será 0 o 1.
Si el número de variables es n, existirán 2n combinaciones posibles de valores de entrada a la
función.
Denominamos Producto mínimo (también miniterm) al producto donde apa-
recen todas las variables o sus negaciones.
Veamos un ejemplo:
Supongamos que cuatro amigos deciden ir al cine si lo quiere la mayoría. Cada uno puede votar
sí o no. Representemos el voto de cada uno por las letras A, B, C y D (que serán las variables de
entrada). La función devolverá sí (representado por un 1) cuando el número de votos afirmativos sea
al menos de tres y en caso contrario devolverá no (representado por un 0).
Por ejemplo: si A vota 1, B vota 0, C vota 0 y D vota 1 la función booleana devolverá 0 (ya que
no se alcanza mayoría). El producto mínimo que expresa este ejemplo será:
A·B’·C’·D
Las variables B y C están negadas porque sus valores son ceros
Otro caso: A vota 0, B vota 1, C vota 1 y D vota 1. La función booleana devolverá 1 (ya que ahora
hay mayoría). El producto mínimo que expresa este ejemplo será:
A’·B·C·D
Todos los casos posibles se representan en la siguiente tabla:
Votos Resultado
A B C D
1 1 1 1 1
1 1 1 0 1
1 1 0 1 1
1 1 0 0 0
1 0 1 1 1
1 0 1 0 0
1 0 0 1 0
1 0 0 0 0
0 1 1 1 1
0 1 1 0 0
0 1 0 1 0
0 1 0 0 0
0 0 1 1 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 0
Los 16 casos posibles de la votación. Recuérdese que 24 = 16
Las funciones booleanas se pueden representar como la suma de productos mínimos (miniter-
ms) iguales a 1. En nuestro ejemplo la función booleana quedará definida por:
f (A,B,C,D) = ABCD + ABCD’ + ABC’D + AB’CD + A’BCD
5.3.5. Estados
La electrónica digital se sirve de dos estados lógicos: verdadero (high 1) y falso (low 0). Esto
sirve para representar estados de forma clara y reducida. Por ejemplo, se puede decir que la luz está
apagada (0) con solamente un símbolo.
La electrónica no se escribe sobre un papel, sino que utiliza ciertas formas físicas, por ello los
estados se expresan en un circuito con una diferencia de potencial. 1 se representa con 5 voltios y
0 con 0 voltios. Así que una señal se puede transportar con un cable que tenga una diferencia de
potencial y se puede registrar a una distancia considerable.
Entrada A Salida B
1 0
0 1
Símbolo y tabla de la verdad de una puerta NOT
– AND: devuelve 1 sólo si todas sus entradas son 1. Otra forma de considerarlo es que devuel-
ve 0 si alguna de sus entradas es 0.
– XOR: devuelve 1 cuando sus entradas son diferentes y 0 cuando son iguales.
Aunque pueda parecer sorprendente, todas las operaciones que un ordenador es capaz de rea-
lizar están basadas en estos circuitos básicos. Las puertas lógicas se combinan entre sí para formar
unidades mucho más complicadas.
Hasta ahora hemos visto puertas con dos entradas. Podemos conseguir una puerta de varias
entradas combinando diferentes puertas básicas. Por ejemplo, si conectamos a la salida de un AND
una entrada de otro AND tendremos una AND de tres entradas (A, B y C):
La combinación de puertas permite realizar múltiples funciones que podrán sumar números,
multiplicarlos, compararlos, etc. Estas operaciones básicas se pueden a su vez combinar en módulos
más complejos hasta alcanzar el diseño de un procesador, que en última instancia no es más que un
gran conjunto de puertas lógicas.
6. COMUNICACIÓN E INFORMACIÓN
La comunicación entre los seres vivos, en sus múltiples formas, se configura como una carac-
terística fundamental y necesaria de la vida, siendo a la vez consecuencia directa de ésta. Existen
numerosos mecanismos de comunicación: unos originados por la propia naturaleza y otros por la
inventiva humana.
En efecto, podemos identificar formas de comunicación en los más primitivos organismos vivos,
que utilizan ciertas moléculas como mensajeros químicos. En el otro extremo podemos citar los mo-
dernos sistemas de comunicación por satélite fruto de la inventiva humana.
De hecho actualmente es el hombre el máximo exponente de todos los organismos comunicado-
res, ya que, además de los medios naturales que posee (la capacidad del habla, por ejemplo, que es
única entre los seres vivos), utiliza todo tipo de dispositivos artificiales para comunicarse.
Para que cualquier tipo de comunicación pueda efectuarse deben existir ciertas entidades:
– Un emisor, origen de la comunicación.
– Un mensaje que transmite el emisor.
– Un medio por el cual viaja el mensaje.
– Un receptor que recibe el mensaje.
El mensaje se compone de la información a comunicar. Esta información se puede codificar de
diversas formas; por ejemplo, dos indios podrían comunicarse mediante señales de humo, cuyo sig-
nificado ambos conocen, sin embargo un soldado de caballería no entendería el mensaje. El mensaje
está codificado en forma de señales de humo que el soldado desconoce, pero no por ello deja de ser
válido para los indios.
Deducimos la importancia de que el receptor comprenda el significado del mensaje originado por
el receptor, en caso contrario no existiría comunicación. Para ello deben acordar codificar el mensaje
en un sistema que ambos entiendan. Cuando el lector lee estas páginas asimila su contenido porque
está escrito en castellano, sistema de codificación de la información que se aprendió en el colegio.
Es importante destacar que el sistema de codificación puede llegar a ser independiente del me-
dio de transmisión que se utilice. Por ejemplo, al leer las páginas de este libro, el medio lo constituye
el papel y la tinta, sin embargo cuando mantenemos una conversación con otra persona, el medio lo
constituye el aire y las ondas sonoras que viajan por él. En ambos casos el sistema de codificación
empleado es el castellano, pero se han utilizado distintos medios.
sistema se agrupa en los siguientes niveles básicos (existen otros muchos más complejos cuyo estu-
dio queda para otros temas):
– BIT: unidad mínima de información representable con el sistema binario. Contiene la infor-
mación de un dígito binario, es decir 0 o 1. Bit es la contracción de Binary Digit.
– NIBBLE: agrupación de 4 bits.
– OCTETO o BYTE: agrupación de 8 bits. Es la medida estándar de información en informática,
aunque generalmente se utilizan múltiplos de esta cantidad para simplificar las cantidades.
– CARÁCTER: representación de una letra, dígito, signo de puntuación o código especial. Se
representa con 8 bits, es decir con un byte.
– PALABRA: agrupación de bits que se pueden tratar simultáneamente por un ordenador en
operaciones tales como movimiento de información hacia/desde la memoria, carga de regis-
tros, etc. Depende fuertemente de la arquitectura y diseño del ordenador y sus valores más
comunes oscilan entre 16, 32, 64 y 128 bits.
– CAMPO: agrupación de información a nivel lógico. Es más compleja que todas las anteriores
en cuanto almacena información más compleja, por ejemplo un nombre o la edad de una
persona.
– REGISTRO: agrupación lógica de campos, por ejemplo toda la información que el DNI posee
sobre una persona (nombre, fecha de nacimiento, etc.).
Cuando se aplicó toda esta teoría al diseño de los circuitos digitales, se observó la necesidad de
asociar los bits en grupos, con objeto de simplificar algunas operaciones y facilitar los diseños de los
circuitos electrónicos. Las agrupaciones más importantes son las siguientes:
9.1. INTRODUCCIÓN
La información numérica representa cantidades, de forma independiente de la base del sistema
utilizado. Por contra, la información alfanumérica contiene letras, palabras y otro tipo de datos. Desde
el punto de vista de los sistemas de codificación de la información esta distinción es fundamental,
debido, sobre todo, a que las operaciones que se realizan sobre un tipo u otro tienen naturaleza
completamente diferente.
En efecto, supongamos que tenemos una lista de nombres y otra de edades. Podemos ordenar
ambas listas, pero en el primer caso el criterio será el orden alfabético y en el segundo el orden de
numeración. Ambos procesos son distintos.
Otro ejemplo consiste en sumar dos números. Para todos resulta claro el significado de esta
operación, pero ¿cómo sumamos dos frases?. Suponiendo que las frases originales son:
– Frase 1. “Hola,”
– Frase 2. “mi nombre es Pepito”
La suma de ellas será:
Frase resultado: “Hola, mi nombre es Pepito”
Es decir, la concatenación de ambas. Como podemos apreciar los conceptos de suma son di-
ferentes si nos referimos a números o a palabras. Estas particularidades de las operaciones sobre
uno u otro tipo de información, hacen que los ordenadores almacenen la información en diferentes
formatos según su tipo.
En este apartado veremos cómo se guardan los datos numéricos, y en el siguiente los datos
alfanuméricos (así se denomina en informática a todo lo que no es un número). En ambos casos
supondremos que n es el número de bits de los que disponemos para almacenar la información,
coincidiendo generalmente esta cantidad con la longitud de palabra de la computadora.
Si por el contrario se utilizan más bits que los que tiene la longitud de palabra, los incrementos se
harán en múltiplos de ésta. Si representamos números con el doble de bits de la longitud de palabra,
diremos que estamos utilizando doble precisión.
Otro concepto fundamental en el estudio de los sistemas de representación numérica, es el
rango de representación.
Se denomina rango de representación de un sistema de codificación numé-
rica al conjunto de números representables por dicho sistema.
El rango de representación se escribe como un conjunto de dos números separados por comas
y rodeados por corchetes. Estos números son los límites inferior y superior del rango, más allá de los
cuales el sistema de codificación no puede representar cantidades.
El rango de representación genérico del sistema módulo y signo es (con n = número de bits):
[0, 2n-1]
El rango de representación genérico del sistema módulo y signo es (con n = número de bits):
[-2n-1+1, 2n-1-1]
Para ciertos valores concretos obtenemos:
– n = 8: [-127, 127]
– n = 16: [-32767, 32767]
Este sistema posee ciertas propiedades curiosas:
– Ventaja: El rango de representación es simétrico. Esto significa que pueden expresarse
los mismos números positivos que negativos.
– Desventaja: Existen dos representaciones del número cero. Efectivamente, para n = 8
tenemos que 1 0000000 y 0 0000000 representan ambos la misma cantidad: 0.
El sistema MS puede ampliarse para usar doble precisión aumentando el rango de representa-
ción e incluyendo números decimales.
Este sistema tiene un rango de representación igual al anterior, siendo éste también simétrico,
así como una doble representación del cero.
!
"
Una de las diferencias de este método es que su rango de representación es asimétrico, variando
en el siguiente intervalo:
[-2n-1, 2n-1-1]
Obsérvese en la tabla cómo varía el rango de representación en función del número de bits y
cómo se manifiesta el rango asimétrico (obsérvese que los límites máximo y mínimo son diferentes):
La codificación en exceso a 2n-1, a diferencia de los estudiados, no reserva ningún bit para el
signo. La cantidad es almacenada utilizando los n bits disponibles, de forma que al número en binario
puro se le suma el exceso.
Veamos algunos ejemplos:
Aunque con un rango asimétrico similar al sistema de complemento a dos, también tiene la ven-
taja de poseer una única representación para el cero:
Nótese que los cuatro bits permiten más combinaciones, por ejemplo 1101, que no son apro-
vechadas, por lo que de alguna manera estamos perdiendo capacidad de memoria. Veamos algunos
ejemplos de números codificados en el sistema BCD:
Cada agrupación de 4 bits representa un dígito de los números decimales
!
Veamos un ejemplo:
!
En un ordenador generalmente se utiliza una doble palabra para representar números en coma
flotante, a no ser que la longitud de ésta sea muy grande.
Por convención la base de exponenciación es 2 o alguna de sus potencias, no siendo necesario
almacenar este parámetro.
El número de bits se divide entre la mantisa y el exponente. Las reglas para llevar a cabo la re-
presentación en coma flotante son las siguientes:
– La base de exponenciación, como mencionábamos anteriormente, es 2 o algunas de sus
potencias, 8 o 16 en muchos casos. A este factor se le denomina también radix, y viene de-
terminado por la arquitectura del ordenador. Dado que es un número constante, no necesita
ser almacenado.
– El exponente, también conocido por característica, se suele almacenar codificado en
módulo y signo o exceso a 2n-1 y siempre es un número entero.
– La mantisa suele ser codificada en módulo y signo o complemento a uno o a dos. Es un
número real cuyo punto decimal siempre se considera en el mismo sitio, a la izquierda de
sus dígitos.
El formato de coma flotante se puede presentar en numerosas variantes al cambiar el número de
bits de la palabra o aquellos reservados para el exponente y la mantisa. Las definiciones más comunes
en los modernos ordenadores son las siguientes para simple y doble precisión, respectivamente:
m+ 1,469367938528 x 10-39
M+ 1,701411834605 x 1038
m- -1,469367938528 x 1038
M- 1,701411834605 x 10-39
10.1. INTRODUCCIÓN
Hemos estudiado cómo un ordenador codifica datos internamente, pero, aunque los anteriores
sistemas permiten procesar información numérica satisfactoriamente, ésta no es la única implicada
en los programas. La importancia de la información alfanumérica es esencial en aplicaciones de pro-
cesos de textos, bases de datos, etc. Se hacen necesarios, por tanto, sistemas que soporten este tipo
de información, que, como ya señalamos, tiene diferentes propiedades que la numérica.
Por otra parte, los ordenadores necesitan algún tipo de información de control para realizar cier-
tas tareas. Por ejemplo, piénsese en un programa que emita un listado a partir de ciertos ficheros.
Cuando el ordenador ha enviado la primera línea a la impresora, de alguna forma tiene que indicarle
que debe efectuar un salto a la siguiente; del mismo modo hará cuando termine la página y deba
pasar a otra. Este tipo de información se incluye en los sistemas de codificación alfanumérica, como
veremos a continuación.
0 @ 10 E 20 O 30 Y 40 * 51 2 61 /
1 [ 11 F 21 P 31 Z 41 ( 52 3 62 .
2 ] 12 G 22 Q 32 ) 42 % 53 4 63 “
3 # 13 H 23 R 33 - 43 : 54 5 64 –
.../...
228 AUXILIARES TÉCNICOS DE INFORMÁTICA DE LA JUNTA DE ANDALUCÍA. TEMARIO
SISTEMAS DE NUMERACIÓN Y SU REPRESENTACIÓN
.../...
4 ^ 14 I 24 S 34 + 44 ? 55 6
5 SP 15 J 25 T 35 < 45 ! 56 7
6 A 16 K 26 U 36 = 46 ´ 57 8
7 B 17 L 27 V 37 > 47 \ 58 9
8 C 18 M 28 W 38 & 48 0 59 ,
9 D 19 N 29 X 39 $ 49 1 60 ;
Tabla de caracteres Fieldata. El quinto elemento representa el espacio (SP = Space)
Veamos un ejemplo de cómo almacenaría un ordenador una breve frase codificada en Fieldata:
HOLA, ADIÓS.
0 NUL 32 SP 64 @ 96 ‘
1 SOH 33 ! 65 A 97 a
2 STX 34 “ 66 B 98 b
.../...
AUXILIARES TÉCNICOS DE INFORMÁTICA DE LA JUNTA DE ANDALUCÍA. TEMARIO 229
SISTEMAS DE NUMERACIÓN Y SU REPRESENTACIÓN
.../...
3 ETX 35 # 67 C 99 c
4 EOT 36 $ 68 D 100 d
5 ENQ 37 % 69 E 101 e
6 ACK 38 & 70 F 102 f
7 BEL 39 ` 71 G 103 g
8 BS 40 ( 72 H 104 h
9 HT 41 ) 73 I 105 i
10 LF 42 * 74 J 106 j
11 VT 43 + 75 K 107 k
12 FF 44 , 76 L 108 l
13 CR 45 - 77 M 109 m
14 SO 46 . 78 N 110 n
15 SI 47 / 79 O 111 o
16 DLE 48 0 80 P 112 p
17 DC1 49 1 81 Q 113 q
18 DC2 50 2 82 R 114 r
19 DC3 51 3 83 S 115 s
20 DC4 52 4 84 T 116 t
21 NAK 53 5 85 U 117 u
22 SYN 54 6 86 V 118 v
23 ETB 55 7 87 W 119 w
24 CAN 56 8 88 X 120 x
25 EM 57 9 89 Y 121 y
26 SUB 58 : 90 Z 122 z
27 ESC 59 ; 91 [ 123 {
28 FS 60 < 92 \ 124 I
29 GC 61 = 93 ] 125 }
30 RS 62 < 94 ^ 126 a
31 US 63 ? 95 – 127 DEL
Tabla representando los caracteres del código ASCII extendido. Sólo se ilustran los 127 primeros.
En los ordenadores PC los restantes pueden elegirse entre varios juegos, posibilitando así el uso
de caracteres propios de un idioma particular, por ejemplo Ä, ô, ñ, etc. Entre los caracteres que faltan
hasta los 255, también se incluyen símbolos y signos, como ©, ‰, ™, ®.
Los caracteres de control comprenden desde el 0 hasta el 32 (este último representando el es-
pacio). El significado de algunos de ellos se expone a continuación:
– SOH: Start of Heading (comienzo de cabecera)
– STX: Start of Text (comienzo de texto)
– ETX: End of Text (final de texto)
– EOT: End of Transmission (fin de transmisión)
– BS: Back Space (retroceso)
– LF: Line Feed (avance de línea)
M
!
8 N
- 7 O
. 6 P
/ 5 Q
" 0 4 R
1 3
S
2
11. DATOS
– Lógicos o booleanos: sólo puede tomar uno de dos valores posibles. Estos valores se pue-
den representar de distinta forma, verdadero o falso, 1 o 0, etc.
– Carácter: admite uno de los caracteres del conjunto que reconoce el ordenador (letras,
dígitos, caracteres especiales, ASCII). Su agrupación lógica da lugar al tipo cadena o string,
que se define como una secuencia de caracteres, por ejemplo, el nombre de una persona.
Las cadenas se definen entre comillas para diferenciarlas de otros datos. Por ejemplo:
Apellido1 = “García”
Donde apellido1 es el nombre del dato y García el valor que toma.
– Fecha/hora: los modernos sistemas de programación incluyen un tipo de datos especial
para la fecha y hora.
NOTA: podemos imaginar una variable como una caja etiquetada con un nom-
bre que almacena un valor. La “caja” es en realidad una zona definida de la me-
moria del ordenador, que el programador no tiene por qué conocer. El sistema
de programación se encarga de gestionar estos detalles internos. Una constante
funciona de manera análoga pero el contenido de la caja es invariable.
Representación de una variable. Al detectar una variable o una constante con nombre, se reserva automáticamente
espacio en memoria para almacenarla. El espacio reservado depende del tipo de la variable
Antes de usar una variable hay que definirla o declararla, procedimiento que consiste en asig-
narle un nombre y un tipo. La asignación de un nombre a una variable se rige por ciertas normas que
dependen de cada sistema de programación. Por ejemplo, en la mayoría de ellos no está permitido
que el nombre de un dato comience por un dígito. No olvidemos, además, que el nombre debe ser
significativo para facilitar futuras referencias a la variable.
Si en el proceso de declaración no se asigna un valor a la variable (bien por elección del progra-
mador, bien porque el sistema de programación no lo permita), éste toma uno por defecto.
NOTA: cuando se asigna un valor a una variable por primera vez, hablamos
de inicializar dicha variable. Recuérdese que, a lo largo de la ejecución del progra-
ma, el valor puede cambiar.
Las constantes pueden llevar asociados un nombre o no; si no lo llevan, se llaman literales. El
nombre y valor se asignan al definir la constante y ya no puede cambiar a lo largo de la ejecución. En
cuanto al tipo, dependiendo del lenguaje de programación, es necesario especificarlo o no.
Ejemplo de declaración de constante: Const PI = 3,1416
La ventaja de usar constantes con nombre es que facilita el desarrollo del programa mediante
nombres fáciles de recordar. En el proceso de ejecución, el compilador ha sustituido las constantes
por sus valores correspondientes.
.../...
IVA Importe * 0,16 Expresión donde aparece una variable y un número
Total Importe + IVA Expresión donde aparecen dos variables
Tabla donde se desglosan y explican las partes de las anteriores asignaciones
La mayoría de los operadores son binarios (actúan sobre dos valores originales) situándose el
operador entre los dos elementos. Existen algunos que son unitarios (actúan con un único operando),
por ejemplo, la negación lógica NOT o el signo menos cuando precede a una expresión.
NOT 1/0
V F
F V
El operador NOT es unario
NOTA: las expresiones pueden ser complicadas e incluso de distinto tipo, como
en el siguiente ejemplo, donde se evalúa una expresión relacional cuyos operandos
son a su vez expresiones numéricas:
((3*2)+1-5^2) < (2-1)
-18 < 1 Da como resultado Verdadero
Tabla de prioridades
()
^, NOT
.../...
AUXILIARES TÉCNICOS DE INFORMÁTICA DE LA JUNTA DE ANDALUCÍA. TEMARIO 237
SISTEMAS DE NUMERACIÓN Y SU REPRESENTACIÓN
.../...
*, /, div, mod, AND
+, -, OR
<, >, =,
Tabla con las reglas de precedencia entre operadores. La primera fila es la más prioritaria, la úl-
tima menos. Las expresiones entre paréntesis siempre se evalúan primero. Este mecanismo permite
a los programadores definir las prioridades según sus necesidades.
Es importante hacer notar que aunque estas son las reglas más ampliamente aceptadas, en
última instancia dependen del lenguaje de programación que se esté utilizando.
Entre dos operaciones que tienen la misma precedencia se resuelva la ambigüedad mediante
la regla de la asociatividad. La más normal es la asociatividad a la izquierda, que evalúa primero los
operandos a la izquierda de la expresión.
dena; el contenido de una variable de tipo cadena es un conjunto de 0 o más caracteres encerrados
entre comillas dobles “ “, mientras que una variable de tipo carácter es un solo carácter encerrado
entre comillas simples ‘ ‘.
NOTA: esto es así en la mayoría de los casos, pero recordemos que no es una
regla absoluta; depende del lenguaje de programación que se esté utilizando.
Una cadena de caracteres almacenada en posiciones contiguas de memoria. Nótese que los espacios en blanco también
requieren su celdilla, ya que se tratan como un carácter más. Obsérvese también que las comillas no se almacenan
Una cadena de caracteres almacenada en memoria. El primer byte indica la longitud, el segundo la longitud actual
y a continuación se almacena la cadena. Los dos primeros bytes no entran en el cómputo de la longitud total de la cadena
Reservar un carácter especial que indica el fin de cadena. Este sistema lo utiliza por ejemplo
el lenguaje C.
Una cadena de caracteres almacenada en memoria. El último byte actúa como delimitador (representado
por el carácter especial /0) y no entra en el cómputo de la longitud total de la cadena. En este caso es imposible
conocer la longitud actual de la cadena a priori; hay que recorrerla entera para realizar el cómputo de caracteres
15. REGISTROS
Un registro es un tipo estructurado de información formado por un conjunto de datos de tipos
básicos que se asocian de forma lógica para representar situaciones que así lo requieran.
Por ejemplo, si un programa necesita manejar la información que contiene un DNI, tendremos
un conjunto de datos de diferente naturaleza asociados por una relación lógica: pertenecen a una
persona.
Cada dato componente del registro se denomina campo.
La sintaxis que usaremos para definir un tipo registro es la siguiente:
Tipo <Nombre_registro> = Registro
<campo1>: <tipo>
<campo2>: <tipo>
<campo3>: <tipo>
Fin declaración de registro
Una vez definida la estructura de tipo registro, se pueden declarar variables de dicho tipo:
Para acceder a un campo concreto de una variable de tipo registro, utilizamos el operador punto:
<Nombre_variable>.<Campo1>
Por ejemplo:
DNI.Apellido1 m “Pepe”
El almacenamiento de un registro en memoria ocupa la suma del tamaño de cada uno de sus
campos. Esta información estará almacenada de manera contigua y según el orden en que hayamos
declarado los campos.
Las técnicas para almacenar cadenas de caracteres son aplicables a los registros.
16. ARRAYS
1 2 3 4 5 6 7 8 9 10
H o l a , J u a n
Array de elementos. En este caso los elementos son de tipo carácter, pero podrían
haber sido de cualquier otro tipo definido por el usuario
El rango o longitud de un vector o array lineal es la diferencia entre el índice de valor máximo y el
índice de valor mínimo de ese array + 1. Normalmente los índices comienzan a enumerarse, es decir,
el valor mínimo del índice es 0 o 1, dependiendo del lenguaje (en Pascal con 1 y en C con 0). Sin
embargo nada impide que comiencen en cualquier otro valor definido por el programador.
Los arrays se almacenan siempre en posiciones consecutivas de memoria y podemos acceder a
cada elemento del array de manera independiente a través de los índices. Un índice no tiene por qué ser
un valor constante, puede ser una variable o una expresión que al ser evaluada devuelva ese índice.
A la hora de definir un array siempre habrá que dar el nombre del array, el rango de sus índices y
el tipo de los datos que contiene. Para hacer esa declaración se utiliza la siguiente nomenclatura.
<Nombre_array>: Array [LI .. LS] de <tipo>
Por ejemplo:
Declaración de array:
Sueldo: Array [1 .. 8] de real
Asignación de un elemento:
Sueldo [5] m 100000
Var I: Entero
Im5
Sueldo [I] m 100000
Asignación de un elemento:
Tabla [5, 4] m 25
El tamaño del array viene determinado por la siguiente fórmula (LS1-LI1 +1)*(LS2-LI2 +1)
La representación lógica de un array bidimensional es una matriz de dimensiones M*N donde M
es el número de filas de la matriz y N es el número de columnas. El elemento I,J ocupa la fila I y la
columna J. En memoria todos los elementos del array se almacenan en posiciones contiguas, pero
los programadores lo utilizan como una matriz:
1 2 3 4 5 6 7 8 9 10
1
2 H
3
4
Array bidimensional o matriz. Estos arrays tienen dos índices: el primero referencia la columna del elemento
y el segundo su fila. En nuestro ejemplo el elemento [5,2] contiene una “H”
Veamos un ejemplo práctico: supongamos que vamos a almacenar el nombre, apellidos, edad,
sexo y DNI de varias personas en una estructura dinámica de datos. Definimos el siguiente tipo:
– TIPO Persona
* Nombre: Char(20)
* Apellido1: Char(20)
* Apellido2: Char(20)
* Edad: Numshort
* Sexo: Boolean
* DNI: Numlong
* Próximo: Puntero tipo Persona
– FIN
17.2. REFERENCIAS
Además del tipo definido anteriormente necesitamos una variable auxiliar de tipo pun-
tero (que llamaremos REC, de recorrido), que servirá para referenciar los distintos nodos de la
estructura y los datos que éstos contienen:
Var REC: Puntero tipo Persona
Por referencia entendemos el proceso por el cual accedemos a los datos de un nodo. Este ac-
ceso se realiza mediante el puntero REC, al que se le añade el campo del nodo al que deseamos
acceder.
Por ejemplo, supongamos que tenemos el nombre de una persona y queremos obtener su edad.
El primer paso es realizar una búsqueda por nuestra estructura dinámica hasta dar con el nodo ade-
cuado. Una vez localizado, el puntero REC nos sirve para referenciar el dato concreto que necesita-
mos, en la forma siguiente:
REC.Edad
Figura que representa un nodo de una estructura dinámica y el puntero REC que lo referencia.
Añadiendo el nombre de un campo (separado por un punto) al puntero, podemos acceder al valor de cualquiera de ellos
"# $
!
Representación de una lista simplemente enlazada. Recordemos que los nodos de la lista pueden estar en cualquier zona
de memoria, no tienen por qué ocupar posiciones consecutivas. El puntero de comienzo da nombre a toda la estructura
En la práctica la forma más normal de utilizar listas enlazadas es mediante técnicas de memoria
dinámica, aunque una lista enlazada también se puede simular usando arrays (memoria estática).
Este método es poco usual por ser poco eficiente.
Con memoria estática se utilizarían 2 arrays del mismo tamaño y con la misma numeración de
índices. Uno de ellos guardaría los campos de información de la lista, y el otro (en la posición corres-
pondiente del primero) el índice del siguiente nodo.
Lista circular. Esta modalidad es en esencia igual que la anterior con la salvedad de que el último nodo apunta
al primero, característica por la que toma el nombre de circular
Una lista circular presenta una ventaja importante respecto a una normal: en las inserciones y
borrados no hay que suponer ningún caso especial, pues todos los nodos, incluido el primero útil,
tienen un predecesor.
Al recorrer la lista completa, empezaremos buscando la información por el comienzo y no sa-
bremos que hemos llegado al final hasta que el puntero REC de recorrido coincida de nuevo con el
comienzo.
Las listas dobles se caracterizan porque desde un nodo podemos acceder directamente tanto al
siguiente como al anterior. Ahora tenemos 2 punteros de enlace en cada nodo.
Lista doblemente enlazada. Para conseguir el doble enlace necesitamos un puntero adicional en cada nodo.
Lo hemos denominado “Anterior”, ya que apunta al nodo que precede al actual
La anterior estructura permite recorrer la lista en 2 sentidos, de principio a fin y viceversa. Pode-
mos encontrar diversas variantes de esta estructura: puede existir un segundo puntero que apunte al
final de la lista (que permitiría comenzar el recorrido por el final) o la lista puede diseñarse de forma
circular, de forma análoga al caso de la lista simplemente enlazada.
Las operaciones principales sobre una lista doblemente enlazada son las siguientes:
– Recorrido: igual que una lista simplemente enlazada, con el añadido de que ahora también
podemos recorrer la lista en sentido inverso mediante el puntero anterior.
– Búsqueda: igual que en una lista simplemente enlazada, con la posibilidad mencionada
anteriormente.
– Inserción: lo primero es analizar si queda espacio disponible en memoria, en cuyo caso se
reserva un nuevo nodo. A continuación se inicializan sus campos, y por último se actualizan
sus punteros de enlace anterior y posterior.
Casos particulares (el proceso de eliminación varia ligeramente):
* Inserción al comienzo si la lista está vacía.
* Inserción al comienzo si la lista no está vacía.
* Inserción al final.
* Inserción en medio de la lista.
– Eliminación: primero se comprueba si la lista tiene algún elemento. Si es así, se busca el
nodo que queremos borrar y, si existe, tomamos la posición en que se encuentra.
Casos particulares (el proceso de eliminación varía ligeramente):
– Borrado del primer nodo.
– Borrado del último nodo.
– Borrado de un nodo intermedio.
Una vez eliminado el nodo habrá que liberar la memoria que ocupaba.
Estructura de pila. Las operaciones de inserción y eliminación sólo se pueden realizar por un extremo denominado cima
El modo de operación que impone la pila supone que se procesen los elementos en orden inverso
a su entrada en la estructura, es decir, el primer elemento de la pila será el último que entró. Esta
técnica se conoce como LIFO (Last In First Out, último en entrar primero en salir).
Con una pila podemos realizar dos operaciones básicas, PUSH (meter) y POP (sacar), además de
otras funciones como TOP, que indica el elemento que ocupa la cima. Otras funciones nos ayudan a ma-
nejar las estructura de pila, indicándonos si ésta está vacía, el número de elementos que ocupa, etc.
NOTA: las pilas se pueden implementar con memoria estática (arrays) o con
memoria dinámica (listas enlazadas).
Las pilas tienen múltiples aplicaciones en informática. Un ejemplo típico es en las llamadas entre
funciones. En este caso, el sistema operativo utiliza una pila en donde va guardando la dirección de
retorno de cada una de estas llamadas.
Una estructura de cola. Las operaciones de inserción y eliminación se realizan por extremos opuestos
El modo de operación que impone la cola supone que se procesen los elementos en el mismo
orden de su incorporación a la estructura, es decir, el primer elemento de la cola es el primero que
entró. Esta técnica se conoce como FIFO (First In First Out, primero en entrar primero en salir).
Podemos implementar una cola con memoria estática (arrays) o con memoria dinámica (listas
enlazadas). Sea cual sea la implementación, siempre tendrán que existir dos variables, comienzo y
final, que apunten al comienzo y al fin de la cola, respectivamente.
Las colas, al igual que las pilas, tienen numerosas aplicaciones en informática. Un buen ejemplo
es la gestión de tareas por parte del sistema operativo y en la asignación de recursos.
Cuando un proceso necesita un recurso que esté ocupado, tendrá que ponerse en la cola. El
recurso se asigna según el orden de llegada de las solicitudes.
A veces interesa que ciertos procesos tengan mayor prioridad que otros, incluso aunque lleguen
más tarde; para ello se utiliza una variedad de colas denominada cola de prioridades.
Cada elemento de la cola tiene un campo adicional que indica su prioridad. La inserción de un
nuevo elemento en la cola se realiza en una posición dependiente de su prioridad. Se puede dar el
caso de que un nuevo nodo llegue con una prioridad más alta que cualquiera de los que espera en la
cola, en cuyo caso se coloca el primero. Podríamos decir que se “cuela” delante de todos los demás.
Estructura de árbol
Es un árbol con la peculiaridad de que cada nodo sólo puede tener 0, 1, o 2 hijos. A cada subár-
bol se le denomina subárbol izquierdo y subárbol derecho.
Los árboles binarios tienen las siguientes propiedades:
– Dos árboles binarios son similares si tienen los nodos colocados de igual forma uno a uno.
– Dos árboles binarios son equivalentes si tienen la misma estructura y los mismos contenidos.
– Un árbol binario es equilibrado si la altura entre su subárbol izquierdo y derecho se diferen-
cian como máximo en una unidad.
– Un árbol binario es completo si cada nodo tiene 0 o 2 hijos. El número máximo de hijos de
un determinado nivel i será 2 elevado a i.
– Un árbol esta lleno cuando todos los niveles están completos.
La representación de árboles binarios con punteros es relativamente sencilla después de lo estu-
diado sobre listas. Cada nodo del árbol tiene, además de los campos de información, dos punteros,
IZQ y DER (de izquierda y derecha, respectivamente) que apuntan a sus nodos hijos.
Los nodos hojas no tienen hijos, por los sus punteros serán NULL. Existe además un puntero
denominado raíz que apunta al primer nodo del árbol.
El recorrido de un árbol binario se puede realizar de tres formas según la dirección que tome el
recorrido. En cualquiera de las tres modalidades, siempre se recorre primero el subárbol izquierdo y
luego el derecho. Se diferencian en el momento en el que se recorre el nodo padre:
– Preorden: la raíz se procesa primero, luego el subárbol izquierdo y luego el derecho.
– Inorden: primero la raíz, luego el subárbol izquierdo y luego el derecho.
– Postorden: primero el subárbol izquierdo, luego el derecho y luego la raíz.
NOTA: los arboles son estructuras recursivas, por lo que los algoritmos más
eficientes con árboles son los recursivos.
Otras operaciones con árboles son:
– Búsqueda de un elemento: se recorre el árbol con cualquiera de los tres métodos hasta
encontrar el nodo deseado.
– Inserción en un árbol binario: primero se accede al padre, desde el cual se actualizan los
punteros a sus hijos. Esta operación se repite para los nodos que queden por debajo del que
acabamos de insertar.
– Borrado en un árbol binario: si el nodo a borrar sólo tiene un hijo, se sustituye directa-
mente. Si tiene dos hijos, hay que buscar cuál es el sucesor y el padre del sucesor, para a
continuación sustituir el nodo a borrar por su sucesor. Al final hay que poner como hijos del
sucesor (que es el que ha sustituido al nodo borrado) a los hijos del nodo borrado.
18.2. GRAFOS
El grafo es una estructura de datos no lineal con la siguiente característica: un nodo puede apun-
tar a varios y a su vez ser apuntado por otros.
Estructura de grafo
19.1. INTRODUCCIÓN
Uno de los objetivos más importantes de la informática es el tratamiento automático de grandes
cantidades de información. Esta información tiene variados orígenes y es de muy distinta naturaleza,
abarcando desde datos básicos para el funcionamiento de una empresa (nóminas, contabilidad, ad-
ministración, clientes, proveedores), hasta la información recogida y enviada a la Tierra por las sondas
espaciales, incluyendo muchas otras fuentes.
NOTA: en informática los términos archivo y fichero son equivalentes y se usan
indistintamente.
Tradicionalmente el tratamiento de la información y su almacenaje se ha realizado de forma manual;
dependiendo de la naturaleza de ésta se utilizaban fichas de clientes, libros contables, etc. La aplicación
de los ordenadores como técnica para la gestión de la información supuso una profunda revolución.
Los grandes archivos informáticos y bases de datos simplifican y aceleran de forma espectacular
el tratamiento y almacenamiento de la información. Estas ventajas se derivan de las características
físicas de los soportes físicos magnéticos y ópticos utilizados, y se pueden resumir en:
– Gran capacidad de almacenamiento en un reducido espacio.
– Rapidez en el proceso de los datos.
– Precisión y exactitud de los resultados.
Los archivos informáticos, por tanto, tendrán que soportar gran cantidad de información y ade-
más de distinto tipo. Efectivamente, en un archivo podemos encontrar datos tan variados como los
pedidos mensuales de una empresa, el código escrito por un programador, dibujos creado por un
artista gráfico, etc.
La organización interna de los archivos y las operaciones que hagamos sobre ellos dependerá del
tipo de información que contengan, siendo su estudio el tema del presente capítulo.
19.2. DEFINICIONES
Un fichero es un conjunto de datos relacionados lógicamente y organizados
según ciertos criterios, que se almacenan en memoria secundaria, generalmente
en un disco o cinta magnética.
La relación entre los datos debe seguir un criterio lógico. No tendría sentido, por ejemplo, alma-
cenar información de los pedidos hechos a una empresa de piezas mecánicas en el mismo fichero
donde se guardan los diseños de las piezas. Los contenidos de los ficheros dependen de estos cri-
terios. El diseño de los archivos depende de los especialistas informáticos en unos casos, pero en la
mayoría están regidos por formatos estandarizados muy extendidos y aceptados.
El formato de un fichero define la organización lógica de éste, la estructura de
los datos, posición, longitud, etc.
Como hemos dicho, los ficheros se organizan de muy diversas formas: contienen desde una
simple secuencia de bytes hasta complejas estructuras de datos, formatos de gráficos, etc. Una es-
tructura típica es dividir un fichero en registros.
Un registro lógico es un conjunto de datos relacionados, estructurados de
una forma lógica, a los que se acceden y se tratan de manera unitaria. Desde el
punto de vista de programación simplemente es una estructura de tipo registro.
Para ilustrar la aplicación práctica de este concepto, imaginemos que deseamos guardar infor-
mación sobre nuestros clientes para felicitarles en sus cumpleaños. Necesitaríamos varios datos
sobre ellos, por ejemplo:
– Su nombre (para saber a quién llamamos).
– Su fecha de nacimiento (para saber cuándo llamamos).
– Su teléfono (para saber dónde llamar).
Estructura de un fichero organizado en registros y éstos a su vez en campos (sombrados con distintas tonalidades)
En muchas ocasiones uno de los campos que forman un registro contiene un valor que nunca
se repite. Si en el ejemplo anterior guardásemos también el DNI de nuestros clientes, tendríamos un
campo cuyo valor no repite nunca, puesto que cada persona tiene un número de DNI único, al menos
en teoría. Este tipo de campos se denominan claves.
NOTA: los campos claves suponen una gran ventaja, ya que con ellos pode-
mos identificar un registro de manera unívoca, es decir, tenemos la certeza de que
no existen dos registros con el mismo valor en el campo clave. Esto permite acelerar
muchas operaciones con el fichero: búsquedas, ordenaciones, etc.
Puede suceder que un archivo no tenga ningún campo clave, pero, sin embargo, que una com-
binación de ellos sirva con el mismo propósito.
Piénsese en una empresa que, entre otros datos, almacena en un fichero de facturas el número y el
año de emisión. Ambos campos pueden repetirse: el año porque con seguridad la empresa emitirá más
de una factura al año, y el número de la factura porque la numeración se reinicia cada año. En este caso
no tenemos un campo clave único, pero la combinación del año y del número de factura puede funcio-
nar como tal. Efectivamente, en un año sólo puede haber una factura con un número determinado.
El caso opuesto también puede ocurrir: un registro que contenga más de un campo clave. En ese
caso se denomina clave primaria a aquella elegida para optimizar las operaciones antes comentadas
de ordenación, búsqueda, etc. Al resto de los campos claves se les llama claves secundarias.
Por otra parte, cada vez que se realiza una operación sobre un fichero, se trasvasa cierta cantidad
de información del ordenador a la memoria secundaria, ya sea ésta un disco, una cinta o cualquier
otro dispositivo. A esta cantidad de información se la denomina bloque o registro físico.
Registro físico o bloque: es la cantidad de datos que se transfieren en una
operación de E/S entre el dispositivo externo y la memoria.
No hay que confundir el concepto de registro físico con el anteriormente expuesto (al que a veces
se denomina registro lógico), ya que ambos se distinguen en aspectos tan importantes como el
tamaño, la estructura y la cantidad de información que contienen.
Otra diferencia esencial es que el registro lógico lo define el programador o analista, con objeto
de abstraer la información de los detalles físicos de su tratamiento. El registro físico viene predetermi-
nado por el ordenador, por el periférico de almacenamiento o incluso por el sistema operativo.
Los registros físicos contienen generalmente un número determinado de registros lógicos, deno-
minándose factor de bloqueo al número de éstos que comprende. Sin embargo, si el registro lógico
tiene el tamaño suficiente puede ocurrir lo contrario, que necesite más de un registro físico para su
transporte entre la memoria central y la secundaria y, por tanto, más de un acceso al dispositivo pe-
riférico. En este caso se los conoce como registros expandidos. Generalmente encontraremos que
los registros físicos tienen capacidad suficiente para albergar varios registros lógicos.
Por tanto el factor de bloqueo puede ser:
– Menor que 1: el registro lógico ocupa más que el físico, se transfiere menos de un registro
lógico en cada operación de E/S.
– Igual a 1: el tamaño del registro lógico y el físico es el mismo, y se transfiere un registro
lógico en cada operación de E/S.
– Mayor que 1: situación más común. En cada operación de E/S se transfiere más de un re-
gistro lógico.
Factor de bloqueo. El registro físico tiene un tamaño de 270 bytes, mientras que los registros lógicos ocupan 100 bytes.
El factor de bloqueo viene dado por la relación entre estas dimensiones: 270/100 = 2,7
Registros expandidos. Ahora el registro lógico es mayor que el registro físico. Este caso rara vez se da en la práctica
Cuanto mayor sea el factor de bloqueo más registros lógicos se transferirán en una operación
de entrada/salida, ahorrando tiempo. Por otra parte, cada vez que se transfiere información de
E/S, se almacena temporalmente en una zona de memoria especial llamada buffer. Cuanto mayor
sea el tamaño de bloqueo, mayor será el buffer y menos memoria me quedará para el resto de la
información.
Es necesario encontrar un equilibrio entre estos dos factores contrapuestos para determinar el
tamaño idóneo.
con el histórico anual. Deducimos, por tanto, que un archivo de movimiento sirve para actualizar un
archivo maestro, cosa que es cierta en la mayoría de los casos, ya que podemos encontrar archivos
de movimiento que pasan ellos mismos a históricos sin ser adjuntados a ningún otro.
Los registros de un archivo de movimiento suelen ser altas, bajas y modificacio-
nes, y se denominan registros de movimiento o transacciones.
Esquema lógico de un archivo secuencial. Los registros se graban uno a continuación de otro consecutivamente,
sin dejar huecos y según el orden en que son guardados. La marca EOF (End Of File) determina el fin de fichero.
El cilindro representa el dispositivo de almacenamiento que guarda el fichero
Las operaciones básicas que se realizan sobre los ficheros secuenciales son:
– Definir la estructura del fichero.
– Apertura y cierre del fichero.
– Tratamiento de los registros.
– Consulta: al igual que las anteriores se utiliza sobre todo en archivos cuyos contenidos son
registros, obteniéndose el contenido de uno o de un conjunto de ellos que cumplan deter-
minadas condiciones. Las operaciones de consulta están precedidas de otras de búsquedas
condicionales, por ejemplo en un fichero con datos personales podríamos realizar la siguien-
te consulta: “Seleccionar los registros de individuos que sean mayores de 60 años”.
– Ordenación: se trata de reubicar los registros que componen un fichero según un criterio
determinado, el cual suele ser un campo al que se denomina clave de ordenación. Pueden
existir varias claves de ordenación. Un archivo ordenado de este modo acelera las consultas
si éstas se realizan por la clave de ordenación. Los métodos de ordenación se estudian en
apartados posteriores.
– Concatenación: la concatenación consiste en obtener un fichero de dos, agregando los
registros del segundo a continuación del primero. Ambos ficheros deben tener la misma
estructura para poder realizar esta operación, que por otra parte puede ampliarse para más
de dos archivos. La concatenación de ficheros puede considerarse como una sucesión de
operaciones de actualización si pensamos que estamos dando de alta registros al fichero
resultado. Si la concatenación se realiza de tal forma que el fichero resultado mantenga
el orden original de los ficheros a unir, entonces hablamos de una operación de fusión o
mezcla ordenada.
– Partición: podemos considerarla como la operación opuesta a la anterior, puesto que origina
dos ficheros (con la misma estructura) a partir de uno. La partición se realiza sobre la base
de algún criterio definido; por ejemplo podríamos partir nuestro fichero en uno que contenga
los clientes nacidos antes y después de una determinada fecha. De forma análoga al caso
anterior, la partición puede dar origen a múltiples ficheros.
– Compactación: cuando se elimina un registro de un fichero, en realidad se marca el regis-
tro de forma que no se considere válido en operaciones sucesivas, es decir, no se elimina
físicamente del fichero. A los registros que se encuentran en este estado se les denomina
huecos. Una operación de compactación elimina los huecos rellenándolos por ejemplo con
los últimos registros del fichero, aprovechando así mejor la memoria ocupada.
!
"
!
Cada pasada realizada sobre la secuencia de elementos consigue ordenar un elemento del
array, colocándolo en último lugar. El número necesario de pasadas es N–1 (siendo N el número de
elementos existente).
21.2. BÚSQUEDAS
La definición de búsqueda es muy intuitiva: dado un determinado valor, se trata de analizar si
existe un elemento en el array o un campo en el fichero que coincida con dicho valor.
Existen dos tipos de búsquedas: las internas (se procesan en memoria) y las externas (se realizan con
ficheros). Los procesos de búsqueda sobre un fichero normalmente se ejecutan a través de una clave.
Existen tres métodos de búsqueda:
– Secuencial: aplicable a búsquedas internas y externas. Consiste en un barrido secuencial por
todos los elementos de la estructura hasta encontrar el elemento o acabar la lista o fichero.
Existe una variante denominada Búsqueda secuencial con centinela que añade al final
del array el elemento buscado de forma previa. Esto garantiza que la búsqueda siempre ten-
drá éxito. Una vez realizada la búsqueda, si se ha encontrado el elemento en una posición
distinta al final, significa que está en la estructura. La ventaja de esta variante radica en que
ahorra el chequeo sobre el fin de la estructura durante la búsqueda.
– Binaria o dicotónica: este método requiere que la lista de elementos (array o fichero) esté
previamente ordenada por el campo de búsqueda. Se basa en dividir el espacio de búsqueda
en sucesivas mitades hasta encontrar el elemento buscado o hasta que ya no pueda hacer
más mitades.
Primero se calcula el índice de la mitad del array y se analiza si el elemento coincide con él,
en caso contrario se analiza dónde debería estar el elemento buscado, en la sublista derecha
o izquierda. Dentro de esta nueva mitad se repite el proceso.
– Por transformación de claves o Hashing: se requiere que la búsqueda se realice por un
campo clave, el cual debe convertirse en una dirección real del dispositivo de almacena-
miento o en una posición dentro de un array.
22.1. INTRODUCCIÓN
A medida que las tecnologías informáticas se introdujeron en empresas y organizaciones, los siste-
mas de información se complicaron, incluyendo cada vez más prestaciones y servicios pero surgiendo
también más problemas. Pronto se demostró que la gestión de grandes cantidades de información por
medio de archivos resultaba insuficiente. Entre otros podemos citar los siguientes inconvenientes:
– Dispersión de los datos por distintos departamentos o divisiones de la empresa, con los
consiguientes problemas de búsqueda y localización.
– La posible duplicación de la información puede generar situaciones de inconsistencia, al
actualizarse esta información en un sitio y no en los demás.
– Los datos así distribuidos también generan problemas de control, seguridad y acceso.
– La nuevas aplicaciones deberán considerar los diferentes formatos y estructuras de los da-
tos. Los cambios y actualizaciones del hardware también pueden presentar complicaciones
de compatibilidad y transportabilidad.
Los sistemas de gestión de bases de datos se idearon para solucionar estos y otros problemas.
Intentan conseguir la integración de ficheros de datos, de sus estructuras y de las aplicaciones que
las manejan, así como de muchos aspectos adicionales de seguridad y control, salvaguardia, accesos
simultáneos, etc.
Las principales características de una base de datos son:
– Control centralizado de los datos.
– Integridad de los datos.
– Minimización de las redundancias.
– Independencia de los datos y las aplicaciones.
– Acceso concurrente a los datos.
– Coste mínimo de almacenamiento y mantenimiento.
– Versatilidad para la representación de relaciones.
– Establecimiento de medidas de seguridad.
– Facilidad para el cambio (hardware y software).
22.3. EVOLUCIÓN
Los programas como dBase IV, ACCESS, RBASE SYSTEM V, ORACLE o PARADOX constituyen
auténticos estándares en el mercado de SGBD.
dBase IV es el sucesor de dBase III Plus y su diferencia más notable está en el bloqueo auto-
mático de registros y ficheros cuando varios usuarios pretenden acceder de forma simultánea a la
misma información.
Este programa realiza un proceso de transacción con recuperación para evitar posibles pérdidas
de información debidas a un fallo del sistema, así como la actualización automática de pantallas uti-
lizadas al mismo tiempo por distintas personas, cada vez que una de ellas realiza un cambio.
Posteriormente Microsoft lanzó al mercado su gestor de base de datos ACCESS que se ejecuta
bajo Windows y está alcanzando altas cotas de mercado.
En la actualidad se han incorporado a los sistemas personales las potentes bases de datos Ora-
cle e Informix diseñadas inicialmente para sistemas más grandes.
En los grandes centros de proceso de datos son fundamentales también los procedimientos de
recuperación capaces de reconstruir la información en su estado anterior a producirse un fallo de
funcionamiento en el sistema o en el software.
De esta forma, cuando se produzca un fallo o avería, una vez subsanada y realizado el procedi-
miento de recuperación, se tendrá la información según estaba cuando se efectuó el último registro
de operaciones. Sólo será preciso repetir las operaciones que se hicieron sobre el archivo o base de
datos desde ese momento hasta el fallo.
ESQUEMA INICIAL
1. Conceptos preliminares
1.1. Revisión del hardware y software
1.2. Clasificación general del software
1.3. Jerarquía del software
1.3.1. Aplicaciones de usuario
1.3.2. Software del sistema
1.3.3. Nivel hardware
2. Sistemas Operativos
2.1. Introducción
2.2. Definición de sistema operativo
3. Conceptos relacionados
3.1. Procesos y multiprogramación
3.2. Archivos
3.3. Llamadas al sistema
3.4. Interrupciones y sondeo
3.5. Modos de funcionamiento
3.6. Portabilidad
3.7. S.O. residente y paginación
1. CONCEPTOS PRELIMINARES
se, se adoptó el término hardware para definir los dispositivos físicos que componían estos ordenado-
res. La palabra tenía un sentido figurado e irónico, pero pronto se aceptó de tal forma que ha llegado
hasta nuestros días con plena vigencia.
Hardware significa ferretería, pero además sus primeras cuatro letras HARD
significan también duro, fuerte. Este matiz es de suma importancia para entender
el origen de la palabra software como veremos a continuación.
En contraposición a los procesadores, unidades de discos, chips y demás elementos que con-
forman un ordenador, tenemos el software. No es un elemento tangible, es decir no se puede coger
y manipular como un cable, sino que representa más bien ideas, la lógica que debe seguirse para
automatizar un proceso, descripciones de procedimientos, etc.
Por otra parte soft significa suave, blando, así que debido al contraste entre lo físico por
un lado y lo inmaterial por otro, se construyó la palabra SOFT-WARE en clara contraposición a
HARD-WARE.
Software y hardware no son términos opuestos o antónimos, más bien son complementarios,
y constituyen dos de los tres pilares de un sistema informático (recordemos que el tercer pilar del
sistema es el personal que lo controla).
Aunque el hardware puede existir como elemento independiente, el software necesita fijarse en
algún tipo de soporte físico, bien en la superficie magnética de un disquete o en los circuitos impresos
de una memoria ROM.
Sin el software un ordenador es en esencia un amasijo metálico sin utilidad. El software “revive”
al ordenador, proporcionándole las directrices para almacenar, procesar y recuperar información, en-
contrar errores de ortografía, calcular complejas hojas de cálculo, ordenar los registros de una tabla
y muchas otras actividades de utilidad.
Relación entre los tres grupos principales de software. Tanto el software de desarrollo como
el de aplicación trabajan utilizando los servicios proporcionados por el software de sistema,
el cual actúa directamente sobre el hardware. Los programadores utilizan el software de desarrollo
para producir nuevo software; los usuarios por su parte utilizan el software de aplicación obteniendo resultados
Un sistema operativo programado para un estándar, por ejemplo el PC, no tiene por tanto
una dependencia tan grande del ordenador sobre el que se instala (siempre que el orde-
nador cumpla con el estándar). Por esta misma razón el sistema operativo puede ser pro-
gramado y comercializado por compañías distintas a las fabricantes de los ordenadores,
como de hecho ocurre.
El Sistema Operativo es el programa fundamental de todos los programas
de sistema.
– Interfaz de usuario: La interfaz de usuario es el medio que permite la comunicación entre el
usuario y el ordenador. Esta interfaz ha sufrido una importante evolución desde los primeros
ordenadores PC, en los cuales las órdenes se daban al sistema tecleando secuencias de
comandos acompañadas de parámetros y otros modificadores.
Esta engorrosa forma de comunicación cambió radicalmente con la introducción de las in-
terfaces gráficas, que permitieron la representación de elementos y operaciones mediante
iconos y movimientos del ratón.
– Sistemas de desarrollo (compiladores, editores, etc.): Estos sistemas tienen como obje-
tivo principal la creación de nuevo software. Algunos autores consideran que se deben tratar
como software de usuarios, colocándolos en el nivel superior de la jerarquía. Sin embargo este
software no resulta tan popular como por ejemplo las omnipresentes aplicaciones ofimáticas,
quedando restringido su uso a un segmento más reducido de usuarios: los programadores.
En este sentido el S.O. protege y libera a los programadores de la complejidad del hardware,
creando un nivel de software sobre el hardware que controla los dispositivos del sistema y presenta
al programador una máquina ideal sobre la que trabajar.
NOTA: El concepto de máquina ideal lo ilustramos con un ejemplo: cuando un
programador quiere acceder a la disquetera, la define como un dispositivo genérico y
realiza una serie de operaciones sobre ella. No necesita considerar la marca, modelo,
fabricante o características técnicas de la disquetera para trabajar sobre ella.
La máquina ideal o virtual es más fácil de programar que el hardware subyacente. Una de las
principales funciones del S.O. es ocultar la complejidad intrínseca del hardware y brindar al programa-
dor y al usuario un entorno más conveniente para trabajar.
Jerarquía del software. En la base está el hardware manejado directamente por microinstrucciones, las cuales a su
vez se originan a partir del lenguaje máquina. Las flechas indican los diferentes niveles de acceso que tienen los usuarios
2. SISTEMAS OPERATIVOS
2.1. INTRODUCCIÓN
Los primeros ordenadores carecían de Sistemas Operativos. La introducción de un programa para
ser ejecutado requería un esfuerzo increíble, que sólo podían realizar unos pocos expertos.
El usuario tenía que hacer de analista, de programador y de operador ya que debía preparar el
problema a resolver para su programación, escribir el programa, introducirlo en la máquina y operar
ésta mientras se ejecutaba el mismo. Como normalmente un programa no funciona correctamente la
primera vez que se prueba, era necesario detener la máquina y analizar el contenido de la memoria en
busca de indicios para descubrir la causa de la parada y poder corregir el error existente. Mientras el
programa estaba almacenado en la memoria de la máquina se podían extraer algunas instrucciones,
cambiarlas y devolverlas a su antigua posición.
Todas estas operaciones y manipulaciones exigían una programación auxiliar para operar con la
máquina basada en un profundo conocimiento de ésta, su estructura y el funcionamiento de cada
uno de sus órganos, según normas fijas dadas por el constructor. El tiempo requerido para introducir
un programa en aquellos grandes ordenadores superaba al de ejecución, de modo que resultaba poco
provechosa la utilización de la informática.
Los sistemas operativos surgen para optimizar el uso de los recursos Hardware e incrementar el
rendimiento del ordenador simplificando las operaciones con el mismo. La evolución de los Sistemas
Operativos sigue muy de cerca a la de los ordenadores. Se han ido desarrollando según el avance de
la tecnología, desde los primeros procesadores a válvulas hasta los actuales, basados en circuitos
integrados a gran escala de integración (VLSI).
El nacimiento de los Sistemas Operativos y su desarrollo han sido decisivos para lograr el nivel
de difusión, cada vez mayor, de los ordenadores. En la actualidad, los sistemas operativos se utilizan
en todos los ordenadores, desde los gigantescos superordenadores hasta los pequeños ordenadores
personales.
NOTA: En general, los sistemas operativos son los que moldean el punto de
vista que el usuario tiene de un ordenador, más aún que el mismo hardware.
Es obvio que cuanto más sofisticados son los sistemas operativos más recursos consumen del
ordenador. De alguna forma la carrera en la construcción de complicados sistemas operativos para
los grandes ordenadores fue frenada por la difusión de los ordenadores personales con sistemas
operativos relativamente simples.
En lugar de proveer solamente los sistemas operativos de propósito general a gran escala que
la industria creía necesarios en la década de los sesenta y principio de los setenta, los distribuidores
ofrecen ahora sistemas operativos más simples, que proveen el ambiente computacional adecuado a
las necesidades específicas de los usuarios individuales.
Si hubiésemos sido exhaustivos, la lista de operaciones a realizar hubiese llenado varias de estas
páginas. Por otra parte, si el usuario tuviera que realizarlas por sí mismo probablemente desistiría de
su intento, sin embargo todo lo que debe hacer es teclear algo tan sencillo como:
COPY Archivo A:
Donde “A:” hace referencia a la disquetera. El S.O. interpreta esta orden y se encarga de todo
lo demás.
NOTA: En los S.O. con interfaz gráfica el procedimiento se simplifica aún más:
basta con una sencilla operación del ratón.
Como vemos, la simplicidad de la orden anterior esconde una complicada gestión de la que
afortunadamente se encarga el S.O. Esto posibilita que el manejo del ordenador se acerque más a
nuestros esquemas lógicos o forma de razonar.
CURIOSIDAD: El objetivo fundamental de las primeras versiones del S.O. más extendido para orde-
nadores PC era la gestión de los ficheros, directorios y sus estructuras en los discos. Por este motivo el
nombre adquirió el nombre DOS (Disk Operating System) que significa Sistema Operativo de Disco.
Por último podemos ver un ordenador como un conjunto de recursos que hay que gestionar,
compartir y utilizar de una forma lógica con objeto de conseguir el mayor rendimiento posible de ellos.
Algunos de estos recursos son:
– El procesador: Ejecuta las instrucciones de los programas, por tanto es esencial una correc-
ta distribución de tiempos entre los distintos programas que pueden estar corriendo simultá-
neamente, así aseguramos que ninguno de ellos quede demasiado tiempo esperando.
– La memoria: Es el lugar donde se almacena la información y programas que se están eje-
cutando cuando el ordenador está en marcha. Una distribución óptima de este espacio es
fundamental, así como proporcionar ciertos mecanismos de seguridad para que un progra-
ma no acceda a un área de memoria que no le corresponde.
– Los periféricos: Regular el uso de los periféricos del ordenador resulta imprescindible en
muchos procesos que hacen uso intensivo de ellos. Además hay que tener en cuenta que las
operaciones con periféricos suelen ser mucho más lentas que las realizadas en el ordenador.
La previsión y minimización de cuellos de botella es una prioridad importante en el funciona-
miento del S.O., evitando que un proceso quede esperando a que termine una operación de
entrada/salida y bloquee el ordenador mientras tanto.
Uno de los objetivos del S.O. es gestionar y coordinar los recursos del ordenador
Los S.O. actuales rara vez consisten en un único programa; generalmente están compuestos
por un conjunto de ellos, con funciones bien definidas y que trabajan juntos como un sistema homo-
géneo. Estos programas o módulos dependen de cada S.O. en particular, variando en número y en
función. Los más importantes son los programas de control encargados de coordinar y optimizar los
recursos más importantes del ordenador que acabamos de estudiar.
Los S.O. agrupan estos módulos de gestión de recursos en un conjunto deno-
minado núcleo o kernel.
A medida que se desarrollan los sistemas operativos, nuevos conceptos van adquiriendo importancia:
– Interoperabilidad: Capacidad del sistema para facilitar intercambio de información entre los
componentes heterogéneos en el sistema.
– Transparencia: Propiedad que permite a los usuarios ver al conjunto de dispositivos que
componen el ordenador como una sola máquina.
– Autonomía: Independencia de los S.O. respecto al hardware. Esto se consigue mediante diver-
sas técnicas que consiguen abstraer la mayor parte del S.O de los dispositivos que maneja.
3. CONCEPTOS RELACIONADOS
3.2. ARCHIVOS
Una de las funciones principales del S.O. es suministrar independencia de dispositivo. Este
concepto cobra especial relevancia cuando se aplica a los archivos. La independencia de dispositivo
permite a los programas de usuario acceder, escribir, leer o realizar cualquier otra operación sobre los
archivos de la misma manera independientemente del soporte físico que los contenga.
Es decir, que para el usuario el hecho de que un archivo se encuentre en un disquete o en un
CDROM es totalmente transparente. Los métodos para leer el archivo no dependen de los distintos
medios donde éste pueda encontrarse. Esto supone una gran ventaja desde el punto de vista de la
facilidad de uso.
Por otra parte, la mayoría de los S.O. soportan el concepto de directorio como método principal
de agrupar archivos. Los directorios se estructuran jerárquicamente, estructura que hace necesaria
una ruta de acceso para acceder a cada archivo. La ruta de acceso puede considerarse como la
dirección del archivo en el árbol de unidades y directorios del sistema de archivos.
Los S.O. implementan distintos esquemas de seguridad a la hora de realizar operaciones con
los archivos.
3.6. PORTABILIDAD
El S.O. se carga en memoria RAM desde un disco duro, un disquete u otro soporte de almacena-
miento permanente. Dos ordenadores que tengan la misma arquitectura (el mismo procesador, com-
ponentes, etc.) pueden funcionar con el mismo S.O. Decimos entonces que el S.O. es portable.
Dos ordenadores que se ajustan a una arquitectura estándar permiten intercambiar programas y
métodos de operación. Un buen ejemplo son los ordenadores PC junto con el S.O. Windows.
El S.O. suele acompañarse además de otros programas con funciones muy interesantes para el usua-
rio, como editores de texto, utilidades de comunicación e incluso algún software de desarrollo. Los S.O.
más recientes incluyen un amplio repertorio de programas auxiliares, que si bien no son imprescindibles
desde el punto de vista del propio S.O., facilitan muchas tareas comunes al usuario del ordenador.
La función primaria de las rutinas de Gestión de Trabajos es preparar los trabajos para ser ejecu-
tados y, cuando se han ejecutado, dirigir la disposición de los conjuntos de datos creados durante la
ejecución. Este módulo gestiona el procesador, repartiendo su tiempo entre los programas activos y
los prepara para ser ejecutados.
Veamos estas funciones con detalle:
– Preparación, carga, lanzamiento y supervisión de programas: Este proceso transfiere
los programas de usuario (por ejemplo un procesador de textos), desde la memoria externa
(por ejemplo un disco duro) hasta la memoria central del ordenador, donde comenzará su
ejecución. Para ello se le asigna un espacio de memoria adecuado donde realizará sus ope-
raciones. De todo ello se encarga un programa especial del S.O. denominado cargador.
– Gestión del procesador: Mediante la técnica de multiproceso pueden coexistir varios pro-
gramas en ejecución de forma simultánea. En mayor o menor medida, todos ellos necesitan
tiempo del procesador para realizar sus tareas. La gestión del procesador consiste en una
determinada política de asignación de tiempos según ciertos parámetros, por ejemplo la
prioridad que posea cada programa o el tiempo que éste haya permanecido en memoria.
– Relanzamiento de programas: En un sistema multiproceso, como mencionábamos an-
teriormente, los programas se van turnando la atención del procesador. Cuando le toca el
turno a uno de estos programas hay que reactivarlo, para lo cual es necesario que ciertas
variables y parámetros del ordenador vuelvan a tener los valores que presentaban cuando
el programa acabó con el tiempo asignado la última vez. Este fenómeno ocurre también
después de una interrupción al procesador por parte de un periférico u otro dispositivo.
– Asignación de periféricos: Cuando uno de los programas de usuario necesita utilizar un
periférico, por ejemplo una impresora o un disco, hace referencia a él de una forma simbóli-
ca (facilitando la labor del programador que diseñó el programa). La asignación de periféricos
engloba el proceso de conversión de esta notación simbólica a asignaciones físicas reales.
Las asignaciones reales resultan mucho más complejas, siendo este un buen ejemplo de
cómo el S.O. simplifica la gestión de los usuarios y programadores.
Las etapas por las que pasa un trabajo en el sistema son:
– Lectura: Se realiza la lectura del trabajo dejándolo almacenado en espera de su inicialización.
– Iniciación: El iniciador selecciona de la cola de entrada el trabajo más prioritario a ser ini-
ciado en función del sistema de clases y prioridades.
– Ejecución: En este momento se cede control al módulo a ejecutar, mientras el iniciador
queda en espera de que termine dicho módulo.
– Desasignación: Una vez terminada la ejecución, el trabajo entra en la rutina de desasigna-
ción de recursos, liberando todos los recursos asignados anteriormente.
– Escritura: Todos los mensajes y ficheros a imprimir se listan en función de la clase y las
colas de impresión.
– Purge: Una vez que han escrito todos los ficheros de salida del último paso pertenecientes
a un trabajo, se libera todo el espacio ocupado en las colas de salida así como todos los
bloques de control y datos relacionados con este trabajo.
Existen además S.O. que soportan memoria virtual (utilización de la memoria secundaria
como una extensión de la memoria principal, de forma que para un programa el ordenador
tiene mucha más memoria principal de la que realmente posee). Entonces es necesario
controlar las técnicas de paginación o segmentación, por las cuales se intercambia la infor-
mación entre estos dos tipos de memorias.
– Supervisión de interrupciones: Una interrupción puede ocurrir o bien porque el programa
interrumpido necesita algún servicio del programa de control, o bien porque algún suceso
accidental necesite un proceso de supervisión. En este momento el control pasa del progra-
ma interrumpido a las rutinas de supervisión de las interrupciones, que introducen todas las
rutinas adicionales necesarias para completar el proceso. Estas rutinas preservan los datos
del programa interrumpido, aíslan las interrupciones unas de otras, pasan el control a las
rutinas de servicio de la interrupción y devuelven el control al programa interrumpido.
– Errores de programa: A la hora de diseñar un programa complejo existe la posibilidad de
cometer errores de programación. El S.O. debe controlarlos y detectar si se pretende ejecu-
tar alguna operación no permitida o errónea. Entonces un módulo especial toma el control,
suspende la ejecución del programa en curso e informa al usuario del error y las circunstan-
cias en que éste se ha producido.
– Control y asignación de recursos: Es una de las facilidades más importantes a soportar
por un S.O., pues una de sus funciones es maximizar el uso de los recursos, manteniendo
un alto nivel de rendimiento en todos ellos. Por tanto un S.O. no sólo ha de conocer todos
los recursos de que dispone, sino que ha de controlar y asignar recursos según prioridades
y necesidades de acuerdo, además, con los elementos libres (o no asignados) existentes.
– Trabajo en multiprogramación: Este modo de trabajo debe ser considerado como un modo
normal de operación así como los tipos que con él conlleva, como son: tiempo compartido y
tiempo real. De gran importancia también es la multitarea, multiproceso y el uso interactivo
y conversacional.
En cualquier caso se hace necesario ciertos controles sobre la información transmitida: que ésta
llegue al receptor exactamente igual a como la generó el emisor, que tanto emisor como receptor
estén coordinados, que uno de ellos no sature al otro, etc. En general, los periféricos y el ordenador
no “hablan el mismo idioma”, por lo que los drivers además suelen realizar procesos de conversión
de la información transmitida, cambiando y ajustando formatos.
Es muy frecuente que el ordenador procese información mucho más rápido que los periféricos
debido a que éstos realizan operaciones electromecánicas (movimiento del cabezal de una impresora,
de los rodillos de un escáner, etc.). Con el objetivo de que el ordenador no espere al periférico se dise-
ñan las técnicas de buffering que consisten básicamente en unas áreas de memoria que almacenan
la información hasta que el dispositivo más lento pueda procesarla, de esta forma el dispositivo más
rápido no se colapsa y puede continuar realizando otras tareas. La gestión de las colas de información
también corre a cargo de este módulo del S.O.
Existen también muchas operaciones relacionadas con la gestión de la memoria secundaria, ya
que ésta consiste generalmente en un disco duro que puede ser considerado un dispositivo periférico
de entrada/salida.
La función principal del módulo que controla la memoria secundaria es hacer que ésta aparezca a los
ojos del usuario con cierta estructura lógica, que no tiene por qué coincidir con la realidad física. Por ejem-
plo, cuando un usuario almacena un documento generado con un procesador de textos, éste se guarda
en el disco duro de su ordenador como un fichero con ciertas características: tamaño, fecha de creación,
nombre, etc. El usuario observa y maneja estos parámetros a los que saca partido para sus necesidades.
Físicamente, sin embargo, la realidad es otra; el fichero se compone de bloques (o sectores) situados en
la superficie del disco duro, enlazados unos con otro en una secuencia lógica definida por punteros.
Otros procesos propios de este módulo son la apertura y cierre de un fichero desde un programa,
el acceso a éstos según su modalidad (secuenciales, directos, indexados, etc.), la transformación de
direcciones lógicas a físicas, la compartición de ficheros o la optimización del espacio en disco.
Estas operaciones las ejecuta el módulo de Manipulación del sistema de archivos, en el que
tenemos un buen ejemplo de cómo el S.O. oculta al usuario la complejidad de gestionar operaciones
realmente complicadas.
El programa de usuario genera una llamada al sistema (por ejemplo, para leer de la disquetera).
El S.O. recibe la llamada y la ejecuta mediante varios procedimientos conectados en su interior. Al
final se devuelve el resultado al programa de usuario.
Cada procedimiento tiene una interfaz bien definida en términos de parámetros y resul-
tados. Estos procedimientos facilitan una serie de servicios del sistema, a los que se accede
mediante llamadas al sistema (también denominado supervisor). Veamos con más detalle cómo se
ejecutan esos servicios:
1. Se ejecuta una instrucción especial de llamada al sistema con sus parámetros bien definidos.
2. La instrucción cambia el procesador del modo usuario al modo supervisor (o protegido).
3. Se transfiere el control al S.O., que examina los parámetros de la llamada y determina qué
función se desea realizar.
4. El S.O. ejecuta la llamada al sistema.
5. La llamada al sistema termina, el procesador cambia a modo normal y el control regresa al
programa del usuario.
5 Operador
4 Programas del Usuario
3 Control de Entrada/Salida
2 Comunicaciones Operador - Proceso
1 Administración de la Memoria y del Disco
0 Asignación del Procesador y Multiprogramación
Estructura del S.O. en capas THE
Estructura de un ordenador 370 de IBM con S.O. VM/370 que permite a su vez la ejecución
de varios S.O. CMS. Estos últimos ofrecen al usuario y sus aplicaciones la ilusión de varias máquinas
reales cuando realmente sólo existe una. Son las máquinas virtuales
Estructura de un S.O. cliente/servidor. Sólo se mantienen en el núcleo las partes más importantes,
el resto de los servicios se tratan como procesos de usuario. En la figura un proceso de usuario (cliente) solicita
un servicio al servidor de memoria. Los mensajes que se utilizan se suelen denominar PRIMITIVAS
Los procesos se envían solicitudes y respuestas mediante mensajes que gestiona el núcleo. La
gran ventaja de este diseño es que cada parte es más pequeña y manejable, además de ganar en
independencia en cuanto al resto del sistema. En definitiva, estamos aplicando el diseño modular a
los sistemas operativos.
El modelo de cliente/servidor es una forma de describir la iteración entre procesos a través del
paso de mensajes. En la forma más simple de este modelo, el sistema tiene sólo dos tipos mensajes
o primitivas: Enviar y Recibir. La primera primitiva indica el destino, un mensaje y ciertos paráme-
tros, la segunda indica la procedencia del mensaje y provee un buffer donde se almacena cualquier
información que resulte de la ejecución del servicio solicitado.
Este diseño permite que los servidores no sean dependientes de un fabricante o arquitectura
particular, incluso el usuario puede escoger o programar sus propios servidores. La mayoría de los
sistemas operativos que usan este esquema manejan los recursos del ordenador como si fueran ob-
jetos: los servidores ofrecen una serie de ‘llamadas’ o ‘métodos’ utilizables con un comportamiento
coherente y estructurado.
Otro aspecto a destacar es que si los servidores se ejecutan como procesos en modo usuario,
entonces no tienen acceso directo al hardware. Los posibles errores se aíslan y se acotan con más
facilidad.
Un S.O. distribuido reparte sus componentes entre una serie de ordenadores conectados en red.
El esquema de funcionamiento es similar al anterior, pero ahora los mensajes viajan entre ordenadores distintos
Estos sistemas han promovido también el desarrollo de aplicaciones paralelas (formadas por
varios procesos que trabajan conjuntamente). Aunque es posible realizar estas ideas usando siste-
mas monoprocesadores mediante técnicas de multitarea, los sistemas multiprocesadores poseen la
capacidad real de ejecutar varias actividades simultáneamente.
Existen diferentes grados de paralelismo en estas aplicaciones:
– Procesos independientes. No hay sincronización. Los procesos no comparten elementos,
como ocurre entre los diferentes usuarios de un sistema de tiempo compartido. Por tanto, la
existencia de varios procesadores aporta solamente mayor rendimiento.
– Interacción baja o débil. Existe muy poca sincronización entre los diferentes procesos.
Prácticamente, es similar al tratamiento de procesos concurrentes en un sistema monopro-
cesador, pero con multiprogramación. Se llama también paralelismo de grano grueso.
– Interacción media (o de grano medio). Las aplicaciones muestran mayor grado de sincro-
nización que la concurrencia, por ejemplo operaciones de E/S o de cálculo en paralelo.
– Interacción alta o fuerte. Los distintos elementos presentan una mayor integración requi-
riendo sincronizaciones muy frecuentes (cada pocas decenas de instrucciones). Se denomi-
na también paralelismo de grano fino.
Los S.O. multiprocesadores tratan a los procesadores según las siguientes modalidades:
– Sistema amo/esclavo. Las funciones centrales del S.O. están
reservadas en exclusividad a un procesador determinado (amo).
El procesador amo asigna procesos a los esclavos. Cuando el
proceso solicita una operación de E/S, el procesador esclavo
envía una petición al amo y espera que éste le atienda.
El amo coordina las peticiones y resuelve los conflictos que
puedan ocurrir entre los esclavos. Por tanto, el S.O. presenta
pocas variaciones respecto a un S.O. con multiprogramación
para sistemas monoprocesadores, por lo que su realización es
sencilla. Sin embargo, presenta dos inconvenientes:
* En sistemas con muchos procesadores y cargas de trabajo al-
tas, el amo llega a ser el cuello de botella del sistema, dejando
a los esclavos a la espera de su decisión o de su acción.
* Si el amo se avería se inutiliza todo el sistema.
– Sistema simétrico. El S.O. completo funciona en cualquier
procesador que lo necesite. En otras palabras, si un procesa- Sistema amo/esclavo, donde
un procesador reparte las ta-
dor no tiene trabajo elegirá el proceso a tratar a continuación. reas pendientes entre el resto
Igualmente, si el proceso solicita una operación de E/S, el pro- de los procesadores
pio procesador ejecuta las instrucciones de S.O. que corres-
pondan.
Además de estas dos soluciones típicas, existen también soluciones intermedias o mixtas, como
aceptar la ejecución del núcleo en un subconjunto de procesadores, establecer una jerarquía de
procesadores a tres niveles, y otras.
La asignación de tareas a los procesadores por parte del S.O. puede ser:
– Estática. El criterio de asignación de los procesos a los procesadores se ejecuta una sola
vez. Por tanto, cada proceso permanece vinculado a un procesador hasta su terminación.
En consecuencia, cada procesador gestiona sus propias colas de procesos preparados, en
espera de E/S, etc.
– Dinámica. Se mantienen listas de procesos unificadas para todos los procesadores. Por
tanto, sólo hay una lista de procesos preparados. Cuando un procesador queda libre, acude
a ella y retira el siguiente proceso pendiente.
Todo ello desembocaba en grandes períodos de tiempo durante los que el procesador se queda-
ba ocioso esperando la finalización de alguna tarea de entrada/salida. Debido a los elevados costos
de los ordenadores de entonces, era prioritario sacarles el máximo partido, por lo que se diseñaron
métodos para evitar este fenómeno. El más relevante fue conectar al ordenador un dispositivo rápido
intermedio que simulase la operación de entrada/salida, de forma que el procesador quedase libre
rápidamente. Posteriormente el dispositivo intermedio se conectaba al periférico lento, tratándose
realmente la operación de entrada/salida off-line.
Operación en línea (ON-LINE): los periféricos utilizados están conectados al
procesador.
Operación fuera de línea (OFFLINE): los periféricos utilizados están conecta-
dos a unidades de control independientes del sistema central o principal.
A)
B)
C)
La figura A representa un proceso ON-LINE, donde el ordenador se conecta directamente a un dispositivo lento. El procesador
tendrá entonces que esperar hasta que termine el proceso de impresión.
En la figura B se representa la primera fase de un proceso OFF-LINE, donde los datos a imprimir
se escriben en una unidad de cinta, dispositivo rápido en comparación con la impresora,
por lo que la operación termina antes y libera al procesador.
Por último, en la figura C tenemos la segunda fase, donde el procesador ya no tiene que esperar la impresión, puesto que ésta
se realiza desde la unidad de cinta a la impresora.
En una fase posterior se sustituyeron las unidades de cinta por pequeños ordenadores de apoyo
especializados en operaciones de entrada/salida, lo que aceleró el proceso a costa de un aumento
de costes, lo cual, debido a la continua bajada de precios ya experimentada desde entonces, no
resultaba demasiado importante.
8.4.1. Spooling
SPOOL (Simultaneous Peripheral Operation On Line: operación simultánea de periféricos en lí-
nea): almacenamiento de trabajos de E/S en dispositivos transitorios rápidos (discos), para disminuir
el impacto de los periféricos más lentos en el procesador principal.
El problema con los sistemas de cintas es su naturaleza secuencial. Esto impide el acceso si-
multáneo, por ejemplo que una lectora de tarjetas escribiese sobre un extremo mientras la CPU leía
el otro. Los sistemas de disco eliminaron esa dificultad, moviendo la cabeza de un área del disco a
otra con mucha celeridad.
Cuando los ordenadores incorporaron los discos, las tarjetas se leían directamente sobre ellos.
La posición de las imágenes de las tarjetas sobre el disco se registraban en una tabla mantenida por
el S.O.. La ejecución de los trabajos se efectuaba leyendo la información del disco, no de las propias
tarjetas. La salida de resultados se copiaba en el buffer del sistema y posteriormente se escribía en el
disco.
Esta forma de procesamiento se denomina spooling: utiliza el disco como un buffer muy grande
para leer anticipadamente los dispositivos de entrada y para almacenar los ficheros hasta que los
dispositivos de salida sean capaces de aceptarlos.
El spooling evita la demora en la ejecución de programas como conse-
cuencia del uso de periféricos lentos.
El spooling mejora directamente las prestaciones del ordenador. El costo es algo de espacio en
disco y el mantenimiento de algunas tablas, pero permite que la CPU puede simultanear la computa-
ción de un trabajo con la E/S de otros. De esta manera, puede mantener tanto a la CPU como a los
dispositivos de E/S trabajando con un rendimiento mucho mayor.
Una mejora sobre las primeras versiones de spooling consiste en una estructura de datos llama
job spooling, que selecciona el orden de ejecución y posibilita la planificación de trabajos.
El manejo de buffer es complicado. Uno de los principales problemas reside en determinar tan
pronto como sea posible que un dispositivo de E/S ha finalizado una operación. Este problema se re-
suelve mediante las interrupciones. Tan pronto como un dispositivo de E/S acaba con una operación
interrumpe a la CPU, que detiene la tarea en curso e inmediatamente transfiere el control a una rutina
especial de tratamiento de interrupciones.
La rutina de servicio de interrupción comprueba si el buffer no está lleno o no está vacío y de
esta manera inicia la siguiente petición de E/S. La CPU puede continuar entonces el proceso inte-
rrumpido.
8.6. MULTIPROGRAMACIÓN
Un problema de los antiguos S.O. es que debían terminar un proceso antes de comenzar con el
siguiente. Este es el fundamento del procesamiento por lotes.
Cuando existen múltiples usuarios accediendo a la vez al ordenador, es muy probable que se
necesite ejecutar más de un proceso a la vez. Esto se consigue con las técnicas de multiprograma-
ción, que permiten al procesador repartir su tiempo entre varios procesos. El S.O. dirige este proceso
mediante diversas políticas de asignación.
ciones que en ese momento no se utilizan. Este hecho fue estudiado por la teoría informática, que lo
designó como principio de localidad.
El principio de localidad permite tener en memoria real sólo aquella parte de un programa que
realmente se esté utilizando en un momento dado (código activo). El resto se almacena en un fichero
en disco y se carga en memoria únicamente en el momento que se necesite. Esta técnica liberaba
mucha memoria que quedaba disponible para otros programas. Se denominó memoria virtual.
La memoria virtual implica una segmentación de la memoria en bloques o páginas. Todas las
páginas de un programa se colocan consecutivamente en el fichero en disco. Sin embargo, en la me-
moria real solamente estarán las páginas activas, que además no tienen por qué estar contiguas.
Este es el concepto de memoria virtual. Para el programador es como si tuviera disponible toda
la memoria que su programa necesita que se va a “cargar” en posiciones contiguas de la memoria.
La realidad es que está ocurriendo un trasvase de disco a memoria y viceversa a medida que se ne-
cesitan páginas que no estaban presentes.
Los sistemas de almacenamiento virtual permiten a los programas referenciar direcciones que no
necesitan corresponder con las direcciones reales disponibles en el almacenamiento primario.
Las direcciones virtuales desarrolladas por los programas en ejecución son traducidas diná-
micamente por el hardware a las direcciones reales de instrucciones y datos del almacenamiento
principal.
Conjuntamente con la memoria virtual se utilizan las técnica de paginación, que consiste en
transferir bloques de datos de tamaño fijo entre el almacenamiento primario (memoria) y el secun-
dario (unidades de disco).
8.10. MULTIPROCESO
El notable desarrollo de la microelectrónica y del diseño de circuitos han permitido incluir varios
procesadores en un solo ordenador, multiplicando su rendimiento. El S.O. es responsable de distribuir
y coordinar los procesos en los sistemas multiprocesadores.
Cuando varios procesadores comparten un almacenamiento primario común y otros recursos úni-
cos, se hace necesario controlar el acceso a dichos recursos compartido. Para ello existe un módulo
del S.O. que adquiere gran importancia: el planificador de recursos.
* Son similares a los S.O. de sistemas individuales pero añaden módulos que controlan la
interfaz de la red y su software de bajo nivel, así como los procesos de conexión y acceso
a archivos remotos, etc.
– S.O. distribuidos:
* Aparece ante los usuarios como un S.O. de un solo procesador, aun cuando dé soporte
a varios procesadores.
* Los usuarios no son conscientes del lugar donde se ejecutan sus programas o donde se
encuentran sus archivos.
* Deben permitir que un programa se ejecute mediante varios procesadores a la vez,
maximizando el paralelismo.
Una vez superado el problema de la carga de trabajos mediante su agrupación en lotes, se plan-
teó otro problema también relacionado con la velocidad de operación. En efecto, el procesador era
mucho más rápido que las unidades periféricas que manejaban las tarjetas o que las impresoras que
imprimían los resultados. Aunque atenuado el problema original, todavía se seguía desperdiciando
mucho tiempo de procesador.
Para acelerar la operatividad, se ideó el siguiente método: entre el ordenador principal y len-
tos dispositivos de E/S se intercalaba un ordenador satélite que gestionaba las operaciones de
E/S. Esta técnica liberaba al ordenador principal de la lentitud de los lectores de tarjetas y de la
impresora.
El ordenador satélite utilizaba un dispositivo de almacenamiento intermedio que aceleraba el
trasvase de información al principal. Se crearon los procesos OFFLINE para acelerar la disponibilidad
del procesador principal. Para ello disponía de cintas magnéticas para el Batch de entrada y para los
resultados de salida.
NOTA: las cintas magnéticas se sustituyeron por discos cuando la tecnología lo
permitió, alcanzándose así un mayor rendimiento en las operaciones de E/S.
Por otra parte, las operaciones de E/S se realizaban mediante procesos especiales que todos
los programa debían incluir. Se pensó en crear una librería de operaciones de E/S gestionada por el
propio monitor, de forma que se liberaba al programador de tener que programarlas cada vez que
necesitase usarlas. Esta técnica permitió además estandarizar las operaciones de E/S y eliminar el
riesgo de errores.
La iniciativa anterior tuvo gran éxito, así que pronto se generalizó para otros tipos de proceso,
como las rutinas de enlace de los trabajos, las de búsqueda, las de carga, etc. Precisamente otra
mejora consistió en modificar estas últimas dándoles capacidad para reubicar los programas en las
direcciones de memoria más convenientes en un momento dado, y no en posiciones fijas como se
estaba haciendo hasta entonces.
Cuando el número de librerías de rutinas se incrementó, se creó una tabla de índices que acele-
raba el proceso de búsqueda de las rutina. Se introducían así las primeras técnicas de organización
de archivos y directorios.
apareció el problema de la conversión de los programas existentes al nuevo sistema: fue necesario
variar todas las instrucciones relativas a E/S.
NOTA: pese a las dificultades, las nuevas técnicas se impusieron con éxito al
conseguir la centralización de las rutinas de E/S y aliviar considerablemente la pro-
gramación por parte del usuario, haciéndola además mucho más flexible.
En esta época se ponen en funcionamiento los sistemas de spooling y buffering (ver detalles de
estas técnicas en apartados anteriores de este mismo tema).
Nuevas soluciones generaban a su vez nuevos problemas. Había que proteger el supervisor de
forma que no fuese dañado por operaciones accidentales, además de incluir los mecanismos ne-
cesarios para que los componentes del S.O. pudieran comunicarse entre sí usando una región fija
predefinida.
La solución se reveló limitando el número de direcciones que un programa podía referenciar. Si
se acota un rango de memoria para cada programa, se asegura que un error en alguno de ellos no
destruya información en el área asignada a otro. Esta técnica es esencial en los sistemas multiusuario
y se implementa mediante los registros límites, que definen las direcciones superior e inferior del
bloque de memoria asignado a un programa.
Una variante menos utilizada del anterior procedimiento consiste en las claves de protección de
memoria, que impiden que un programa acceda a las direcciones de memoria de un determinado
rango si la clave del programa no concuerda con la del bloque de memoria.
Esta técnica resultó especialmente útil en grandes sistemas con multitud de terminales, donde
los tiempos de espera entre pulsación y pulsación de los teclados de dichos terminales era suficiente
para poder atender multitud de usuarios simultáneamente.
NOTA: realmente la multiprogramación no ejecuta programas de forma estric-
tamente simultánea, sino que va cambiando la atención del procesador de uno a
otro sucesivamente. Estas alternancias se producen tan rápidamente que la sensa-
ción para los usuarios es que están trabajando a la misma vez.
La ventaja de la multiprogramación era que reducía considerablemente el tiempo de espera de
un programa al obtener un mejor aprovechamiento del procesador central; eliminaba los tiempos
muertos mientras se procesaban operaciones de entrada y salida.
Los sistemas multiprogramados están organizados mediante colas y listas de tareas y recursos,
incluyendo el procesador central y otros elementos necesarios para el servicio. La descripción de
colas de trabajo y los directorios de los ficheros para el sistema y el usuario son también mantenidos
por el sistema.
Otra función del supervisor es establecer métodos que controlen y coordinen la conmutación de
tareas, que se realiza mediante un módulo especial del supervisor denominado planificador. Este
tipo de supervisor es mucho más sofisticado y complicado que los encontrados hasta ahora en los
S.O. convencionales.
Si las interrupciones de E/S permitieron la multiprogramación, el incluir el reloj dio lugar a utilizar
interrupciones por tiempo, lo cual permitió explotar los ordenadores en una nueva modalidad, llamada
tiempo compartido.
Esta técnica consiste en utilizar el ordenador por muchos usuarios a la vez dando la impresión
de que es utilizado en exclusividad. Se establecen tiempos muy pequeños que, una vez transcurri-
dos, interrumpen el trabajo de la CPU para atender a otro. Estas interrupciones frecuentes de los
trabajos con objeto de servir a otros permiten una adecuada respuesta “on line” a los usuarios que
lo requieran.
NOTA: estos sistemas de tiempo compartido operen en un modo interactivo o
conversacional con los usuarios.
La idea de la explotación de los ordenadores en tiempo compartido surge como consecuencia
del alto coste de los equipos. Sólo las grandes empresas pueden disponer de ellos, siendo un lujo
incalculable para aquellas cuyo capital no era tan voluminoso. Con esta técnica, se pueden compartir
estos ordenadores entre varias empresas o grupos de usuarios, los cuales utilizan todos los recursos
del ordenador como si se tratara de su propiedad, dividiendo los costes entre todos.
En esta época también aparecen los sistemas de tiempo real, cuya característica fundamental
consiste en dar una respuesta tan rápida como lo requiera el proceso.
Los adelantos en las tecnologías de construcción de discos permitieron a los usuarios construir estruc-
turas de grandes y complejos ficheros para usar con sus programas, ahorrándose las múltiples manipula-
ciones que había que efectuar cuando los ficheros eran almacenados en soportes independientes.
Aparecen entonces grandes directorios de ficheros privados y públicos, y provistos, generalmente,
de rutinas particulares para conseguir el acceso a esta información. Estos ficheros eran especialmen-
te necesarios y útiles para aquellos sistemas operativos que permitían el uso de tiempo compartido.
El hecho de poder compartir el ordenador por varios usuarios, así como el uso indiscriminado de
los discos para almacenar tanto programas como datos, presenta problemas adicionales de protec-
ción para el supervisor.
Estos ficheros deben ser protegidos contra las inadvertidas grabaciones, modificaciones y acce-
sos, bien por el propio usuario del fichero o bien por otro.
Asimismo, estos sistemas exigen una previsión de reaccionar cuando se presenta la posibilidad
de que dos o más programas de los usuarios, simultáneamente, deseen usar el mismo fichero. Se
crean unas rutinas que establecen la prioridad de acceso.
Como consecuencia también de la multiprogramación, pensando en la reducción del tiempo a
la hora de introducir o sacar los programas de la memoria, se comienza a desarrollar el método de
fragmentación física de la memoria en páginas (paginación).
Esta técnica dividía la memoria en porciones, con trabajos distintos en cada una de ellas. Poste-
riormente se implementaron sistemas de protección por hardware del contenido de cada partición de
memoria, garantizando así que los posibles errores en un programa no afectase a los demás.
Frente a los grandes y complejos sistemas operativos que hasta ahora se venían construyendo
hay una tendencia en la simplificación de los diseñados para estos equipos, que no requieren tantas
funcionalidades.
Mientras que todos los sistemas operativos, hasta ahora, eran construidos pensando en una
determinada máquina, aparece UNIX como excepción, cuyas características principales son:
– Multiprogramable de tiempo compartido.
– Posibilidad de adaptarse fácilmente a diferentes ordenadores de distintas plataformas.
– Archivos jerárquicos con protección total.
– Independencia de dispositivos.
– No se distingue entre programas de usuario y de sistema, ni en capacidad ni en uso, excepto
por las restricciones impuestas por la protección de archivos.
– Construcción de programas basados en otros ya existentes encaminando las salidas de uno
a la entrada de otro.
La simplicidad de los S.O. para los ordenadores personales es todavía más destacada, ya que
están pensados para un entorno de trabajo mucho más reducido. Su explotación difiere notablemente
de aquella de los grandes sistemas: son esencialmente monousuario y monoprogramación.
En esta época se implantan de forma masiva las grandes redes de ordenadores y los procesos
on- line, permitiendo a los usuarios tener acceso a ordenadores alejados geográficamente a través
de varios tipos de terminales.
Los tipos más comunes de redes son:
– Comunicación remota: dispone de medios para que los usuarios puedan acceder a insta-
laciones remotas lo más económicamente posible.
– Recursos compartidos: además de los recursos periféricos de cada ordenador, la red faci-
lita otros recursos compartidos (impresoras, unidades de almacenamiento, etc.).
– Proceso distribuido: permite distribuir las tareas de un proceso por los diferentes ordena-
dores de la red.
Los S.O. de esta época deben ir incorporando los diferentes protocolos de comunicación que
permitan a los ordenadores comunicarse con los interconectados a la red, de una forma apropiada y
económicamente efectiva.
Otro aspecto que deben contemplar los S.O. es la protección de los datos en las comunicaciones
debido a su vulnerabilidad. Para ello se utilizan algoritmos de codificación para encriptar la informa-
ción como DES y RSA.
La proliferación de los ordenadores personales es masiva y, por lo general, se les dota con todo
tipo de interfaces de comunicación de datos y emulaciones, dándoles la posibilidad de conectarse a
cualquier red y ser utilizados como terminal de cualquier ordenador.
Otras características de esta época son:
– Las interfaces o ambientes de usuario, altamente simbólicos, mnemónicos y orientados
hacia las siglas de las décadas de los sesenta, setenta y ochenta, han sido reemplazados
actualmente por interfaces gráficas altamente intuitivas.
– Los sistemas de bases de datos adquieren una gran importancia, potenciándose el uso de
las bases de datos relacionases a medida que aumenta la velocidad, la capacidad de me-
moria de los ordenadores y las posibilidades que ofrecen las redes.
– Cada vez toman más fuerza los sistemas orientados a objetos, distinguiéndose de los tra-
dicionales en que la programación orientada a objetos no contempla al objeto como un
conjunto de datos pasivos sino como la combinación de su estado y de los métodos que lo
manipulan.
– Hasta la década de los ochenta los esfuerzos y mejoras en el diseño de los S.O. se habían
canalizado al objetivo de aumentar el rendimiento en la explotación de los procesadores.
Sin embargo, a partir de ese momento se produce un cambio en las tendencias, tomando
Tendencias
Cierto número de tendencias parecen definirse claramente en el camino hacia los sistemas
informáticos del futuro inmediato. Exponemos primeramente estas tendencias para a continuación
centrarnos en los S.O.:
– El hardware continuará declinando en precio, mientras que las velocidades de procesamien-
to y las capacidades de almacenamiento aumentan, y el tamaño físico de los procesadores
y memorias disminuye.
– El multiproceso y el paralelismo masivo se volverán más comunes, dando lugar a superorde-
nadores varias veces más potentes que los de hace unos años, que permitan la insaciable
demanda de transacciones on-line, acceso y gestión de grandes bases de datos, capacidad
de proceso distribuido, soporte a miles de usuarios y soporte de cientos de periféricos.
– El costo de la comunicación de datos continuará disminuyendo, y las velocidades de trans-
misión de datos aumentarán.
– Perdurará el concepto de almacenamiento virtual o capacidad que tiene el sistema operativo
para simular la presencia de una cantidad de memoria central superior a la memoria física real.
– Muchas de las funciones de los sistemas operativos realizados ahora por software migrarán
hacia el microcódigo.
– En los primeros años proliferarán los estándares que independizarán a los desarrolladores de
la plataforma hardware, los sistemas operativos, las bases de datos y la interface de usuario.
– Quizás, una de las tendencias más importantes de esta década será el acercamiento hacia
los sistemas abiertos en contra de los sistemas propietarios. Con ello se pretende conseguir
la portabilidad de las aplicaciones en plataformas diferentes, la interoperabilidad entre los
equipos y la escalabilidad en equipos de diferente capacidad.
– Downsizing es una terminología muy de moda actualmente para definir la estrategia que
consiste en ir traspasando las aplicaciones críticas, en especial las que forman parte de los
sistemas transaccionales, desde arquitecturas basadas en mainframes hacia arquitecturas
basadas en miniordenadores o, incluso, redes de microordenadores.
– En todo caso, frente a los sistemas formados aún por mainframes y terminales, la tendencia
de los próximos años será hacia la arquitectura de tres niveles, basada en la conectividad de
mainframes, minis y ordenadores personales.
La arquitectura a tres niveles aporta un incentivo económico a la distribución de la carga
del proceso entre diversas máquinas, pero conlleva un entorno de programación más difícil,
aplicando la tecnología de bases de datos distribuidas y proceso cooperativo.
– Las bases de datos distribuidas se basarán en las bases de datos relacionases y su princi-
pal idea es tener una única base de datos lógica implementada en diversas máquinas. En
muchos casos estas máquinas y los entornos de sistemas operativos serán distintos, incluso
diferentes sistemas de gestión de bases de datos podrán participar en la arquitectura de una
base de datos distribuida.
– El lenguaje SOL será el standard para la manipulación, definición y control de los datos para
las diversas bases de datos.
Lenguajes de programación.
Ensambladores. Compiladores. Programa
fuente. Programa objeto. Aplicaciones
informáticas. Diagramas. Organigramas
Los ordenadores son rápidos, potentes y pueden automatizar mul-
titud de tareas. Estas prestaciones no ocurren por sí mismas, de alguna
forma hay que indicar al ordenador cómo realizar sus tareas. Con tal fin
se crearon los lenguajes de programación, como medio para traducir
la solución de un problema desde el punto de vista humano a nivel de
la máquina.
El término sistema se aplica generalmente al conjunto de accio-
nes, personal y procedimientos relacionados con el desempeño de una
tarea. De manera similar, un sistema o aplicación informática es el
conjunto de personas, máquinas y procedimientos que se utilizan para
llevar a cabo una tarea informática o de proceso de datos.
Son sistemas informáticos típicos de las aplicaciones de gestión
los sistemas de gestión comercial, de control de almacenes, de ventas,
nóminas, gestión de personal, etc.
ESQUEMA INICIAL
1. Conceptos básicos
1.1. Algoritmo
1.2. Pseudocódigo
1.3. Programas y programación
1.4. Lenguaje de programación
2. Niveles de programación
2.1. Microprogramación
2.2. Lenguaje máquina
2.3. Programación a bajo nivel
2.4. Programación a nivel medio
2.5. Programación a alto nivel
2.6. Lenguaje de cuarta generación
4. Fundamentos de programación
4.1. Técnicas de programación
4.2. Programación modular
4.3. Programación estructurada
4.4. Estructuras básicas de programación
4.4.1. Estructura secuencial
4.4.2. Estructura selectiva
4.4.3. Estructuras repetitivas (iterativas)
4.4.4. Estructuras anidadas
4.5. Subprogramas
4.5.1. Concepto
4.5.2. Funciones
4.5.3. Procedimientos
4.5.4. Diferencias entre funciones y procedimientos
4.6. Ámbitos: variables locales y globales
4.7. Paso de parámetros
4.7.1. Correspondencia entre parámetros formales y reales
4.7.2. Tipos de parámetros
6. Principales lenguajes
6.1. Fortran
6.2. Cobol
6.3. Lisp
6.4. Algol
6.5. PL/1
6.6. Basic
6.7. Simula
6.8. C
6.9. Pascal
6.10. Prolog
6.11. Modula-2
6.12. SQL
6.13. Ada
6.14. Smalltalk
6.15. C++
8. Software de desarrollo
8.1. Clasificación del software de desarrollo
8.1.1. Compiladores
8.1.2. Máquinas virtuales
8.1.3. Intérpretes
8.1.4. Ensambladores
8.1.5. Programas de servicio
8.2. Estructura general de un compilador
8.2.1. Editor
8.2.2. Analizador lexicográfico
8.2.3. Analizador sintáctico
8.2.4. Generador de código intermedio
8.2.5. Optimizador de código
8.2.6. Generador de código final
8.2.7. Linker o montador
8.2.8. Módulo de tratamiento de errores
8.2.9. Tabla de símbolos
9. Orientación a objetos
9.1. Definición e introducción
9.2. Características de los objetos
9.3. Beneficio de la orientación a objetos
9.4. Metodología orientada a objetos
15. Pruebas
16. Metodologías
16.1. Definición y objetivos
16.2. Análisis de requisitos
16.3. Metodologías de diseño
16.4. Técnicas de programación
16.5. Herramientas de programación
1. CONCEPTOS BÁSICOS
1.1. ALGORITMO
Un algoritmo es la descripción de un proceso, la forma de solucionar un problema. Desde un
punto de vista general, una receta de cocina puede ser considerada un algoritmo, ya que describe los
pasos a seguir para cocinar un plato.
Una definición más elaborada es la siguiente:
Un algoritmo es una serie de operaciones detalladas y no ambiguas, que se
ejecutan paso a paso y en un determinado orden, y que conducen a la resolución de
un problema.
Cada acción de las que consta un algoritmo se denomina instrucción y éstas deben ser poste-
riormente traducidas en términos comprensibles por el ordenador.
NOTA: algunos autores no consideran sinónimas los términos sentencia e ins-
trucción, utilizando la primera para lenguajes de alto nivel (próximos al usuario) y la
segunda para lenguajes de bajo nivel y máquina próximos al ordenador.
La definición de un algoritmo debe describir tres partes básicas: entrada, proceso y salida. Un
algoritmo implica generalmente alguna entrada que será utilizada en el proceso para generar un resul-
tado (salida). En una receta de cocina la entrada es la lista de ingredientes y los utensilios empleados,
el proceso la forma de cocinarlos y la salida será el plato listo para comer.
En informática normalmente no conocemos de antemano el número de operaciones que realiza
un algoritmo. El número de operaciones necesarias para llegar al término del algoritmo dependerá
mucho de los datos de entrada. La rama de la informática que estudia la complejidad de los algorit-
mos es muy importante en el desarrollo del software y se denomina Algorítmica.
Las características fundamentales de un algoritmo son:
– Un algoritmo debe ser preciso e indicar claramente el orden de realización de cada instrucción.
– Un algoritmo debe estar definido: si se sigue un algoritmo dos veces con los mismos datos,
se debe obtener el mismo resultado cada vez.Un algoritmo debe ser finito: si se sigue un
algoritmo, se debe terminar en algún momento.
La resolución de un problema mediante un algoritmo, para posteriormente traducirlo y resolverlo
mediante un programa informático, comprende una serie de etapas:
– Análisis preliminar o evaluación del problema: estudio del problema en general e iden-
tificación de sus partes fundamentales. El objetivo de esta fase es comprender el problema,
obtener la especificación de sus entradas, salidas, procesos, condiciones, restricciones, etc.
– Diseño del algoritmo: resolución algorítmica. Creación de un algoritmo que comprenda las
conclusiones de la primera etapa y las resuelva. Si el problema es complicado es recomen-
dable dividirlo en partes más pequeñas e intentar resolverlas por separado. Este proceso se
puede aplicar progresivamente hasta disponer de módulos manejables. Esta metodología se
denomina diseño descendente, diseño TOP-DOWN o estrategia de “divide y vencerás”,
y sus principales ventajas son:
* Al dividir el problema en módulos o partes se comprende más fácilmente.
* Las modificaciones, mejoras y correcciones se aplican más fácilmente sobre un módulo
en particular que sobre todo el algoritmo.
* Los resultados se probarán mucho mejor comprobando cada módulo. La localización de
errores queda más definida.
– Resolución en computadora: traducción del algoritmo a un lenguaje de programación concreto.
Los algoritmos se representan de diversas formas. Las representaciones más usadas son los
diagramas, organigramas, los diagramas NS y el pseudocódigo. En este capítulo utilizaremos esta
última. Los otros métodos se estudian en el siguiente.
NOTA: un algoritmo también se puede describir en lenguaje natural, pero es
una práctica poco frecuente debido a la ambigüedad que conlleva.
1.2. PSEUDOCÓDIGO
El pseudocódigo es en esencia un lenguaje de especificación de algoritmos; es decir, su objetivo
es acercar la descripción de un algoritmo a un lenguaje de programación. Es un paso intermedio pre-
vio a la codificación muy parecido a cualquier lenguaje de programación; posteriormente la traducción
a dicho lenguaje resulta muy sencilla.
La ventaja de trabajar con pseudocódigo es que no se rige por las normas de un lenguaje en
particular; se centra más en la lógica del problema que en la forma concreta de especificarlo (sintaxis,
tipo de datos, formato de llamadas, etc.).
Una descripción en pseudocódigo tiene dos partes:
– La cabecera: la cabecera contiene el nombre del algoritmo y opcionalmente una breve des-
cripción de su función.
– El cuerpo contiene dos partes:
* Declaraciones de variantes y constantes.
* Bloque de instrucciones.
Algoritmo Producto
Var
P, Num: Entero
Inicio
P Å 1
Leer Num
Mientras Num >=0 hacer
P Å P*Num
Leer Num
Fin mientras
Escribir p
Fin
Entre los criterios que se aplican durante la evaluación de los lenguajes disponibles están:
– Área de aplicación general.
– Complejidad algorítmica y computacional.
– Entorno en el que se ejecutará el software.
– Consideraciones de rendimiento.
– Complejidad de las estructuras de datos.
– Conocimiento de los programadores y analistas.
A menudo, C es el lenguaje elegido para el desarrollo de software de sistemas, mientras que len-
guajes como Ada, C y Modula-2 (junto con FORTRAN y ensamblador) se encuentran en aplicaciones
de tiempo real. COBOL ha sido tradicionalmente el lenguaje para aplicaciones de negocios, aunque
el uso creciente de lenguajes de cuarta generación lo han desplazado de su posición privilegiada, por
ejemplo los entornos ORACLE o Microsoft SQL Server.
En el área científica/ingeniería FORTRAN permanece como lenguaje predominante (aunque ALGOL,
PL/1, PASCAL y C tienen un amplio uso). El lenguaje predominante para usuarios de ordenadores per-
sonales es el BASIC (en sus versiones modernas como Visual Basic). Las aplicaciones de inteligencia
artificial usan lenguajes como Lisp, PROLOG u OPS5, aunque igualmente se usan lenguajes más con-
vencionales.
En el desarrollo de una aplicación informática ocurren varias etapas. Durante la primera de ellas
(planificación del proyecto) raramente se toman en consideración las características técnicas de un
lenguaje de programación. La calidad de un diseño de software viene dada por su independencia de
los lenguajes de programación. Sólo una vez establecidos los requisitos de la nueva aplicación, en
etapas sucesivas, las características técnicas de los lenguajes de programación cobran importancia.
Si se requieren complejas estructuras de datos, habrá que evaluar cuidadosamente los lenguajes
que soporten sofisticadas estructuras de datos (por ejemplo, Pascal). Si lo importante es un alto ren-
dimiento y posibilidades de tiempo real, se debe especificar un lenguaje diseñado para aplicaciones
de este tipo (por ejemplo, Ada) o para eficiencia en memoria-velocidad (por ejemplo, C). Si se espe-
cifican muchos informes de salida y una fuerte manipulación de archivos, se encontrarán lenguajes
adecuados como COBOL o RPG.
Idealmente, los requisitos del software habrían de precipitar la elección de un lenguaje que mejor
se ajuste al procesamiento que se ha de llevar a cabo. En la práctica, sin embargo, a menudo se
selecciona un lenguaje porque es el único disponible o el que se conoce con detenimiento.
Al igual que ocurre con la prueba, todavía no se comprende totalmente el efecto de las caracte-
rísticas de los lenguajes de programación sobre el mantenimiento del software. Sin embargo, no hay
duda de que las características técnicas pueden mejorar la legibilidad del código y reducir la comple-
jidad, lo que es importante para un mantenimiento efectivo.
2. NIVELES DE PROGRAMACIÓN
Existen distintos niveles de programación atendiendo al grado de abstracción sobre el hardware.
2.1. MICROPROGRAMACIÓN
La microprogramación constituye el nivel más básico de programación posible. Actúa a nivel de
unidades hardware elementales, las cuales se conjugan para formar módulos mayores.
Los microprogramas están formados por microinstrucciones individuales que en relación con las
instrucciones de los lenguajes de máquina son de:
– Naturaleza mucho más elemental.
– Función más dispersa.
La microprogramación introduce una capa de programación por debajo del lenguaje de máquina
que define las instrucciones de este lenguaje.
En segundo lugar se puede escribir y leer de una forma más sencilla, eliminando en gran medida
las posibilidades de cometer errores. Se usan palabras en inglés y no cadenas de bits, por lo que
tanto la escritura como posterior lectura o revisión del programa resultan mucho más claras.
Además se pueden insertar comentarios que no tienen efecto sobre el programa, pero que ayudan a
documentarlo. Ejemplos de lenguajes de programación típicos son FORTRAN, COBOL, BASIC, PASCAL, etc.
NOTA: los lenguajes de alto nivel, en diferentes medidas, están cercanos al
lenguaje humano.
El principal inconveniente de la programación de alto nivel es que el proceso de traducción es
muy largo y requiere más recursos. Además el código máquina generado por los compiladores no
siempre aprovecha de forma óptima las posibilidades del hardware.
4. FUNDAMENTOS DE PROGRAMACIÓN
La programación estructurada
La validez real de un programa sólo se podrá dar haciendo una prueba exhaustiva con todo el
rango posible de valores de entrada, cosa realmente imposible en la mayoría de los casos. Por otra
parte, la comunicación usuario/máquina no sólo se manifiesta en la fase de depuración del programa,
sino también en la fase de mantenimiento. Un programa normalmente debe ser modificado cada
cierto tiempo y en muchas ocasiones las modificaciones han de ser realizadas por terceras personas
que no intervinieron en su diseño.
Conceptos básicos
Los primitivos propósitos de la programación estructurada dirigían sus esfuerzos a buscar modos
de minimizar la probabilidad de error en el proceso de programación. El factor humano es una de las
fuentes más importantes en la comisión de errores. Uno de los objetivos de la programación estruc-
turada es la minimización del error humano.
Aunque al profesor Edgar W. Dijkstra, de la Universidad de Eindhoven, se le considera el padre de
la programación estructurada, muchos otros investigadores han trabajado en su desarrollo, y de ellos
podemos citar a Hoare, Wirth, Knuth, Dahl, Bohm, Jacopini, Warnier, etc.
Es difícil dar una definición de programación estructurada por no existir generalmente una defini-
ción que sea aceptada a todos los niveles. Podríamos por ello enunciar la programación estructurada
(PE) como una técnica de construcción de programas que utilizan al máximo los recursos del lengua-
je, limita el conjunto de estructuras aplicables a leer y presenta una serie de reglas que coordinan
adecuadamente el desarrollo de las diferentes fases de la programación.
Aunque la definición anterior es una de las que más hemos visto escritas, son diferentes las
definiciones que se podrían hacer; sin embargo, con lo que sí hay un acuerdo casi total es en que la
programación estructurada utiliza en su diseño los siguientes conceptos o principios fundamentales
recogidos esencialmente en la definición anterior:
– Estructuras básicas.
– Recursos abstractos.
– Diseño descendente “arriba-abajo” (top-down).
Recursos abstractos
La estructuración debe cumplir el uso de recursos abstractos. El proceso de realización de dife-
rentes pasos hasta encontrar la solución de un problema es un proceso abstracto.
Diseñar o concebir un problema en términos abstractos consiste en no tener en cuenta la máqui-
na que lo va a resolver, así como el lenguaje de programación que se va a utilizar. Esto lleva consigo
la obtención de un conjunto de acciones que se han de realizar para obtener una solución.
Al considerar un algoritmo y los cálculos que incluyen, se hace abstracción de los valores especí-
ficos. Igualmente el concepto de variable implica una abstracción cuando se da un nombre a una ope-
ración determinada, y se utiliza considerando lo que hace, pero sin preocuparnos de cómo lo hace.
Tras encontrar la solución adecuada mediante el ordinograma o el algoritmo, se analiza esta
solución con la computadora y el lenguaje de programación que se van a utilizar, a fin de comprobar
si las diferentes acciones son susceptibles de ser efectuadas por la máquina tal y como han sido con-
cebidas; si eso no fuera posible, será preciso descomponer las acciones en otras subacciones más
elementales, continuándose el proceso hasta que cada subacción pueda ser codificada en el lenguaje
elegido y por consiguiente ejecutado en la computadora del usuario. En un nivel fundamental, todos
los lenguajes de programación modernos permiten al programador representar secuencias, condicio-
nes y repeticiones –las construcciones lógicas de la programación estructurada–.
Un módulo se diseña según el principio de la “caja negra” por el cual muestra al exterior una interfaz de entrada/salida, pero no
los detalles de su construcción interna. Esta técnica aporta ventajas muy importantes, por ejemplo, se puede sustituir un módulo
por una versión más avanzada tan sólo respetando la interfaz con el exterior. El resto del programa no sufre ninguna alteración.
Esta posibilidad es decisiva cuando se desarrollan programas complejos
Instrucción 1
Instrucción 2
Instrucción 3
...
Sí <Condición> entonces
<Instrucciones>
Fin sí
Si <Condicion> entonces
<Instrucciones 1>
Sino
<Instrucciones 2>
Fin si
Según <Condición>
<Valor 1>: <Instrucciones 1>
<Valor 2>: <Instrucciones 2>
...
<Valor N>: <Instrucciones N>
Fin según
Existe una variante:
Según <Condición>
<Valor 1>: <Instrucciones 1>
<Valor 2>: <Instrucciones 2>
...
<Otro valor>: <Instrucciones N>
Fin según
La expresión <Otro valor> evita tener que contemplar todo el rango de posibles valores de la
condición. Esto es especialmente útil cuando dicho rango es muy amplio.
EJEMPLO: realizar un algoritmo que, en función de la entrada del usuario, dibuje una recta,
un punto o un rectángulo.
Algoritmo DIBUJO
Var Opción: Carácter
Escribir (“Introduce una opción”)
Escribir (“1: Punto, 2: Recta, 3: Rectángulo”)
Leer Opción
Según sea Opción
“1”: <Dibujar punto>
“2”: <Dibujar recta>
“3”: <Dibujar rectángulo>
<Otro>: Escribir “Opción errónea”
Fin según
Fin algoritmo
Estructura que contiene un bucle (conjunto de instrucciones que se repiten un número finito de
veces). Cada repetición del bucle se llama iteración. Todo bucle tiene asociada una condición, que
determina, según el tipo, cuantas veces se repite el bucle o la condición de salida de éste.
Existen tres tipos fundamentales de bucles:
– Repetir un número de veces: se conoce previamente el número exacto de veces que
hay que ejecutar el bucle. La estructura tiene una variable asociada denominada índice,
a la que se asigna un valor inicial y final. El índice se incrementa o decrementa auto-
máticamente en cada iteración de bucle en un valor constante. Esta es una operación
implícita (la realiza el sistema, el programador no tiene que intervenir). Cuando el índice
alcanza su valor final, finaliza el bucle.
Repetir
<Instrucciones>
Hasta <Condición>
NOTA: todas las estructuras iterativas tienen la posibilidad de salir del bucle
desde un punto intermedio del mismo, de una forma “anómala”, en el sentido de
que rompe el diseño original de la estructura. Aunque esta práctica es posible, no
se recomienda su uso, ya que anula las ventajas de la programación estructurada.
{
Si <Condicion 1>
Entonces <Instrucciones 1>
{{
Sino si <Condicion 2>
Entonces <Instrucciones 2>
Sino si <Condicion 3>
Entonces <Instrucciones 3>
Fin si
Fin si
Fin si
– Bucles anidados: los bucles pueden anidarse pero nunca deben cruzarse. Es decir, siempre
hay que finalizar un bucle interno antes de la siguiente iteración del externo. Otra forma de
expresar esta idea es imaginar que el bucle interno funciona como una instrucción del bucle
externo, y como tal ejecutará en cada iteración de este último.
Si el bucle interno se ejecuta M veces y el externo N veces, el número total de iteraciones
será MxN. Los bucles anidados tienen la siguiente estructura:
4.5. SUBPROGRAMAS
4.5.1. Concepto
La programación modular es una de las técnicas fundamentales de la programación. Como vimos
en su momento, se apoya en el diseño descendente y en la filosofía de “divide y vencerás”: trata
de dividir un problema complejo en otros más simples. Cada división se implementa en un módulo
independiente. Estos módulos, dependiendo del tipo y del lenguaje de programación, se denominan
subalgoritmos, subprogramas, subrutina, función, procedimiento, etc.
NOTA: en los lenguajes de programación orientados a objetos, el concepto de
subprograma es sustituido por el de objeto.
Imaginemos un programa que necesita en diferentes estadios de su ejecución realizar una ope-
ración específica (por ejemplo, contar la longitud de una cadena de caracteres). Se puede codificar
el algoritmo de cuenta cada vez que se necesite, pero esto implica mucha repetición de código que
en definitiva tiene la misma función.
Otra aproximación más adecuada sería codificar una sola vez el algoritmo de cuenta y llamarlo cada
vez que haga falta. Así ahorramos espacio, tiempo y controlamos mejor los posibles errores al estar el
código implementado una sola vez. Necesitamos un subprograma que realice la función de cuenta.
En todo algoritmo o programa existirá un módulo o programa principal que es al que transfiere
el control cuando comienza la ejecución del programa; posteriormente se va llamando al resto de los
subprogramas.
Llamar a un subprograma significa transferirle el control: el subprograma se ejecuta desde su
comienzo hasta que termine, momento en el que devuelve el control al punto desde donde se le
llamó. Un subprograma puede a su vez llamar a otros, pero en cualquier caso al final se devuelve el
control al módulo que origina la llamada. El control al programa llamado se devuelve a la instrucción
siguiente a la que se hizo la llamada.
Cuando se produce una llamada a un subprograma se le puede pasar cierta información con la
que deseamos que el subprograma trabaje. Siguiendo con nuestro ejemplo, pasaremos al subprogra-
ma una cadena de caracteres en la primera llamada y otra distinta en la siguiente. Esta técnica se
denomina paso de parámetros y permite una gran flexibilidad, al independizar el subprograma de
los datos con los que operará.
La estructura de un subprograma es análoga a la de un programa: un conjunto de acciones, va-
riables propias del subprograma, etc. Un subprograma puede a su vez llamar a otro subprograma (con
la condición de que éste no llame al primero, ya que se crearía una situación de bloqueo).
Hay dos tipos fundamentales de subprogramas: funciones y procedimientos.
4.5.2. Funciones
Desde un punto de vista matemático, una función es una operación que toma uno o varios ope-
randos, y devuelve un resultado. En programación una función es un subprograma que toma uno o
varios parámetros como entrada y devuelve a la salida un único resultado que irá asociado al nombre
de la función.
Existen varios tipos de funciones:
– Internas: el lenguaje de programación las incluye por defecto.
– Programadas: las define el propio programador según sus necesidades.
– Bibliotecas: conjunto de funciones programadas por otras personas y disponibles para su
uso.
La lista de parámetros es información que se pasa a la función para utilizarlos de igual forma que
las variables locales. Para cada parámetro hay que poner su nombre y tipo. El nombre de la función lo
define el programador (en caso de funciones programadas por él) o el sistema (en caso de funciones
internas). De cualquier forma éste debe ser descriptivo.
Entre las acciones existe una del tipo retorno <valor>. Esta sentencia pondrá fin a la ejecución
de la función y devolverá el valor especificado. Este valor es del mismo tipo que la función, tipo que
se indica en su declaración.
Los parámetros que aparecen en la declaración de la función se denominan parámetros forma-
les. Los parámetros que se pasan en la llamada a la función se denominan parámetros actuales o
reales. A través de los parámetros reales de la llamada se proporciona a la función la información que
necesita. En la llamada se produce una asociación automática entre parámetros reales y parámetros
formales. Esta asociación se realiza según el orden de la aparición y de izquierda y derecha.
NOTA: si un parámetro formal y su correspondiente real no son del mismo tipo,
se produce una situación que se trata de diferente forma según el lenguaje. Por
ejemplo, en Pascal se produce un error, mientras que en C se transforman los tipos
(si es posible realizar la transformación).
Otras características del manejo de funciones son:
– No se permiten funciones que no devuelvan nada.
– El uso de una función implica el conocimiento previo de su existencia, operación que realiza,
tipo y parámetros que acepta.
– La función puede ser llamada desde el programa principal o desde cualquier otro subprograma.
– Para llamar a una función se escribe su nombre y entre paréntesis los parámetros separados
por comas, que podrán ser variables, expresiones, constantes, etc. Estos parámetros deben
ser del mismo tipo que los especificados en la declaración de la función.
– Cuando una función finaliza asocia un valor (su resultado) al propio nombre de la función y
devuelve el control al punto desde donde se la llamó.
EJEMPLO: una función que calcule la mitad del valor que le pasó el parámetro. Suponemos
que es un valor entero.
Funcion Mitad (N: Entero): Real
Var M: Real
Inicio
M Å N/2
Retorno M
Fin Mitad
.../...
.../...
Veamos ahora un pequeño algoritmo que hace uso la anterior función:
Algoritmo Calcula_mitad
LLAMADA A LA
Var Num: Entero
FUNCIÓN
Inicio
Escribir “Introduce un número para hallar su mitad”
Leer Num
Escribir “La mitad de “Num” es: “, Mitad(Num)
Fin algoritmo
4.5.3. Procedimientos
El principal inconveniente de una función es que devuelve un único valor. Si se necesita devolver
un conjunto de valores se usa un procedimiento.
Un procedimiento es un subprograma o un subalgoritmo que ejecuta una determinada tarea,
pero que carece de un valor asociado a su nombre como en las funciones. La devolución de informa-
ción se realiza a través de parámetros.
NOTA: un procedimiento es un subprograma que puede devolver ninguno, uno
o varios parámetros después de su ejecución.
Pasos en la ejecución de un procedimiento:
– Llamada al procedimiento: esta llamada consiste en el nombre del procedimiento y entre
paréntesis se especifican los parámetros que se le pasan. En algunos lenguajes como el C,
se pone delante la palabra reservada Call (llamar).
– Se cede el control al procedimiento, que sustituye cada parámetro formal de la definición por el
parámetro actual o real de la llamada asociado a él. Al igual que en las funciones, esta asociación
entre parámetros formales y reales se hace de izquierda a derecha por orden de colocación y
para que se pueda producir esta asociación tienen que existir el mismo número de parámetros
formales que reales, y además el tipo tiene que coincidir con el del parámetro formal asociado.
– Si la asociación ha sido correcta comienzan a ejecutarse las instrucciones del procedimiento hasta
llegar a la última instrucción. Al llegar a la instrucción se vuelven a asociar los parámetros formales
que devuelven los resultados a los parámetros formales asociados en la llamada. De esta manera
algunos o todos los parámetros reales contendrán los resultados del procedimiento.
– Finalmente se cede el control a la siguiente instrucción desde la que se realizó la llamada,
teniendo en cuenta que los parámetros reales contienen los resultados del procedimiento.
La estructura general de un procedimiento consta de:
– La cabecera: formada por el nombre del procedimiento (un identificador que debe ser sig-
nificativo) y entre paréntesis los parámetros o la información que se pasa al procedimiento.
Para cada parámetro hay que indicar su tipo y el método de paso (existen dos tipos funda-
mentales, por valor y por referencia, que estudiaremos en breve).
– El cuerpo: incluye las instrucciones. En un procedimiento no existe ninguna instrucción de
retorno de valores como en las funciones. El procedimiento devuelve resultados a través de
sus parámetros (cuando éstos se pasan por referencia).
A de PP P4, P5
A de P1 P1, P3
C de P1 P1, P2, P3
D de P1 P1, P2, P3
A de P2 P2
D de P3 P3
E de P3 P3
D de P4 P4, P5, P6
F de P4 P4, P5
F de P6 P6
A de P6 P6
Tabla donde se indican las variables definidas en
los procedimientos anidados de la figura anterior y sus ámbitos
4.10. RECURSIVIDAD
Se dice que un subprograma es recursivo cuando se llama a sí mismo. La recursividad puede
llegar a ser muy útil en problemas que se pueden definir en términos recursivos, como procesos re-
petitivos sobre sí mismos.
Todo programa recursivo debe tener una condición que ponga fin a la recursividad. Cuando se al-
canza esta condición el programa deja de llamarse a sí mismo y comienza a devolver los resultados.
Si no existiese una condición de término o éste estuviera mal definido o planteado y no se alcanza-
se nunca, se formaría un bucle infinito. Ya que las llamadas a subprogramas almacenan cierta informa-
ción en la pila del sistema, un fallo en la condición de término originaría un error al llenarse la pila.
Muchos programadores optan por bucles iterativos siempre que éstos puedan suplir la recursivi-
dad, debido sobre todo a que no siempre es obvio ni fácil programar las condiciones de término, como
tampoco lo es plantear un algoritmo recursivo. Por el contrario, un planteamiento recursivo suele ser
mucho más escueto, elegante y potente que otras técnicas de programación
EJEMPLO: realizar la función potencia con un algoritmo iterativo y otro recursivo. Esta función
toma dos números como parámetros y multiplica el primero por sí mismo tantas veces como
indique el segundo.
A) Algoritmo iterativo
Funcion POTENCIA (Base: entero, Exp: entero): Real
Var P: real
I: entero
Inicio
P Å 1
Desde I =1 hasta Exp
P m P*Base
Fin desde
Retorno P CONDICIÓN DE
Fin TÉRMINO
B) Algoritmo recursivo
LLAMADA
RECURSIVA
5.4.1. Introducción
La tendencia general en la evolución de los lenguajes de programación ha sido incrementar los
niveles de abstracción a la hora de crear programas. Los lenguajes de la primera generación trabaja-
ban a nivel de instrucciones máquina, el menor nivel de abstracción posible. Los lenguajes de segun-
da y tercera generación han subido el nivel de representación de los programas de ordenador.
Durante la pasada década, los lenguajes de cuarta generación han elevado aún más el nivel de
abstracción. Estos lenguajes, al igual que los lenguajes de inteligencia artificial, contienen una sintaxis
distinta para la representación del control y para la representación de las estructuras de datos.
Los lenguajes de cuarta generación combinan características procedimentales y no procedimentales:
– El lenguaje permite al usuario especificar condiciones con sus correspondientes acciones.
Este es el componente procedimental que se manifiesta en la definición de tipos de constan-
tes, tipos de datos elementales, visibilidad de las variables (locales o globales), sentencias
de control de flujo, definición de funciones y procedimientos, etc.
– La parte no procedural suele estar basada en el lenguaje SQL (Structured Query Language)
o, como mínimo, en lenguajes de consulta de bases de datos relacionales mediante los
cuales el usuario indica el resultado deseado.
NOTA: los lenguajes de cuarta generación también se denominan 4GL (4th
Generation languages).
Los 4GL son entornos de desarrollo de aplicaciones constituidos por un conjunto de herramientas
integradas entre las que se encuentran editores, compiladores, sistemas para el acceso a bases de
datos, generadores de informes, generadores de pantallas (modo carácter, interfaces gráficas), etc.
Con los 4GL se consigue un aumento de productividad gracias a dos factores importantes (entre
otras muchas innovaciones):
– La utilización de funciones preprogramadas.
– El entorno de desarrollo que facilita la realización de determinadas tareas como diseño de
pantallas o informes.
6. PRINCIPALES LENGUAJES
A continuación hacemos un breve repaso por los lenguajes de programación más importantes.
NOTA: el orden en el estudio de los lenguajes obedece aproximadamente a su
aparición cronológica.
6.1. FORTRAN
FORTRAN (FORmula TRANslator) fue desarrollado entre 1954-57 por John Backus (IBM). Cons-
tituye el primer lenguaje de programación de alto nivel. Su novedad fundamental es permitir la escri-
tura de expresiones en forma algebraica y la declaración de identificadores.
FORTRAN ha subsistido hasta la actualidad y sigue siendo el primer lenguaje de programación
en el ambiente científico y de ingeniería. La versión estandarizada original de FORTRAN (denominada
“FORTRAN-66”) resultó ser una potente herramienta para la resolución de problemas computacio-
nales; aunque le faltaba el soporte directo de estructuras de control, tenía una tipificación de datos
pobre, no facilitaba un soporte a la manipulación de cadenas y tenía algunas otras deficiencias.
El último estándar ANSI (denominado “FORTRAN-77”) y el próximo estándar corrigen algunas de las
deficiencias encontradas en versiones anteriores del lenguaje. En muchos casos, FORTRAN ha sido forza-
do a ajustarse a áreas de aplicación para las que no fue nunca diseñado, por lo que muchas de las críticas
que ha recibido el lenguaje han sido injustas. Para las aplicaciones de cálculo numérico, FORTRAN sigue
siendo el lenguaje elegido, al igual que para aplicaciones de software de sistemas, de tiempo real, etc.
Otras características del FORTRAN son:
– Se han escrito versiones para muchas arquitecturas, desde pequeños ordenadores persona-
les hasta grandes supercomputadores.
– Extenso juego de palabras reservadas.
– La estructura de un programa consta de un programa principal y uno, varios o ninguno
subprogramas, que se compilan por separado y más tarde se linkan.
– No permite las llamadas recursivas, puntero ni tipos de datos definidos por el usuario.
– Los métodos de E/S son muy potentes pero engorrosos.
– Su punto débil es el tratamiento de información no numérica.
6.2. COBOL
COBOL (Common Business Oriented Language) fue definido en 1960 por CODASYL (COnfe-
rence on DAta SYstems and Languages), un comité mixto de industria y gobierno norteamericanos
(Departamento de Defensa).
COBOL, al igual que FORTRAN, ha alcanzado la madurez y es el lenguaje aceptado como “están-
dar” para aplicaciones de procesamiento de datos comerciales. Fue estandarizado por ANSI en 1968
y logra una independencia importante de las arquitecturas donde se ejecuta.
Aunque el lenguaje ha sido a veces criticado por su falta de unidad, tiene excelentes posibilida-
des de definición de datos, es muy auto-documentado y proporciona soporte para un gran rango de
técnicas algorítmicas relativas al procesamiento de datos en los negocios.
Otras características del COBOL son:
– Utiliza un inglés sencillo y su prioridad es la facilidad de uso a costa de una menor potencia.
– El juego de palabras reservadas es muy grande, incluyendo algunas “falsas palabras” que se utilizan
para aumentar la legibilidad de los programas, pero que no tienen efecto sobre el compilador.
– Todos los datos de E/S se estructuran en ficheros compuestos de registros.
– Algunos lo consideran demasiado engorroso y reiterativo, aunque su estructura general es
bastante clara.
– Existen construcciones específicas que no son demasiado cómodas (por ejemplo, la ordena-
ción: SORT).
– El mayor obstáculo del COBOL está en la visión negativa que tiene de él la comunidad uni-
versitaria.
– Su futuro está asegurado por las enormes inversiones realizadas.
– Su mayor desafío es un incremento de herramientas de desarrollo.
Los programas constan de las siguientes divisiones (cada división se estructura a su vez en sec-
ciones, párrafos, sentencias y palabras):
– IDENTIFICATION DIVISION: identifica el programa fuente y el autor, comentarios.
– ENVIRONMENT DIVISION: liga al programa fuente a una configuración especial específica
del hardware, definida de esta forma por el montador.
– DATA DIVISION: consta de las siguientes secciones, donde se realizan las descripciones
respectivas de ficheros, registros y variables:
* File Descriptions
* Record Descriptions
* Data Descriptions
– PROCEDURE DIVISION: contiene los módulos de programa.
6.3. LISP
Fue creado en 1960 por John McCarthy. Acrónimo de List processor. Es un lenguaje especial-
mente adecuado para la manipulación de símbolos y el procesamiento de listas en problemas combi-
natorios. Usado casi exclusivamente por la comunidad de la inteligencia artificial.
LISP facilita las especificaciones de hechos, reglas y sus correspondientes inferencias (implemen-
tadas como funciones LISP), lo que constituye la base de los sistemas apoyados en el conocimiento.
El lenguaje es especialmente adecuado para la prueba de teoremas, las búsquedas en árboles y otras
actividades de resolución de problemas.
Los subprogramas están implementados como funciones y hacen un gran uso de la recursividad.
Debido a que cada función de LISP es una unidad independiente, se puede conseguir una gran reu-
sabilidad mediante la creación de bibliotecas de funciones primitivas. En estos últimos años, LISP ha
sido usado para el desarrollo de una gran cantidad de sistemas expertos.
Características:
– Fue desarrollado en 1959 por un grupo de investigación sobre inteligencia artificial (IA) del MIT.
– Está orientado a escribir programas basados en la manipulación de símbolos, y se parece
muy poco a cualquier otro lenguaje.
– Ha sido el lenguaje por excelencia de la IA, una de cuyas tareas más comunes es la compa-
ración y búsqueda en grandes cadenas de datos.
– No tiene una estructura procedimental.
6.4. ALGOL
Algol (Algorithmic language) fue diseñado por un comité de expertos internacionales liderado por
Alan J. Perlis y Peter Naur en 1960. Fue el primer lenguaje de programación especificado mediante
una notación formal. Introduce los tipos y la estructura de bloques.
El lenguaje de alto nivel de propósito general más antiguo (también un lenguaje de base), ALGOL,
ha servido como modelo para otros lenguajes de esta categoría. Sus descendientes, PL/1, PASCAL,
Modula-2, C y Ada, han sido adoptados como lenguajes con potencial para un gran espectro de apli-
caciones (ciencia e ingeniería, productos comerciales, aplicaciones de sistemas, etc.).
6.5. PL/1
Este lenguaje se diseñó por IBM a mediados de los 60 para servir igualmente para aplicaciones
tanto de gestión como científicas, incorporando los conceptos introducidos por Algol y añadiendo otros
nuevos. Como consecuencia se obtuvo un lenguaje muy complejo y con sintaxis un tanto extraña.
PL/1 permite la especificación de sofisticadas estructuras de datos, multitarea, una compleja E/S, pro-
cesamiento de listas y muchas otras posibilidades. Se han desarrollado subconjuntos del lenguaje para:
– Enseñar programación (PL/C).
– Aplicaciones de microprocesadores (PL/M).
– Programación de sistemas (PL/S).
6.6. BASIC
BASIC (Beginners All-Purpose Symbolic lnstruction Code) fue creado en 1965 por Thomas E.
Kurtz en el Darthmouth College (USA).
BASIC es un lenguaje que fue originalmente diseñado para enseñar programación en modo de
tiempo compartido. El lenguaje parecía destinado a quedarse obsoleto a principios de los años 70,
pero con el advenimiento de los ordenadores personales ha renacido. Existen cientos de versiones de
BASIC, lo que hace difícil discutir las ventajas y las deficiencias del lenguaje.
Otras particularidades del BASIC son:
– Se diseñó para introducir a los estudiantes de ciencias en la programación. Kurth y Kemeny
desarrollaron el primer compilador BASIC en un ordenador General Electrics 255.
– La facilidad de uso fue su objetivo incluso a costa de perder eficiencia.
– Bien aceptado desde su creación, ha sido uno de los más populares del mundo y muchos mi-
croordenadores de primera generación (1980-90) lo incorporaban de fábrica en ROM o en su
SO. Con el tiempo se ha ampliado y diversificado, convirtiéndose en una potente herramienta.
– No es demasiado portable, ya que se ha especializado en diversas plataformas.
– Las primeras versiones tenían un reducido número de palabras reservadas (sólo algo más de
una decena). Actualmente este juego se ha ampliado mucho más.
– La estructura de los programas consiste en una secuencia de instrucciones. Aunque se
pueden escribir subrutinas, éstas no se diferencian del cuerpo del programa y no se pueden
pasar parámetros.
– El alcance de las variables es global. No existen variables locales.
– Sólo tiene dos tipos de datos: numéricos y cadenas de caracteres.
– Los identificadores sólo pueden tener una letra (o una letra seguida de un dígito).
– La E/S es sencilla con potencia aceptable.
A pesar de su simplicidad se usa para desarrollar una enorme variedad de aplicaciones. Existe un es-
tándar ANSI pero existen muchas versiones propietarias. GW-BASIC es una versión característica del DOS.
Recientemente han aparecido muchas variaciones de BASIC que se utilizan para programar ma-
cros dentro de otras aplicaciones como, por ejemplo, en Microsoft Word, Excel, Access que permiten
personalizar y añadir funcionalidades nuevas a estas aplicaciones.
6.7. SIMULA
Desarrollado en 1967 en Noruega. Aplica los conceptos fundamentales de la orientación a obje-
tos y programación estructurada y modular.
6.8. C
Fue diseñado en 1971 por Ritchie, de los laboratorios Bell, para ser utilizado en la familia PDP-11
de IBM. El primer programa importante escrito en C fue el sistema operativo UNIX, y durante muchos
años fue asociado a él.
Aunque es un lenguaje de alto nivel está más cercano al ensamblador que otros lenguajes tam-
bién de alto nivel; esto permite a los programadores escribir un código muy eficiente aunque puede
hacer que los programas sean difíciles de seguir.
El lenguaje C fue desarrollado para el ingeniero de software sofisticado y con-
tiene potentes posibilidades que le dan una considerable flexibilidad.
Como otros lenguajes de esta categoría, C soporta estructuras de datos sofisticadas y tiene
características de tipificación, hace un uso intensivo de los punteros y tiene un rico conjunto de ope-
radores para el cálculo y la manipulación de datos.
Actualmente es un lenguaje de programación muy potente y flexible usado en un gran número de
aplicaciones de gestión y de ingeniería. Es muy popular en el entorno del PC porque es relativamente
pequeño y requiere menos memoria que otros lenguajes.
Las características más importantes del C se resumen a continuación:
– Es un lenguaje moderno de propósito general que combina características de los lenguajes
de alto nivel con otras que sólo se encuentran en lenguajes de bajo nivel.
– Es muy útil para escribir software de sistemas.
– Actualmente tiene mucha aceptación, habiéndose implementado desde superordenadores
hasta micros, y se está convirtiendo en un estándar industrial.
– El objetivo principal es generar código eficiente.
– Tiene un conjunto de palabras pequeño, pero una gran flexibilidad en su sintaxis (lo cual
puede llegar a dificultar mucho su legibilidad).
– Admite un pequeño conjunto de datos tipo, pero permite la creación de estructuras definidas
por el usuario.
– Utiliza profusamente los punteros, lo que puede ocasionar fallos muy difíciles de detectar.
Por esta razón su aprendizaje es más costoso que otros lenguajes.
– No dispone de facilidades de E/S. Para ello tiene una serie de librerías que dependen de
cada implementación.
6.9. PASCAL
Pascal es un lenguaje de alto nivel desarrollado por Niklaus Wirth en 1971. Su nombre le viene
dado por el matemático francés Blaise Pascal, que construyó la primera máquina de sumar mecánica.
Es un lenguaje conocido por su afinidad con las técnicas de programación estructuradas. La
naturaleza del lenguaje fuerza a los programadores a diseñar programas metódica y cuidadosamente.
Por esta razón es un lenguaje muy popular en la enseñanza.
Desde su introducción, PASCAL ha encontrado mucho apoyo en grandes audiencias de personal
dedicado al desarrollo de software y es usado ampliamente en aplicaciones de ciencia, ingeniería y
de programación de sistemas (el lenguaje ha sido llamado “el FORTRAN de los 80”). PASCAL es un
descendiente directo de ALGOL y contiene muchas de sus propias características: estructuración en
bloques, fuerte tipificación de datos, soporte directo de la recursividad y otras características suple-
mentarias. Ha sido implementado en computadoras de todo tipo.
6.10. PROLOG
Acrónimo de Programming Logic, fue desarrollado en 1972 por Alain Kolmerauer. Prolog es un
lenguaje de programación de alto nivel basado en la lógica formal. Es un lenguaje declarativo que se
apoya en un conjunto de reglas y de hechos. Se utiliza en entornos de inteligencia artificial para el
desarrollo de sistemas expertos.
Al igual que LISP, PROLOG proporciona medios de soporte para la representación del conocimien-
to. Dentro del lenguaje, se usa una estructura de datos uniforme, denominada término, para construir
todos los datos y todos los programas.
Cada programa consiste en un conjunto de cláusulas que representan hechos, reglas e inferencias.
Tanto LISP como PROLOG son especialmente adecuados para los problemas que tratan objetos y sus rela-
ciones. Por esta razón, alguna gente se refiere a LISP y PROLOG como lenguajes orientados a los objetos.
6.11. MODULA-2
Desarrollado en la segunda mitad de los 70 por Niklaus Wirth.
A pesar de su éxito en ciertos ámbitos, Pascal ha tenido poca repercusión en el mundo de los negocios.
Parte de esta resistencia de los programadores a utilizarlo viene de su inflexibilidad y la falta de utilidades de
desarrollo. Para resolver estos problemas Wirth desarrolló un nuevo lenguaje llamado Modula-2, similar a
Pascal pero con características adicionales, como compilación separada de módulos y multitarea.
Modula-2 es un descendiente evolucionado de PASCAL y (como dirían algunos) una posible al-
ternativa para el lenguaje de programación Ada. Modula-2 junta las posibilidades de implementación
directa del diseño, como el ocultamiento de información, la abstracción y la fuerte tipificación de
datos, con las estructuras de control que soportan la recursividad y la concurrencia. Hasta ahora, el
uso de Modula-2 en aplicaciones industriales ha estado muy limitado.
6.12. SQL
Abreviación de Structured Query Language (lenguaje de consulta estructurado). Es un lenguaje
estándar de base de datos. diseñado por IBM en 1974/75. Oracle fue la primera empresa que lo
integró en su base de datos. Ha sido estandarizado por ANSI y la última versión oficial que existe en el
mercado es SAG SQL. Se utiliza como lenguaje de programación propiamente dicho y como lenguaje
de programación embebido, incrustado en otros lenguajes, habitualmente en C.
6.13. ADA
Desarrollado en la segunda mitad de los 70 por el Departamento de Defensa de los Estados
Unidos como un nuevo estándar para sistemas en tiempo real.
Similar a PASCAL en notación y estructura (aunque más potente y complejo), Ada soporta un rico
conjunto de posibilidades que incluyen la multitarea, el manejo de interrupciones, la sincronización y
comunicación entre tareas, así como un conjunto de características únicas como el paquete.
Ada ha creado mucha controversia y continúa generándola. Sus adictos alaban su rica estructura
de lenguaje y su enfoque de entorno Ada para la ingeniería del software, en lugar de toda una para-
fernalia orientada al lenguaje. Sus detractores se preocupan por la complejidad del lenguaje, la actual
ineficiencia de los compiladores y la larga curva de aprendizaje. Parece, sin embargo, que son más los
beneficios del lenguaje: Ada dominó durante los años 90 ciertos ámbitos de aplicación.
6.14. SMALLTALK
Diseñado en 1980 por Alan C. Kay (Xerox). Es el primer lenguaje orientado a objetos y a la pro-
gramación visual. A pesar de que algunos lo consideran el único verdaderamente orientado a objetos,
no ha tenido mucha repercusión en el mercado.
6.15. C++
Creado en 1983 por Bjarne Stroustrup. C++ proporciona características de orientación a obje-
tos al lenguaje C. Es muy popular en entornos gráficos de programación.
7.2. VBSCRIPT
Acrónimo de Visual Basic Scripting Edition, es un lenguaje de comandos desarrollado por Micro-
soft para programar en navegadores web. Se basa en VisualBasic pero es mucho más simple.
7.3. DELPHI
Delphi es un sistema de desarrollo rápido de aplicaciones o RAD desarrollado por Borland. Está
basado en PASCAL.
7.4. JAVA
Lenguaje de programación de alto nivel desarrollado por Sun Microsystems. Originariamente se
llamó OAK y fue diseñado para realizar software empotrado en pequeños electrodomésticos y dispo-
sitivos de control. Con el éxito de la web empieza a cobrar importancia hasta la actualidad, en que es
un lenguaje ampliamente utilizado en el mundo de Internet.
Es un lenguaje de propósito general orientado a objetos similar a C++, pero ampliamente sim-
plificado. Los ficheros de código Java con la extensión .java se compilan en un formato llamado byte-
code (ficheros con extensión .class), los cuales son ejecutados por el intérprete de Java.
El intérprete/compilador de código Java puede ejecutarse en la mayoría de los ordenadores,
donde se ejecuta un módulo denominado Java Virtual Machine que consigue que el programa sea
totalmente independiente de la plataforma y del sistema en que se esté ejecutando.
El formato bytecode puede ser convertido directamente a código máquina con los compiladores
just-in-time (JIT), que van convirtiendo conforme van llegando instrucciones.
Los applets son pequeños programas escritos en Java que se pueden descargar desde el ser-
vidor web y se pueden ejecutar en cualquier navegador compatible (como Netscape Navigator o
Microsoft Internet Explorer).
Sus principales características son:
– Independencia de plataforma: Java se ejecuta en la mayor parte de plataformas de hard-
ware y software, entre las que se incluyen Windows 9x, NT, 2000, XP, Macintosh y varias
gamas de Unix, y prácticamente todos los navegadores Internet del mercado.
– Orientación a objetos: Java es un lenguaje verdaderamente orientado a objetos, con todas
las ventajas que ello conlleva.
– Seguridad: Java es uno de los primeros lenguajes de programación que tiene en cuenta la
seguridad como parte de su diseño. El compilador, el intérprete, la API y los navegadores
compatibles con Java contienen todos ellos varios niveles de medidas de seguridad, dise-
ñadas para reducir el riesgo del compromiso de seguridad, pérdida de datos, integridad del
programa y daños a los usuarios del sistema.
– Simplicidad: el lenguaje Java fue diseñado para ser un lenguaje fácil de aprender, construi-
do con la sintaxis y muchas de las características de C++.
– Soporte intrínseco de multitarea.
– Estandarización: al tener los derechos legales de Java única y exclusivamente Sun, no hay
posibilidad de encontrarnos con distintos Java’s.
7.5. JAVASCRIPT
Lenguaje desarrollado por Sun compatible con Java pero totalmente independiente de éste. Se
utiliza para generar páginas web interactivas e interactúa con código HTML.
7.6. VISUAL C
Visual C++ es un entorno de desarrollo de aplicaciones de Microsoft basado en C++. Propor-
ciona soporte de orientación a objetos para aplicaciones Windows de 32 bits y un entorno de desa-
rrollo integrado, compilador C/C++, librería de clases llamada MFC (Microsoft Foundation Classes),
un AppWizard, y ClassWizard que facilitan la creación de aplicaciones y clases.
7.7. PERL
Son las siglas de Practical Extraction and Report Language; es un lenguaje de programación de-
sarrollado por Larry Wall para el tratamiento de texto. Es el lenguaje más popular que se utiliza para la
programación de scripts en CGI. Es un lenguaje interpretado muy fácil de utilizar y depurar.
8. SOFTWARE DE DESARROLLO
El software de desarrollo, entre los que se incluyen los lenguajes de programación, tienen como
objetivo la creación de nuevo software; es decir, programas diseñados para crear nuevos programas.
Relación entre los tres grupos principales de software. Tanto el software de desarrollo como el de aplicación trabajan utilizando
los servicios proporcionados por el software de sistema (que estudiaremos en el tema sobre sistemas operativos), el cual actúa
directamente sobre el hardware. Los programadores utilizan el software de desarrollo para producir nuevo software; los usuarios
por su parte utilizan el software de aplicación obteniendo resultados
8.1.1. Compiladores
Se desarrollaron para resolver el problema de la dependencia de los programas de bajo nivel
respecto a una arquitectura de ordenador concreta. Permiten el desarrollo de programas indepen-
dientes de la máquina, logrando mayor velocidad de programación, programas transportables entre
sistemas diferentes y menores requerimientos de conocimientos de hardware.
Los compiladores transforman un programa escrito en un lenguaje simbólico de alto o medio nivel
a código máquina directamente ejecutable por el ordenador. Esta traducción sufre una serie de pasos
que acercan progresivamente el código original al código máquina. La traducción se realiza completa,
no finalizando el proceso hasta que la última instrucción del programa fuente ha sido traducida (en
contraposición a lo que ocurre con un intérprete, como veremos a continuación).
Generalmente cada instrucción del código fuente genera más de una instrucción de código má-
quina, y en caso de existir errores en éste, el compilador los señala, incluso indicando cuáles podrían
ser las causas y sus posibles correcciones.
Las características más importantes de un moderno compilador son:
– Posibilidad de separar la interpretación del código fuente de la generación del código. Esto per-
mite la ejecución inmediata de una parte del código sin haber generado el fichero ejecutable.
– Gestión avanzada de errores. Recuperación desde un estado erróneo del código para poder
continuar con el proceso de interpretación y así detectar el mayor número posible de errores
en una única compilación.
– Optimización del código. La traducción del código fuente va acompañada por una optimiza-
ción del código (en tamaño y/o en rendimiento) a la hora de ejecutar la aplicación.
Existe una clasificación de compiladores en lo que se refiere a la calidad del código generado:
– Compiladores rápidos y “sucios”: producen rápidamente un programa objeto que puede
ser ineficiente respecto de almacenamiento y velocidad de ejecución. La ventaja es que son
muy rápidos y útiles para el desarrollo y prueba de sistemas.
– Compiladores optimizadores: producen con mayor lentitud un código de máquina altamente
eficiente en almacenamiento y ejecución: Útiles en etapa de producción final de los sistemas.
Otra interesante posibilidad que ofrece el concepto de máquina virtual es que la traducción del programa
en lenguaje intermedio al lenguaje máquina no sea mediante compilación sino mediante un intérprete.
El esquema de construcción y ejecución de aplicaciones en la nueva plataforma .NET de Micro-
soft considera un lenguaje intermedio MSIL (Microsoft Intermediate Language) y una máquina virtual
CLR (Common Language Runtime) común a muchos lenguajes de programación.
8.1.3. Intérpretes
Como los compiladores, los intérpretes transforman el código fuente de un lenguaje de alto nivel
en código máquina ejecutable por el ordenador. Sin embargo un intérprete no realiza la traducción
completa del código fuente, más bien traduce cada instrucción de dicho código fuente en una o más
instrucciones de código máquina, ejecutadas inmediatamente después por el procesador. Una vez eje-
cutada la instrucción (o instrucciones) en código máquina, se traduce la siguiente del código fuente.
La principal ventaja de un intérprete frente a un compilador es que prácticamente no existen tiem-
pos de espera desde que comienza el proceso de traducción hasta que se empiezan a obtener los re-
sultados de la ejecución del programa. Sin embargo, la ejecución global del programa resulta más lenta,
pues la traducción del código fuente se realiza progresivamente a medida que avanza el programa.
NOTA: al trabajar con un compilador suele existir un tiempo de espera inicial en
el que se realiza el proceso de traducción completo. Posteriormente, sin embargo,
la ejecución del programa es más rápida ya que éste se encuentra totalmente en
forma de código máquina.
Por otra parte, existen profundas diferencias en la arquitectura interna de ambas modalidades.
Un compilador se construye de una forma distinta a un intérprete, y el proceso que sigue en la tra-
ducción es también diferente. Dado que en la actualidad los compiladores están ganando terreno en
el mercado frente a los intérpretes, estudiaremos la secuencia de pasos seguidas por un moderno
compilador hasta obtener el código fuente. Pero antes veamos en qué consiste un ensamblador.
Compilador Intérprete
Los programas se ejecutan más rápido Los programas se ejecutan más despacio (se traducen
(sólo se traducen la primera vez) en cada ejecución)
8.1.4. Ensambladores
Podríamos decir que un ensamblador es un compilador para lenguajes de bajo nivel. Efectiva-
mente, un ensamblador realiza las misma tarea que un compilador, traduciendo completamente el
código fuente a código máquina antes de poder ejecutar nada. Sin embargo el código fuente de un
ensamblador está mucho más cercano al ordenador que los lenguajes de alto nivel traducidos por un
compilador, por lo que tanto su estructura como el proceso que realizan son más sencillos.
Otra consecuencia de utilizar un lenguaje de bajo nivel (curiosamente llamados también ensam-
bladores), es que una instrucción de código fuente origina una sola instrucción en código máquina,
lo que puede dar una idea de lo cercano que se encuentra del ordenador. Algunos autores incluso
definen los lenguajes ensambladores como una representación simbólica del código máquina. Actual-
mente podemos encontrar varios tipos de ensambladores:
– Ensambladores cruzados.
– Macroensambladores.
– Microensambladores.
– Ensambladores de una o más pasadas.
8.2.1. Editor
El editor es una herramienta que facilita al programador la escritura del código fuente. Bási-
camente transforma el ordenador en una máquina de escribir, aunque añade muchas ventajas de
edición, corrección, etc. El editor puede estar integrado en el propio compilador, tal es el caso de
los más modernos, o por el contrario existir como un programa independiente formando parte de las
herramientas utilizadas del sistema, modalidad más común en los antiguos sistemas.
"+ ,
#0
(/*
%
&' ()
*
& &
! "# $
"+
Estructura simplificada de un compilador preparado para generar código portable a ordenadores de distinta plataforma.
Existe una parte común que corresponde con el proceso de análisis, así como otros módulos específicos para
cada plataforma en particular que corresponden a la generación del código
!
9. ORIENTACIÓN A OBJETOS
námicos contienen diagramas de estados: grafos cuyos nodos son estados y cuyos arcos
son transiciones entre estados causados por sucesos (eventos).
– El modelo funcional describe las transformaciones de datos que ocurren dentro del siste-
ma mediante diagramas de flujo de datos. Un diagrama de flujo de datos representa un
cálculo mediante un grafo cuyos nodos son procesos y cuyos arcos son flujos de datos.
El análisis funcional se compone del estudio de los métodos y equipos que se deben utilizar, los len-
guajes y herramientas de programación, el diseño de los procesos, el diseño de los datos de entrada y sa-
lida (registros, archivos, documentos), así como los soportes en los que van a sustentarse los mismos.
El diseñador es el principal responsable de que el programa sea fiable, mantenible y amigable. Un
programa modular bien diseñado con interfaces sencillas entre módulos, y con pre y postcondiciones
no ambiguas es, con seguridad, mucho más mantenible y fiable que un producto de un diseño pobre.
El diseñador debe tomarse casi tanto tiempo en pensar el diseño de las interfaces de usuario como
en el propio diseño del programa.
je, su traducción al lenguaje máquina y la prueba de los diferentes módulos, unidades de tratamiento
y cadenas que componen la aplicación.
Los aspectos principales de la codificación son la transportabilidad, fiabilidad, eficacia y respeto a
los derechos de autor. El programador debe verificar el código escrito. Muchos errores de software se
evitan escribiendo el código cuidadosamente. Si un programador está trabajando en un área en que
existe o software patentado, él o ella debe investigar si existen patentes concretas para la aplicación que
realiza. El programador debe obtener la autorización antes de utilizar un código protegido o patentado.
10.7. IMPLANTACIÓN
La implantación del sistema se realiza en paralelo con las pruebas, con el objetivo final de dejar
el sistema listo para su explotación por parte del usuario. Se recibe toda la documentación necesaria
del grupo de análisis y programación para con ella y el resultado de las pruebas, llevar a cabo la acep-
tación del sistema y hacerse cargo de su explotación en el plazo más breve posible.
10.8. EXPLOTACIÓN
Terminadas las pruebas del sistema y su implantación, éste se incorpora al plan de explotación,
que consiste en la ejecución de los procesos para los que fue creado. Otros trabajos correspondientes
a este período son la realización de copias de seguridad, controles, planificación general, preparación
de listados, etc.
Al mismo tiempo se realiza el mantenimiento que consiste en la detección y arreglo de los errores
que puedan aparecer, así como la adaptación del sistema a nuevas situaciones que se presenten con
el paso del tiempo.
Trabajo S S S S N N N N
Buen sueldo S S N N S S N N
Lotería S N S N S N S N
Sin vehículo
Bicicleta
Moto
Coche
Tabla de decisión del ejemplo anterior
El ejemplo anterior:
Trabajo S S S S N N N N
Buen sueldo S S N N S S N N
Lotería S N S N S N S N
Sin vehículo
Bicicleta
Moto
Coche
Se puede simplificar agrupando las cuatro últimas columnas (nótese que el valor de la acción
sólo depende de la primera condición):
Trabajo S S S S N
Buen sueldo S S N N -
Lotería S N S N -
Sin vehículo
Bicicleta
Moto
Coche
Ahora aplicamos el mismo razonamiento a las columnas 1ª y 3ª, en las cuales la condición “Buen
sueldo” no influye en la acción a realizar (no importa su valor, siempre compraremos un coche). La
tabla quedaría como sigue:
Trabajo S S S N
Buen sueldo - S N -
Lotería S N N -
Sin vehículo
Bicicleta
Moto
Coche
Trabajo S S S N 0
Buen sueldo - S N - 6
Lotería S N N - 4
Sin vehículo
Bicicleta
Moto
Coche
2 1 1 4
Buen sueldo - S N 2
Lotería S N N 0
Sin vehículo
Bicicleta
Moto
Coche
2 1 1
Buen sueldo -
Lotería -
Sin vehículo
Bicicleta
Moto
Coche
Una vez alcanzado este paso, se construye el diagrama de flujo que se encuentra al final de esta
página.
Por último, creamos el pseudocódigo que generará el programa:
Algoritmo TABLA
Si Trabajo = NO Entonces
Escribir “Sin vehículo”
Sino
Si Lotería = SI Entonces
Escribir “Coche”
Sino
Si Buen_Sueldo = SI Entonces
Escribir “Moto”
Sino
Escribir “Bicicleta”
Fin si
Fin si
Fin Si
Fin algoritmo
Existen símbolos específicos para representar procesos de entrada/salida por determinados dis-
positivos:
– Conectores: cuando un organigrama no cabe en un espacio físico, como una hoja de papel,
hay que dividirlo. Estos conectores indican los puntos de continuidad en la representación.
* Si es en la misma hoja:
* Si es en hoja distinta:
NOTA: los conectores suponen una aclaración para entender mejor la repre-
sentación, pero no es parte activa del algoritmo (no ejecuta ninguna acción).
* Símbolo de entrada/salida y operaciones con ficheros:
EJEMPLO: queremos hallar el producto de varios números positivos introducidos por teclado. El
proceso termina cuando se introduzca un número negativo.
1. Iniciar la variable del producto (P).
2. Leer el primer número.
Ejemplo de diagrama de flujo que representa un sencillo algoritmo de multiplicación de números con una condición de salida
' '
!((
!
" #
# $
! !%#
" #
& #
Instrucción 1
Instrucción 2
Instrucción 3
...
Instrucción N
Es aquella estructura en la que únicamente se realiza una alternativa –una determinada se-
cuencia de instrucciones– dependiendo del valor de una determinada condición o predicado. Las
estructuras alternativas, también llamadas selectivas o condicionales, pueden ser de tres tipos:
– Simple: se evalúa la condición y si es verdadera se ejecuta un conjunto de instrucciones. En
caso contrario no se hace nada.
Si <Condición> Entonces
<Instrucciones>
Fin si
La expresión <Otro valor> evita tener que contemplar todo el rango de posibles valores de la
condición. Esto es especialmente útil cuando dicho rango es muy amplio.
– Repetir un número de veces: se conoce previamente el número exacto de veces que hay
que ejecutar el bucle. La estructura tiene una variable asociada denominada índice, a la
que se asigna un valor inicial y final. El índice se incrementa o decrementa automáticamente
en cada iteración de bucle en un valor constante. Esta es una operación implícita (la realiza
el sistema, el programador no tiene que intervenir). Cuando el índice alcanza su valor final,
finaliza el bucle.
<Instrucciones>
Fin desde
!
<Instrucciones>
Fin mientras
Repetir
<Instrucciones>
Hasta <Condición>
NOTA: todas las estructuras iterativas tienen la posibilidad de salir del bucle
desde un punto intermedio del mismo, de una forma “anómala”, en el sentido de
que rompe el diseño original de la estructura. Aunque esta práctica es posible, no
se recomienda su uso, ya que anula las ventajas de la programación estructurada.
15. PRUEBAS
El cuaderno de pruebas contiene la documentación preparada por el analista para probar cada
módulo. Estas pruebas son necesarias antes de la puesta en marcha del programa que se está desa-
rrollando. Las pruebas se realizan en dos fases:
– Pruebas de los organigramas o pseudocódigo: esta prueba consiste en revisar la ló-
gica del programa, las inicializaciones de las variables más importantes, las salidas y las
entradas.
– Prueba de los programas codificados: primero se prueban los módulos independiente-
mente y después colectivamente en el conjunto del programa.
Esta última fase comprende la realización de una serie de test destinados a asegurar la validez
del programa durante su ejecución en cualquiera de sus partes, es decir, lectura de datos, cálculos,
presentación y validez de los resultados.
Para ello se introducen una serie de datos, denominados juegos de ensayo o datos de prueba,
dados por el analista en el análisis orgánico y que cubre todas las posibilidades que pueden plantear-
se en la ejecución del trabajo. De esta forma, pueden observarse los errores producidos a la salida,
corregirlos y probar de nuevo hasta eliminar todos los fallos.
Para probar el comportamiento de un programa se eligen todos los sucesos que probabilística-
mente se presentan pocas veces y, otros que sean muy frecuentes. Los sucesos se deben elegir de
forma que los programas queden completamente probados. Finalizada la prueba se debe verificar el
contenido de los archivos que se han utilizado.
Cuando un trabajo se distribuye entre varios programadores, es muy frecuente la utilización de
módulos complementarios para realizar las pruebas con efectividad. Estos módulos no se incluyen
en el producto final.
Algunos sistemas operativos poseen varias técnicas de ayuda al programador para la depuración
de sus programas, desde un volcado de contenido de la memoria, en formato octal o hexadecimal
(DUMP), hasta el seguimiento de las instrucciones (DEBUG).
16. METODOLOGÍAS
17.1. INTRODUCCIÓN
La Metodología de Planificación y Desarrollo de Sistemas de Información (MÉTRICA versión 2.1),
es una iniciativa promovida por el Consejo Superior de Informática, órgano colegiado encargado de la
elaboración y desarrollo de la política informática del Gobierno.
El volumen de información que se maneja en la Administración es muy alto, de modo que es
necesario disponer de una Tecnología de la Información que garantice dinámica y eficazmente el
funcionamiento normal de los departamentos que la constituyen.
Esta tecnología de la información debe ser dinámica en el sentido de que debe adaptarse con
facilidad a las condiciones cambiantes tanto externas como internas de cualquier organización, es por
lo que debe existir una metodología de desarrollo que garantice el funcionamiento correcto y eficaz de
los departamentos de tecnología de la información.
Los sistemas de información que no utilizan ninguna metodología suelen ser difíciles de implantar
y mantener, ya que carecen de la documentación necesaria para facilitar estas tareas. Asimismo se
suelen caracterizar por la falta de comunicación con los usuarios, lo que genera productos que no
satisfacen enteramente sus necesidades, así como retrasos en la fecha de entrega y un aumento por
consiguiente del coste de elaboración.
La MÉTRICA es un método desarrollado para su uso en los proyectos informáti-
cos de las Administraciones públicas, como instrumento básico de apoyo a su línea
estratégica de mejora de la calidad y la productividad en el desarrollo de software.
MÉTRICA ha sido diseñada por personal de distintos organismos de las Administraciones públicas y en
colaboración externa con la empresa Coopers&Lybrand y su ámbito de aplicación los constituyen la Adminis-
tración Central del Estado en una primera etapa y posteriormente las Administraciones Local y Autonómica.
A lo largo de su desarrollo se han tenido en cuenta las siguientes Metodologías:
– SSADM: metodología pública británica.
– MERISE: metodología pública francesa.
– EUROMÉTODO: marco metodológico europeo.
– SUMMIT-D: metodología de Coopers&Lybrand.
– Plan general de Garantía de Calidad aplicable al desarrollo de equipos lógicos.
El uso de esta metodología garantiza la satisfacción de las necesidades de los usuarios, la ob-
tención de toda la documentación necesaria para desarrollar, implantar y posteriormente mantener
cualquier sistema de información, así como la mejora de la productividad de los departamentos de
tecnología de la información.
17.2. OBJETIVOS
El principal objetivo de la metodología MÉTRICA 2.1 es crear un entorno que permita al equipo
de trabajo construir sistemas, que:
– Den solución a los objetivos considerados prioritarios en la Administración.
– Se desarrollen cuando el usuario los necesite y de acuerdo con los presupuestos y duración
estimados.
– Se mantengan fácilmente para soportar los cambios futuros de la organización.
17.3. ESTRUCTURA
MÉTRICA 2.1 se estructura en:
– Fases: el término Fase conlleva la idea de secuencia. En cada fase deben obtenerse una
serie de productos que deben ser entregados antes de que se inicie la siguiente fase. De
esta forma, se pueden dividir los proyectos en una serie de hitos preestablecidos, que facili-
tarán las labores de Planificación y Control de Proyectos.
– El final de cada fase requiere una aceptación formal de las conclusiones a las que se ha
llegado al término de la misma. El producto final obtenido en cada fase es un documento
que se utiliza para el inicio de la siguiente fase.
– Módulos: la división en Módulos obedece a razones de homogeneidad: un módulo es un gru-
po de Actividades y Tareas que se realizan para producir un conjunto de productos finales.
– Actividades.
– Tareas.
Además define el conjunto de productos a desarrollar, las técnicas que deben utilizarse para
ello y establece las diferentes responsabilidades y funciones de los miembros del equipo de trabajo
así como una estructura de proyecto que sirva de guía al equipo de trabajo e involucre a los usua-
rios en su desarrollo y en sus puntos decisivos.
Fases de la Métrica
17.4. FASES
Las fases en las que se divide MÉTRICA 2.1 son:
– FASE 0: PLAN DE SISTEMAS DE INFORMACIÓN. En la fase 0 se plantea:
* La definición de los objetivos y funciones de la organización.
* La definición de la arquitectura de la información en cuanto a datos y procesos que
permitan realizar dichos objetivos y funciones.
* La especificación de nuevos sistemas que permitan la implantación de dicha arquitectura.
– FASE 1: ANÁLISIS DE SISTEMAS. Como objetivo fundamental de esta fase se pretende des-
cribir el alcance, objetivos y requisitos del sistema así como la elaboración de un conjunto
de especificaciones formales que describan la funcionalidad del sistema para su posterior
aprobación por parte del usuario.
– FASE 2: DISEÑO DE SISTEMAS. Según el entorno tecnológico específico en el que se im-
plantará el sistema en esta fase se deberán obtener el conjunto de especificaciones físicas
que constituirán el punto de partida para la construcción del sistema.
– FASE 3: CONSTRUCCIÓN DE SISTEMAS. Partiendo de las especificaciones físicas obtenidas
en la fase anterior el propósito de esta fase es la construcción y prueba unitaria de cada uno
de los componentes de que consta el sistema. Asimismo se elaborarán los procedimientos
de usuario y el plan de formación.
– FASE 4: IMPLANTACIÓN DE SISTEMAS. El objetivo fundamental de esta fase es:
* Conseguir la aceptación final del sistema por parte de los usuarios.
* Comprobar el sistema en su totalidad realizando las pruebas de aceptación por parte
del usuario que permitirán verificar si el sistema es totalmente funcional y satisface los
requisitos iniciales.
* Poner el sistema en producción.
-/.0 ' .09/11 ' '1-'*4*.*60 '1.%%5//5 ' -%;'>.1
112'3.1 ' %':;1251 4;0*50./ '/ 1'<5 2=*0*5 *53-50'02'1 3-/.02.*60
045%3.*60 '/ 112'3. 112'3. '/ 112'3. '/ 112'3. ? .*'-2.*60
7-18 7.%18 7'418 7218 7*18 '/ 112'3.
7*18
'1.%%5//5
' -%5*'3'0251
'/ ;1;.%5
7-;8
como su división en fases, módulos y actividades:
'
*
" #
-
"
+
" #
.
#
*
# ,
"
%
#
' # %
377
En el esquema siguiente se podrá ver con claridad una visión general de esta metodología así
LENGUAJES DE PROGRAMACIÓN
LENGUAJES DE PROGRAMACIÓN
del sistema que nos permite almacenar información. Las características de las entidades de datos se
denominan atributos.
Se conoce como evento cualquier proceso que actualice los datos del sistema. El resultado de
la actuación de un evento sobre una entidad de datos se denomina efecto.
– Entrevistas: las entrevistas permitirán sentar las bases sobre las que se desarrollará el siste-
ma ya que es la técnica por la cual obtendremos la información sobre los requisitos de usuario
así como sus responsabilidades y funciones, el funcionamiento del sistema actual, etc.
– Diseño estructurado: en la etapa de diseño se intentarán representar módulos:
– Pequeño tamaño: una modificación de un módulo afectará a pocas líneas de código.
* Independientes entre sí: de modo que sean más fáciles de manejar aisladamente.
* Caja negra: sólo dar una visión de las entradas y salidas lo cual dará una rápida visión
de conjunto (dejando los detalles para etapas posteriores).
* Modelizados conceptualmente: evitar realizar descripciones físicas que perjudicarán
la comprensión por parte de los usuarios que no tienen por qué tener conocimientos
técnicos.
– Análisis coste – beneficio: esta técnica permite obtener estimaciones del coste de la
elaboración del sistema, lo cual nos permitirá, a priori, analizar su viabilidad, obtener las
mejores alternativas de realización y prever adecuadamente los recursos económicos que
serán precisos.
– Pruebas: son precisas para determinar si el sistema funciona como debe. Se realizan prue-
bas de tres tipos:
* Pruebas unitarias: se comprueba el funcionamiento de cada módulo individual.
* Pruebas de integración: se comprueba que los módulos encajan perfectamente e
interactúan entre sí.
* Pruebas de sistema: permiten comprobar el funcionamiento global del sistema.
– Factores críticos de éxito: evaluar los factores críticos de éxito nos permitirá obtener los
objetivos globales del sistema, evaluar el funcionamiento actual con respecto a estos ob-
jetivos, identificar los factores clave así como las relaciones causa efecto entre éstos y los
objetivos.
– Técnicas matriciales: las técnicas matriciales consisten en la utilización de tablas cruzadas
(o matrices) que nos permiten representar las relaciones entre las diferentes entidades u
objetos (funciones, procesos...) de nuestro sistema.
Algunas representaciones matriciales son:
* La matriz de Procesos – Entidades de datos permite observar el tratamiento lógico de
las funciones sobre los datos del sistema.
* La matriz de Procesos – Organización distribuye las funciones en cada uno de los
módulos de la organización.
* La matriz de Aplicaciones – Almacenes de datos permite conocer los sistemas de
información existentes así como los datos que manejan.
* La matriz de Aplicaciones – Funciones permite representar la cobertura de las aplica-
ciones sobre las funciones desarrolladas.
* La matriz de Ficheros de datos actuales – Entidades de datos permite obtener si
el conjunto de ficheros de datos existentes cubre las necesidades de información del
sistema de información.
A continuación se resumen en forma de tabla las fases, módulos, actividades y tareas de la
Métrica.
Especificación detallada de
objetivos del plan
Entrevistas con el Director del
Especificación de objetivos Recopilación de información Proyecto
existente en la unidad o en la
organización
Diagrama de contexto de la
unidad
Entrevistas con los respon-
Representación gráfica de las sables de las unidades afec-
Identificación de funciones y
funciones de la unidad y flujos tadas
objetivos
de informes
Diagrama de contexto
Lista de funciones u objetivos
de la unidad
Catálogo de funciones de la
unidad
Entrevistas con los responsables y
Diseño de la jerar- Diagrama de descomposición usuarios de la unidad
quía de funciones funcional
Diagrama de Flujo de Datos
Diagrama del modelo de funcio-
nes de la unidad
Identificación de nuevos sis- Documentación para cada una Entrevistas con los responsables
temas de las nuevas aplicaciones y usuarios de la unidad
Conjunto de especificaciones
para cada sistema (objetivos,
descripción de funciones, res- Entrevistas con los responsables
Especificación de los siste-
tricciones) de la unidad y Comité de Direc-
mas
ción
Posibles alternativas de implan-
tación
Especificación de
Descripción de interfaces con otros
interfaces con otros Diagrama de Flujo de Datos
sistemas o subsistemas
sistemas
Especificación de informes y Prototipos de los diálogos críti- Entrevistas con los usuarios
formularios cos
Formatos de informes y formu-
larios
Descripción de interfa-
Descripción detallada de interfa- Diagramas de estructuras de cua-
ces entre módulos del
ces dros (DEC) de Constantine
sistema
Diagrama de Estructura de
Definición de los componentes
cuadros
Definición de compo- del sistema
nentes del sistema Descripción de cada componente:
Descripción detallada de cada
pseudocódigo, lenguaje estructu-
componente
rado
Definición de procedimientos de
Procedimientos de operaciones de produc-
operaciones de producción e im-
ción e implantación
plantación
Preparación, ejecución y
Pruebas unitarias de los componentes Técnicas de estructuración
evaluación de las prue-
del sistema e informe de prueba unitaria de programas
bas unitarias
Preparación de un borra-
dor del plan de desarro- Borrador del plan de desarrollo de proce-
llo de procedimientos de dimientos de usuario
usuario
Especificación de crite-
Plan de construcción de los procedi-
rios de calidad y están-
mientos de usuario (estándares, control
dares de procedimientos
de calidad)
de usuario
Diseño de la estructura
Diseño de la estructura de procedimien-
de los procedimientos de
tos de usuario
usuario
Identificación de requisitos y
Plan de formación en el nuevo
recursos necesarios para la for-
sistema
mación de usuarios
Organización de la documen-
tación de procedimientos de Documentación recopilada
usuario
Consolidación de la documen-
Consolidación y revisión de los
tación de procedimientos de
procedimientos de usuario
usuario
Instalación de procedi-
Procedimientos automáticos de pro-
mientos automáticos de
ducción
producción
Instalación de procedi-
Procedimientos manuales de pro-
mientos manuales de pro-
ducción
ducción
El personal de informática
y sus funciones generales.
Normas de buena conducta de los
profesionales informáticos
Desde los primeros tiempos de la informática, el personal encar-
gado de los ordenadores ha experimentado una profunda evolución en
su formación, objetivos, jerarquías y dinámica de trabajo. Actualmente
los profesionales informáticos ya no necesitan llevar bata blanca como
en los años cincuenta, aunque conservan ciertas características inva-
riables como el lenguaje críptico que suelen utilizar (al menos para los
profanos en la materia) y la consideración de “semidioses” por tener en
sus manos uno de los activos más importantes en las organizaciones
actuales: los sistemas de información.
ESQUEMA INICIAL
1. Introducción
4. El personal informático
4.1. Director de Informática
4.2. Jefe de Proyecto
4.3. Jefe de explotación
4.4. Supervisor
4.5. Jefe de Equipo
4.6. Analista Funcional
4.7. Analista-Programador
4.8. Programador
4.9. Administrador de Sistemas
4.10. Técnico de Sistemas
4.11. Técnico de Mantenimiento
4.12. Instalador
4.13. Operador
4.14. Grabador
4.15. Director de Formación
4.16. Instructor
4.17. Asesor de Software
4.18. Consultor
4.19. Auditor
6. Protección de datos
6.1. Introducción
6.2. Leyes de protección de datos
6.2.1. Leyes de primera generación
6.2.2. Leyes de segunda generación
6.2.3. Leyes de tercera generación
8. Licencias de uso
1. INTRODUCCIÓN
Los equipos hardware y las aplicaciones software de una organización son parte imprescindible
de su sistema informático, pero no olvidemos que existe un tercer componente de igual o mayor im-
portancia: el personal informático. El personal informático constituye un recurso fundamental cuando
se planifica el rendimiento de un sistema informático.
Existen importantes elementos adicionales de carácter organizativo, de gestión, técnicos y hu-
manos relacionados con el personal informático, desde la definición de la jerarquía hasta la adopción
de métodos ergonómicos de trabajo, sin olvidar la política de formación y reciclaje profesional, por
mencionar sólo algunos.
El entorno físico de un departamento de informática se está destacando actualmente como otro
factor muy importante. Su correcta organización es decisiva en la obtención de resultados del siste-
ma informático. La aplicación de nuevas normativas que abarcan diversas áreas (ergonomía, medio
ambiente, seguridad, etc.), están haciendo que la planificación de un centro informático cobre una
creciente importancia, sobre todo en las grandes corporaciones.
En general la importancia de una buena organización a todos los niveles queda definida en la
siguiente frase:
De una buena organización depende la consecución de los objetivos
fijados en una empresa, asegurándose así el óptimo aprovechamiento de
los recursos disponibles.
4. EL PERSONAL INFORMÁTICO
La clasificación de categorías profesionales permite introducir la flexibilidad necesaria para va-
lorar equipos ofertados y para expresar las necesidades de personal de servicios como formación,
consultoría, desarrollo de sistemas de información, auditoría, etc. Estas categorías están asociadas a
varios parámetros: conocimientos previos, responsabilidades, experiencia, desarrollo, etc.
En los apartados siguientes detallamos las funciones de los diversos profesionales informáticos
y sus relaciones con el resto de la plantilla, principalmente con los usuarios. La extensión de esta
lista puede dar una idea de la importancia que adquiere el personal informático abarcando un amplio
rango de actividades.
Por otra parte, existen muchos centros que no alcanzan el tamaño necesario para justificar todos
los puestos que a continuación se detallan. Surgen diversas posibilidades de formar equipos informá-
ticos combinando diferentes profesionales, según las necesidades específicas de una organización.
Responsabilidades:
– Puede realizar las asignadas al Jefe de Equipo.
– Responsable de la organización, desarrollo y control permanente del proyecto, supervisando
el ajuste a los programas y objetivos iniciales establecidos.
– Desarrolla el plan de trabajo y elabora informes periódicos de avance.
– Establece una comunicación efectiva con los usuarios/clientes finales.
– Supervisa la comunicación que se establezca a niveles inferiores.
– Identifica problemas, desarrolla soluciones y recomienda acciones.
– Garantiza la calidad de los productos finales.
– Propone al cliente la aprobación de los hitos establecidos en el proyecto.
– Propone la participación de expertos funcionales.
– Planifica y organiza la formación de usuarios.
– Dirige la elaboración de propuestas y presentaciones divulgativas del Sistema.
4.4. SUPERVISOR
Conoce el entorno de un proyecto, evalúa sus posibilidades técnicas y las desarrolla. Debe tener
una visión de la naturaleza y la estructura de la organización, sus normas, protocolos y procedimientos
para asegurar la calidad.
Responsabilidades:
– Organizar grupos de trabajo.
– Generar normas simplificadas de organización del trabajo de grabadores y codificadores y
otro personal no informático.
– Vigilar el cumplimiento de las normas y controlar resultados.
– Efectúa procedimientos de control de almacenamiento, traslado y envío de equipos.
4.7. ANALISTA-PROGRAMADOR
Además de los conocimientos del programador, domina el entorno del proyecto evaluando sus
posibilidades técnicas y desarrollándolas. Conoce funcionalmente el módulo o módulos del sistema.
Responsabilidades:
– Puede realizar las asignadas al programador.
– Obtiene información del usuario para la realización de módulos del sistema.
– Colabora en el diseño funcional y técnico de módulos con cierto grado de supervisión.
– Asigna tareas a muy corto plazo a una o dos personas y supervisa la programación.
4.8. PROGRAMADOR
Una vez los analistas han realizado sus análisis los pasan a los programadores a su cargo, los
cuales diseñan el pseudocódigo y, a partir de éste, los programas codificados en el lenguaje elegido.
Los programadores son responsables del buen funcionamiento del código que escriben, así como de
la redacción de la documentación de apoyo al usuario, tarea que comparten con los analistas.
Deben tener conocimientos del entorno lógico del proyecto y estar muy especializados en la
construcción de programas y en las herramientas que la facilitan. Son deseables conocimientos gene-
rales sobre el sistema de información y metodologías propias de desarrollo, así como de estándares
de programación.
Responsabilidades:
– Diseño detallado de programas con un elevado grado de supervisión.
– Codifica, revisa y prueba los programas.
– No participa directamente, pero atiende a las incidencias que surgen durante la prueba del
sistema o durante la conversión de datos.
– Seguimiento de las incidencias que se le asignan.
– Evalúa y analiza cambios con un elevado grado de supervisión.
4.12. INSTALADOR
Posee una amplia cultura informática en equipos físicos y lógicos, así como formación práctica
sobre el funcionamiento de cualquier equipo físico o equipo lógico de base.
Responsabilidades:
– En colaboración con el técnico de mantenimiento debe ser capaz de instalar y poner en
funcionamiento cualquier equipo físico y lógico de base.
– Correcciones para el funcionamiento eficaz de los equipos físicos y lógicos de base.
– Debe responder a las preguntas de los usuarios sobre la instalación de los equipos físicos
y lógicos de base.
4.13. OPERADOR
Controlan el funcionamiento de los equipos, terminales, impresoras, dispositivos de salvaguardia
y demás componentes del sistema del CPD, encargándose de la operación directa sobre todos estos
elementos. También realiza tareas con el sistema operativo de los ordenadores fundamentales para
su explotación, además de prestar asistencia a los usuarios con problemas.
Responsabilidades:
– Atender las peticiones de trabajo.
– Ejecutar y controlar los trabajos manuales y automáticos (realizar el seguimiento).
– Comunicar incidencias en la ejecución de los trabajos.
– Si existe red, realizar el control de terminales.
– Gestión de cintas y cartuchos.
– Comunicar incidencias del entorno.
4.14. GRABADOR
Su labor consiste en la introducción de datos en los ordenadores. No tienen por qué tener cono-
cimientos técnicos, tan sólo nociones básicas de uso del teclado y de los terminales.
Son básicas habilidades de mecanografía como las pulsaciones/minuto y el manejo de terminales
pantalla-teclado. Su formación se enfoca en procedimientos, operativa básica de los equipos, y sobre
todo en las aplicaciones específicas con las que vayan a trabajar.
Responsabilidades:
– Su principal función es la rapidez y la calidad.
– Realiza tareas rutinarias y simples de gestión de datos.
En todo momento estará atento y aplicará estrictamente las instrucciones y los procedimientos
fundamentales para realizar las tareas, especialmente de aquellas que estén relacionadas con ano-
malías, salvaguardia y seguridad. Como cualidad personal es importante la adaptabilidad a trabajos
totalmente dirigidos y sin capacidad alguna de decisión.
4.16. INSTRUCTOR
Tiene suficiente capacidad pedagógica: destreza en la enseñanza, capacidad para estimular a la
audiencia, etc. La experiencia de otros cursos contribuye de forma positiva a la calidad de la ense-
ñanza. La enseñanza resultará más enriquecedora si ha desarrollado parte de su carrera profesional
en el área de las tecnologías de la información.
Responsabilidades:
– Tareas docentes del programa de formación.
– Proporcionar una formación de calidad y ajustada a los contenidos requeridos.
– Elaboración de informes de evaluación del alumnado.
– Uso apropiado de los recursos para facilitar la transmisión de conocimientos.
– Transmisión adecuada de los conocimientos a los alumnos.
4.18. CONSULTOR
Conoce el entorno del proyecto y evalúa sus posibilidades técnicas y los mínimos necesarios de
informática general para desarrollarlas. Domina la metodología de desarrollo de sistemas en todas
sus fases. Conoce los conceptos básicos del área de negocio del proyecto, lo que le permite tener un
lenguaje común con los usuarios.
Responsabilidades:
– Participa en la obtención de información imprescindible para el sistema.
– Participa en la elaboración de algunos aspectos de un Plan de Sistemas.
– Realiza el diseño funcional y técnico de módulos de un sistema.
– Revisa el diseño detallado y programación de módulos del sistema, comprobando la adecua-
ción de los programas a los requisitos.
– Define, planifica y realiza la prueba integrada del sistema y conversión.
– Diseña el material de formación y dirige la formación de usuarios.
– Mantiene relación con el responsable funcional del proyecto.
– Transmite y explica los valores propios de la organización.
4.19. AUDITOR
Tiene los mismos conocimientos que el consultor. Domina las metodologías, herramientas y téc-
nicas de auditoría informática, así como sus aspectos legales.
6. PROTECCIÓN DE DATOS
6.1. INTRODUCCIÓN
Los parámetros de seguridad de la información pueden resumirse en tres:
– Disponibilidad: información accesible y utilizable
– Integridad: información precisa y concreta
– Confidencialidad: revelada sólo a las personas autorizadas
Cuando la Administración Pública almacena y trata datos de carácter personal, los principios
anteriores generan los siguientes problemas:
La Administración debe asegurar la confidencialidad de la información almacenada frente a ter-
ceros (sistemas de seguridad físicos y lógicos).
El uso que de esta información confidencial puede y no puede hacer la Administración por el
peligro potencial de coartación de los derechos y libertades.
Se plantean tres cuestiones básicas:
Los perfiles personales que se almacenan pueden formulan un juicio sobre el ciudadano que es
difícil de cambiar posteriormente.
Las Tecnologías de la Información permiten integrar datos dispersos en el espacio y en el tiempo
de un mismo ciudadano. Esta forma unificada configura un expediente cuyo potencial de atentar
contra la intimidad es mucho mayor que la de cada segmento de información tratado independien-
temente. Se violaría el principio de que la información recogida con determinada finalidad no debe
utilizarse para otra distinta de la convenida.
Se considera fácil que un extraño pueda acceder al ordenador en el que se contienen datos
personales.
Cualquier intento de afrontar los problemas legislativos de la protección de datos conlleva dos
problemas:
– A nivel individual: la protección del derecho del individuo al respeto a su vida privada.
– A nivel del Estado: salvaguardar las libertades cívicas por medio del mantenimiento del
equilibrio de los poderes constitucionales, legislativo y ejecutivo, entre las autoridades nacio-
nales y regionales y entre los sectores público y privado. Todos quedan involucrados por la
concentración de conocimientos y por el poder de las Tecnologías de la Información.
• Pertinencia: serán adecuados y no excederán de las finalidades para las que se hayan
registrado.
• Limitación: se conservarán sólo el tiempo estrictamente necesario para su finalidad.
– Veracidad y correcta utilización de los datos.
– Prohibición del tratamiento automatizado de datos sensibles: origen racial, opiniones políti-
cas, convicciones religiosas, así como los relativos a salud, vida sexual o antecedentes penales.
– Medidas de seguridad: para salvaguardar los datos personales contra destrucción, pérdi-
da, así como contra el acceso, modificación o difusión no autorizados.
– Reconocimiento a las personas concernidas: tienen derecho a conocer la existencia
de bancos de datos, su finalidad o titularidad, la facultad de obtener la confirmación ex-
presa de la existencia de un fichero de datos que le afecten, así como la comunicación
de dichos datos de forma inteligible, la posibilidad de corregir o cancelar tales datos, y de
recurrir cuando no sean atendidas sus peticiones de confirmación, comunicación, rectifi-
cación o cancelación de datos.
Las restricciones a estos principios, justificadas en la medida en que son necesarias en una
sociedad democrática, son:
– Proteger la seguridad del Estado, la seguridad pública, los intereses monetarios o la repre-
sión de infracciones penales.
– Protección de la persona concernida y de los derechos y libertades de otras personas.
– Cuando los ficheros se utilicen con fines estadísticos o de investigación científica, cuando no
existan manifiestamente riesgos de atentado a la vida privada de las personas concernidas.
Se establecen principios básicos en materia de flujos internacionales de datos, con objeto de con-
ciliar las exigencias de la protección eficaz con el principio de la libre circulación de la información:
– Principio de protección equivalente, Un Estado puede prohibir o someter a una autoriza-
ción especial la transmisión de datos personales que en su derecho interno gozan de una
protección reforzada a otro Estado parte, salvo que en este Estado exista una protección
equivalente para dicha categoría de datos.
– Limitaciones: Posibilidad de que un Estado limite a otro la transmisión de datos que puedan
tener como destino último un Estado no contratante del Convenio que podría burlarlo.
– Las de nivel medio se aplican a ficheros que por su especial naturaleza requieren una pro-
tección especial.
– Por último, las medidas de seguridad de nivel alto se aplican a los ficheros con datos espe-
cialmente protegidos. Si bien es cierto que en algunos supuestos el coste de su implantación
puede ser elevado, se entiende que es imprescindible exigirlas atendiendo a la especial
naturaleza de los datos y al reforzamiento de la protección que los mismos requieren.
La LORTAD entra en vigor el 31 de enero de 1993.
Aplicación: Se aplica tanto a los ficheros públicos como privados que contengan datos de ca-
rácter personal.
Excepciones:
– Ficheros públicos de carácter general (Registro de la Propiedad, Mercantil, etc.).
– Ficheros de personas físicas con fines personales.
– Ficheros de información tecnológica o comerciales que reproduzcan datos ya publicados en
boletines, diarios o repertorios oficiales.
– Ficheros de informática jurídica.
– Ficheros de miembros o ex miembros mantenidos por (precisan consentimiento previo del
afectado):
• Partidos políticos y sindicatos.
• Iglesias, confesiones y comunidades religiosas.
Materias con disposiciones previas:
– Régimen electoral
– Materias clasificadas (secretos oficiales)
– Registro Civil y
– Registro Central de Penados y Rebeldes
– Datos con fines estadísticos
– Informes personales de personal militar profesional
Principios:
– Calidad de los datos:
• No podrán usarse para finalidades distintas de las que fueron recogidos.
• No podrán ser recogidos por medios fraudulentos, desleales o ilícitos.
• Exactos y actualizados. Cancelados cuando no sean necesarios (excepto si tienen
valor histórico).
• Permitan el ejercicio del derecho de acceso al afectado.
– Datos especialmente protegidos: Existen datos especialmente protegidos por sus propias
normas reguladoras que son los relativos a infracciones penales o administrativas que sólo
podrán incluirse en los ficheros públicos por las Administraciones competentes de acuerdo
con lo previsto en las normas reguladoras.
– Protección máxima: Ideología, religión y creencias.
– Protección media: Raza, salud y vida sexual.
Nadie podrá ser obligado a declarar sobre estos datos, salvo consentimiento expreso del afectado
y por escrito. Existe obligación de advertir al interesado a no prestar su consentimiento. Existe prohi-
bición expresa de crear o mantener estos datos, si no es absolutamente necesario para los fines de
una investigación concreta realizada por las Fuerzas y Cuerpos de Seguridad.
Seguridad: Contra alteración, pérdida o acceso no autorizado (competencia Ministerio de Jus-
ticia).
Secreto: Deber de secreto para el responsable del fichero.
Todos los ficheros que contengan datos de carácter personal deberán adoptar las medidas de
seguridad calificadas como de nivel básico.
Los ficheros que contengan datos relativos a la comisión de infracciones administrativas o pe-
nales, Hacienda Pública, servicios financieros y aquellos ficheros cuyo funcionamiento se rija por el
artículo 28 de la Ley Orgánica 5/1992, deberán reunir, además de las medidas de nivel básico, las
calificadas como de nivel medio.
Los ficheros que contengan datos de ideología, religión, creencias, origen racial, salud o vida
sexual así como los que contengan datos recabados para fines policiales sin consentimiento de las
personas afectadas deberán reunir, además de las medidas de nivel básico y medio, las calificadas
de nivel alto.
Cuando los ficheros contengan un conjunto de datos de carácter personal suficientes que permi-
tan obtener una evaluación de la personalidad del individuo deberán garantizar las medidas de nivel
medio establecidas en los artículos 17, 18, 19 y 20.
Cada uno de los niveles descritos anteriormente tiene la condición de mínimos exigibles, sin
perjuicio de las disposiciones legales o reglamentarias específicas vigentes.
• Los que tengan por objeto el almacenamiento de los datos contenidos en los informes
personales de calificación a que se refiere la legislación del Régimen del personal de las
Fuerzas Armadas.
• Los derivados del Registro Civil y del Registro Central de penados y rebeldes.
• Los procedentes de imágenes y sonidos obtenidos mediante la utilización de videocámaras
por las Fuerzas y Cuerpos de Seguridad, de conformidad con la legislación sobre la materia.
Definiciones
– Datos de carácter personal: Cualquier información concerniente a personas físicas identi-
ficadas o identificables.
– Fichero: Todo conjunto organizado de datos de carácter personal, cualquiera que fuere la
forma o modalidad de su creación, almacenamiento, organización y acceso.
– Tratamiento de datos: Operaciones y procedimientos técnicos de carácter automatizado o
no, que permitan la recogida, grabación, conservación, elaboración, modificación, bloqueo
y cancelación, así como las cesiones de datos que resulten de comunicaciones, consultas,
interconexiones y transferencias.
– Responsable del fichero o tratamiento: Persona física o jurídica, de naturaleza pública o pri-
vada, u órgano administrativo, que decida sobre la finalidad, contenido y uso del tratamiento.
– Afectado o interesado: Persona física titular de los datos que sean objeto del tratamiento
de datos personales.
– Procedimiento de disociación: Todo tratamiento de datos personales de modo que la
información que se obtenga no pueda asociarse a persona identificada o identificable.
– Encargado del tratamiento: La persona física o jurídica, autoridad pública, servicio o cual-
quier otro organismo que, sólo o conjuntamente con otros, trate datos personales por cuenta
del responsable del tratamiento.
– Consentimiento del interesado: Toda manifestación de voluntad, libre, inequívoca, especí-
fica e informada, mediante la que el interesado consienta el tratamiento de datos personales
que le conciernen.
– Cesión o comunicación de datos: Toda revelación de datos realizada a una persona dis-
tinta del interesado.
– Fuentes accesibles al público: Aquellos ficheros cuya consulta puede ser realizada por cual-
quier persona, no impedida por una norma limitativa, o sin más exigencia que, en su caso,
el abono de una contraprestación. Tienen la consideración de fuentes de acceso público,
exclusivamente, el censo promocional, los repertorios telefónicos en los términos previstos por
su normativa específica y las listas de personas pertenecientes a grupos de profesionales que
contengan únicamente los datos de nombre, título, profesión, actividad, grado académico,
dirección e indicación de su pertenencia al grupo. Asimismo, tienen el carácter de fuentes de
acceso público, los Diarios y Boletines oficiales y los medios de comunicación.
Calidad de los datos
Los datos de carácter personal sólo se podrán recoger para su tratamiento, así como someterlos
a dicho tratamiento, cuando sean adecuados, pertinentes y no excesivos en relación con el ámbito y
las finalidades determinadas, explícitas y legítimas para las que se hayan obtenido.
Los datos de carácter personal objeto de tratamiento no podrán usarse para finalidades incom-
patibles con aquellas para las que los datos hubieran sido recogidos. No se considerará incompatible
el tratamiento posterior de éstos con fines históricos, estadísticos o científicos.
Los datos de carácter personal serán exactos y puestos al día de forma que respondan con vera-
cidad a la situación actual del afectado.
Si los datos de carácter personal registrados resultaran ser inexactos, en todo o en parte, o
incompletos, serán cancelados y sustituidos de oficio por los correspondientes datos rectificados o
completados, sin perjuicio de las facultades que a los afectados reconoce el artículo 16.
Los datos de carácter personal serán cancelados cuando hayan dejado de ser necesarios o per-
tinentes para la finalidad para la cual hubieran sido recabados o registrados.
No serán conservados en forma que permita la identificación del interesado durante un período
superior al necesario para los fines en base a los cuales hubieran sido recabados o registrados.
Reglamentariamente se determinará el procedimiento por el que, por excepción, atendidos los
valores históricos, estadísticos o científicos de acuerdo con la legislación específica, se decida el
mantenimiento íntegro de determinados datos.
Los datos de carácter personal serán almacenados de forma que permitan el ejercicio del dere-
cho de acceso, salvo que sean legalmente cancelados.
Se prohíbe la recogida de datos por medios fraudulentos, desleales o ilícitos.
Datos especialmente protegidos
De acuerdo con lo establecido en el apartado 2 del artículo 16 de la Constitución, nadie podrá
ser obligado a declarar sobre su ideología, religión o creencias.
Cuando en relación con estos datos se proceda a recabar el consentimiento a que se refiere el
apartado siguiente, se advertirá al interesado acerca de su derecho a no prestarlo.
Sólo con el consentimiento expreso y por escrito del afectado podrán ser objeto de tratamiento
los datos de carácter personal que revelen la ideología, afiliación sindical, religión y creencias. Se ex-
ceptúan los ficheros mantenidos por los partidos políticos, sindicatos, iglesias, confesiones o comuni-
dades religiosas y asociaciones, fundaciones y otras entidades sin ánimo de lucro, cuya finalidad sea
política, filosófica, religiosa o sindical, en cuanto a los datos relativos a sus asociados o miembros, sin
perjuicio de que la cesión de dichos datos precisará siempre el previo consentimiento del afectado.
Los datos de carácter personal que hagan referencia al origen racial, a la salud y a la vida sexual
sólo podrán ser recabados, tratados y cedidos cuando, por razones de interés general, así lo disponga
una Ley o el afectado consienta expresamente.
Quedan prohibidos los ficheros creados con la finalidad exclusiva de almacenar datos de carácter
personal que revelen la ideología, afiliación sindical, religión, creencias, origen racial o étnico, o vida
sexual.
Los datos de carácter personal relativos a la comisión de infracciones penales o administrativas
sólo podrán ser incluidos en ficheros de las Administraciones Públicas competentes en los supuestos
previstos en las respectivas normas reguladoras.
No obstante lo dispuesto en los apartados anteriores podrán ser objeto de tratamiento los datos
de carácter personal a que se refieren los apartados 2 y 3 de este artículo, cuando dicho tratamiento
resulte necesario para la prevención o para el diagnóstico médicos, la prestación de asistencia sani-
taria o tratamientos médicos o la gestión de servicios sanitarios, siempre que dicho tratamiento de
datos se realice por un profesional sanitario sujeto al secreto profesional o por otra persona sujeta
asimismo a una obligación equivalente de secreto.
También podrán ser objeto de tratamiento los datos a que se refiere el párrafo anterior cuando
el tratamiento sea necesario para salvaguardar el interés vital del afectado o de otra persona, en el
supuesto de que el afectado esté física o jurídicamente incapacitado para dar su consentimiento.
Seguridad de los datos
El responsable del fichero, y, en su caso, el encargado del tratamiento, deberán adoptar las
medidas de índole técnica y organizativas necesarias que garanticen la seguridad de los datos de ca-
rácter personal y eviten su alteración, pérdida, tratamiento o acceso no autorizado, habida cuenta del
estado de la tecnología, la naturaleza de los datos almacenados y los riesgos a que están expuestos,
ya provengan de la acción humana o del medio físico o natural.
No se registrarán datos de carácter personal en ficheros que no reúnan las condiciones que se
determinen por vía reglamentaria con respecto a su integridad y seguridad y a las de los centros de
tratamiento, locales, equipos, sistemas y programas.
Reglamentariamente se establecerán los requisitos y condiciones que deban reunir los ficheros y
las personas que intervengan en el tratamiento de los datos a que se refiere esta Ley.
8. LICENCIAS DE USO
El concepto de licencia o cesión de uso permite a un fabricante ceder el uso del equipo lógico
de base, por ejemplo, un sistema de gestión de bases de datos. El comprador no es propietario
del equipo lógico y por tanto no puede modificarlo ni mantenerlo. El concepto de alquiler de una
licencia se utiliza cuando el uso de ese equipo lógico va a realizarse durante un período de tiempo
limitado. Se habla de licenciar software cuando el equipo lógico es de dominio público.
ESQUEMA INICIAL
4. Control de trabajos
4.1. Introducción
4.2. Control interno de trabajos
4.2.1. Principios de funcionamiento
4.2.2. Interbloqueo (deadlock)
4.2.3. Sincronización de procesos
4.2.4. Gestión del procesador
4.2.5. Subsistema de entrada de trabajos
4.3. Control externo de trabajos
4.3.1. Control de entrada de trabajos
4.3.2. Asignación de clases
4.3.3. Prioridades de selección y de ejecución
4.3.4. Comunicación con el operador
4.3.5. Ejecución condicional
4.3.6. Rearranque de trabajos
1.2.1. Introducción
La ISO define la gestión de red como: el conjunto de elementos de control y supervisión de los
recursos que permiten que la comunicación tenga lugar sobre la red.
La gestión de redes comprende las herramientas necesarias para realizar las siguientes fun-
ciones:
– Supervisión de la red. Se suele realizar de dos formas: mediante una estación de gestión
ordenador personal o estación de trabajo, que reciba mensajes de los dispositivos de la red
(puentes o bridges, encaminadores o routers, servidores de terminales, etc.) o mediante una
estación que pregunte regularmente el estado de los dispositivos.
– Control de los recursos de la red. Se realiza enviando comandos por la red desde la es-
tación de gestión hasta los dispositivos de la red para cambiar su configuración.
Los sistemas de gestión de redes permiten satisfacer requisitos de tipo técnico y funcionales:
– Requisitos técnicos:
* Administración de entornos heterogéneos desde una misma plataforma.
* Administración de elementos de interconexión.
* Interfaces con grandes sistemas.
* Interfaz gráfica amigable.
* Evolución según las necesidades del cliente.
– Requisitos funcionales:
* Gestión del nivel de servicio que garantiza la disponibilidad, tiempo de respuesta, etc.
* Gestión y segmentación de problemas resolviéndolos en etapas o niveles.
* Gestión de cambios: minimiza el impacto asociado a los procesos de modificación de las
configuraciones existentes.
* Apoyo a la toma de decisiones y facilitando un puente entre el personal técnico y la
dirección, gracias a facilidades como la generación de informes.
* Apoyo en la resolución de incidencias para preservar la experiencia del grupo de gestión,
reduciendo el tiempo de resolución de situaciones que deberían ser familiares.
* Apoyo en la formación para reducir el esfuerzo de aprendizaje y optimizar el grado de uso
requiriendo perfiles de personal poco exigentes.
Los sistemas de gestión deben poder crecer a medida que aumentan las necesidades de los
usuarios, de forma que se puedan proteger las inversiones realizadas. Un entorno integrado de ges-
tión es una combinación de recursos humanos, organizativos y tecnológicos. La gestión de redes es
una estrategia a largo plazo que puede afectar a todo el personal de una organización:
– A los usuarios de la red que necesitan acceder a la información de estado de la misma.
– A los directivos cuyas áreas son afectadas por las prestaciones de la red.
– A los administradores de red que se encargan de la operativa diaria.
Además de la gestión operativa (atender usuarios, resolver fallos en el menor tiempo posible,
monitorizar, etc.) existen otros aspectos involucrados que permiten definir el análisis y la
optimización de la red:
– Descripción funcional de tareas que serán objeto de la gestión.
– Adecuación organizativa en las entidades, organismos, centros o empresas.
– Especificación de procedimientos que faciliten la tramitación de sucesos de interés.
– Adquisición de medios técnicos.
– Adaptación de los medios humanos disponibles.
– Interfaz de usuario: es la interfaz entre el usuario y el sistema (en modo carácter o gráfico).
– Base de datos: mantiene cualquier información de la red (descripciones de parámetros,
configuración...), almacenando el histórico de eventos y permitiendo la realización de segui-
mientos.
– Programa monitor: supervisa las condiciones actuales y permite la inspección futura. Visualiza
las alarmas activadas por los agentes, y realiza actualizaciones mediante sondeos regulares.
– Arranque y configuración: comprueba que cada estación pueda ser atendida enviándole
los parámetros actuales de configuración y el equipamiento lógico de arranque.
– Protocolo de gestión: controla las operaciones de gestión entre el gestor y el agente.
La estación de gestión puede acceder a los objetos gestionables de las siguientes formas:
– En banda (In-band): la gestión del objeto se realiza utilizando la red.
– Fuera de banda (Out-of-band): el sistema de gestión accede a los objetos gestionables
a través de otros canales. Esto se puede realizar mediante un terminal conectado directa-
mente a un puerto del objeto gestionable o que el objeto gestionable tenga algún tipo de
visualizador o panel de control.
– Remotamente: la gestión se realiza desde otra estación que no es la estación principal de
gestión. Existen varias posibilidades:
* Mediante una estación adicional operadora que permite los operadores gestionar el
sistema.
* Con una estación remota conectada a otro segmento que da servicio a estaciones locales.
* Empleando un terminal remoto conectado mediante un módem.
* Un dispositivo de gestión dedicado que puede llamar al operador a través de un servicio
de “buscapersonas” o correo electrónico.
* El sistema de gestión puede ser un elemento dentro de un gran sistema supervisado por
un gestor de sistemas.
La arquitectura de gestión OSI define objeto gestionable como la interfaz conceptual que han de pre-
sentar los dispositivos que ofrecen funciones de gestión. El proceso de supervisión y control de un objeto
gestionable se realiza mediante una serie de interacciones. Estas interacciones son de dos tipos:
– De operación: el gestor solicita algún dato al objeto gestionable o realiza alguna acción
sobre él.
– De notificación: cuando el objeto gestionable intenta enviar algún dato al gestor como
consecuencia de algún evento ocurrido en el dispositivo.
En la siguiente figura se presenta un ejemplo de estas interacciones:
Ejemplo de sistema de gestión SNMP. Las líneas punteadas son peticiones SNMP
El estándar MIB de Internet define 126 objetos relacionados con los protocolos TCP/IP. Los fabri-
cantes que deseen pueden desarrollar extensiones del estándar MIB. Estas MIBs privadas incorporan
un amplio rango de objetos gestionables, y algunas veces contienen objetos que son funcionalmente
similares a los MIBs ya definidos, en otros casos el cambio de una variable en un objeto inicia una
batería de funciones en el dispositivo gestionado (p. ej. un autodiagnóstico).
La carga de la gestión de todas las MIBs y de las extensiones privadas recae en el sistema de
gestión. Las MIBs están escritas en una variante simple del lenguaje de definición OSI ASN.1. En
1990 se introdujo una nueva versión de MIB, MIB II, donde la mayor aportación es la utilización de
185 nuevos objetos de extensiones privadas.
Aparte de la MIB, existe la Base de Datos de Estadísticas de Red (Network Statistics Database,
NSD) que está en la estación de trabajo de gestión. En esta base de datos se recoge información de
los agentes para realizar funciones de correlación y planificación.
Las limitaciones de SNMP se deben a no haber sido diseñado para realizar funciones de gestión
de alto nivel. Sus capacidades lo restringen a la supervisión de redes y a la detección de errores.
Como todos los elementos TCP/IP, ha sido creado pensando más en su funcionalidad, dejando a un
lado la seguridad.
Para tratar de paliar estos defectos se ha desarrollado el protocolo SNMP v.2 cuya funcionalidad
se acerca algo más al protocolo CMI: introduce un vocabulario más extenso, permite comandos de
agente a agente y técnicas de recuperación de mensajes.
Por último, destacar la especificación RMON (Romote MONitor, monitorización remota) donde
los comités de normalización han definido las funciones de supervisión de redes y las interfaces de
comunicaciones entre estaciones de gestión SNMP y monitores remotos para registrar y presentar
información acerca del tráfico de la red.
– Facilitar la resolución de variables dinámicas incluidas en las cadenas como datos o paráme-
tros para el proceso, tales como fechas, intervalos de fechas, etc.
– Arranque condicionado de trabajos a la resolución de determinados eventos:
– Como evento se puede indicar el cumplimiento de una condición: que esté parado el gestor tran-
saccional CICS de Producción y que esté abierto el gestor de base de datos de Producción, que
estén libres 5 armarios de cartuchos, y exista espacio libre en los discos dedicados para SORT.
– Crear tablas de exclusión de procesos, de forma tal que si se está ejecutando un determi-
nada lista de trabajos no se pueda realizar uno que está listo para llevarse a cabo por estar
dentro de su intervalo horario de ejecución, hasta que hayan finalizado cualquiera de los que
estén en su lista de exclusión.
– Planificar la ejecución de comandos del sistema para que se ejecuten a una hora o a deter-
minados intervalos de tiempo.
Los gestores de planificación de procesos batch requieren que ciertos procesos sean seguidos,
tales como:
– Documentación de los procesos:
* Informar sobre los mecanismos de reenganche de las cadenas.
* Indicar la secuencia de sucesores y predecesores de trabajos.
* Especificar qué recursos son necesarios para la ejecución correcta.
* Indicar margen de intervalos horarios admisibles de ejecución de cada cadena.
– Operaciones estandarizadas. Los operadores deben conocer cómo se ejecutan las aplica-
ciones y sistemas y qué eventos indican sus fallos y cómo localizarlos.
Acceso a la visualización de ejecuciones registradas en el propio planificador. También deben
asegurarse de que el software automatizado está trabajando correctamente, comprobando
que se ejecuta la planificación cargada en el sistema.
– Aceptación de pruebas. Explotación debe aceptar sólo sistemas probados.
– Revisiones de requerimientos de ejecución. Los operadores ahora deben asegurarse de
que los servicios disponen de los requisitos de operatividad. Con la automatización de la plani-
ficación se analizan internamente antes del arranque de los procesos y con mayor precisión.
– Cambio coordinado de versiones de cadenas y programas. Esto es necesario por el
incremento del número de cambios que pueden ser implementados diariamente.
2.1. INTRODUCCIÓN
El sistema de entrada y salida de trabajos (JES) controla todos los que se ejecutan bajo el siste-
ma operativo. El JES opera en un espacio de direcciones distinto como un subsistema del mismo.
El JES también proporciona un conjunto de servicios para el usuario. El arranque y la impresión
del trabajos son procesos importantes. Las funciones de iniciador interno son esenciales, ya que
permite desde un trabajo lanzar la ejecución de otros.
Los servidores de entrada de trabajos (iniciadores del sistema) se pueden abrir y cerrar dinámi-
camente por operación de acuerdo al número máximo predefinido al arrancar el subsistema, lo que
permite distribuir la carga de trabajos según el consumo de CPU.
El JES es un sistema de acceso múltiple compartido a las colas de entrada y salida de trabajos
para un conjunto de sistemas interconectados localmente. Dicho de otra forma, todas las copias del
JES en cualquier complejo de Sistemas con acceso compartido al fichero de Spool tienen el acceso
completo al archivo de checkpoint del JES, y a la información almacenada en los volúmenes de las
colas de entrada y salida. Existen unos tiempos de servicio dedicado a cada subsistema durante
intervalos de un ciclo para garantizar su integridad de datos.
4. CONTROL DE TRABAJOS
4.1. INTRODUCCIÓN
La palabra “trabajo” en la terminología informática significa unidad de ejecución, es decir, un conjunto
de pasos que se ejecutan secuencialmente, consistiendo cada paso en la ejecución de un programa.
La anterior definición se ajusta con exactitud al concepto de trabajo por lotes (batch), pero en un
ordenador también se procesan trabajos interactivos (normalmente denominados transacciones), que
suponen la ejecución de un programa aislado, situación en la que no hay una secuencia de pasos.
Sin embargo, la principal diferencia entre un trabajo batch y uno interactivo no está en el número
de pasos sino en el tiempo de ejecución y en la relación entre el trabajo y el usuario. El tiempo de
ejecución suele ser relativamente largo para un trabajo batch (puede ser del orden de minutos o de
horas) y relativamente corto para un trabajo interactivo (normalmente menos de un minuto).
Por otra parte, en el caso de trabajos interactivos, el usuario espera delante de un videoterminal a
que termine la ejecución de la transacción y normalmente ejecuta otra transacción según el resultado
de la anterior, a diferencia del trabajo batch, en el que el usuario solamente ordena su ejecución y
puede continuar haciendo otras cosas mientras se ejecuta el trabajo.
– Exigir que los recursos se soliciten en un orden determinado. Las situaciones de deadlock
que se han descrito anteriormente no se pueden dar si todos los procesos tienen que solici-
tar los recursos 1, 2 y 3 en un orden preestablecido, por ejemplo: primero el 1, segundo el
2 y tercero el 3.
– Exigir que los procesos declaren previamente el número total de recursos que precisan. De este
modo, hasta que no obtienen todos los recursos que necesitan no comienza su ejecución.
Estos mecanismos son muy restrictivos respecto al uso de los recursos y no se emplean en la
práctica. La forma más simple de evitar los deadlocks es prohibir que un proceso espere indefini-
damente por un recurso. Para realizar esto, se establece un periodo de tiempo máximo de espera
llamado Time-out.
Una vez transcurrido este tiempo, el proceso es cancelado por el sistema operativo, liberando los
recursos que tuviera asignados. Este mecanismo es aceptable en la mayoría de los casos; solamente
si los deadlocks se producen con mucha frecuencia o si existen procesos críticos que no deben ser
cancelados, tendría que emplearse alguna técnica más sofisticada.
Algunos sistemas operativos vigilan cada cierto tiempo si existe algún deadlock, y cuando lo de-
tectan cancelan a alguno de los procesos implicados, aunque no se haya alcanzado el tiempo máximo
de espera. Esta técnica es compatible con la del time-out, de hecho la cancelación por time-out se
puede producir aunque no exista una situación de deadlock, por ejemplo cuando un recurso deja de
estar disponible por algún error físico.
momento, ya que debe haber un número limitado de trabajos en el sistema para evitar que se degra-
de la productividad (throughput) del mismo. La productividad del sistema se define como el número
de trabajos ejecutados por unidad de tiempo.
No se debe confundir este concepto de planificación de trabajos, que realiza automáticamente
el sistema operativo, con la planificación de trabajos realizada por los operadores o planificadores de
la instalación, que se refiere a la selección del día y la hora en la que se deben ejecutar los trabajos.
Para realizar esta tarea, los operadores o planificadores de la instalación pueden emplear algún plani-
ficador automático, que es un producto software que no forma parte del sistema operativo.
Por otra parte, la planificación de los procesos consiste en seleccionar de la cola de procesos
preparados para ejecutar un proceso para que utilice la CPU. Esta planificación puede ser con inte-
rrupción (preemptive) o sin interrupción (non-preemptive). Si la planificación de procesos es sin
interrupción, los procesos utilizan la CPU hasta que solicitan algún servicio del sistema operativo,
incluyendo la solicitud de una operación de entrada/salida. Esta modalidad tiene el inconveniente de
que algunos procesos pueden monopolizar el procesador.
En el caso de la planificación de procesos con interrupción, a cada proceso se le permite usar
la CPU durante un periodo de tiempo, que se denomina time slice o quantum. Cuando termina el
quantum el proceso que se esté ejecutando es interrumpido y situado en la cola de procesos prepara-
dos para ejecutar, y se selecciona otro proceso al que se le da el control de la CPU, repitiéndose este
ciclo indefinidamente. Esta modalidad incrementa la sobrecarga (overhead) del sistema operativo,
pero da a los procesos un acceso más equitativo del procesador, y así los procesos que usan poco la
CPU no se ven retrasados por los que la utilizan con profusión.
Es necesario distinguir entre clase del trabajo y clase de salida. En el sistema operativo MVS, por
ejemplo, ambas clases se designan mediante letras, pero no tienen ninguna relación. La clase
del trabajo sirve para que los iniciadores lo seleccionen para comenzar su ejecución. Sin embar-
go, la clase de salida se asigna independientemente a cada resultado, por tanto puede haber
varias clases de salida en el mismo trabajo (por ejemplo, un fichero de salida se imprime en una
impresora láser local y otro se imprime en una impresora remota), y estas clases de salida sirven
para indicar por qué impresora concreta o grupo de impresoras se debe imprimir el resultado.
Por otra parte, existen productos software que permiten extraer resultados de la cola de
salida y escribirlos en ficheros en disco, en vez de enviarse a la impresora. Estos productos
actúan coordinados con el JES, de modo que se puede asignar una clase de salida determi-
nada para realizar este proceso de “impresora virtual”. Además, los comandos de JES per-
miten realizar este proceso manualmente, es decir, existen comandos para pasar trabajos o
resultados desde el SPOOL a un fichero en disco o cinta, o desde un fichero en disco o cinta
al SPOOL, si bien este tipo de comandos se suele usar con la finalidad de guardar temporal-
mente la información del SPOOL cuando se va a realizar un arranque en frío del JES, ya que
este tipo de arranque inicializa el SPOOL.
– Fase de borrado (purge): cuando termina el proceso de salida e impresión, el JES libera
todo el espacio del SPOOL que estaba asignado al trabajo, y emite un mensaje al operador
indicando esta circunstancia.
Mecanismos de control del Subsistema de entrada de trabajos:
Además de los comandos de consola del sistema operativo, existen comandos específicos del
JES. Con estos comandos se puede controlar la ejecución de los trabajos y el proceso de los resulta-
dos, así como controlar los dispositivos que están asignados al JES, que son normalmente impreso-
ras, aunque antiguamente también se controlaban las lectoras de fichas y las perforadoras.
La mayoría de las definiciones iniciales del JES también se pueden cambiar mediante comandos
de consola. Estos comandos los pueden emitir los operadores o los técnicos de sistemas.
Por otra parte, existe la posibilidad de planificar la ejecución de algunos comandos a determina-
das horas o periódicamente cada cierto intervalo de tiempo. Estos comandos automáticos se suelen
emplear para visualizar regularmente algunos parámetros importantes del sistema y para liberar a los
operadores del trabajo rutinario más tedioso.
Otra manera de automatizar la operación del sistema es usar algún producto especializado, que
captura los mensajes que aparecen en la consola y emite, como respuesta a determinados mensajes,
los comandos que se le hayan especificado.
Los rearranques automáticos los realiza el propio sistema en cuanto se produce el fallo,
aunque pide al operador de consola que lo autorice o lo deniegue. Los rearranques diferidos
se llevan a cabo ejecutando de nuevo el trabajo, pero indicando en el JCL que se trata de
un rearranque, con especificación del paso desde el que debe comenzar y/o del fichero de
checkpoint que debe utilizar.
La técnica de checkpoint consiste en que durante la ejecución del programa éste realiza
llamadas periódicas (cada cierto tiempo o cada cierto número de registros procesados) al
sistema operativo, para que éste grabe en un fichero toda la información relevante del pro-
ceso que está en marcha. De este modo, el sistema operativo podrá reproducir la situación
del programa cuando se solicite el rearranque.
– Rearranque por fallo del sistema: algunos sistemas operativos permiten que los trabajos que
se estén ejecutando cuando se produce un fallo del propio sistema operativo, o bien cuando se
para ordenadamente el mismo, continúen ejecutándose en el próximo arranque. En el caso de
parada ordenada del sistema operativo, éste se encarga de guardar antes del cierre la situación
de los trabajos en ejecución. Sin embargo, para que un trabajo pueda ser rearrancado después de
un fallo del sistema, es necesario que en el JCL se indique esta posibilidad, con lo cual el sistema
operativo se encargará de guardar periódicamente el estado del trabajo durante su ejecución.
– Otros mecanismos de rearranque: en algunas ocasiones se puede establecer un meca-
nismo de rearranque directamente controlado por la aplicación. El caso más simple es el de
un programa que procesa un fichero de entrada. Este programa debe escribir en un listado
de salida, cada vez que termina de procesar un registro, el número de orden del registro que
acaba de procesar. En caso de error, se puede rearrancar el programa volviendo a ejecutarlo,
pero indicando como parámetro del programa el número de registros que ya ha procesado
en la ejecución anterior. De este modo, el programa leerá dicho número de registros sin
procesarlos, y procesará solamente los siguientes.
Por último, cabe señalar que los productos que automatizan la operación o la planificación de
trabajos suelen incluir la posibilidad de gestionar el rearranque automático.
La documentación es el nexo entre las distintas actividades casi simultáneas que se realizan y
es la que permite ejercer el control efectivo del proyecto. Resulta muy difícil modificar con rapidez el
procesamiento de una aplicación cuando no se tiene la menor idea de dónde ocurre el proceso del
sistema.
Para solucionar este problema, la dirección del proyecto debe tener el coraje de imponer
normas de documentación y exigir que el personal se ajuste a ellas. La documentación persigue
objetivos internos y externos. No sólo documentamos para comunicarnos entre los miembros del
grupo de trabajo, sino también para comunicarnos con el usuario del programa de las decisiones
del equipo sobre el producto.
5.2. OBJETIVOS
La principal finalidad de la documentación es comunicar. El analista al usuario, el analista al
programador, el analista y el programador al operador, al usuario, etc. Otros objetivos de la documen-
tación son los siguientes:
– Supervisión del avance del desarrollo de una aplicación.
– Comunicación de los hechos del sistema a los usuarios.
– Comunicación entre el personal que trabaja en el desarrollo del proyecto.
– Obtención de la información necesaria para hacer correcciones o revisiones de un sistema o
de sus programas en computadora.
– Suministración e instrucciones de operación a los usuarios y operadores.
– Ayuda para instruir al personal nuevo enseñándole el marco general de la aplicación y sus
programas.
– Preparar la reconstrucción del sistema en caso de que éste se destruya.
5.5. MANTENIMIENTO
La actividad más cara en la vida del software es el mantenimiento. Si bien los costos globales de
mantenimiento han bajado año tras año, lo cierto es que ocupa por lo menos el 50% de los recursos
ESQUEMA INICIAL
1. Introducción y objetivos
3. Gestión de operación
3.1. Automatización de operaciones
3.2. Razones para la automatización
3.3. Beneficios de la automatización
3.4. Costos de los programas de utilidad
3.5. Dificultad de la automatización
4. Gestión de consola
4.1. Actividades a realizar
4.2. Gestión de Mensajes
4.3. Respuestas Automáticas
6. Copias de seguridad
7. Lenguajes de control
7.1. Introducción y conceptos
7.2. Funciones del control de trabajos
7.3. Estructura de un lenguaje de control
7.3.1. Sintaxis
7.3.2. Sentencias
7.3.3. Grupos funcionales
7.3.4. Procedimientos
7.4. El subsistema de E/S de trabajos
7.4.1. Enlace con el sistema operativo
7.4.2. Fases del proceso de un trabajo
7.5. Gestión de salidas de trabajos
7.5.1. Fase de salida
7.5.2. Fase de borrado
7.6. Entrada remota de trabajos
7.7. Funciones avanzadas
7.7.1. Encadenamientos mejorados de pasos
7.7.2. Arranque de trabajos desde un planificador
7.7.3. Appc: arranque de trabajos servidores batch
7.7.4. Arranque de procesos batch desde servicios en línea
1. INTRODUCCIÓN Y OBJETIVOS
El crecimiento en la capacidad de proceso, de almacenamiento, de costes de personal, de inter-
conexión de distintos sistemas formando redes corporativas, el incremento en la exigencia de calidad
y disponibilidad de servicios informáticos y la mayor exigencia de rentabilización de las inversiones
realizadas en informática, han creado la necesidad de disponer de herramientas que faciliten la ges-
tión de los sistemas y que incrementen la productividad de los mismos.
Los objetivos a conseguir con las herramientas de ayuda a la producción son:
– Facilitar el crecimiento de los sistemas.
– Reducción de costes de operación.
– Aumento de la fiabilidad y disponibilidad del sistema.
– Operación automatizada en el montaje de dispositivos.
– Automatización de la operación del sistema.
– Limitar la incorporación de personal técnico en proporción al crecimiento del sistema.
– Optimización de la planificación de los procesos.
– Generación de alarmas que muestren la degradación del servicio o incidencias en los subsis-
temas o aplicaciones para acelerar la resolución de las mismas.
– Flexibilidad para gestionar y visualizar los listados generados y la impresión de los mismos
por parte del usuario.
– Control centralizado de sistemas distribuidos.
3. GESTIÓN DE OPERACIÓN
El grado de automatización puede variar de un área a otra del CPD; un área puede ser controlada
sin apenas presencia del operador, mientras que otra requiere la de varios operadores. El grado de
automatización varía también según los tipos de servicios implantados y de la capacidad de proceso
y de almacenamiento del sistema. A mayor capacidad más rentable resulta la incorporación de herra-
mientas y dispositivos para la automatización de las operaciones.
La automatización de las operaciones puede ser aplicada a sistemas operativos, a la gestión de
PC’s y Servidores (distribución y control de software, monitorización de alertas en el servidor, etc.),
a las estaciones de trabajo conectados al ordenador central a través de una red LAN (Red de Área
Local) o de una WAN (Red de Área Extendida).
La organización de la función de operación se puede realizar en diferentes niveles, teniendo
en cuenta la disposición y localización más adecuada de los equipos y de las consolas de operación,
y con la incorporación de herramientas de control y automatización del sistema:
– Operación reducida: en este nivel se asume que los operadores son un prerrequisito necesa-
rio para un trabajo satisfactorio del ordenador pero su presencia es precisa solamente en algún
momento; como consecuencia pueden realizar otros trabajos durante su jornada laboral.
– Operación en Lights-Out: indica el aislamiento de ciertos componentes del hardware en
un área donde los operadores no han de entrar habitualmente. Cuando no existe turno de
operación, las funciones que requieran la intervención del operador o cualquier fallo que no
pueda ser tratado por el software automáticamente, deberán esperar hasta que el grupo de
operación vuelva para resolverlo.
– Sala de Control de Operaciones: en este área se concentran las consolas: de servicio de
los procesadores, de los sistemas operativos, del sistema de gestión de comunicaciones,
el terminal maestro de gestores transaccionales, estaciones gráficas de control de red y
cualquier otra pantalla necesaria. Los operadores están aquí todo el tiempo, vigilando y con-
trolando lo que sucede en los diferentes ordenadores y en la red de comunicaciones. Esta
sala de control puede ser usada para controlar múltiples plataformas localizadas en distintos
lugares geográficos; facilitando la rotación de personal y organización de turnos.
– Operación remota: las mejoras de software y la mayor fiabilidad y rapidez en las comunica-
ciones, permiten a los operadores situados en un lugar centralizado, el control de ordenado-
res situados en otro lugar lejano. Los mensajes más significativos pueden ser encaminados
y seleccionados de un ordenador a otro y los operadores pueden realizar las actividades ne-
cesarias para asegurar que todos los ordenadores bajo su atención realizan adecuadamente
sus propias funciones. Una variante de esta situación ocurre cuando el personal de servicio
se conecta al ordenador central desde un PC remoto y comprueba si es necesaria su actua-
ción en algún sistema. Si el operador tiene un localizador o dirección de correo, el software
de automatización puede avisarle cuando aparezca algún problema. Este método permite
dejar un servicio de urgencias disponible durante las noches y los períodos festivos.
– Operación desatendida: no hay operadores que atiendan al ordenador. Esto significa que
todas las funciones realizadas previamente por operadores son llevadas a cabo por el soft-
ware o por el usuario final. El software puede controlar el flujo de trabajo a través del pro-
cesador central (utilización de planificadores de trabajos y herramienta de automatización
de mensajes). El usuario final es responsable de lanzar trabajos desde servicios en línea e
imprimir las salidas generadas que se enviarían a impresoras cercanas. Muchos centros
están tratando de introducir las operaciones automatizadas como una oportunidad para me-
jorar el servicio ofrecido por el departamento de explotación a los usuarios finales. De todas
formas, alcanzar la automatización de manera que ningún operador sea necesario en ningún
momento, para la mayoría de las organizaciones está lejos de conseguirse.
– Gastos ocultos: un factor difícil de evaluar es el coste de adaptación del software actual
para aprovechar las posibilidades de los nuevos productos de automatización. Otro coste
oculto puede ser que no todas las utilidades hayan sido probadas bajo todas las circunstan-
cias de trabajo; se pueden presentar problemas de puesta en producción.
– Controladores de Redes: las redes han sido normalmente una fuente importante de erro-
res, no solamente por la variedad de software utilizados sino por los problemas de hardware.
Con el continuo crecimiento de las redes con conexiones remotas, es cada vez más impor-
tante asegurar la disponibilidad de la red, así como identificar y corregir cualquier error que
en ellas ocurra. Es deseable el rearranque automático de los recursos de las redes y auto-
matizar muchos aspectos que anteriormente requerían varios operadores de redes.
– Gestión de almacenamiento: hasta hace poco la única gestión de almacenamiento era asignar
a un grupo de usuarios un determinado grupo de discos identificados por un nombre. Reciente-
mente se han desarrollado software de gestión y almacenamiento de datos de forma automática.
Dichos productos se basan en definir unas reglas de creación y de manejo de ficheros de acuerdo
con la definición de unas políticas de manejo. La consecuencia más directa de estos métodos es
el ahorro de horas de trabajo en las actividades de gestión y administración en ficheros.
– Seguridad: antiguamente el responsable de la seguridad no disponía de herramientas de
control de accesos, éste era gestionado por el operador que los detectaba por los mensajes
que aparecían en consola. Actualmente existen diferentes programas software para controlar
el acceso y detectar los intentos de violación de la seguridad establecida.
– Costos de la automatización de las operaciones del sistema: estos costos son ini-
cialmente difíciles de justificar porque requerirán gastos adicionales en la contratación de
programas y equipos, así como el coste de formación del personal. Sin embargo, este coste
inicial se puede compensar por los ahorros que se obtienen a lo largo del tiempo y en la
calidad mejorada del servicio.
4. GESTIÓN DE CONSOLA
6. COPIAS DE SEGURIDAD
Este apartado se encuentra desarrollado en el tema 12.
7. LENGUAJES DE CONTROL
De todas estas funciones, las dos primeras de ellas se realizan por el subsistema de E/S de tra-
bajos. Para clarificar definiremos unos conceptos:
– Un trabajo representa una unidad de operación ejecutada por el sistema operativo. Cada
trabajo consta de uno o más pasos, cada uno de los cuales solicita la ejecución de un pro-
grama del usuario o del sistema (Clasificación, copia de ficheros, etc.).
– Una cadena de trabajos de una aplicación es una secuencia ordenada y condicionada de
ejecución de trabajos para completar el proceso periódico de dicha aplicación.
– El trabajo Batch se diferencia de los procesos conversacionales o en línea en que el
número de mensajes o registros de entrada a procesar por cada programa asociado a cada
caso, es muy diferente, así como la forma de alimentación de los datos de entrada en cada
caso, y en la forma como se arrancan los programas dentro del sistema.
– En un sistema transaccional el mensaje se introduce desde un terminal y normalmente
sólo se procesa un mensaje por una unidad de trabajo. El número de ejecuciones del pro-
grama asociado a la transacción es muy alto. En este entorno en línea prácticamente no
se utiliza el subsistema de Entrada y Salida de trabajos, salvo para arrancar inicialmente el
gestor transaccional. Una vez activado es éste el encargado de seleccionar y planificar la
ejecución de los programas en respuesta a los mensajes de llegada.
Mientras que en los procesos Batch el número de mensajes (en realidad son registros leídos
de un fichero de entrada) a procesar en cada ejecución del programa es muy numeroso. El proceso
Batch se arranca desde la consola del sistema por operación, o desde un planificador arrancador de
trabajos (cadenas de JCL), utilizando el Subsistema de Entrada y Salida de Trabajos para cada paso
arrancado por la cadena. Para cada aplicación suele haber una sucesión de arranque de cadenas
condicionadas para completar la actualización de ficheros y la generación de informes.
7.3.1. Sintaxis
Los lenguajes de control de trabajos se denominan mediante la abreviatura JCL (Job Control
Language). Como todo lenguaje tiene una determinada sintaxis, que incluye tres bloques:
– Una marca de comienzo del tipo y nombre de sentencia.
– Una palabra clave que indica al sistema la acción a realizar.
– Unos parámetros que particularizan dicha acción sobre un elemento concreto.
NOTA: en estos apartados utilizaremos como caso práctico el JCL del sistema
operativo MVS de IBM para explicar cada uno de los distintos tipos de sentencias
del JCL.
Cada sentencia de control se divide lógicamente en los cinco campos siguientes:
– Campo identificador: indica al sistema lector de entrada de trabajos el tipo de sentencia.
Tiene asignado la posición 1 y 2 de la ficha de entrada.
– Campo del nombre: viene a continuación del campo identificador de 8 posiciones y asigna
a dicha sentencia un nombre que permitirá al sistema poder referenciarla posteriormente. En
algunos casos, en este campo se le puede asignar cualquier nombre, mientras que en otros
serán nombres predeterminados por el programa que se vaya a ejecutar.
– Campo de operación: sigue al campo de nombre y debe ir precedido y seguido por al me-
nos un espacio en blanco e indica la acción a realizar por el sistema.
Ejemplo:
//NOMTRAB JOB //PASO1 EXEC //ENTRADA DD
JOB indica que comienza las sentencias de control del trabajo NOMTRAB; EXEC in-
dica que comienza las especificaciones para la ejecución de un nuevo paso (programa)
dentro del trabajo; DD indica que es una sentencia de asignación física del fichero cuyo
nombre lógico es ENTRADA dentro del programa que se va a procesar en este paso.
– Campo de parámetros: sigue al campo de operación y continúa uno o más parámetros
separados por comas entre ellos. Se pueden codificar hasta la posición.
7.3.2. Sentencias
La mayoría de los sistemas operativos disponen de un subsistema para procesar instrucciones o
sentencias JCL, para que los programadores realicen alguna de las siguientes funciones:
– Solicitar la ejecución de un programa, asignando los recursos necesarios para su ejecu-
ción (ficheros, parámetros).
– Poner en ejecución trabajo o proceso de varios pasos. Por ejemplo: compilar un programa
fuente, generar los enlaces necesarios (linking), y ejecutarlo.
– Dirigir las salidas generadas en el proceso a unos destinos (ficheros en disco, impresoras
locales o remotas, etc.
– Crear procedimientos de JCl o Scripts. Un procedimiento es un proceso que consta de varias
tareas o pasos encadenados. Se invoca su ejecución con una sola instrucción, simplificando
la construcción del JCL asociado a un trabajo.
– Ejecutar tareas o pasos condicionados al resultado de ejecuciones de pasos anteriores.
Lista de sentencias de JCL:
– COMMAND: Indica la ejecución de un comando del sistema
– DD: Identifica y describe un fichero
– EXEC: Marca el comienzo de un paso de un trabajo
– IF/THEN/ELSE/ENDIF: Sentencias de control de secuencia de pasos
– JCLLIB: Para declarar librerias que contienen procedimientos de JCL para
este trabajo
– JOB: Marca el comienzo de un trabajo, asociandole un nombre
– OUTPUT: Especifica opciones de proceso para la impresión de ficheros de
salida al SPOOL (SYSOUT)
– PEND: Final de las sentencias que forman pare de un procedimiento en linea
– PROC: Marca el comienzo de un procedimiento en linea dentro del propio
JCL del trabajo
– Planificación de un trabajo desde dentro de otro trabajo: el JCL del sistema permite al
usuario procesar trabajos en serie. Un trabajo actualmente activo puede solicitar la ejecución
de otro trabajo que reside en la librería permanente. El trabajo solicitado se procesa e intro-
duce en la cola de espera de trabajos inmediatamente después de haberse cargado el pro-
cesador de corrientes de control. También se puede especificar un nuevo nivel de prioridad
para el trabajo llamado y no es preciso que sea el mismo indicado en el trabajo original.
– Reinicio de un trabajo interrumpido: el inicio de un trabajo desde un punto de relanza-
miento especificado en el programa se indica por medio del JCL, dando la información re-
querida del punto de relanzamiento y los recursos necesarios para los pasos recurrentes del
trabajo. El usuario debe establecer los datos del punto de inicio antes de solicitar al control
de trabajos la vuelta de ejecución del trabajo.
– Modificación de corrientes de control catalogadas: las corrientes de control catalogadas
pueden modificarse dinámicamente en tiempo de ejecución. El control de trabajos incorpora
los cambios indicados a la corriente de control recuperada desde la librería en cualquier
momento y puede cambiar las clases dinámicamente.
7.3.4. Procedimientos
Con un procedimiento del JCL se define un proceso que consta de uno o varios pasos. La carac-
terística principal de un procedimiento es el uso de parámetros simbólicos en las sentencias JCL de
dichos pasos o tareas. Con ello, el mismo procedimiento sirve para ejecutarse con diferentes ficheros
al ser asignadas las variables simbólicas por el sistema en el momento de su resolución. De la misma
manera, como un programa puede llamar a otro, un procedimiento de JCL puede llamar a otro del
mismo.
Parámetros simbólicos
Los procedimientos usan variables simbólicas, utilizadas para hacerlos genéricos. Serán sustitui-
das por los valores por omisión del procedimiento, o por los proporcionados por el usuario normal-
mente a la hora de invocarlos, en el momento de la resolución del JCL.
Se especifican en el procedimiento mediante un símbolo &. Por ejemplo &VAR1, &VAR2, etc., y
se codifican los valores por omisión en la sentencia PROC. La secuencia de asignación de valores a
los parámetros es de acuerdo al orden siguiente:
– Valor asignado al invocar al procedimiento.
– Valor especificado con la sentencia // SET.
– El valor por defecto especificado en el propio procedimiento.
Librerías de procedimientos
Las librerías pueden ser del sistema o del usuario. Estas últimas se pueden referenciar en el pro-
pio JCL para su uso, mediante la especificación al comienzo de la cadena de la sentencia // JCLLIB.
De esta forma el subsistema de entrada/salida de trabajos (JES) encargado de localizar los procedi-
mientos, además de buscarlos en las librerías de procedimientos del Sistema, también los busca en
la/s de usuario que se declaren el propio JCL del trabajo.
Para comunicarse con el sistema utiliza una interfaz preestablecida con tres componentes:
– Bloques de control, colocados en el núcleo del sistema operativo.
– Macros de definición del protocolo de comunicación interna.
– Rutinas en zonas comunes de memoria precargadas en el arranque del sistema, accesibles
desde cualquier programa.
La definición del subsistema normalmente se efectúa en un miembro de la librería de parámetros
del sistema operativo destinado para ello. El arranque del proceso del propio subsistema, lleva una
serie de parámetros que define los recursos con los cuales va a trabajar, tales como:
– Identificador del o de los ficheros de Spool.
– Clases de los procesos arrancadores de trabajos y su número (iniciadores).
– Impresoras definidas, tanto locales del propia sistema, como las remotas conectadas a
través de líneas.
– Las clases de salida de los trabajos y sus características (tamaño máximo de líneas, destinos
asociados a ellas, etc.).
– Otros nodos de la red con los cuales dialoga para transmitir el arranque de procesos a otra
CPU de sistema operativo IBM (MVS, VSE) y la recepción de la ejecución de dicho trabajo.
– Permitir trabajar en modalidad de fichero de Spool compartido en Sistemas con discos com-
partidos y enlaces vía canal entre ellos (Multi Access Spool). Esta función permite optimizar
los recursos.
También en el arranque se especifica qué librerías contendrán los procedimientos de JCL catalo-
gados, que pueden ser usados como modelos de ejecución parametrizables.
El arranque del Subsistema JES2 permite hacerse en modalidad en “caliente” en la cual se respetan
trabajos que estuviesen en las colas de entrada, o las colas de salidas de los trabajos ya ejecutados y
que no se han reencolado a dispositivos de salida al cerrarse el sistema. Estas colas residen en el fichero
Spool, además de en bloques de control propios del JES2 y de mensajes encolados entre uno y otro
miembro de una configuración compartida (Multi Acces Spool). Al ser un fichero muy accedido, debe
estar situado en discos con buen tiempo de respuesta y distribuirse entre las pistas de varios discos.
Hay algunas situaciones de cambios de parámetros que requieren el que se inicialicen dichas
colas de trabajos y de las tablas de salida; es una arranque en “frío” del Subsistema.
Existen mandatos propios del JES2 que permite hacer la descarga a cartuchos o discos, de las
colas de entrada y salida de trabajos, de forma que se puedan restaurar posteriormente después de
un arranque en frío.
También se le define el nombre del fichero de Checkpoint del JES2, que le sirve entre otras cosas
para hacer el rearranque del propio JES2 y para reenganche de trabajos, cuando se producen condi-
ciones de terminación anormales y el proceso hace uso de las facilidades de reenganche al comenzar
el mismo para reposicionamiento de ficheros en el punto del momento del error. También se utiliza
para comunicación entre distintos JES2 en un entorno compartido, para asegurar la independencia
de operación en el uso conjunto del Spool.
Por integridad se suele definir un fichero de Checkpoint alternativo, que lo utiliza el JES2 durante
el rearranque en caliente para reconstruir el archivo primario de checkpoint y las colas de trabajo en
caso de producirse un error en dicho fichero primario.
En el momento del arranque se le puede cargar una planificación horaria de ejecución de coman-
dos del sistema o de arranque de procesos a determinadas horas del día.
– Selección-interpretación-iniciación.
– Salida.
– Borrado (Purge).
Un trabajo a su vez tiene tres tipos de prioridades:
– En la selección.
– En el momento de planificación de la ejecución.
– En la salida.
El Subsistema de Entrada/Salida de Trabajos (JES) procesa un trabajo en varias fases. Cada una
de ellas está controlada por un procesador interno:
– Procesador de Entrada: responsable de leer los trabajos. Todos los trabajos que ingresan
en el sistema se colocan en una cola de lectura. Si el fichero ha de ser procesado por este
JES2, pasará a la cola de conversión, si no, pasará a la cola de transmisión para su posible
envío a otro nodo JES2.
También lee la entrada desde lectoras internas, locales o remotas, cinta o disco, así como detec-
ta y procesa información de contabilidad de trabajos, sentencias de control propias del JES2, y
las sentencias de datos, guarda el JCL del trabajo en el fichero de Spool, así como los mandatos.
Crea una entrada cronológica de trabajos y asigna un número único de trabajo. Asignan prioridad
de selección y coloca al trabajo en la cola de transmisión, conversión o salida.
Las lectoras locales o “READERS RDR” tienen asignadas unas clases de ejecución de traba-
jos y una prioridad máxima y un tiempo necesario estimado como máximo de ejecución.
Todos los trabajos que entrar por vía de internal reader deben comenzar por una sentencia
de comienzo de trabajo: // JOB y finalizar con una sentencia de final /*EOF de JES2, o el
comienzo de otro trabajo // JOB o el cierre del archivo de internal reader donde se coloca el
JCL cuando se genera desde un programa.
También la prioridad de ejecución de los trabajos se puede remplazar a la signada a la clase
de la lectora, por parámetros del propio JCL (fichas /*PRIORITY= o en la ficha JOB paráme-
tro PRTY). Otros parámetros de la definición general del JES2, JOBDEF, permiten definir una
prioridad alta para trabajos importantes, y una prioridad límite baja para trabajos poco prio-
ritarios. La cola de los internals readers se maneja siguiendo una estrategia de cola LIFO.
– Fase de conversión: los trabajos que se han leído se convierten en un formato de texto
interno reconocible por el intérprete y se almacena en el Spool. El JES2 luego invoca al
convertidor para explorar la sintaxis del JCL, pues no todos los errores se detectan en la
entrada.
El trabajo ya convertido queda en la cola de ejecución según su prioridad. Si el trabajo tenía
errores de JCL, se coloca junto con sus mensajes de diagnóstico en la cola de salida para
ser procesado. Durante la fase de conversión:
* Se seleccionan los trabajos.
* Se incluyen procedimientos expandidos en su interior.
* Se sustituyen los parámetros simbólicos.
* Se comprueba la sintaxis de todo el JCL.
* Se convierte el JCL a Texto Interno.
– Fase de ejecución: tras la conversión, los trabajos se encolan según su clase, prioridad,
tiempo en el sistema. Los trabajos se seleccionan de la cola de ejecución, y los no retenidos
se ordenan por prioridad dentro de cada clase. Se puede cancelar la ejecución de trabajos
que superen determinados límites de los datos enviados a la salida: SYSOUT (número de
líneas, páginas, o caracteres).
También, puede controlarse en cuanto al tiempo total transcurrido y por tiempo de CPU de
ejecución. El sistema asigna los recursos a los trabajos (memoria auxiliar, discos, cartuchos,
ficheros existentes) mediante la función Device Allocation.
Los dispositivos de salida reconocidos por el Subsistema JES2 se definen mediante parámetros
de inicialización a los que se le asigna un nombre lógico, y una dirección física que corresponde a un
dispositivo o emulador que maneja las salidas del Spool.
Tablas de salidas del JOB (JOT): esta tabla contiene todos los elementos de salida de cada
trabajo (JOE). Hay dos tipos de JOE’s:
– JOE de trabajo: representa a un grupo de archivos SYSOUT que pertenecen al mismo tra-
bajo. Están dirigido al mismo destino. Tienen la misma clase SYSOUT de salida. Tienen el
mismo modo de proceso. Están encadenados por prioridad dentro de un destino y de una
clase. La prioridad se adquiere según el número de registros que el JOE representa.
– JOE de características: representa a un conjunto único de características de salida:
* Formulario.
* Juego de caracteres.
* Control de carro.
Los JOEs son creados por el JES2 durante el control de salida, o durante la ejecución en el caso de
archivos Spinoff, que son los que están disponibles para impresión en el momento del cierre del archivo.
Prioridad de salida: la prioridad de salida se calcula según la cantidad de información de salida
generada.
Sentencias de control de salida: con las sentencias //OUTPUT de JCL y /*OUTPUT de JES2 se
fijan las características de impresión dirigidas a unos destinos, tales como número de copias, control
de caracteres, formatos, destino, etc.
El operador de consola dispone de comandos que permiten realizar el control de la impresión
física, funciones tales como: interrumpir la impresora, repetir la salida de un trabajo, asignación de
características, listar información de salida de colas, etc.
Los ficheros de salida a enviar a estas impresoras remotas se seleccionan con sentencias de JCl
especiales para ello. La operativa de funcionamiento de estos destinos remotos, requiere que la línea
de teleproceso esté activa. También requiere que se ejecute un proceso de logon, con el arranque de
la interfaz entre el JES2 y el VTAM al dispositivo especificado.
Sentencias de control que afectan a los nodos remotos RJE son:
– /*OUTPUT, que define las características de proceso para los ficheros SYSOUT.
– /*ROUTE, que especifica destinos de salida o el nodo de ejecución remota del trabajo.
– /*XEQ, especifica el nodo de ejecución para un trabajo.
– /*XMIT, indica que el JOB o las sentencias de datos van a ser transmitidas a otro nodo JES2.
– /*NETACCT, asigna el identificador de contabilidad para el trabajo en la red.
Otra interfaz del JES2 que permite entrada de trabajos remotos es NJE (Network Job Entry). En
este caso se interconectan el SPOOL de dos sistemas operativos IBM, no siendo necesario que sean
los mismos, por ejemplo pueden ser un MVS y un VSE/ESA.
El enlace entre sistemas puede ser vía canal (Channel to Channel, o vía línea de comunicaciones,
en cuyo caso usa el protocolo de comunicaciones SDLC-SNA de IBM). En esta situación de conexión
en red se puede introducir un trabajo desde cualquier dispositivo remoto, o a través de cualquier inter-
faz interna de cualquier nodo en la red, de acuerdo con las especificaciones de destino del trabajo.
Los ficheros de salida SYSOUT’s se distribuyen de acuerdo al JCL (destinos de impresoras remotas).
Los mensajes y comandos de operador le permiten a éste:
– Localizar y suspender un trabajo en otro nodo.
– Liberar y cancelar un trabajo suspendido en otro nodo.
– Enviar mensajes y comandos a la consola del otro nodo.
EL NJE soporta hasta 999 nodos situados en procesadores repartidos geográficamente. Para
evitar que se produzcan desbordamientos de trabajos enviados por otros nodos, existen unos paráme-
tros llamados de resistencia de un Nodo (RESTNODE), que limita el flujo de trabajos en la red.
Una de las facilidades incorporadas con NJE, sería el que una aplicación de un Sistema local
generase un JCL de un trabajo para ejecutarse en un nodo remoto donde se encuentran los datos a
procesar, y generar un listado cuya salida se especificaría que fuera dirigida al Nodo local originante
para ser impreso en las propias impresoras locales.
Otra facilidad para las que se utiliza, con entornos remotos de sistemas operativos IBM, es para
distribución de listados, o implantación de cambios desde un nodo Central de desarrollo que envía la
solicitud de ejecución del proceso de implantación en el Nodo Remoto.
ESQUEMA INICIAL
1. Introducción y definiciones
2. Riesgos
2.1. Amenazas de la seguridad
2.2. Riesgos no intencionados
2.3. Riesgos intencionados
2.4. Análisis y gestión de riesgos
3. Plan de contingencia
3.1. Plan de Emergencia
3.2. Plan de Recuperación
3.3. Plan de Respaldo
4. Seguridad física
4.1. Prevención y detección de fuego
4.2. Fallos producidos por agua
4.3. Aspectos eléctricos
4.4. Acciones malintencionadas
4.5. Climatización
4.6. Dispositivos de seguridad física
4.6.1. Sistemas de Alimentación Ininterrumpida (SAI)
4.6.2. Centros de Respaldo
4.6.3. Tarjetas de seguridad
4.6.4. Mochilas
5. Seguridad lógica
5.1. Diseño y desarrollo de aplicaciones
5.2. Implantación y puesta a punto
5.3. Explotación regular
5.4. Controles lógicos de acceso
5.4.1. Identificación y autenticación
5.4.2. Roles o perfiles
5.4.3. Ubicación y horario
5.4.4. Transacciones
5.4.5. Limitaciones a los servicios
5.4.6. Modalidad de acceso
5.5. Control de acceso interno
5.5.1. Palabras clave
5.5.2. Encriptación
5.5.3. Diccionarios de seguridad
5.5.4. Límites sobre la interface de usuario
5.5.5. Etiquetas de seguridad
7. Criptografía
7.1. Introducción
7.2. Encriptado convencional
7.3. Algoritmos de encriptado
7.4. Localización del encriptado
7.5. Relleno de tráfico
7.6. Distribución de claves
7.7. Claves simétricas
7.8. Claves asimétricas
7.9. Firmas digitales
8. Seguridad en redes
8.1. Ataques pasivos
8.2. Ataques activos
8.3. Autentificación de mensajes y funciones de mezcla (hash)
8.4. Asociaciones de seguridad
8.5. Encapsulado de seguridad de la carga útil
9. Copias de seguridad
9.1. Necesidades
9.2. Tipos de backup
9.3. Proceso de recuperación
9.4. Planificación
9.4.1. Planificación mínima sin rotación
9.4.2. Rotación de mínima seguridad
9.4.3. Rotación de seguridad ligera
9.4.4. Rotación de seguridad media
9.4.5. Rotación de seguridad máxima
9.5. Dispositivos de almacenamiento
1. INTRODUCCIÓN Y DEFINICIONES
Por Seguridad Informática se entiende un conjunto de técnicas y procedimientos que garantiza:
– Disponibilidad de la información: evitar pérdidas de datos o la imposibilidad de procesarlos.
– Integridad del sistema: utilización de la información más actualizada, exacta, autorizada y
completa.
– Confidencialidad de los datos: garantizar el acceso de cada persona a la información que
le corresponde, manipulándola según restricciones preestablecidas.
– Responsabilidad: asociación positiva de un proceso con su fuente de autorización, de
modo que los usuarios sean los responsables de las acciones que realizan.
– Auditabilidad: estadísticas sobre aspectos como entradas al sistema, uso de recursos,
acciones de los usuarios, etc.
– Usabilidad: no deben existir restricciones inaceptables a los usuarios, ni afectar negativa-
mente a la eficiencia del sistema de información.
Otros servicios más avanzados y específicos sobre documentos y transacciones son:
– Servicios de no-repudio: impiden que una persona niegue haber recibido un documento
electrónico. Estos servicios sustituyen la firma manuscrita, pero de forma mucho más segura.
– Reclamación de origen: contrapartida del servicio anterior. Permite probar quién es el crea-
dor de un determinado documento.
– Reclamación de propiedad: determina la propiedad de un determinado documento. Se
usa en transacciones mercantiles, donde la posesión de un documento concede ciertos
derechos a su poseedor.
– Intercambio equitativo de valores: muy importante en aquellas operaciones comerciales
o mercantiles en las que la cesión de un documento por una de las partes supone la recep-
ción de otro documento a cambio, como en el intercambio de contratos y en la realización
de pagos. El servicio garantiza que la transacción se realiza en los términos acordados o que,
en caso contrario, la parte en desacuerdo recuperará los documentos que haya entregado.
– Certificación de fechas: en las comunicaciones electrónicas este servicio es el equivalente
al certificado de fecha y/u hora a la que se ha realizado o entregado un determinado docu-
mento.
La seguridad informática se puede estudiar bajo dos aspectos, ambos muy relacionados y com-
partiendo objetivos y presupuestos:
– Seguridad física: conjunto de mecanismos y normas encaminados a la protección de las
personas, las instalaciones, los equipos y los elementos de comunicaciones contra daños
eventuales.
– Seguridad lógica: conjunto de operaciones y técnicas orientados a la protección de la informa-
ción contra la destrucción, la modificación, la divulgación indebida o el retraso en su gestión.
Actualmente se aborda la seguridad de los sistemas de información de forma integral, teniendo
en cuenta la variedad de los servicios ofrecidos por estos sistemas y la complejidad de las comunica-
ciones. La actividad en el campo normalizador es intensa y está destinada a combatir las amenazas
a la seguridad de la información y agilizar la compartición de datos y recursos. El análisis de riesgos
es un elemento principal de los estudios relativos a la seguridad: identifica los factores de riesgo y su
impacto en la organización.
A continuación se exponen las tareas necesarias para alcanzar una buena política de seguridad:
– Análisis de riesgos: consiste en la determinación exhaustiva y cuantitativa de los riesgos
a que está expuesta una organización identificando además sus tipos. El análisis de riesgos
es una estimación de la probabilidad de ocurrencia de cada uno de los riesgos detectados,
teniendo en cuenta que no existen riesgos y probabilidad asociados de modo estándar, sino
que éstos dependen de las características de cada instalación. Para determinar esta proba-
bilidad de ocurrencia de riesgos, se establecen unos niveles relativos de probabilidad o se
recurre a las estadísticas de la instalación.
2. RIESGOS
El éxito de un análisis de riesgos depende, en gran medida, del papel que desempeñan en el
proyecto los directivos, que deberá consistir en:
– Apoyo al proyecto, expresado a todos los niveles de la organización.
– Explicación por parte de la Dirección del objetivo y alcance del análisis de riesgos.
– Selección de un equipo cualificado y delegación formal en él de la autoridad y responsabilidad.
– Examen y aprobación por la Dirección de los hallazgos del equipo encargado del análisis de
riesgos.
El producto final de un análisis de riesgos es una lista de contramedidas de seguridad (planes
de contingencias) recomendadas para dotar de una protección adecuada al SI. Siempre existirá
algún riesgo remanente: situación de riesgo sin ningún tipo de contramedida o control, ya sea por
razones técnicas (imposibilidad práctica) o de índole económica (el coste del control es mayor que el
coste del posible daño que evita).
3. PLAN DE CONTINGENCIA
Las medidas de corrección se plasmarán en un Plan de Contingencia, con los siguientes objetivos
principales:
– Minimizar las interrupciones en la operación normal.
– Limitar la extensión de las interrupciones y de los daños que originen.
– Posibilitar una vuelta al servicio rápida y sencilla.
– Ofrecer a los empleados unas normas de actuación frente a emergencias.
– Dotar de medios alternativos de proceso en caso de catástrofe.
Para garantizar la validez del Plan y que no quede obsoleto, debe ser revisado periódicamente. Además,
para que sea efectivo, es necesario entrenar al personal encargado de su realización efectuando situaciones
simuladas. En la elaboración del Plan debe participar personal de distintos niveles de la Organización:
– Dirección.
– Técnicos de Explotación.
– Técnicos de Desarrollo.
– Personal de Mantenimiento.
– Usuarios.
– Proveedores.
El Plan de Contingencia recoge, en forma de planes unitarios, las respuestas a los diferentes
problemas que se pueden plantear. Los planes unitarios se estudian a continuación.
4. SEGURIDAD FÍSICA
Las medidas que garantizan la seguridad física son las siguientes:
4.5. CLIMATIZACIÓN
– Sistemas independientes en la sala de ordenadores del resto del edificio.
– Control de humedad y temperatura.
– Protección contra el polvo.
Ninguna de estas soluciones resuelve totalmente el problema. Una solución global para todas
las deficiencias de la red son los Sistemas de Alimentación Ininterrumpida (SAI), que construyen una
onda de alimentación con unas características de precisión y distorsión mínimas, independiente del
comportamiento de la red eléctrica. Además disponen de baterías que aseguran el suministro durante
el tiempo necesario para hacer un apagado lógico del SI y evitar cualquier corrupción de éste. Se trata
pues de una interfaz entre la red eléctrica comercial y el sistema que debe proteger.
Existen fundamentalmente dos tipos de SAI:
– SAI on-line: la línea principal de alimentación pasa por la máquina SAI, que suministra la
intensidad de corriente necesaria para el correcto funcionamiento del equipo físico.
– SAI off-line: el SAI está conectado a una línea alternativa de alimentación. Cuando el SAI detec-
ta un fallo, la línea principal queda sin servicio y entra en funcionamiento la línea alternativa.
La diferencia más significativa es que los SAI off-line permanecen más tiempo en período de carga.
Ya que no aprovechan la línea de alimentación principal para recargarse, como hacen los SAI on-line.
Ultimamente han evolucionado los SAI con características inteligentes: posibilidad de comunicar-
se con el equipo al que dan servicio, desconexión automática si se corrige la situación que disparó
su funcionamiento, etc.
4.6.4. Mochilas
Es la combinación de un dispositivo físico de reducidas dimensiones, que se coloca en los co-
nectores de E/S de los PCs o estaciones de trabajo, y una utilidad de equipo lógico. Su objetivo es
obstaculizar la copia ilegal de software, evitando que las copias funcionen.
Internamente una mochila está formada por circuitos electrónicos que utilizan cifrados y compli-
cados algoritmos. El dispositivo físico y la utilidad están comunicándose en todo momento, de manera
que impide el funcionamiento de la copia ilegal si no se dispone del dispositivo físico.
5. SEGURIDAD LÓGICA
La seguridad lógica se estudia en las diferentes fases del ciclo de vida de un sistema informático:
– En fase de diseño y desarrollo de aplicaciones.
– En fase de implantación y puesta a punto.
– En fase de explotación regular.
5.4.4. Transacciones
También pueden implementarse controles a través de las transacciones, por ejemplo solicitando
una clave al requerir el procesamiento de una transacción determinada.
5.5.2. Encriptación
La información encriptada solamente puede ser desencriptada por quienes posean la clave apro-
piada. La encriptación puede proveer de una potente medida de control de acceso.
7. CRIPTOGRAFÍA
7.1. INTRODUCCIÓN
La criptografía consiste en modificar los datos de un fichero o los que se transmiten por módem,
radio, etc., para evitar que los puedan leer personas no deseadas. Esta técnica ha tenido su principal
aplicación en los ejércitos y en la diplomacia. Pero con el auge de los ordenadores, y la gran canti-
dad e importancia de la información que en ellos se almacena, está convirtiéndose en un tema muy
importante para la informática, sobre todo en las redes (especialmente en Internet) y el comercio a
través de ellas.
El relleno de tráfico es una función que produce salida de texto cifrado continuamente, incluso
en ausencia de texto nativo. Se genera un flujo de datos aleatorio de forma continua. Cuando hay
disponible texto nativo, se encripta y se transmite. Cuando el texto nativo no está presente, los datos
aleatorios se encriptan y transmiten. Esto hace muy difícil que un agresor distinga entre flujo de datos
verdaderos y ruido, siendo imposible deducir la cantidad de tráfico.
Para firmar un documento digital, su autor utiliza su propia clave secreta, a la que sólo él tiene
acceso, lo que impide que pueda después negar su autoría (no revocación). De esta forma, el
autor queda vinculado al documento que firma. Cualquier persona puede verificar la validez de una
firma si dispone de la clave pública del autor.
Técnicamente una firma digital se implementa mediante criptosistemas con claves asimétricas,
basados en que cada uno de los operadores tiene dos claves, una privada que sólo él conoce y una
pública, que conocen o pueden conocer todos los intervinientes en el tráfico. Cuando el operador A
quiere emitir un mensaje aplica al mismo su clave privada. Cuando B recibe el mensaje le aplica la
clave pública de A para descifrarlo.
Además, y esto es lo esencial, el sistema es calificado de unidireccional, en el sentido de que, a
través de la clave pública de A utilizada por B para descifrar el mensaje cifrado con la clave privada de
A, no es posible que B acceda a la clave privada de A, garantizándose el secreto de la clave privada de
éste. Además, un tercero no puede alterar el mensaje enviado por A, ya que si se introduce en la comu-
nicación y altera el mensaje cifrado, cuando B aplique al mismo la clave pública de A el mensaje será
ininteligible. De la misma manera una vez recibido el mensaje cifrado por B, éste no puede alterarlo.
8. SEGURIDAD EN REDES
La introducción de los sistemas distribuidos, de tiempo compartido, multiusuarios y la utilización
de redes para transportar datos hacen necesarias herramientas automáticas para proteger ficheros
y otras informaciones almacenadas en los equipos. Esta necesidad es especialmente sensible en
sistemas accesibles desde teléfonos públicos o redes de datos públicas.
Las medidas de seguridad en red son necesarias para proteger los datos du-
rante su transmisión y garantizar que los datos transmitidos son auténticos.
La tecnología esencial subyacente en todas las redes automáticas y en las aplicaciones de se-
guridad en computadores es el encriptado. Hay dos técnicas fundamentales en uso: encriptado con-
vencional, también conocido como encriptado simétrico, y el encriptado con clave pública, también
conocido como encriptado asimétrico.
Las redes locales tienen problemas de seguridad particulares y especialmente complejos, basa-
dos en su propia filosofía de permitir la libre comunicación entre los usuarios conectados. Los produc-
tos de seguridad de red (a menudo integrados con el sistema operativo de la red) deben incorporar
las siguientes funcionalidades:
– Facilidades de auditoría de accesos a la red.
– Controles para disparar procedimientos de recuperación y reinicio de red.
– Facilidades de copias de seguridad remotas.
– Protección de mensajes.
– Seguimiento de la ejecución de procesos de usuario.
– Informes estadísticos de tráfico, operación y fallos.
9. COPIAS DE SEGURIDAD
9.1. NECESIDADES
El éxito de una compañía depende entre otros factores de la disponibilidad continua de su siste-
ma de información. Se deben afrontar inversiones apropiadas para tratar con los inevitables fallos de
sistemas, tanto hardware como software, desastres naturales o cualquier otro. Una de las medidas
más importantes son la planificación de copias de seguridad, salvaguardias o backups y procedi-
mientos de recuperación apropiados.
De acuerdo con el IEEE (Institute of Electrical and Electronics Engineers, pronunciado IE-cubo),
los fallos se clasifican en tipos, que pueden ser agrupados en las siguientes categorías:
– Físicos: causados generalmente por fallos hardware, como fallos del medio o un fallo en la CPU.
– De diseño (errores software): causados por fallos o errores de los programas.
– De operación: causados por la intervención humana. Algunos ejemplos de fallos de opera-
ción son los atribuidos a la inexperiencia de los administradores de datos, errores de usuario,
configuraciones inadecuadas del sistema o procedimientos inapropiados de backup.
– De entorno: debido a cuestiones del entorno exterior, como terremotos, sobretensiones de
energía eléctrica o condiciones anormales de temperatura.
La persona encargada de realizar la planificación de las copias de seguridad es
el administrador del sistema. La persona encargada de realizarlas generalmente
es un operador.
TIPO DE BACKUP
COMPLETO INCREMENTAL DIFERENCIAL
DISPOSITIVOS A USAR Mayor número Menor número Menor que la completa
VELOCIDAD DE BACKUP Menor Mayor Mayor que la completa
VELOCIDAD DE RECUPERACIÓN Mayor Menor Mayor que la incremental
TIPO DE BACKUP
COMPLETO E INCREMENTAL COMPLETO Y DIFERENCIAL
DISPOSITIVOS A USAR Menor número Mayor número
VELOCIDAD DE BACKUP Mayor Menor
VELOCIDAD DE RECUPERACIÓN Menor Mayor
Comparación utilizando combinaciones entre tipos de backup
Cada backup diferencial usa más dispositivos y es más lento que un backup incremental porque
almacena generalmente más ficheros. Sin embargo, el proceso de recuperación es más rápido.
9.4. PLANIFICACIÓN
A la hora de realizar la planificación de las copias de seguridad es preciso definir el siguiente
concepto:
Periodo de retención: período de tiempo del que se pretende salvaguardar
la información. Este periodo determina la tasa de reutilización de los soportes de
almacenamiento.
Por ejemplo, si se dispone de una única cinta y diariamente se reutiliza, el período de retención
es muy corto. La existencia de diferentes sistemas, usuarios y necesidades origina la existencia de
diferentes sistemas de salvaguardia. Se deben tener en cuenta numerosos factores, entre ellos es
muy importante el dispositivo de almacenamiento.
El uso de un mayor número de dispositivos de almacenamiento proporciona un mayor tiempo
de retención, lo cual proporciona mayor protección ante fallos. También aumenta la vida media del
dispositivo ya que se reutilizará con menor frecuencia.
Los factores a tener en cuenta a la hora de realizar un planificación son:
– Periodo de retención.
– Protección contra fallos en el medio (fiabilidad del dispositivo).
– Coste del dispositivo.
– Tiempo de restauración (restaurar de una salvaguardia incremental requiere más tiempo que
de una total).
Secuencia:
– Lunes, Miércoles, Viernes 1.
– Lunes, Miércoles, Viernes 2.
– Lunes, Miércoles, Viernes 1.
– Lunes, Miércoles, Viernes 2.
Este método es bastante económico y proporciona alguna redundancia. Sin embargo, existe el
riesgo de perder el trabajo de una semana. Sólo se recomienda en sistemas de uso ligero.
Secuencia (mensual):
– Lunes, Martes, Miércoles, Jueves, Viernes 1 completa.
– Lunes, Martes, Miércoles, Jueves, Viernes 2 completa.
– Lunes, Martes, Miércoles, Jueves, Viernes 3 completa.
– Lunes, Martes, Miércoles, Jueves, Viernes 4 completa.
TIPOS CAPACIDAD
Media pulgada 60 MB to 400 MB
Un cuarto 40 MB to 5 GB
4-mm 2 GB to 24 GB
8-mm 5 GB to 40 GB
– Unidad Jaz: unidad de disco removible de acceso aleatorio desarrollada por Iomega. Tiene
un tiempo de acceso de 12 ms (tiempo en acceder a un dato) y una velocidad de trans-
ferencia de datos de 5,5 Mbps (millones de bits por segundo). Puede almacenar hasta 2
GigaBytes de datos (1 GigaByte = 1024 MegaBytes). La alta tasa de transferencia de datos,
así como su gran capacidad de almacenamiento, lo convierten en una alternativa bastante
buena para su uso como sistema de almacenamiento de backups.
– Otros: los CD-R, CD-RW podrían utilizarse también como dispositivos de backup. La tenden-
cia actual y el auge de los dispositivos ópticos es algo a tener en cuenta en el futuro (en la
actualidad son caros), ya que los DVD por ejemplo pueden alcanzar hasta 15 GB de informa-
ción y se tienen ya prototipos de DVD regrabables, aunque por el momento no constituyen
una solución viable.
– Guía de Procedimientos: representa el núcleo del método, que se completa con la Guía
de Técnicas. Ambas constituyen un conjunto autosuficiente, puesto que basta su contenido
para comprender la terminología y para realizar el Análisis y Gestión de Riesgos de cualquier
sistema de información.
– Guía de Técnicas: proporciona las claves para comprender y seleccionar las técnicas más
adecuadas para los procedimientos de análisis y gestión de riesgos de seguridad de los
sistemas de información.
– Guía para Responsables del Dominio: explica la participación de los directivos “responsables
de un dominio” en la realización del análisis y gestión de riesgos de aquellos sistemas de infor-
mación relacionados con los activos cuya gestión y seguridad les están encomendados.
– Guía para Desarrolladores de Aplicaciones: está diseñada para ser utilizada por los de-
sarrolladores de aplicaciones, y está íntimamente ligada con la Métrica v2.1.
– Arquitectura de información y especificaciones de interfaz para el intercambio de
datos: la interfaz para intercambio de datos posibilita que un usuario de MAGERIT establezca
la comunicación con otras aplicaciones y sistemas facilitando la incorporación de sus pro-
ductos a la herramienta MAGERIT y viceversa.
– Referencia normativa: lista de normas en materia de seguridad a fecha 31 de diciembre
de 1996.
En su primera versión, MAGERIT consta de dos herramientas de apoyo sobre plataforma PC:
– Herramienta 1, Introductoria: primera aproximación al Análisis y Gestión de Riesgos y
constituye un apoyo en la identificación de riesgos menores. Se apoya en el uso de técnicas
matriciales y no requiere que el usuario tenga necesariamente un nivel avanzado de espe-
cialización en seguridad de los sistemas de información.
– Herramienta 2, Avanzada: permite realizar un Análisis y Gestión de riesgos detallado y
afrontar así proyectos de complejidad media o alta en materia de seguridad. Se apoya en
el uso de técnicas algorítmicas, de lógica difusa y de Bayés. Permite un análisis detallado
de los activos del dominio y de sus dependencias, de sus relaciones y las amenazas, las
funciones y los mecanismos de seguridad, y de los riesgos. Requiere que el usuario tenga un
cierto nivel de especialización en seguridad de los sistemas de información.
ESQUEMA INICIAL
1. Evolución histórica
3. Arquitectura del PC
3.1. Unidad Central de Proceso
3.2. Unidad Aritmético-Lógica (UAL)
3.3. Unidad de Control (UC)
3.4. Reloj
4. El procesador
4.1. 4004 y 8008
4.2. 8086 y 8088
4.3. 80286
4.4. 80386
4.5. 80486
4.6. Pentium
4.7. Pentium Pro y Pentium II
4.8. Tecnología MMX
4.9. Celeron
4.10. Pentium III
4.11. Arquitecturas de procesadores: CISC/RISC
4.12. El futuro de los microprocesadores
5. La placa base
5.1. Zócalo del microprocesador
5.1.1. PGA
5.1.2. ZIF
5.1.3. Slot 1
5.1.4. Otros
5.2. Ranuras de memoria
5.3. El chipset
5.4. La BIOS
5.5. Conectores externos
5.6. Conector eléctrico
5.7. Pila
5.8. Elementos integrados variados
6. Buses
6.1. ISA
6.2. MCA
6.3. EISA
6.4. VL-Bus
6.5. PCI
6.6. NUBUS
6.7. AGP
7. Sistemas de memoria
8. Dispositivos de almacenamiento
9. Comunicaciones
9.1. Interfaz serie RS-232
9.2. Interfaz Paralelo
9.3. Interfaz USB
9.4. PCMCIA
10. Periféricos
1. EVOLUCIÓN HISTÓRICA
La evolución de los ordenadores personales, desde la aparición del primer ordenador personal
hasta hoy, puede resumirse en los siguientes hitos:
– En 1977 surge el Apple II, primer ordenador personal con prestaciones adecuadas y éxito en
el mercado.
– En 1979 aparece la primera aplicación ofimática para los ordenadores personales: la hoja
de cálculo Visicalc para Apple II.
– Es a partir de 1981, fecha de lanzamiento del PC (Personal Computer) de IBM y del sistema
operativo DOS (Disk Operating System) y la posterior adopción de sus componentes más
esenciales por otros fabricantes, cuando los ordenadores personales adquieren las dimen-
siones de productos de venta y utilización masiva.
– En 1982 se comercializa la primera hoja de cálculo para los ordenadores personales IBM o
compatibles, denominada Lotus 1-2-3.
– En 1984 aparece el ordenador personal Macintosh, diferente en concepción y arquitectura
al ordenador personal IBM y compatibles.
– En 1987 surge la segunda generación de ordenadores personales IBM, los PS/2. Los fabri-
cantes de compatibles no secundan esta segunda generación.
– En 1990 se comercializa el sistema operativo Windows versión 3.0, primer entorno operativo
con éxito comercial que incorpora interfaz gráfica de usuario y capacidades de multitarea,
aunque limitada, para ordenadores personales IBM o compatibles.
– En 1991 se anuncia el sistema operativo System 7, actual sistema operativo de los ordena-
dores personales Macintosh.
– En 1992 se lanza el sistema operativo OS/2 versión 2.0 para los ordenadores personales
IBM o compatibles, que es el primer sistema operativo con capacidades reales de multi-
tarea.
– En 1993 aparece el sistema operativo Windows NT para ordenadores personales IBM o
compatibles, que ofrece servicios avanzados tales como conectividad a redes o multipro-
ceso simétrico.
– En 1994 Apple comercializa el primer ordenador personal, modelo Macintosh, empleando un
procesador con tecnología RISC (Reduced Instruction Set Computer).
En la actualidad existen dos familias de ordenadores personales netamente diferenciadas, la
primera de las cuales está constituida por los productos fabricados por IBM y sus compatibles, mien-
tras que la segunda corresponde a los equipos que forman la gama Macintosh. Para diferenciarlas
dentro de esta guía técnica cuando sea necesario, se denominará a la primera de ellas como PC y a
la segunda como Macintosh.
Los ordenadores personales han permitido cambiar el tradicional enfoque de sistemas centrali-
zados hacia el actual modelo de arquitectura cliente/servidor, convirtiéndose en el cliente o puesto
de trabajo universal de cualquier estructura organizativa. Por tanto, los ordenadores personales han
dejado de ser elementos aislados para transformarse en un componente esencial de cualquier mode-
lo de sistemas, lo que ha producido un importante auge en las comunicaciones entre ordenadores.
Su actual importancia estratégica queda reflejada por el volumen económico que representan en el
conjunto de las adquisiciones, que ha supuesto en 1993 el 35% del total de las adquisiciones de
equipos informáticos en Europa.
NOTA: Los ordenadores personales se denominan también PC (por Personal
Computer).
Tradicionalmente los ordenadores personales han constituido la gama más baja de todos los
tipos de ordenadores en lo referente a capacidad de proceso, pero las últimas unidades centrales
de proceso aparecidas en el mercado proporcionan prestaciones cercanas o incluso superiores a las
estaciones de trabajo de gama baja.
El éxito de este equipo fue muy superior al previsto por IBM, de hecho este primer PC no estuvo
disponible en Europa hasta casi dos años después de su lanzamiento en Estados Unidos. Este éxito
se debió en parte a la gran fama de la que gozaba IBM, pues en esa época había equipos superiores
en el mercado (como el antes citado de Olivetti).
2.2. EL PC XT
IBM reaccionó presentando algunas mejoras en su siguiente ordenador: el IBM PC XT (XT de
eXTended), que incorporaba un disco duro de 20 Mb con interface MFM (actualmente desaparecida
del mercado) y su controladora correspondiente, y una controladora de vídeo que soportaba monito-
res en color y gráficos, pero con una baja resolución de tan sólo 640x200 puntos. El PC XT incluyó
disqueteras para disquetes de 360 kb de capacidad.
Simultáneamente aparecieron los primeros microordenadores clónicos y compatibles. En EE UU,
Olivetti Docutel presentó el Olivetti PC, copia casi idéntica del IBM PC XT, aunque con mejores pres-
taciones y precio más bajo. En Europa aparece el Olivetti M24, con CPU Intel 8086 y buses de 16
bits, muy superior al XT de IBM. Este ordenador fue un gran éxito a nivel mundial y se comercializó
con las siguientes marcas: AT&T, Toshiba, Logabax, Xerox, Hermes y otras. Por otra parte, La francesa
Bull presentó un clónico del IBM PC XT, copia exacta, aunque con prestaciones inferiores.
De esta forma fueron apareciendo equipos que intentaban superar a los de IBM, pero aún no
había comenzado la época de los clónicos a bajo precio montados con componentes fabricados en
países asiáticos.
La gran difusión de los equipos compatibles hizo que aparecieran gran cantidad de programas a
nivel mundial, tratando los más diversos temas. Este fue otro factor decisivo que reforzó el liderazgo
de la arquitectura PC y PC XT.
En aquellos días IBM desarrolló el primer ordenador portable (no portátil), bastante voluminoso
para trasladarlo de un sitio a otro, sin autonomía eléctrica y con una pantalla de tubo de rayos cató-
dicos de pequeñas dimensiones. Este equipo no era muy asequible ni en precio ni en portabilidad;
otras empresas intentaron mejorarlo, con este propósito surgió Compaq, empresa que actualmente
es líder a nivel mundial en el mercado de portátiles, microordenadores y servidores.
2.3. EL PC AT
Para combatir la competencia que otras empresas ocasionaban ofreciendo equipos mejores, más
baratos y totalmente compatibles, IBM diseñó una versión mejorada de sus PCs, que denominó AT
(de Advanced Technology, Tecnología Avanzada).
El PC AT incluía el procesador 80286 de Intel de 16 bits auténticos, cuya principal diferencia
respecto a la 8086 era el bus de direcciones de 20 bits, en vez de 16 del 8086, que le permitía
direccionar mucha más memoria. A su vez la frecuencia de reloj pasó a ser de 6 u 8 MHz, frente a
los 4.77 del PC original.
Otra diferencia fundamental era que los slots de expansión disponían de un bus de 16 bits, lo
cual permitía utilizar las antiguas tarjetas de los XT (8 bits) y las nuevas que se crearan específica-
mente para él. Este BUS AT se ha convertido en un estándar (Bus ISA) ampliamente utilizado hasta
hace muy poco tiempo.
Intel concedió licencias para que sus CPU’s fueran fabricadas por otras empresas (Fujitsu, Sie-
mens, AMD, Harris...), abaratando mucho los costes, lo que a su vez causó la aparición de los clóni-
cos tal como los conocemos actualmente.
Esta política perjudicó en gran manera a IBM, pues el mercado ahora no sólo se distribuía entre
las grandes marcas de prestigio (Olivetti, Bull, Compaq, Xerox, AT&T, Philips, NCR y algunas otras),
sino que empresas pequeñas con pocos medios podían ofrecer equipos clónicos a precios imbatibles.
Estas empresas además tenían unos gastos nulos en investigación pues gran parte del producto lo
copiaban ilegalmente.
Algunos fabricantes incluyeron en la placa base varias de las tarjetas indicadas, dejando así más
slots libres en el BUS AT para posteriores ampliaciones.
2.4. EL PS/2
Ante la situación de fuerte competencia en el mercado, IBM actuó de dos formas: la primera fue
exigir a todos los fabricantes que le habían copiado sus productos el pago de los “royalties” corres-
pondientes; por otra parte creó una nueva línea de equipos muy difícil de copiar y con gran detalle de
patentes. De esta forma nacieron los IBM PS/2 (Personal System 2).
Una de las grandes innovaciones de estos equipos fue el procesador Intel 386, con mejoras
significativas frente a sus predecesores, además de un bus a 32 bits de diseño completamente
nuevo denominado Microchannel, que dio lugar a los equipos con arquitectura MCA (Arquitectura
Microcanal).
Otra novedad fue el cambio del tipo de monitores, y por lo tanto de controladora. Se introdujeron
los monitores analógicos, con una resolución superior a los previamente empleados (digitales) y con
una variedad de colores muy superior. Estas dos innovaciones supusieron desechar completamente
los diseños anteriores con objeto de que los clónicos se viesen desplazados del mercado.
La arquitectura MCA fue comercializada por algunos fabricantes aparte de IBM, como por ejem-
plo Olivetti, pero con muy poco éxito. Además, estos equipos, incluso los de IBM, se difundieron poco
y las tarjetas de ampliación diseñadas para ellos eran muy caras, lo cual hacía de esta arquitectura
un producto poco atractivo.
Simultáneamente a la aparición de estos equipos se comercializó un nuevo sistema operativo
denominado OS/2, desarrollado por Microsoft para IBM en principio, y posteriormente por la propia
IBM. El éxito del OS/2 fue muy escaso.
IBM tuvo que reconocer el fracaso de la arquitectura MCA, pues una nueva generación de equi-
pos que comercializó posteriormente para uso doméstico, los PS/1, ya no incluían esta arquitectura.
Además IBM no lograba frenar el avance de los clónicos, decidiendo unirse a este mercado comercia-
lizando ella misma clónicos. Los clónicos de IBM se fabricaban en países asiáticos con la marca Am-
bra, que acabó en fracaso al poco tiempo. Actualmente IBM se está planteando cerrar las divisiones
de PC domésticos en varios países, debido a la baja cuota de mercado que alcanzan.
3. ARQUITECTURA DEL PC
Un ordenador está formado por un conjunto de subsistemas o componentes:
# !"
3.4. RELOJ
El ordenador posee un funcionamiento síncrono gobernado por un reloj, de tal manera que el
tratamiento de la información se realiza con arreglo a una secuencia ordenada de operaciones en el
tiempo. El reloj genera los impulsos eléctricos que permiten sincronizar estas operaciones. El número
de impulsos generados se mide en Megahertzios (MHz) que indica el número de millones de pulsos
generados por el reloj en un segundo.
La frecuencia de reloj determina la velocidad en la transferencia de un dato entre dos dispo-
sitivos conectados al mismo bus (por ejemplo, lectura de una palabra de memoria por parte de la
UCP). Para la transferencia completa de un dato pueden ser necesarios varios ciclos de reloj, en
cada uno de los cuales son ejecutadas las operaciones más elementales que conforman dicha
transferencia.
El incremento de la velocidad de proceso en los ordenadores personales se ha conseguido gra-
cias a la utilización de los últimos avances tecnológicos.
La tecnología VLSI (Very Large Scale Integration, Integración a Escala Muy Grande) disminuyen
los costes asociados a todos los circuitos electrónicos.
4. EL PROCESADOR
4.3. 80286
En febrero de 1982, Intel daba un nuevo vuelco a la industria con la aparición de los primeros
80286. Como principal novedad, cabe destacar el hecho de que por fin se podía utilizar la denomina-
da memoria virtual, que en el caso del 286 podía llegar hasta 1 Gb, tenía un bus de 16 bits, 134.000
transistores usando una tecnología de 1.5 micras, un máximo de memoria direccionable de 16 Mb y
unas velocidades de reloj de 8, 10 y 12 MHz.
En términos de rendimiento había multiplicado entre tres y seis veces la capacidad del 8086. Fue
el procesador de los primeros ordenadores que no fabricaba IBM en exclusiva; muchas otras compa-
ñías, alentadas por los éxitos del pasado, se decidieron a crear sus propias máquinas. En seis años
se vendieron en torno a los 15 millones de ordenadores 286 en todo el mundo.
4.4. 80386
El año de 1985 es clave en la historia de los procesadores. El 17 de octubre Intel anunciaba la apa-
rición del procesador 80386DX, el primero en poseer una arquitectura de 32 bits, lo que suponía una
velocidad a la hora de procesar las instrucciones realmente importante con respecto a su antecesor.
El 80386 contenía cerca de 275.000 transistores, más de 100 veces los que tenía el primer
4004 después de tan sólo 14 años. El reloj llegaba ya hasta un máximo de 33 MHz, y era capaz de
direccionar 4 Gb de memoria, tamaño que todavía no se ha superado por otro procesador de Intel
dedicado al mercado doméstico.
En 1988 Intel desarrollaba un sistema sencillo de actualizar los antiguos 286, era el 80386SX,
que sacrificaba el bus de datos recortándolo a 16 bits y adaptándose a la arquitectura de los ante-
riores 80286.
Estos procesadores coincidieron con el desarrollo del entorno gráfico Windows, desarrollado
por Microsoft unos años antes, pero que no había tenido la suficiente aceptación por parte de los
usuarios. También había habido algunos entornos que no habían funcionado mal del todo, como por
ejemplo el Gem 3. No es hasta este momento cuando este tipo de entornos gráficos se popularizan,
facilitando la tarea de enfrentarse a un ordenador. Windows vino a ser una revolución para la industria
informática, pues permitió que personas de cualquier condición pudieran manejar un ordenador con
unos requerimientos técnicos mínimos.
4.5. 80486
Y si esto parecía la revolución, no tuvimos que esperar mucho para que el 10 de abril de 1989
apareciera el Intel 80486DX, de nuevo con tecnología de 32 bits y como novedades principales, la
incorporación del caché de nivel 1 (L1) en el propio chip, lo que aceleraba enormemente la transfe-
rencia de datos de este caché al procesador, así como la aparición del coprocesador matemático,
también integrado en el procesador, dejando por tanto de ser una opción como lo era en los anterio-
res 80386.
Dos cambios que unido al hecho de que por primera vez se sobrepasaban el millón de transis-
tores usando la tecnología de una micra (aunque en la versión de este procesador que funcionaba
a 50 MHz se usó ya la tecnología 0,8 micras), hacía posible la aparición de programas de calidad
sorprendente, entre los que los juegos ocupan un lugar destacado.
Se había pasado de unos ordenadores en los que prácticamente cualquier tarea compleja reque-
ría del intérprete de comandos de MS-DOS para poder ser realizada, a otros en los que con mover
el cursor y pinchar en la opción deseada simplificaba en buena medida las tareas más comunes. Por
su parte, Intel volvió a realizar, por última vez hasta el momento, una versión de este procesador dos
años después. Se trataba del 80486SX, idéntico a su hermano mayor salvo que no disponía del co-
procesador matemático, lo que suponía una reducción del coste para aquellas personas que querían
entrar en el mundo de la informática sin necesidad de pagar una suma elevada.
El procesador 486DX2 es equivalente al 486DX pero se caracteriza por incorporar una tecnología
que duplica la frecuencia interna de reloj, esto es, la unidad central de proceso realiza las operaciones al
doble de velocidad que el resto de componentes del sistema aumentando notablemente las prestaciones
del ordenador. La unidad central de proceso 486DX4 es análoga al 486DX pero internamente triplica la
frecuencia de reloj, es decir, los componentes externos a la unidad central de proceso trabajan tres veces
más lento que ésta. En la práctica constituye el procesador más rápido de la gama 486.
NOTA: Un coprocesador es un microprocesador especializado en la ejecución
de cálculos matemáticos, que descargan de estas funciones a la unidad central de
proceso. Su necesidad depende de la complejidad de las aplicaciones que van a
ser ejecutadas.
El procesador 486SL es una versión del 486DX que se caracteriza por haber sido específicamen-
te diseñado para su utilización en ordenadores portátiles, cuidando sus necesidades especiales de
baja potencia y ahorro de energía.
4.6. PENTIUM
Intel anunció que en breve estaría en el mercado una nueva gama de procesadores que multi-
plicaría por cinco los rendimientos medios de los 80486. Se trataba de los Pentium. Estos proce-
sadores pasarán a la historia, entre otras cosas, por ser los primeros a los que Intel bautizó con una
palabra en vez de un número.
NOTA: El hecho de que se utilizase una palabra para denominar el nuevo
procesador, se debía a que es imposible patentar un número como marca, y otras
compañías se estaban aprovechando de esto para hacer competencia a Intel.
Estos procesadores que partían de una velocidad inicial de 60 MHz, han llegado hasta los 2400
MHz en la actualidad, aunque las versiones recientes nada tienen que ver con los primeros proce-
sadores de la gama, los cuales contaban con una arquitectura real de 32 bits y tecnología de 0,8
micras.
Los resultados no se hicieron esperar y las compañías empezaron, aunque de forma tímida, a
lanzar programas, como juegos, exclusivamente para el Pentium. Esta política se extendió a Micro-
soft cuando lanzó Windows 95, que aunque funciona en equipos dotados de un procesador 486, se
diseño para el procesador Pentium.
4.9. CELERON
Los chips Celeron de Intel son una alternativa económica a los Pentium II. Este procesador ha
tenido una existencia bastante accidentada debido a los continuos cambios de planes de Intel.
Debemos distinguir entre dos empaquetados distintos. El primero es el SEPP que es compatible
con el Slot 1 y que viene a ser parecido al empaquetado típico de los Pentium II (el S.E.C.) pero sin
la carcasa de plástico.
El segundo y más moderno es el PPGA, idéntico al que utilizan los Pentium y Pentium Pro, pero
con distinto zócalo. En este caso se utiliza el Socket 370, incompatible con los anteriores socket 7 y
8 y con los actuales Slot 1. Existen unos adaptadores que permiten montar procesadores Socket 370
en placas Slot 1 (aunque no al revés).
También debemos distinguir entre los modelos que llevan caché y los que no, ya que las dife-
rencias en prestaciones son realmente importantes. Justamente los modelos sin caché L2 fueron
muy criticados porque ofrecían unas prestaciones que en algunos casos eran peores que las de los
Pentium MMX a 233.
La caché optimiza aplicaciones de 32 bits, y se comercializa en versiones que van desde los 266
hasta los 466 Mhz. La caché L2 trabaja a la misma velocidad que el procesador (en los modelos en
los que la incorpora). La velocidad a la que se comunica con el bus (la placa base) sigue siendo de
66 Mhz. Posee el juego de instrucciones MMX.
Por otra parte, es una constatación estadística que la potencia práctica de un ordenador reside en un
conjunto pequeño de su repertorio de instrucciones, con lo cual si se reduce dicho repertorio se sigue
conservando la potencia del ordenador, y disminuye la complejidad del diseño y el coste.
Para ejecutar una tarea se necesitan más instrucciones en RISC que en CISC, ya que en RISC las
instrucciones son más elementales. Pero el hecho de tener actualmente unos mecanismos rápidos
de acceso a memoria, buses de alta velocidad y compiladores especializados en estas arquitecturas,
hace que los ordenadores RISC obtengan en general unos mejores rendimientos.
Ahora bien, algunas de las formas tradicionales de medir el rendimiento, como es el número de
MIPS, no son adecuadas para comparar el rendimiento de máquinas CISC y RISC. Esto se debe a que
los MIPS dan la cantidad de millones de instrucciones por segundo que desarrolla una máquina, pero
no tienen en cuenta la potencia de esas instrucciones. Por el propio diseño de la arquitectura RISC,
estas máquinas tienden a desarrollar más MIPS que las CISC.
5. LA PLACA BASE
La placa base es el circuito básico del ordenador, donde se conectan todos los componentes que
lo forman. En este apartado veremos las características más importantes de estas placas.
5.1.1. PGA
Modelo clásico usado en el 386 y el 486; consiste en un cuadrado de conectores donde se
insertan las patitas del chip por pura presión.
5.1.2. ZIF
Zero Insertion Force (socket), es decir, zócalo de fuerza de inserción nula. Eléctricamente es
como un PGA, aunque gracias a un sistema mecánico permite introducir el micro sin necesidad de
fuerza alguna, con lo que el peligro de estropear el chip por romperle un conector desaparece.
Apareció en la época del 486 y sus distintas versiones (sockets 3, 5 y 7, principalmente) se han
utilizado hasta que surgió el Pentium II. Actualmente se fabrican dos tipos de zócalos ZIF:
– Socket 7 o Super 7: Variante del Socket 7 que se caracteriza por poder usar velocidades
de bus de hasta 100 MHz.
– Socket 370 o PGA370: Físicamente similar al anterior, pero incompatible con él por utilizar
un bus distinto.
5.1.3. Slot 1
Es un invento de Intel para conectar los Pentium II, aunque se sospecha que las intenciones de
esta empresa son dejar fuera del mercado a su competencia, AMD y Cyrix.
Físicamente no se parece a nada de lo anteriormente existente. En vez de un rectángulo con aguje-
ritos para los conectores del chip, es un slot, una especie de conector alargado como los ISA o PCI.
Técnicamente no tiene muchas ventajas frente a los ZIF o PGA (e incluso puede que al estar los
conectores en forma de “peine” den lugar a más interferencias). Intel lo tiene registrado y no piensa
licenciarlo, aunque algunas empresas como Cyrix han conseguido ciertos pactos.
5.1.4. 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 chips
todavía más antiguos (8086 o 80286), que tienen forma rectangular alargada (parecida a la del chip
de BIOS) y patitas planas en vez de redondas. En estos casos el zócalo pertenece al modelo usado
para multitud de chips electrónicos de todo tipo.
5.3. EL CHIPSET
El chipset es el conjunto (set) de chips que se encargan de controlar determinadas funciones del
ordenador, como la forma en que interacciona el microprocesador con la memoria o la caché, o el
control de puertos PCI, AGP, USB...
Antiguamente estas funciones eran relativamente sencillas de realizar, por lo que el chipset era
el último elemento al que se concedía importancia, sin embargo la llegada de micros más complejos
como los Pentium o los K6, además de nuevas tecnologías en memorias y caché, le ha hecho cobrar
protagonismo. Los chipset más famosos son los siguientes:
– 430 FX (Tritón clásico): Un chipset bastante apropiado para los Pentium “normales” (no
MMX) con memorias tipo EDO. Hoy en día desfasado y descatalogado.
– 430 HX (Tritón II): La opción profesional del anterior. Mucho más rápido y con soporte para
placas duales (con 2 Pentium). Anticuado actualmente.
– 430 VX: Algo más lento que el HX, pero con soporte para memoria SDRAM. Se puede decir
que es la revisión del FX, o bien una versión económica del HX.
– 430 TX: Soporte MMX, SDRAM, UltraDMA... Sin embargo, carece de AGP y de bus a 100
MHz, por lo que se está quedando algo desfasado.
5.4. LA BIOS
Ver tema 3.
5.7. PILA
La pila del ordenador se encarga de conservar los parámetros de la BIOS cuando el ordenador
está apagado. Sin ella, cada vez que encendiéramos tendríamos que introducir las características del
disco duro, del chipset, la fecha y la hora...
Se trata de un acumulador, pues se recarga cuando el ordenador está encendido. Sin embargo,
con el paso de los años pierde poco a poco esta capacidad (como todas las baterías recargables)
y llega un momento en que hay que cambiarla. Esto, que ocurre entre 2 y 6 años después de la
compra del ordenador, puede vaticinarse observando si la hora del ordenador “se retrasa” más de
lo normal.
6. BUSES
El bus constituye el medio físico a través del cual se comunican entre sí todos los componentes
de un ordenador. Su capacidad y rendimiento deben estar en correspondencia con la demanda de
servicio que realizan los componentes a él conectados, tales como la unidad central de proceso, la
memoria, etc.
Un bus se puede caracterizar desde el punto de vista tecnológico por varios factores, de los cua-
les los más significativos son su longitud de palabra de datos, el protocolo de arbitrio y su velocidad
de transferencia en MegaBytes/s. Estos factores definen las arquitecturas que vamos a estudiar a
continuación:
6.1. ISA
ISA: Industry Standard Architecture
Bus de datos original de los primeros PC. Maneja palabras de 16 bits a una velocidad de trans-
ferencia de 10 MB/s. Esta arquitectura constituye la base de la mayoría de los equipos instalados
hasta mediados de los noventa. Puede ocasionar cuellos de botella cuando se trata de dar servicio
a periféricos de alta velocidad como por ejemplo al sistema gráfico. La solución a este problema ha
sido abordada desde varias alternativas.
6.2. MCA
MCA: Micro Channel Architecture
Bus de 32 bits con velocidad de transferencia de 40 MB/s. Su principal inconveniente es la in-
compatibilidad absoluta con la arquitectura ISA. Ello significa una amenaza potencial a las inversiones
realizadas previamente en tarjetas de ampliación. En la actualidad su utilización es residual en la línea
de equipos PS/2 de IBM.
6.3. EISA
EISA: Extended Industry Standard Architecture
Dado que la arquitectura MCA era muy cerrada, un grupo de fabricantes de microordenadores,
AST Research, Compaq Computer, Epson, Hewlett-Packard, NEC, Olivetti, Tandy, WYSE, and Zenith
Data Systems, decidieron crear un bus con prestaciones superiores al ISA, pero que a su vez fuera
compatible con él, esto dio origen al bus EISA (ISA Extendido). Sus características eran: 32 bits,
ancho de banda de 33 MB/s y frecuencia de reloj 8 MHz.
EISA sólo se ha usado en los microordenadores de gama alta y ha tenido poca difusión, a pesar
de sus ventajas sobre ISA y a ser compatible con las tarjetas de expansión existentes, lo cual ha re-
percutido en que no se abarataran los precios.
Aun siendo tres veces más rápida que la arquitectura ISA, su rendimiento es inferior a la deman-
da de servicio realizada por el sistema gráfico, por lo que su presencia prácticamente se reduce a
servidores de red de área local como segundo bus de baja velocidad.
De forma que en el año 1992 la situación era la siguiente:
– Bus ISA: Generaba un auténtico cuello de botella
– Bus MCA: Muy restringido y sin difusión al gran público
– Bus EISA: Sólo usado en equipos de gama alta
La demanda de mayor ancho de banda hizo inevitable la aparición de nuevas arquitecturas de bus.
6.4. VL-BUS
VL-Bus: Vesa Local Bus
VESA es el acrónimo de la Asociación de Fabricantes de controladoras de Vídeo (Video Electro-
nics Standars Association), que agrupa a más de 120 fabricantes, y fueron los que propusieron este
bus, disponible desde finales de 1992.
Es una extensión de la arquitectura tradicional del PC. Dado que el bus ISA es un cuello de botella,
la solución es conectar algunos dispositivos directamente a la CPU, mediante un bus conocido como bus
local. Este ha de tener el mismo ancho que el microprocesador (16 bits en un 286 o 386SX y 32 bits en
un 386DX o 486). Utiliza un bus de 32 bits y ofrece una velocidad de transferencia de 132 MB/s.
Esta solución presenta la ventaja de sus elevadas prestaciones a cambio de soportar un núme-
ro pequeño de periféricos y ser dependiente de la unidad central de proceso utilizada. La solución
adoptada mayoritariamente por los fabricantes consiste en la utilización de esta arquitectura para los
componentes más rápidos del ordenador, tales como el sistema gráfico y el sistema de almacena-
miento en disco, y el empleo de la arquitectura ISA para dar servicio a los periféricos más lentos. Esta
arquitectura soluciona eficazmente los problemas más críticos de la arquitectura ISA y resuelve las
necesidades actuales en cuanto a potencia y rendimiento del ordenador.
Pueden surgir algunos problemas, pues la CPU no puede soportar la conexión directa de más de
dos o tres tarjetas, además el diseño de la placa base ha de hacerse de forma que las distancias sean
mínimas para evitar retrasos. También es conveniente usar memorias caché. Su principal ventaja es
que cuadruplican el ancho de banda, llegando a 133MB/s.
Al salir al mercado las placas madre con bus VESA, su precio era superior a las con bus ISA, hubo
una época en que dominaron el mercado, pero a partir del año 1996, han desaparecido del mercado,
frente al bus PCI, que se comenta en el apartado siguiente. Sólo se llegaron a fabricar algunas placas
VESA para equipos Pentium.
6.5. PCI
PCI: Peripheral Component Interconnect
PCI es abreviatura de “Peripheral Component Interface”, creado por Intel (Architecture Lab de In-
tel), en 1991. En 1992 Intel y otras compañías formaron el Special Interest Group para promocionar,
supervisar y mejorar el desarrollo de PCI como estándar de bus local abierto y no propietario. Este
grupo cuenta con más de 160 fabricantes. Es una solución completa, dado que a diferencia del VESA
incluye el soporte de interrupciones y DMA. Lo cual implica que necesita tres chips específicos, y por
lo tanto un coste superior.
Al contrario del bus local VESA que sólo está pensado para acelerar las aplicaciones gráficas, PCI
es una solución de sistema global. Proporciona mayores prestaciones para los adaptadores de redes,
unidades de disco duro, vídeo animado, gráficos y otros periféricos que requieren gran velocidad.
Funcionando a una velocidad de reloj de 33 MHz, PCI emplea un bus de datos de 32 bit y ancho
de banda de 132 MB/s, frente a 5 MB/s del bus ISA.
Las especificaciones del bus local PCI ofrecen un número de beneficios claves.
– Compatibilidad: Es compatible, en la arquitectura de placas base, con ISA, EISA y MCA, y
a veces también se encuentran placas que incluyen el VESA. A su vez cualquier tarjeta PCI
funcionará con cualquier sistema compatible PCI, sin que importe el tipo de bus de expan-
sión o de CPU en uso.
– Independencia del procesador: La arquitectura independiente del procesador de PCI dis-
pone de un diseño único de buffer intermediario entre el subsistema de la CPU y los periféri-
cos. Lo normal es que si se añaden a la CPU más dispositivos, se degraden las prestaciones
y baje la fiabilidad. El uso del buffer permite a los usuarios ampliar su sistema al añadir múlti-
ples dispositivos periféricos e introducir variaciones de prestaciones a diferentes velocidades
de reloj. El diseño independiente del microprocesador asegura que los diseños de las placas
no se quedarán obsoletos.
– Soporte de plataforma flexible: PCI proporciona una solución de bus local económica para
cualquier tipo de equipo, no sólo los normales, sino para los servidores y los portátiles.
– Rentabilidad: PCI se diseño con un objetivo de bajar los costes globales de los desarrollos. Utiliza
chips altamente integrados que incorporan funciones de sistema como controladores de DRAM y
caché, eliminando costes y espacio asociados con la circuitería de soporte. Frente a los chips VESA
con 80 patillas, los PCI son más pequeños, pues multiplexan los buses de datos y direcciones.
Otras características para permitir operaciones simultáneas, mantener el bus lleno de datos y
minimizar los estados de espera de la CPU, son:
– Ráfagas Lineales: Método de transferencia de datos que asegura que el bus siempre ten-
ga datos. Estas ráfagas permiten utilizar más ancho de banda para enviar datos en vez de
direcciones. Además PCI soporta tanto lecturas como escrituras en ráfaga, muy importante
con aceleradores gráficos, cuando más del 90% de los accesos de datos de la CPU, son
escrituras a la memoria de vídeo desde la memoria principal. Aunque en los nuevos diseños
se está dando otro tratamiento más eficaz a los sistemas gráficos.
– Baja latencia de acceso: Los dispositivos diseñados para soportar PCI tienen una baja
latencia de acceso (tiempo requerido para que un periférico obtenga el control del bus des-
pués de requerir el acceso).
– Concurrencia y Bus Master (Maestros de Bus): En la mayoría de los buses existe el
dominio de bus, que permite a cualquiera de un número de periféricos inteligentes tomar el
control del bus para acelerar las tareas de proceso intensivo de alta prioridad. La posibilidad
de concurrencia, única de PCI, asegura que el microprocesador opera simultáneamente con
estos maestros, en vez de esperarlos.
La siguiente tabla muestra una comparativa de las características más significativas de los buses:
6.6. NUBUS
Los Macintosh utilizan la denominada arquitectura NUBUS, que está constituida en torno a un bus de
32 bits y presenta como principal ventaja la incorporación de una ranura de expansión denominada PDS
(Processor Direct Slot) que permite la comunicación directa con la unidad central de proceso.
6.7. AGP
Aunque en muchos documentos oficiales se trata el estándar AGP como un bus, en realidad es
un puerto, pues sólo comunica un periférico: la tarjeta gráfica con el procesador. Las placas base AGP
disponen de un único slot de este tipo. Su aspecto es similar al slot PCI, si exceptuamos que la ranura
más pequeña está en el lado contrario, es de color oscuro, y se encuentra aislado en medio de la pla-
ca. Una tarjeta gráfica PCI no es compatible con el slot AGP, existen placas especiales de este tipo.
La primera ventaja del puerto AGP es que libera al bus PCI de todas las tareas gráficas. Esto per-
mite aumentar el ancho de banda del resto de periféricos que utilizan dicho bus (disco duro, tarjetas
de todo tipo, módems y demás) por lo se produce una mejora importante en su rendimiento.
AGP destaca también por su velocidad. Una tarjeta gráfica PCI se comunica con la CPU a través
del bus PCI a 33 MHz (133 Mb/sg) Una tarjeta AGP se basa en la especificación 2.1 del propio es-
tándar PCI que aumenta la velocidad del bus a 66 MHz, permitiendo una velocidad de transferencia
de 266 Megas/sg. Este sistema se denomina AGP 1X. Las primeras tarjetas AGP que aparecieron en
el mercado utilizan este modo de funcionamiento, que fue posteriormente mejorado con el sistema
AGP 2X, doblando la tasa de transferencia hasta los 533 Megas/sg. La técnica para conseguir esta
velocidad es transmitir los datos al principio y al final de cada ciclo de reloj.
En poco tiempo estarán en el mercado las primeras tarjetas AGP 4X (4 transferencias de datos
por cada ciclo de reloj), que dispondrán de una velocidad de 1066 Mb/sg. El aumento de velocidad
del bus mejora las prestaciones de la tarjeta AGP, sin embargo, se mantienen las limitaciones del bus
PCI. Para solucionar esto, AGP incorpora técnicas:
– Memoria AGP: La memoria AGP es el resultado de adoptar el modo DIME (Ejecución Direc-
ta en Memoria), un nuevo concepto que trata la memoria principal como si fuese memoria
gráfica o de vídeo. Obviamente, hay que reservar una parte de la memoria principal para las
otras tareas que tienen lugar dentro de un programa, por lo que una tarjeta AGP sólo utilizará
una parte, conocida como memoria AGP.
Una variación de este método, conocida como DIMEL, mezcla memoria principal y de vídeo
(local) para procesar las texturas. Las más utilizadas se sitúan en la memoria local, más
rápida, y el resto en la memoria principal. Este proceso mejora la velocidad.
Existe un dispositivo llamado GART (Tabla de remapeado de Direcciones Gráficas) que controla
qué tipo de memoria se utiliza en cada momento, ofreciendo las direcciones de forma transpa-
rente al chip gráfico, como si se tratase de una única memoria situada en lugares contiguos.
– Modo SBA: También llamado direccionamiento de líneas de señal adicionales. El bus AGP,
además de los 32 bits para procesar los datos, dispone de 8 bits adicionales que generan
nuevos comandos. Por ejemplo, mientras se transmite una textura entre las memorias, el
dispositivo AGP puede requerir la siguiente a través de estas 8 líneas extras. Hasta ahora,
una tarjeta PCI sólo podía realizar una nueva petición de datos a la CPU cuando había com-
pletado la anterior. AGP puede realizar hasta 35 peticiones aunque no se hayan recibido
los datos de las anteriores. Así se reducen los tiempos de espera y se aprovecha mejor las
posibilidades de la tarjeta.
– Bus Mastering: El chip AGP puede recoger información de la memoria principal sin tener
que esperar una instrucción específica de la CPU.
7. SISTEMAS DE MEMORIA
Ver tema 3.
8. DISPOSITIVOS DE ALMACENAMIENTO
Ver tema 4.
9. COMUNICACIONES
La compatibilidad con los modos Nibble & Octeto usa simplemente el hardware estándar dispo-
nible sobre las tarjetas originales del Puerto Paralelo, mientras que los modos EPP & ECP requieren
de algún hardware adicional para poder correr a velocidades más rápidas, pero todavía sigue siendo
compatible con su antecesor: el puerto paralelo estándar.
El modo de compatibilidad o “Modo Centronics”, como se conoce usualmente, sólo puede enviar los
datos en una dirección a una velocidad típica de 50 Kb/sg, pudiendo alcanzar picos de hasta 150 Kb/sg.
* Serie B: Presentan los contactos distribuidos en dos planos paralelos, dos en cada
plano, y se emplean en los dispositivos que deban tener un receptáculo al que poder
conectar un cable USB. Por ejemplo impresoras, escáneres, y módems.
USB ha sido diseñado para las futuras generaciones de PC y ofrece interesantes posibilidades
a un gran número de aplicaciones tales como audio digital y telefonía de banda ancha. La compa-
tibilidad universal de USB elimina riesgos en las ofertas de productos, posibilitando combinaciones
innovadoras de PC, periféricos y software que cubran las necesidades de determinados segmentos
de mercado.
La tecnología USB contribuirá de forma notable al desarrollo de la telefonía mediante PC. El
ancho de banda de USB permite la conexión de interfaces de alta velocidad (RDSI, PRI, T1, E1) y
posibilita la adaptación a normas de telefonía específicas de un país sin tener que añadir tarjetas
adicionales.
USB posee un amplio respaldo por parte de las industrias de telecomunicaciones y de software,
y está actualmente respaldado por más de 250 empresas.
9.4. PCMCIA
La asociación de fabricantes PCMCIA (Personal Computer Memory Card International Associa-
tion) ha desarrollado un bus de 32 bits que presenta, como principales ventajas, la capacidad de
configuración automática de los periféricos y la posibilidad de insertar o extraer tarjetas del equipo sin
necesidad de apagarlo. Por el contrario PCMCIA adolece de inconvenientes potenciales en cuanto a
posibilidad de intercambio de tarjetas entre equipos de distintos fabricantes.
La arquitectura PCMCIA se diseñó por requisito exclusivo de la industria de ordenadores portátiles
y hoy en día es el estándar de este tipo de ordenadores. Existen distintos tipos de tarjetas PCMCIA
dependiendo de su grosor: tipo I (3,3 mm), tipo II (5 mm) y tipo III (10,5 mm). Lo más conveniente
en un portátil es que posea el mayor número posible de ranuras del tipo III, pues en ellas se podrá
conectar cualquier tarjeta PCMCIA.
10. PERIFÉRICOS
Ver tema 4.
11.1. INTRODUCCIÓN
Ver tema 7.
11.2. EVOLUCIÓN
El mercado de sistemas operativos de PC ha sido dominado fuertemente por el DOS (Disk Operating
System) de IBM y Microsoft desde que fueron instalados sobre los PCs originales de IBM en 1981.
A lo largo de los años otros sistemas operativos han ofrecido capacidades más avanzadas y venta-
jas especiales, pero ninguno tuvo tanto éxito como el DOS. Esto puede atribuirse fundamentalmente a
que DOS es el sistema operativo utilizado en la gran mayoría de ordenadores basados en procesadores
de Intel. En el pasado la única alternativa significativa al DOS no fue ningún sistema operativo diseñado
para PC, sino la serie Apple Macintosh (MAC) que se basa en procesadores de Motorola.
Los Macintosh incorporaban originariamente tecnología software muy diferente y más sofisticada
que el DOS. Por ejemplo, una pantalla gráfica de alta resolución, iconos, ratón, ventanas (windows),
y una aproximación modular a los datos que facilita que las aplicaciones compartan e intercambien
datos. Características estas que se agrupan bajo el término GUI (Graphics User Interface).
IBM y Apple presentaban una clara dicotomía en los PC. Los usuarios podían elegir entre la
aproximación del DOS, el más frecuente, orientado a texto, controlado por línea de comandos, o la
del Macintosh, menos frecuente, orientada a gráficos, dirigida por iconos y controlada por ratón. Cada
uno tenía sus propias fuerzas y debilidades, y cada uno ofrecía un abanico diferente de aplicaciones.
Hoy, sin embargo, los sistemas compatibles con IBM pueden soportar tanto una línea de comandos
como una interfaz GUI.
Al mismo tiempo otros sistemas operativos diferentes trataban de reemplazar al DOS sobre siste-
mas basados en chips de Intel, aunque éste sigue siendo el estándar industrial de facto. Entre estos
se incluyen el OS/2 de IBM, diversas versiones de UNIX, y otros como DR DOS y DR Multiuser DOS.
Junto con los sistemas operativos actuales dirigidos hacia el mercado de PC, podemos encontrar
toda la gama de versiones del popular Windows de Microsoft, un sistema operativo de 32 bits que
permite a los desarrolladores añadir características de 32 bits a sus aplicaciones de Windows y pro-
porciona propiedades de seguridad más avanzadas. Además, muchos sistemas operativos existentes
basados en UNIX de 32 bits con interfaces GUI están siendo portados a la arquitectura de Intel desde
otras plataformas como por ejemplo Solaris, de SunSoft.
IBM y Microsoft, que fueron socios para el desarrollo y la promoción del OS/2 como sucesor del
DOS, se han convertido en fieros competidores debido a la decisión de Microsoft de promocionar
Windows y Windows NT, no continuando la promoción del OS/2. Debido a la antigua alianza ambos
tienen acuerdos de licencia para los productos mutuos.
Cada uno de ellos, IBM y Microsoft, han decidido buscar otros aliados. IBM y Apple formaron un
consorcio denominado Taligent que está desarrollando nueva tecnología de sistemas operativos orienta-
dos a objeto. Microsoft y Digital Equipment Corporation (DEC) tienen una serie de acuerdos de desarrollo
conjuntos para hacer que sus sistemas, aplicaciones y productos de software de red trabajen juntos.
11.3. DOS
Acrónimo para Disk Operating System. El término DOS puede referirse a cualquier sistema opera-
tivo, pero frecuentemente se utiliza como abreviatura de MS-DOS (Microsoft Disk Operative System).
Originalmente desarrollado por Microsoft para IBM, fue el sistema operativo estándar para los IBM PC
(PC-DOS) y compatibles (MS-DOS).
DOS ha evolucionado de las versiones 1 a la 6 en doce años, guardando cuidadosamente mucha
compatibilidad con las versiones anteriores a la vez que ha incrementado sus capacidades y caracte-
rísticas. La versión inicial del DOS era muy simple y se parecía a otro sistema operativo llamado CP/M.
Las versiones siguientes llegaron a ser muy sofisticadas e incorporar características de los sistemas
operativos de minicomputadores. Sin embargo, DOS es aún un sistema operativo de 16 bits y no
soporta múltiples usuarios o multitarea.
Durante algún tiempo se consideró a DOS insuficiente para las modernas aplicaciones de mi-
croordenadores. Microsoft Windows resolvió algunos problemas creando una capa por encima de
DOS que ofrecía algunos servicios. Incluso Windows 95 se sitúa por encima del DOS. Otros sistemas
operativos más recientes como Windows 98, NT, 2000 y OS/2 Warp, no utilizan DOS aunque pueden
ejecutar programas basados en él. Estos sistemas operativos han ganado el mercado, por lo que DOS
tiende a desaparecer.
El DOS ofrece a los usuarios una interfaz de usuario estable basada en caracteres, orientada a
línea de comandos. Aunque a menudo recibe criticas como el ser una tecnología antigua, el DOS ha
ido manteniendo activos y útiles durante muchos años a los ordenadores basados en chips de Intel.
El crecimiento de la tendencia del PC como ordenador de empresa, y su capacidad continuada para
llevar a cabo las muchas funciones que ahora mismo soporta, han sucedido bajo el DOS.
El DOS surgió en una época en que el ordenador medio tenía mucha menos memoria, espacio
de almacenamiento en disco, y capacidad de proceso de la que tiene actualmente. A pesar de las
mejoras obtenidas bajo DOS, el sistema operativo es más conocido por sus limitaciones que por sus
habilidades. Estas limitaciones incluyen una asignación de RAM máxima de 640 Kbytes para aplica-
ciones, una interfaz basada en caracteres que esencialmente requiere que el usuario lea palabras
y teclee comandos, y la imposibilidad de coger o ejecutar más de un programa de software en un
momento dado (multitarea).
La versión 4.x del DOS se orientaba hacia algunas de las limitaciones de las primeras versiones
del sistema operativo. La 4.x del DOS eliminó el límite de 32 Mbytes para las unidades de disco lógi-
cas y solucionó parcialmente el límite anterior de RAM de 640 Kbytes mediante soporte incorporado
para el Lotus/Intel/Microsoft Expanded Memory Standard (HM EMS). La 4.x del DOS también introdujo
la DOS Shell, una interfaz de usuario basada en texto controlado por teclas de cursor o por ratón
que se puede utilizar en lugar de los comandos basados en caracteres tradicionales. La DOS Shell
simplifica el acceso a ficheros y la gestión del disco.
La versión DOS 5 mejoró más aún las funcionalidades de gestión de memoria del sistema ope-
rativo e introdujo varias utilidades nuevas, incluyendo el DOSKEY que recuerda comandos que han
sido introducidos de forma que no es necesario volver a escribir comandos tecleados anteriormente,
y EDIT, un editor de pantalla completa que permite a los usuarios escribir, cortar, copiar, e incluir, de
forma muy parecida a un procesador de texto. Esta versión también incluye ficheros limitados y recu-
peración de datos y facilidades de caché en disco.
La versión 6 añadió algunas características sumamente útiles, hasta el punto de eliminar la
necesidad de muchas utilidades de terceras partes. La compresión de disco, aunque no compatible
con todos los ordenadores y todo el software, casi puede doblar el espacio utilizable de una unidad
dura de PC. La compresión reduce el tamaño del fichero por medio de la búsqueda de repeticiones
y espacio “vacío” en un fichero y la codificación de éstos. Siempre que se accede al fichero, éste es
automáticamente descomprimido y utilizado como si fuera normal.
La versión DOS 6 también introdujo protección antivirus limitada (con licencia Norton de Syman-
tec), funciones undelete mejoradas que ahora trabajan bajo Windows, y software de backup que no
soporta unidades de cinta (también con licencia de Symantec). DOS 6 viene con una instalación auto-
mática para gestión de memoria, reduciendo sustancialmente los requisitos de conocimiento interno
de la memoria por parte del usuario. DOS 6 también puede avisar al usuario sobre qué unidades de
dispositivos instalar cada vez que arranca, tiene documentación de tipo hipertexto “tecla caliente” en
línea y tiene servicios de desfragmentación de disco limitados para acelerar el acceso al disco.
Los paquetes de software residentes (TSR) intentan compensar las limitaciones inherentes del DOS
proporcionando a los usuarios una serie de aplicaciones a las que se puede acceder fácilmente sin salir del
programa actualmente en uso. Mientras que muchas aplicaciones TSR típicas han sido absorbidas por entor-
nos como Windows, siguen siendo útiles para los usuarios que continúan usando PC-DOS y MS-DOS.
Los programas TSR están cargados en memoria y permanecen latentes, invisibles al usuario.
Mientras están latentes estos programas están escondidos en la memoria, sin interferir con otras apli-
caciones activas o principales. Cuando el usuario teclea una secuencia de teclas específica llamada
hot-key (tecla caliente), el software TSR se activa instantáneamente congelando la aplicación princi-
pal y tomando el control de la pantalla, el teclado, E/S y las actividades de proceso del ordenador. Más
tarde se devuelve el control al programa de aplicación justo en el punto donde se quedó.
Los entornos operativos generalmente ofrecen dos ventajas significativas sobre el DOS ordina-
rio. En primer lugar proporcionan una interfaz de usuario de ordenador más simple, más intuitiva, bien
basada en gráficos o bien en textos, que es más fácil de comprender.
El entorno operativo también proporciona más ayuda y mayor facilidad para las funciones de
comandos y control necesarias para llevar a cabo tareas específicas. Los entornos operativos tam-
bién hacen mayor utilización de la potencia de los nuevos chips procesadores, potencia que el DOS
u otros sistemas operativos basados en texto no aprovechan, incluyendo algún nivel de capacidad de
multitarea y acceso a cantidades mucho mayores de memoria de sistema.
Uno de los entornos operativos más utilizados, el Microsoft Windows, cuya aceptación por parte
de los usuarios fue bastante tímida durante la mayor parte de los ochenta a raíz de la liberación de
la versión 3.0, en 1990 causó un impacto sin precedentes en la industria. A continuación surgieron
actualizaciones a Windows 3.1 y Windows para trabajo en grupo, más estable y que proporcionaban
compartición de recursos, que alcanzaron enormes cotas de mercado.
11.4. DR-DOS
El DR DOS de Novell Desktop Systems Group, en su versión 6, es una alternativa más avanzada
y menos costosa al PC-DOS y al MS-DOS. El DR DOS incluye toda la funcionalidad de la versión 5.x
de PC-DOS y MS-DOS, pero incorpora características adicionales como utilidades de compresión y
gestión de memoria más sofisticada.
11.5. OS/2
Sistema operativo para PC desarrollado originalmente por Microsoft e IBM, pero vendido y uti-
lizado sólo por IBM. OS/2 es compatible con DOS y Windows, lo cual significa que puede ejecutar
todo programa DOS o Windows. Sin embargo, los programas escritos específicamente bajo OS/2 no
pueden ejecutarse bajo DOS o Windows.
Desde su introducción en la década de los ochenta, OS/2 ha tenido numerosos problemas téc-
nicos y de mercado. Luego Microsoft abandonó el proyecto a favor de su propio sistema operativo
Microsoft Windows. Esto supuso una ruptura entre los dos grandes gigantes de los computadores.
OS/2 fue diseñado originariamente para gestionar las características del chip 80286 de Intel,
incluyendo multitarea, gestionando grandes cantidades de memoria, y generando pantallas gráficas
llenas de colorido y detalladas en tiempo real. La optimización del 80286 fue sin embargo un logro
bastante dudoso, dado que la plataforma de la CPU de 16 bits fue pronto considerada como de gama
baja y casi obsoleta, la última versión (a finales de 1993), OS/2 2.1, está diseñada para explotar a
fondo las CPUs de 32 bits.
OS/2 2.1 es un sistema operativo de 32 bits reales, de multitarea preemptiva. También soporta
múltiples hebras o ramas de ejecución (multithreading), donde un programa puede expandir tantos
subprocesos como necesite, ejecutando cada una de ellas de acuerdo a unas prioridades designadas,
compartiendo el espacio de direcciones del programa expandido. Puede ejecutar aplicaciones de DOS,
Windows, OS/2 de 16 bits y OS/2 de 32 bits simultáneamente. OS/2 2.1 aprovecha las capacidades de
32 bits y direccionamiento virtual deI 80386 y los chips superiores. OS/2 también incorpora protección
de memoria, lo que previene las caídas del sistema completo debidas a una única aplicación.
11.7. LINUX
En 1987 Andrew S. Tanenbaum escribió el libro Diseño de SO en el que tuvo que recurrir por
problemas de © a escribir un sistema operativo que simulaba UNIX sobre un PC de la época que no
tenía ni siquiera disco duro: el MINIX. Uno de sus seguidores era Linus Torvals, que lo reescribió ya
que era bastante limitado, usando las características avanzadas del procesador 80386 (entre otras
permitía implementar memoria virtual).
Gracias a la explosión del fenómeno Internet surgieron multitud de colaboradores en todo el
mundo que escribieron todo tipo de drivers para el nuevo sistema operativo que se dio a conocer
con LINUX y se convirtió en el clónico de Unix más completo que existe en el mundo del PC. Gracias
a la utilización de programas GNU se dotaba a Linux de numerosas aplicaciones y herramientas de
desarrollo sin tener que recurrir en ningún momento al software comercial.
Así como Windows 3.x y Windows 95, los cuales se ejecutan en procesadores Intel, Windows NT,
2000 y XP también de Microsoft, son sistemas operativos avanzados que se ejecuta en una amplia
variedad de plataformas hardware.
11.11.1. Windows 95
El sistema operativo Windows 95 representa un gran avance sobre su precursor el Windows 3.1.
Además de su nueva interfaz de usuario, incluye un importante número de mejoras internas. Quizás
la más importante sea el soporte de aplicaciones de 32 bits, lo que significa que aplicaciones escritas
específicamente para este sistema operativo se ejecutarán mucho más rápido. Aunque Windows 95
puede ejecutar viejas aplicaciones Windows y DOS, ha eliminado esencialmente la capa del DOS de
su plataforma, con lo cual no adolece de las antiguas limitaciones del DOS (como el límite de 640Kb
de memoria principal, los nombres de ficheros de 8 caracteres...).
Fat32 es una nueva versión de la tabla de alocación de ficheros (FAT) disponible en Windows 95
OSR2 y Windows 98. La FAT32 aumenta el número de bits usados para direccionar clusters y a su
vez reduce la medida de cada cluster. El resultado es que puede soportar discos más grandes (hasta
2 Terabytes) y un almacenamiento más eficiente (menor espacio inutilizado).
11.11.2. Windows 98
En su apariencia es muy similar a Windows 95, originalmente se llamó Memphis, luego Windo-
ws97 y posteriormente, como se retrasó su aparición hasta 1998, Windows 98.
Windows 98 ofrece soporte a un gran número de nuevas tecnologías, incluyendo FAT32, AGP,
MMX, USB, DVD Y ACPI. Su característica más visible es el Active Desktop, el cual integra el visua-
lizador web (Internet Explorer) con el sistema operativo. Desde el punto de vista del usuario no hay
diferencia entre acceder a un documento residente localmente en el disco duro del usuario o en un
servidor web en cualquier lugar del mundo.
11.11.3. Windows NT
Presenta las siguientes características:
– Windows NT es un sistema operativo independiente del MS-DOS.
– Adopta la interface de Windows 95.
– Interface integrada con Internet mediante el Microsoft Internet Explorer, también incluye la
posibilidad de ser instalado como servidor de Internet gracias a su módulo Internet Informa-
tion Server 2.0.
– Permite trabajar con varios sistemas de ficheros: FAT, NTFS y CDFS.
– Implementación de sistemas de definición de los entornos de trabajo de los usuarios a través
de los perfiles de los usuarios y las directivas del sistema.
– Servicios y utilidades para centralizar el control y administración de los usuarios de una red,
características y niveles de acceso.
– Cumple el estándar de seguridad con nivel C2 (sólo en el sistema de archivos NTFS):
* Mecanismo de acceso seguro requiere que los usuarios se identifiquen introduciendo un
único y exclusivo identificador de acceso (nombre) y una contraseña antes de que les
sea permitido el acceso al sistema.
* Control de acceso discrecional que permite al dueño de un recurso determinar quién
puede acceder al recurso y lo que puede hacer con él.
* La auditoría proporciona la posibilidad de detectar y registrar eventos importantes rela-
cionados con la seguridad de cualquier intento de crear o acceder o eliminar recursos
del sistema.
* La protección de memoria evita que cualquiera lea información escrita por otra persona,
incluso después de que una estructura de datos haya sido devuelta al sistema operativo.
La memoria es reinicializada antes de volver a ser utilizada.
– Presenta funcionalidades para la utilización en equipos portátiles.
– Incorpora utilidades de copia de seguridad, soporte a sistemas de alimentación ininterrum-
pida y tolerancia a fallos como sistemas de protección física de los datos.
– Trabaja con instrucciones y direccionamiento de 32 bit con lo que se puede obtener un
máximo de 4Gb de direccionamiento RAM.
– Posee protección del espacio de direccionamiento respecto del resto de procesos del siste-
ma, incluyendo aplicaciones de 16 bits. Esto proporciona una total independencia de cada
programa en ejecución, con lo que si se produce un error de ejecución, esto no afectará al
resto de programas ni al sistema operativo.
– Gestión de multitarea preemptiva.
– Soporte de multithreading. Un proceso puede subdividirse en varios threads o hilos de
ejecución simultáneos para aprovechar mejor la multitarea, ya que Windows NT asigna CPU
a cada thread independientemente del proceso al que corresponda.
– Soporte de multiprocesadores simétricos. Windows NT soporta equipos con más de un
procesador. El sistema operativo se encarga de asignar los diferentes threads que tiene en
ejecución a los diferentes procesadores, aunque éstos pertenezcan al mismo proceso. Hay
que diferenciar el soporte a multiprocesadores simétricos del soporte a multiprocesadores
asimétricos, donde el sistema operativo se asigna un procesador sólo para su uso, mientras
el resto de procesadores se utilizan para las aplicaciones de usuarios. Este segundo método
de soporte de multiprocesadores es menos eficiente, ya que se pierde el tiempo de CPU en
que el sistema operativo no necesita ejecutar nada.
– Soporte de múltiples plataformas; INTEL, RISC (MIPS, ALPHA, PowerPC). En todas estas
arquitecturas Windows NT tiene el mismo aspecto, siendo la arquitectura transparente para
el usuario.
– Diseño y soporte de procedimientos con llamadas remotas, es decir, aplicaciones cliente/servidor.
– Soporte para diferentes protocolos de red: TCP/IP (DHCP, WINS, DNS, PPP, PPTP, SLIP),
NetBEUI, NWLink, DLC, AppleTalk, lo que nos permitirá interactuar con cualquier tipo de
máquina o red que soporte alguno de estos protocolos.
– Integración de los servicios WINS (Windows Internet Name Service) y DNS (Domain Name
System) que constituyen una especie de DNS dinámico.
– Windows NT permite el acceso a clientes que no sean Windows NT, como Windows 3.11,
Windows para trabajo en grupo, MS-DOS, OS/2, Novell NetWare o Macintosh (sólo a servi-
dores Windows NT Server).
– Posibilidad de conexión remota desde o hacia otros equipos vía el servicio RAS, el cual per-
mite actuar como si estuviéramos conectados localmente a la red.
– Administración de toda la red desde un solo equipo. Esta red puede estar compuesta por
equipos Windows NT, Windows 95, Windows 3.11 o Windows para trabajo en grupo.
– Soporte a aplicaciones de otros sistemas operativos: MS-DOS, POSIX (UNIX), aplicaciones OS/2
en modo carácter (no gráficas), Windows 16 bits, Windows 95. Existe la posibilidad de añadir
mediante unos módulos adicionales soporte a aplicaciones de otros sistemas operativos.
– Incluye la tecnología API OpenGL de alto rendimiento para gráficos tridimensionales en color.
Ofrece soporte a las API de 16 y 32 bits para las funciones de Video for Windows 1.1.
– Incluye soporte estándar UNICODE.
– Ofrece emulación de procesador 486 para que se puedan ejecutar aplicaciones 386-exten-
didas de 16 bits sobre sistemas RISC.
ESQUEMA INICIAL
2. Ofimática
2.1. Introducción y definición
2.2. Ámbito de aplicación
2.3. Evolución histórica
2.3.1. Primera fase (1975-1980)
2.3.2. Segunda fase (1980-1990)
2.3.3. Tercera fase (a partir de 1990)
2.3.4. Tendencias tecnológicas actuales
2.4. Suites ofimáticas
2.5. Funcionalidades básicas comunes
2.5.1. Botoneras
2.5.2. Automatización de tareas mediante macros
2.5.3. Lenguaje de programación
2.5.4. Interfaces gráficas de usuario (GUI: Graphical User Interface)
2.5.5. Diversos niveles de ayuda
2.5.6. Importación y exportación
2.5.7. Distintos niveles de visualización
2.5.8. Incrustación y vinculación de objetos
3. Procesadores de texto
3.1. Definición
3.2. Introducción histórica
3.3. Las fuentes tipográficas
3.4. Funcionalidades básicas
3.4.1. Funciones de diseño de página
3.4.2. Funciones de edición de texto
3.4.3. Funciones gráficas
3.4.4. Funciones avanzadas
3.5. Hypertexto
3.6. WYSIWYG
3.7. Normas y estándares aplicables más importantes
3.8. Autoedición
3.8.1. Definición
3.8.2. Conceptos y funcionalidades básicas
4. Hojas de cálculo
4.1. Introducción y definición
4.2. Breve evolución histórica
4.3. Conceptos básicos
4.4. Características y funcionalidades
5. Bases de datos
5.1. Definición y conceptos básicos
5.2. Evolución histórica
5.3. Conceptos y funcionalidades básicos
5.4. Arquitecturas de bases de datos
5.4.1. Modelo relacional
5.4.2. Modelo de lista invertida
5.4.3. Modelo jerárquico
5.4.4. Modelo de red
El proceso de información es una de las funciones básicas de la oficina. Comprende todo tipo
de tratamiento de la información, como la redacción de informes y cartas, la generación y revisión de
documentación, la adquisición, almacenamiento y recuperación de información, el cálculo, el análisis
de material, lectura de textos, etc.
La principal función del proceso informativo es tener la información disponible para cualquier ne-
cesidad de la organización. Para ello es necesario tratarla y presentarla en el formato y soporte más
adecuados y así poder extraer el conocimiento más relevante en cada ocasión.
La oficina comprende muchos conceptos diferentes de información, tecnologías de procesamien-
to y medios de almacenamiento y comunicación. Los conceptos de información incluyen nociones
como cartas, memorandos, formularios, informes y gráficos. Las tecnologías de proceso que se pue-
den encontrar en la oficina van desde máquinas de escribir, copiadoras, dictáfonos y calculadoras
hasta ordenadores especializados, archivos, estanterías, mesas, papeles, cintas magnéticas, discos,
etc., que son alguno de los medios de almacenamiento en una oficina. Finalmente, para comunicar y
diseminar la información se utilizan cosas como el teléfono, correo, correo electrónico, conversacio-
nes, mensajes grabados, medios visuales, etc.
Como conclusión podemos extraer que los sistemas de información de la oficina son realmente
complejos.
2. OFIMÁTICA
El software estándar más difundido está compuesto por aplicaciones del área de la ofimática,
siendo las principales las siguientes:
– Procesador de textos.
– Hoja electrónica de cálculo.
– Gestor de base de datos.
– Gestor de gráficos.
– Agendas y organizadores personales.
– Sistemas de trabajo en grupo.
Estas aplicaciones comunes se agrupan en paquetes de software que se conocen como paque-
tes de software integrado. Un paquete de software integrado es, por tanto, el conjunto formado por
varias aplicaciones relacionadas entre sí, que constituyen una unidad operativa.
Este tipo de software, que gozaba de gran aceptación hasta la fecha, comienza a ser desplazado
por las aplicaciones independientes que han evolucionado hacia lo que podemos llamar software inte-
grable, esto es, aplicaciones distintas del mismo o de diferente fabricante que pueden usarse de forma
autónoma, pero que también pueden funcionar dentro de un entorno común permitiendo la interrelación
y compartición de datos, lo que constituía la principal ventaja de los paquetes de software integrado. Con-
cretamente, desde el surgimiento del entorno operativo Windows, los diseñadores de software hacen sus
aplicaciones integrables en ese sistema e intercomunicables con las demás aplicaciones instaladas.
Aunque el software estándar resuelve muchos de los problemas a los que se enfrentan las em-
presas a la hora de automatizar el tratamiento de la información, existen necesidades concretas y
particulares que dicho software estándar no resuelve. En este caso es necesario el desarrollo de un
software a medida, centrado en un objetivo muy específico y generalmente aplicable exclusivamen-
te a la idiosincrasia de una empresa.
El fuerte crecimiento de las prestaciones de los ordenadores personales así como del soft-
ware de aplicación y los precios cada vez más asequibles, están propiciando la rápida entra-
da en el mercado de esta tecnología.
– Herramientas multiplataforma: la evolución tecnológica en cuanto a conectividad y la
creciente necesidad de la integración de los diferentes sistemas existentes, están propi-
ciando el desarrollo de productos capaces de trabajar en diferentes plataformas. De hecho,
numerosos fabricantes se están inclinando hacia la adaptación y desarrollo de sus productos
ofimáticos sobre Java estándar. Esto hace a sus aplicaciones independientes del sistema
operativo o plataforma puesto que del navegador que debería estar instalado en la misma
existe una máquina virtual (“virtual machine”), encargada de interpretar el lenguaje Java
(todo navegador tiene esta característica, independientemente de la plataforma para la que
se haya desarrollado).
– Integración de herramientas ofimáticas: los fabricantes, en su afán por acaparar merca-
do, están lanzando una serie de productos llamados suites, que son grupos de aplicaciones
que, al ser utilizadas conjuntamente, ofrecen, según los fabricantes, ventajas adicionales
en cuanto a integración y facilidad de uso. Un requisito imprescindible es que los distintos
componentes de la suite también se encuentren disponibles en el mercado como productos
independientes, y que éstos figuren en la elite de las aplicaciones ofimáticas del momento.
Uno de los atractivos de estos conjuntos de aplicaciones es que el precio total del mismo
suele ser muy inferior al de la suma de los programas que la forman.
– Objetos y sus propiedades: una de las grandes novedades y tendencias de futuro del soft-
ware actual es la incorporación de los lenguajes orientados a objeto (OOP) en el desarrollo de
aplicaciones ofimáticas. Según esta filosofía todos los elementos que forman una aplicación
son objetos y tienen sus propiedades particulares. Con la incorporación de esta tecnología
ha tomado sentido el botón derecho del ratón que hasta el momento no se utilizaba.
2.5.1. Botoneras
La mayoría de estos productos proporcionan barras de botones que son conjuntos de iconos
organizados de distinta forma dependiendo del producto. Su funcionalidad es la de proporcionar al
usuario un acceso rápido para realizar todas aquellas tareas que podría efectuar a través del teclado
o a través de comandos de menú.
Habitualmente están situados horizontalmente en la parte superior de la pantalla en una o
varias filas y se configuran dinámicamente dependiendo de la operación que se esté realizando.
Por ejemplo, variarán los iconos disponibles si se está dando formato a una celda o si se está
trabajando directamente sobre un gráfico, implementando aquellos que son útiles para la tarea en
cuestión.
Las siguientes funcionalidades suelen estar disponibles:
– Disponibilidad de iconos predefinidos.
– Creación de nuevos iconos.
– Personalización de las barras de iconos.
– Ubicación de la barra de iconos en distintos lugares de la pantalla.
– Ayuda contextual en la barra de estado o de título acerca de la funcionalidad del icono sobre
el cual está situado el puntero del ratón.
– Ajuste de forma automática del bloque a imprimir encajándolo en la página a base de reducir
el tamaño de letra.
– Inclusión de encabezados/pies de página, así como la numeración de las mismas.
3. PROCESADORES DE TEXTO
3.1. DEFINICIÓN
El procesador de textos es la herramienta ofimática más extendida del mercado. Esencialmente
un procesador de textos es un programa de ordenador diseñado para permitir la fácil manipulación
de textos. Conviene diferenciar entre:
– Editores de texto: programas muy sencillos cuyo fin principal es crear ficheros de texto. No
ofrecen la posibilidad de dar formato a un documento, limitándose a representar en pantalla
los caracteres generados por el teclado. Su utilidad principal es la de editar ficheros de da-
tos, escribir programas, etc. Ejemplos: Edit, Edlin, Write, Wordpad, etc.
– Procesadores de texto: programas que permiten dar formato a un texto y realizar un gran nú-
mero de operaciones tales como moverlo, cambiar el tipo de letra e imprimirlo. Los procesadores
más avanzados permiten la inclusión de gráficos, el diseño de página en varias columnas y otras
funcionalidades que se tratarán más adelante. Ejemplos: WordPerfect, Word, WordStar, etc.
– Programas de autoedición: aplicación superior a los procesadores de texto, aunque hoy en
día la frontera es cada vez más difusa. Están orientados a la maquetación y diseño de publi-
caciones tales como periódicos y revistas. Poseen las capacidades de escritura y corrección
de un procesador de textos y su potencia se encuentra en el formato y diseño. Los utilizan
aquellas personas que necesitan capacidades específicas de diseño. Ejemplos: Ventura,
PageMaker, FrameMaker, QuarkXPress, etc.
El término procesadores de texto, también llamados tratamientos de texto, proviene de la
traducción del término inglés Word Processing, que engloba de manera general a todos los programas
que procesan textos. Se utilizan para crear, manejar e imprimir todo tipo de documentos como cartas,
artículos, informes e incluso libros completos. El procesador de textos es la herramienta ofimática
más extendida del mercado.
ARIAL
BOOKMAN OLD STYLE
COURIER
FUTURA
El tamaño de las fuentes se mide en puntos, siendo un punto equivalente a 1/72 pulgadas (1
pulgada = 2,54 cm, aproximadamente).
Las fuentes pueden ser de dos tipos: mapas de bits y vectoriales; se diferencian en la forma en que
se almacenan, las primeras como un conjunto de puntos o píxeles y las últimas como un conjunto de
vectores.
Es muy importante saber esto ya que la calidad del texto viene muy condicionada por el tipo de
fuente que se está utilizando, de modo que al aumentar el tamaño de una fuente de tipo bitmap
puede ocurrir el efecto escalonado que puede apreciarse en la figura, cosa que no ocurriría con una
fuente vectorial, y que es por lo que también se las suele llamar fuentes escalables.
ABC ABC
Fuentes TRUETYPE de 10 y 100 puntos, respectivamente
A la hora de elaborar un documento es usual que queramos destacar ciertas partes del texto
como, por ejemplo, un título, o una frase sobre la que queremos llamar explícitamente la atención del
lector; para ello tenemos los diferentes estilos de letra que a continuación se enumeran:
ESTILO NORMAL
ESTILO NEGRITA
ESTILO CURSIVA
ESTILO SUBRAYADO
Estilos de letra básicos
Además de los estilos de letra básicos los procesadores actuales nos permiten mejorar la ca-
lidad de nuestros textos con una serie de efectos especiales como los que podemos apreciar en la
siguiente imagen.
TACHADO SUPERÍNDICE SUBÍNDICE
VERSALLES
3.5. HYPERTEXTO
El hypertexto es una utilidad de gestión, búsqueda y archivo de información, que permite despla-
zarse de forma no lineal en un documento y/o considerarlo en su globalidad. Es por tanto una filosofía
nueva en el tratamiento de la información. Es el último paso en el desarrollo de los procesadores de
texto. Las aplicaciones de hypertexto se encuentran en las actividades de mantenimiento, archivo,
gestión de documentación técnica o literaria e incluso en la asistencia en línea. Existen numerosos
programas de este tipo y cada vez interesan a un público mayor.
3.6. WYSIWYG
WYSIWYG: iniciales de “What You See is What You Get” (lo que se ve es lo que se obtiene). Uno
de los grandes inconvenientes de algunos programas que trabajan en modo texto es que no represen-
tan fielmente lo que posteriormente se va a obtener sobre el papel. Así, un procesador de textos que
trabaje en este modo no podrá mostrar por pantalla letras en cursiva, ni caracteres de gran tamaño,
mientras que tanto unos como otros se pueden obtener por impresora. En un programa dotado con
interfaz WYSIWYG constantemente se muestra por pantalla lo que finalmente se obtendrá impreso.
Este modo de funcionamiento es imprescindible en programas de dibujo o de autoedición, y cada vez
más frecuente en los procesadores de texto.
3.8. AUTOEDICIÓN
3.8.1. Definición
Los paquetes de autoedición son el peldaño superior a los procesadores de texto. El objetivo de
los programas de autoedición es crear documentos de forma electrónica mezclando textos e imáge-
nes, con la finalidad de imprimir el resultado normalmente en una imprenta comercial. Poseen las
capacidades de escritura y corrección de un procesador de textos pero su potencial se encuentra en
el formato y el diseño.
Con la introducción de los sistemas informáticos en la composición de textos, no sólo se realiza
la composición de líneas, calculándose los espaciados entre caracteres y palabras sino que se agru-
pan las líneas en otras unidades mayores, párrafos, epígrafes y capítulos, distribuidos en columnas y
éstas en páginas con las que se forman revistas y libros. La presentación de textos ha evolucionado
a medida que los sistemas de composición han hecho posible la introducción de gráficos, dibujos y
fotografías.
* Viñeta: área rectangular en la que pueden incluirse textos, dibujos vectoriales o imáge-
nes (TIF, PCX, etc.). En las viñetas sólo puede ponerse un elemento a la vez: un texto,
un dibujo o una imagen.
* Incorporación de dibujos, fotografías, etc.: incluye el control de su apariencia, las co-
rrecciones necesarias en función de los dispositivos de lectura de imágenes y del proce-
so de impresión (papeles, tintas, etc.).
* Bullet: caracteres gráficos que se colocan al comienzo de un párrafo seguidos de un
texto.
* Kerning: es una funcionalidad que permite ajustar el espacio entre dos letras de tamaño
no proporcional.
– Control de las publicaciones: incluye las limitaciones del programa (número máximo
de colores, número de páginas, número de capítulos, etc.), así como las facilidades
para reagrupar las partes de la publicación, para imprimir una parte –que puede abarcar
ficheros diferentes–, para obtener copias de borrador fiables, para ver el conjunto de la
publicación, etc.
– Editor de dibujos vectoriales: posee unas herramientas de dibujo comparables con cual-
quiera de los programas gráficos del mercado. También es muy interesante que los objetos
dibujados puedan transferir entre ellos sus propiedades, formando grupos que puedan ser
tratados como tales.
– Esquematizador: herramienta que genera esquemas que sirven de índices con el fin de
guiar la publicación. Esta opción podría ocultar partes de la publicación para mejorar el ren-
dimiento del sistema.
– Servicios para eventual cambio de programa: filtros de importación a otros programas de
maquetación que conserven el formato para facilitar el trabajo de traducir y organizar todo el
material anterior, programas de actualización competitiva, etc.
4. HOJAS DE CÁLCULO
5. BASES DE DATOS
Otro punto importante es la integridad de los datos, es decir, que si un dato se encuentra
almacenado en varios sitios y se borra o se modifica, este borrado o modificación se refleje en todos
y cada uno de los sitios donde este dato está almacenado. El hecho de que un dato se encuentre al-
macenado en distintos sitios se denomina redundancia; se debe tender a minimizar la redundancia,
aunque en ocasiones puede ser necesaria.
Con estas ideas podemos afinar nuestra definición de base de datos:
Una base de datos puede definirse como una colección de datos interrelacio-
nados almacenados en conjunto sin redundancias perjudiciales o innecesarias; los
datos se almacenan de modo que resulten independientes de los programas que
los usan y se emplean métodos bien determinados para incluir datos nuevos y para
modificar o extraer datos almacenados.
datos correspondientes de localización, etc. (tabla “padre” con una clave primaria) y una
segunda base de datos con cuentas corrientes relacionadas con sus correspondientes
sucursales (tabla “hija” con una clave secundaria), el sistema gestor de dichas bases de
datos no permitiría añadir una cuenta corriente en una sucursal que no existiera previa-
mente en la tabla “padre” o bien no permitiría borrar una sucursal que tuviese cuentas
corrientes en la tabla “hija”.
PEDIDOS
001 10 1500
Casi todos los productos de bases de datos desarrollados en años recientes se basan en lo que
se conoce como el enfoque relacional. Un sistema relacional es aquel en que:
– El usuario percibe los datos en forma de tablas.
– Los operadores al alcance del usuario generan tablas nuevas a partir de las existentes.
Los conceptos básicos del enfoque relacional son:
– Dominio: conjunto de valores del mismo tipo, caracterizados por un nombre.
– Relación: subconjunto del producto cartesiano de N dominios, no necesariamente distinto,
caracterizado por un nombre.
– Atributo: columna de una relación que representa una propiedad de la misma, y que está
caracterizado por su nombre. Un atributo toma sus valores de un dominio.
– Tabla: forma de representar una relación. Es una vista de una base de datos. Se denomina
vista a la imagen lógica de una o varias bases de datos y que no necesariamente corres-
ponden con la imagen física de la misma. La vista puede estar limitada exclusivamente a los
registros que interesan al usuario, o bien a los registros que le estén permitidos acceder en
función de la seguridad de la BD.
– Clave: la clave de una relación es un atributo o conjunto de atributos que distingue unívoca-
mente las tuplas de una relación. En el ejemplo anterior la clave sería el Nº Pedido. De todas
las posibles claves (claves candidatas) se escoge una que será la clave primaria.
– Normalización: es un modo de realizar un buen diseño de la estructura lógica de cualquier
sistema de información. Codd distinguió tres formas normales 1ª FN, 2ª FN y 3ª FN. En la
actualidad se definen además la FNBC (Forma Normal de Boyce-Codd), 4ª FN y 5ª FN o
Forma Normal de Proyección/Reunión (PJ/NF). Las formas normales se organizan de la si-
guiente manera según no establezcan ninguna restricción a la forma normal más restrictiva
(la 5ª FN).
La integridad se trata de forma muy parecida al modelo jerárquico. Podemos garantizar ciertas
formas de integridad referencial en virtud a la estructura de datos primaria: la liga. Según esto no se
puede insertar un hijo si no existe su padre y se cumplen otras condiciones para claves ajenas.
Un producto típico basado en el modelo de red es CA-IDMS/DB de Computer
Associates International Inc.
6.1. DEFINICIÓN
La imagen y la comunicación tienen cada vez más importancia. El hecho de que una idea o unos
resultados se transmitan de forma brillante y convincente es casi tan importante como la idea o los
resultados mismos.
Esta necesidad ofimática vienen a cubrirla los paquetes de gráficos y presentaciones. Estos han
evolucionado en los últimos años gracias al crecimiento de las prestaciones de los ordenadores per-
sonales y al desarrollo de la industria del software.
Los programas de gráficos y presentaciones soportan diagramas representativos de datos numé-
ricos a modo de hojas de cálculo, combinándolos con texto y/o gráficos. Estos programas ofrecen la
posibilidad de generar diapositivas, notas para el ponente y la proyección del documento en la panta-
lla de un ordenador a modo de película, o bien, apoyándose en hardware especial, como las pantallas
de cristal líquido o los cañones, se pueden realizar demostraciones por pantalla.
En los paquetes gráficos encontramos algunas diferencias debido fundamentalmente a la relati-
va ‘especialización’ que se les ha querido conferir. Algunos de ellos son básicamente programas de
presentaciones, otros son potentes programas de dibujos que incluyen funciones de manipulación de
fotos y animación.
Dentro de la gran cantidad de software existente para gráficos, un grupo muy importante lo cons-
tituyen las aplicaciones de gráficos estadísticos o gráficos de gestión, cuyas posibilidades están
limitadas básicamente a la obtención de las gráficas usadas en los documentos y presentaciones del
ámbito empresarial, incluyendo los diagramas de barras, poligonales y de sectores.
Normalmente estas aplicaciones tienen la posibilidad de comunicarse con otras (hojas de cálcu-
lo, bases de datos, etc.), de donde obtienen los datos cuya representación gráfica se desea, e incluso
en muchos casos van integrados con dichas aplicaciones.
Entre los muchos paquetes gráficos existentes en la actualidad podemos señalar entre los más
importantes los siguientes:
– HARVARD GRAPHICS: programa estándar para la creación, diseño y presentación de gráfi-
cos estadísticos y de gestión.
– POWERPOINT: programa de presentación para Windows. Es compatible con todos los gráfi-
cos creados en este entorno.
– PICTURE IT: paquete de presentaciones basado en modelos predefinidos que el usuario
retoca según sus necesidades.
– COREL DRAW: programa de ilustración para Windows que incluye siete módulos para el
entorno gráfico: CorelDraw, diagramas CorelChart, edición de fotos CorelPhoto-Paint, vec-
torización/OCR, presentaciones CorelShow, animación CorelMove y edición de mapas de bit
CorelTrace.
– MICROGRAPH DESIGNER: programa de ilustración también para Windows que incluye una
aplicación de diseño bitmap, presentaciones y una utilidad de control de impresora.
– GRAPHICS WORKS de MICROGRAFX: ofrece cinco programas completos en un solo pa-
quete: Draw, Photomagic, Orgchart, Winchart y Slideshow.
– Además, existe la versión de programas de gráficos de Lotus con el FreeLance y el potente
Adobe Ilustrator.
Todos los miembros de cada grupo de trabajo pueden utilizar todos los recursos físicos (periféri-
cos) de su grupo ya que Mª Jesús imprime sus documentos en la impresora que tiene instalada Adela
en su equipo, así como esta última tiene acceso al escáner conectado en el ordenador de Francisco.
Además, todos realizan las copias de seguridad de sus documentos en la unidad de cinta conectada
al equipo de este último.
Sin embargo no sólo pueden acceder a los recursos de su propio grupo, sino que también pueden
acceder a los recursos de otro grupo, ya que sabemos que en esta empresa Francisco se conecta a
Internet para buscar nuevas ilustraciones a través del módem/fax conectado al equipo de Manuel,
donde este último recibe el correo electrónico que le envía el equipo de vendedores diariamente.
Como puede observar los recursos pueden compartirse incluso entre distintos grupos de trabajo.
Cuáles son los grupos de trabajo y a qué recursos tienen acceso es algo que debe determinar una
persona cualificada y a la que se denomina administrador del sistema.
– Formato digital: la mayor parte de los sistemas de correo electrónico se reciben en formato
digital, lo cual por sí mismo tiene un gran valor y en muchos casos evita volver a teclear el
texto, con el consiguiente ahorro de mano de obra.
– Almacenamiento digital: los mensajes de correo electrónico se reciben en formato digital
y no es necesario imprimirlos para su lectura. Se consiguen ahorros tanto en papel y su
manipulación, como sobre todo de su almacenamiento. Asimismo se disminuyen conside-
rablemente los tiempos asociados con la recuperación de información, al ser más eficaz en
los sistemas informáticos que en los archivos de papel.
8.2. GENERACIONES
El correo electrónico corporativo está pasando de los sistemas basados en host (ordenador central)
a arquitecturas cliente/servidor en red local, pudiendo reconocerse tres generaciones de sistemas:
8.2.1. Host
Son sistemas de correo basados en un ordenador central accedido a través de terminales. El
elemento activo es el Host, que contiene tanto los buzones de correo como el software para mane-
jarlo. Entre sus ventajas se incluyen la administración centralizada y el directorio centralizado. Como
inconveniente, unas interfases de usuario basadas en carácter y con pocas posibilidades de anexar
ficheros, y una interfaz de usuario pobre.
8.3. DIRECTORIO
Para enviar un mensaje de correo electrónico debe especificarse la dirección del destinatario con
objeto de que el sistema sepa cómo hacérselo llegar. El usuario puede saber de memoria las direccio-
nes o, más normalmente, contar con una aplicación donde se encuentren las direcciones electrónicas
y pueda recuperarlas por criterios cómodos, tales como nombre, abreviatura o iniciales, por ejemplo.
En un sistema de correo electrónico suelen existir dos niveles de directorios: el local al usuario, con
las direcciones personales; y el corporativo, típicamente común a todas las ubicaciones, resultante de
un proceso de actualización periódico.
El problema es que, en una red local, no solamente se dispone del directorio de correo electróni-
co, sino que también existen otros directorios que no se encuentran integrados. Tradicionalmente el
directorio se ha visto como un instrumento para definir usuarios en la red local o como una aplicación
específica del tipo “guía telefónica”.
El reto está en conseguir que el usuario teclee una sola vez su nombre y palabra de paso para
acceder a todos los servicios de la red, ya sean servidor de red, base de datos, correo electrónico,
Internet, host, etc. De igual forma, esto simplifica la administración del sistema, en cuanto a altas,
modificaciones y bajas de usuarios. La tendencia de la industria es basarse en un producto que so-
porte APIs de acceso para el resto de las aplicaciones.
El directorio debe aparecer como un único entorno local a todos los usuarios, sin barreras entre
los sistemas. Debe ser independiente de su localización, soportando el movimiento de recursos y el
acceso de usuarios desde cualquier ubicación física. Las vistas del directorio deben ser adaptadas a
los requerimientos de los usuarios, incluyendo filtrados, reorganización lógica y pseudónimos. Ade-
más, sobre la estructura del directorio es importante disponer de facilidades de búsqueda.
8.4. PUBLICACIÓN
El correo electrónico, como sistema de almacenamiento de información, tiene sus limitaciones.
Quizás la más importante es que sólo está al alcance de una persona. Para obviarlo existen las bases
de datos documentales con información compartida, donde además de ser accesibles por varios
usuarios en modo lectura, pueden recibir la aportación de todos ellos. Las bases de datos documen-
tales conceden gran importancia a los procedimientos de catalogación de la información, tales como
índices o tesaurus.
Estos sistemas de información son pasivos por naturaleza. El usuario ha de navegar a través suya
para averiguar las nuevas incorporaciones que puedan serle de interés. Para resolverlo han aparecido
sistemas que las combinan con la mensajería, de forma que puede informarse a los interesados de
la aparición de nueva información, de manera automática. Típicamente, cada usuario tiene un perfil
de temas de interés, y un programa periódico (agente) le envía un mensaje que contiene enlaces de
hipertexto con las referencias. En cualquier caso, es el propio usuario quien controla la cantidad y
calidad de información que obtiene, evitando las avalanchas que reducen la productividad.
Hoy en día gran parte de la utilización de Internet se centra en la difusión de información conte-
nida en los Webs. En este sentido, Internet puede verse como una gran base de datos documental,
con sus sistemas de búsqueda pasivos (Yahoo, Olé, Altavista, etc.) o activos (agentes programados).
El usuario trabaja en colaboración con el grupo, muchas veces anónimo, que le aporta la información
necesaria para su tarea. Estos grandes repositorios documentales están dando lugar a las bases de
datos de conocimiento corporativo.
ESQUEMA INICIAL
1. Introducción
2. Conceptos básicos
2.1. Definición y Características
2.2. Componentes
2.3. Recursos de Red
2.4. Tipos de Conexión
2.5. Protocolos
2.6. Topología
2.7. Tecnología
2.8. Modos de Transmisión
2.9. Medios de Transmisión
2.10. Flujo de Información
2.11. Conmutación
2.12. Métodos de Acceso
4. Control de la comunicación
4.1. Secuenciación
4.2. Control de errores
4.3. Control de flujo
4.4. Fragmentación
4.5. Gestión de configuración
4.6. Optimización del rendimiento
4.7. Gestión de la seguridad
5. Métodos de acceso
6. Interconexión de redes
7. Clasificación de redes
7.1. Criterios de clasificación
7.2. Por la distribución de tareas en los equipos
7.3. Por extensión geográfica
7.4. Por el tipo de usuarios
7.5. Por su topología
7.6. Por su tecnología
7.7. Por las técnicas de transmisión
7.8. Por el medio de transmisión
8. Arquitectura de redes
8.1. Conceptos y principios
8.2. Servicios orientados a conexión y sin conexión
8.3. Modelo de referencia para la interconexión de sistemas abiertos
8.4. Modelo OSI (Open Systems Interconnection)
8.4.1. Nivel nº 1: Físico
8.4.2. Nivel nº 2: Enlace
8.4.3. Nivel nº 3: Red
1. INTRODUCCIÓN
La evolución tecnológica del hardware y software están permitiendo actualmente planteamientos
desconocidos hace una década. Entre ellos destacan los sistemas de información con un esquema
distribuido, que permiten dimensionar más ajustadamente la infraestructura informática de una orga-
nización a sus necesidades reales, consiguiéndose ventajas económicas apreciables.
Los factores principales que permiten esta evolución son:
– La disminución de costos de los dispositivos físicos.
– La capacidad creciente de los ordenadores personales.
– La exigencia de optimización de uso por parte de los usuarios.
Por otra parte, la creciente complejidad de los sistemas de información hace que las aplicacio-
nes informáticas no se puedan concebir de modo independiente y aislado, aunque éstas residan en
equipos distintos.
La integración de aplicaciones y la garantía de un funcionamiento eficaz requiere
un gran trasiego de información. He aquí donde las redes de comunicación de datos y
en particular las redes de ordenadores constituyen un punto crítico en este campo.
La integración de sistemas y aplicaciones se lleva a cabo por medio de redes de ordenadores que
se convierten así en tema crucial para la solución de modernos sistemas de información.
Los sistemas aislados pocas veces resultan adecuados para solventar los requerimientos de
usuario que normalmente necesitan una conexión rápida y flexible con multitud de aplicaciones. Este
hecho queda demostrado mediante un dato significativo: a finales de los 90 la base instalada de
redes de ordenadores a nivel mundial superaba los 2 millones, siendo la infraestructura de comuni-
caciones más generalizada.
Veamos un ejemplo típico de trabajo en red. Supongamos una empresa de distribución que
atiende diariamente las peticiones de numerosos clientes.
Los vendedores utilizan sus ordenadores para comunicar a cada cliente las ofertas del día con
sus precios y descuentos. Estos ordenadores están conectados en red, lo que permite tomar pedidos
directamente, consultar la disponibilidad en almacenes, recibir instrucciones, etc.
A su vez el departamento de contabilidad en la oficina central puede generar automáticamente,
teniendo en cuenta las ventas mensuales de cada vendedor, las nóminas, estadísticas, etc.
2. CONCEPTOS BÁSICOS
Una red de ordenadores está formada por dos o más ordenadores interconectados.
De forma más técnica podríamos decir que una red local es un sistema de comunicación que
permite que un número de dispositivos informáticos situados a distancias moderadas se comuniquen
entre ellos a velocidad elevada y bajo coste.
La arquitectura de red es el conjunto de reglas que regula la interconexión
entre los distintos componentes de una red.
Normalmente enlazan terminales, ordenadores personales, servidores y otros recursos dentro de un
área confinada en un solo edificio o grupo de ellos comprendidos en un área de pocos kilómetros (de ahí
el término “red de área local” o LAN). Pueden conectarse también a ordenadores y a redes de comunica-
ción nacionales e internacionales, formando entonces redes mayores. La velocidad de transmisión varía
actualmente desde 1 Mb/s hasta los 1000 Mb/s dependiendo del sistema y la tecnología utilizada.
Aunque la principal aplicación de estas redes, consiste en la transmisión de datos no deben
descartarse la transmisión de voz y de vídeo.
Las características típicas de las redes de área local son las siguientes:
– Área de extensión moderada. Alcanza algunos kilómetros, comprendiendo uno o varios edificios.
– Organización única. Es de propiedad privada, configurada y controlada por la organización,
sin regularización oficial.
– Velocidad comprendida entre 1 y 1000 Mbs, relativamente alta.
– Muy fiable: presenta una baja tasa de errores.
– Alta modularidad: facilidad de expansión y crecimiento.
Por todo ello, una red local permite:
– Al compartir recursos, reduce los gastos que conlleva la adquisición de hardware de alto precio.
– También posibilita compartir programas e información.
– Facilitar las necesidades de comunicación interna y externa.
– Ayuda a la integración de todos los aspectos de los sistemas de información, en particular,
transformando un grupo de microordenadores no muy potentes en un sistema de proceso
distribuido de gran potencia.
2.2. COMPONENTES
Desde el punto de vista de la comunicación, los componentes básicos necesarios en una red
son los siguientes:
– Emisor: El cual genera y emite la información.
– Codificador: Convierte los datos que se envían en un mensaje, es decir transforma la infor-
mación a un formato adecuado para que se pueda transmitir.
– Medio de transmisión: Proporciona la vía a través de la cual se envía el mensaje.
– Decodificador: Convierte los datos recibidos de forma que el receptor pueda procesarlos.
– Receptor: Destinatario de la información enviada, y en definitiva el que la utiliza de forma
efectiva.
Desde una perspectiva tecnológica, los elementos que conforman una red son:
– Nodo: Término empleado en el ámbito de grandes ordenadores, o en su defecto de grandes
redes, en referencia a la intersección de un enlace de comunicaciones intermedio entre
emisor y receptor.
– Estación de trabajo o Host: Describe cualquier microordenador, ordenador personal, ter-
minal y todos los periféricos conectados a estos o que trabajan de forma independiente.
– Servidor: Ordenador que realiza la administración de la red y los periféricos. Este ordenador
está provisto de ciertas funciones para “servir” a los ordenadores de la red, tales como:
almacenamiento en disco, acceso a impresoras, cintas de backup, dispositivos de comuni-
caciones, etc.
Sus funciones principales son controlar y gestionar el hardware y el software de la red, per-
mitiendo el uso de ambos por los ordenadores que la componen. El servidor también protege
la información contra accesos no permitidos y gestiona el almacenamiento de la misma.
– Conexiones: El eje central de una red es el sistema que conecta las estaciones de trabajo
al servidor. Este sistema es una combinación de cables y arquitectura hardware.
2.5. PROTOCOLOS
En el ámbito diplomático un protocolo es un conjunto de reglas o métodos aceptados para llevar
a cabo cierta actividad. En una red, los ordenadores deben cumplir los protocolos establecidos para
realizar la comunicación.
Los protocolos de red especifican conjuntos de reglas y convenciones acepta-
das que deben cumplir los equipos de una para transmitir y recibir datos en forma
ordenada.
En función de la confiabilidad de la comunicación, los protocolos se clasifican en:
– Confiables: Garantizan la entrega de los datos. Para ello es necesario un mecanismo de
intercambio de mensajes de confirmación entre emisor y receptor, además de otros de com-
probación de errores.
– No confiables: No garantiza la correcta entrega de los datos. Además no se informa a la
aplicación que intenta comunicarse por la red de cuándo se produce un fallo. Estos protoco-
los son más fáciles de diseñar y utilizar, ocupando menos ancho de banda en sus comunica-
ciones. Su uso se justifica en términos de costos.
Siempre se pueden usar combinaciones de ambos tipos, por ejemplo en TCP/IP existe la siguien-
te combinación: el protocolo TCP es confiable y funciona sobre IP que es no confiable.
Por otra parte, el medio utilizado para conectar los puntos de la red determinará los siguientes
aspectos de ésta:
– La velocidad máxima de transferencia de información.
– Longitud del segmento: distancia a la cual es posible transmitir sin utilizar repetidores de señal.
– El grado de sensibilidad a interferencias.
– El mayor o menor coste del cableado y de las interfaces de conexión.
– Las posibilidades de integración voz/datos así como la posibilidad de utilizar banda ancha.
Existen diferentes tipos de medios de transmisión. La elección de uno depende del tamaño de la
red, del ancho de banda deseado para la red y del coste del medio.
Cada medio de transmisión tiene sus ventajas e inconvenientes; no existe un modelo ideal con
una serie de características definidas. Las principales diferencias entre los distintos medios de trans-
misión radican en la anchura de banda permitida (y consecuentemente en el rendimiento máximo de
transmisión), su grado de inmunidad frente a interferencias electromagnéticas y la relación entre la
amortiguación de la señal y la distancia recorrida (necesidad de repetidores).
2.6. TOPOLOGÍA
El aspecto más primario de una red lo constituyen los elementos físicos que la forman y la disposi-
ción que adoptan unos con relación a otros. La forma de interconectar las estaciones de la red mediante
recursos de comunicación es lo que se conoce como estructura topológica o topología de la red.
La topología de una red hace referencia a la disposición física o configuración
geométrica de las conexiones entre los ordenadores.
2.7. TECNOLOGÍA
Los términos topología y tecnología están muy relacionados en cuanto que uno desarrolla al otro:
Una tecnología de red es una forma práctica de implementar cierta topología.
Los ordenadores se conectan en red utilizando una tecnología que determina el diseño y funcio-
nalidad de elementos como la tarjeta de red, los cables, conectores, protocolos, etc.
En general, las redes ofrecen la posibilidad de trabajar con dos canales de comunicación por
cada proceso de comunicación. Uno maneja la transferencia de datos y otro se utiliza para informa-
ción de control o datos urgentes, como los códigos de escape, con más prioridad que el primero.
Algunos protocolos de internet proporcionan campos para almacenar estos datos urgentes.
2.11. CONMUTACIÓN
Independientemente del flujo de la información, las redes utilizan comunicación conmutada, que
permite compartir líneas físicas de comunicación. Si no se utilizase la comunicación conmutada, se
necesitaría una línea desde un ordenador hasta todos los demás. Esto es inviable a medida que el
número de ordenadores crece (el número de líneas crecería exponencialmente).
La comunicación conmutada presenta dos modalidades:
– Conmutación de circuitos: Se crea una ruta única, ininterrumpida y exclusiva entre dos dis-
positivos (también se denomina punto a punto). La línea se libera al cortar la comunicación. El
principio es que las líneas se comparten entre los dispositivos, pero cada uno debe esperar su
turno. Ejemplo: las líneas de teléfono o un conmutador entre dos ordenadores y una impresora.
– Conmutación de paquetes: Sistema utilizado por la mayoría de las redes actuales. La
información se divide en paquetes y se transmiten por la red. Los paquetes no tienen por
qué viajar por el mismo camino ni llegar al destino en orden, lo cual puede suponer un
inconveniente. Además los paquetes deben incluir la dirección del destino. Los protocolos
respectivos serán los responsables del correcto ensamblaje de la información. La principal
ventaja es ser más estable: en efecto, si se cortase un canal, siempre se puede redirigir el
tráfico por rutas alternativas. Un ejemplo tradicional es el sistema de correos.
Esquema general de una red con los equipos terminales (ordenadores de usuario),
la subred (delimitada por la nube) y los nodos que la componen
En una red de conmutación de paquetes existen nodos intermedios entre el emisor y el receptor
entre los cuales fluyen los paquetes para llegar a su destino.
4. CONTROL DE LA COMUNICACIÓN
La transmisión de datos es una operación compleja que requiere cierto nivel de control. Las ope-
raciones necesarias son las siguientes:
4.1. SECUENCIACIÓN
La red puede dividir un mensaje en varias unidades de datos denominadas paquetes para su
envío. El emisor transmite los paquetes en su orden lógico, pero no se garantiza que el receptor los
reciba en la misma secuencia; esto depende del protocolo utilizado. Por lo general los protocolos
orientados a conexión garantizan la misma secuencia de llegada; los protocolos sin conexión, no.
La secuenciación define el orden en que el receptor recibe los paquetes que componen el men-
saje original. Lleguen en orden o no, el receptor debe recombinar los paquetes para formar el mensaje
original. Los protocolos de Internet proporcionan servicios de secuenciación que incluyen los campos
de control necesarios.
4.4. FRAGMENTACIÓN
Aunque los procesos de red dividen los mensajes en paquetes, existen ocasiones en que éstos
deben volver a dividirse para que sean aceptados por algunos servicios. Es el proceso de fragmen-
tación de datos.
La fragmentación aumenta las probabilidades de pérdida de datos, en cuyo caso, además, habría
que reenviar el paquete completo y repetir el proceso de fragmentación, aumentando la carga de
los sistemas. Aunque el control de la fragmentación está incluida en los protocolos de Internet, los
programadores deben conocer el fenómeno para ayudar a reducirlo.
5. MÉTODOS DE ACCESO
Cuando hablamos por teléfono compartimos con la otra persona un medio de comunicación: la
línea telefónica. ¿Qué ocurre si pretendemos hablar a la vez que nuestro interlocutor? Terminamos
sin enterarnos ninguno de los dos.
Una red consiste en un conjunto de ordenadores que comparten un medio por el que transmiten
información. ¿Qué ocurre cuando más de un ordenador intenta transmitir información simultánea-
mente por dicho medio? Se produce lo que se denomina una colisión y se pierde toda información.
6. INTERCONEXIÓN DE REDES
Con frecuencia es necesario conectar dos o más redes entre sí, formando entonces una internet.
Las internets (conexión de varias redes) no toman ninguna topología específica, sino aquéllas de las
redes que las forman.
Para la interconexión de redes se utilizan ciertos dispositivos que veremos a continuación breve-
mente. Para un estudio en profundidad véase el tema 7.
– Repetidores: se usan para superar el problema de la atenuación o pérdida de la señal con
la distancia. Aunque un repetidor podría conectar en teoría dos tipos de medio, en la práctica
recoge las señales eléctricas de un medio y las copia y amplifica en otro similar al primero.
Así una red se puede hacer extensible hasta largas distancias.
– Puentes (Bridges): un puente conecta dos redes A y B que utilizan la misma tecnología, por
ejemplo, Ethernet o ARCNET. Un puente sólo pasa información entre las redes si ésta tiene
como destinatario un ordenador de la otra red. En caso contrario lo ignora, por lo que el
tráfico de una red no se ve afectado por el de la otra.
– Enrutadores (Routers): un router es un dispositivo que conecta dos redes de la misma o
distinta tecnología, por ejemplo, una Ethernet y una Token Ring. Los routers tienen una direc-
ción en la red a diferencia de los puentes (diferencia importante entre ambos dispositivos),
y son parte esencial en grandes redes con distintas tecnologías como internet.
– Compuertas o pasarelas (Gateways): este es un término genérico que puede referirse a
conceptos distintos:
* El primero es como un router, con el mismo significado que explicamos en el apartado
anterior. Este sentido del término está cayendo en desuso.
* El segundo es una compuerta de aplicación: software que traduce los datos entre dis-
tintas aplicaciones de red, por ejemplo, entre dos sistemas de correo electrónico.
– Ordenadores multienlace: ordenador que dispone de varias tarjetas de red. Si las tarjetas
son de distinta tecnología, el ordenador puede servir como router.
Proxy
El proxy es un servidor que conectado normalmente al servidor de acceso a la WWW de un pro-
veedor de acceso, almacena toda la información que los usuarios reciben de la WEB, por tanto, si otro
usuario accede a través del proxy a un sitio previamente visitado, recibirá la información del servidor
proxy en lugar del servidor real.
Un proxy también realiza la función de un servidor especial encargado, entre otras cosas, de cen-
tralizar el tráfico entre Internet y una red privada, de forma que evita que cada una de las máquinas
de la red interior tenga que disponer necesariamente de una conexión directa a la red.
Es decir, un proxy web es utilizado para interceptar la navegación de páginas web por motivos de
seguridad, anonimato, rendimiento, etc.
Un proxy web se puede acceder por una dirección IP que es agregada a un navegador (también
existen programas proxy para evitar el proceso de configuración). Cuando alguien utiliza el navegador,
cualquier acceso a la web realizado desde éste, pasa primero por el servidor proxy. Este paso inter-
medio puede servir para:
– Navegación anónima: El proxy puede configurarse para que la navegación sea de forma
anónima, las páginas destino no conocerán la dirección IP (identificación en internet) del
equipo que las está accediendo; sólo verán la dirección IP del proxy. Si un proxy no está
configurado para ser anónimo se dice que es de navegación transparente.
– Navegación segura: Un proxy se encarga de filtrar o alertar sobre aquellas páginas web
inseguras o filtran el contenido indeseado (por ejemplo, contenido adulto).
– Navegación más rápida: Ya sea porque el proxy tiene una mejor conexión a internet y envía
al navegador más rápido los datos, o porque el proxy funciona como caché, guardando las
páginas más visitadas (o las visitadas recientemente).
– Control del tráfico: Existen programas espías y otros malwares que configuran los ordena-
dores para que todo el tráfico web pase primero por un proxy. Este proxy se encarga de espiar
el tráfico, pudiendo sacar todo tipo de información del usuario. Si los datos (como claves y
tarjetas de crédito) no están cifrados, cualquiera puede leerlos.
Este tipo de proxy también puede enviar publicidad a los ordenadores infectados (publicidad que
no existe en las páginas web originales).
NOTA: Un servidor proxy puede contener mecanismos de seguridad (firewall
o cortafuegos) que impiden accesos no autorizados desde el exterior hacia la red
privada.
2. CONEXIÓN
MEDIANTE PROXY
SERVIDOR PROXY
Esquema de conexión a internet directa y mediante proxy. En el primer caso la conexión es inmediata (sin intermediarios) entre
el equipo y la red, mientras que en el segundo el servidor proxy actúa como un agente interpuesto en dicha comunicación.
7. CLASIFICACIÓN DE REDES
En las redes par a par todos los ordenadores tienen la misma importancia
– Redes cliente/servidor: la red cliente/servidor tiene al menos una estación de trabajo con-
figurada como un servidor. El servidor es un ordenador que ejecuta el sistema operativo de
red. El servidor controla la comunicación y los recursos de red compartidos. Las estaciones
clientes son los ordenadores conectados a la red.
Las aplicaciones que siguen el modelo cliente/servidor necesitan una conexión de red entre dos
ordenadores al dividir el proceso en dos partes: la del cliente (que solicita información) y la del servi-
dor (que la provee). Por lo general, la aplicación completa consta de dos programas independientes,
uno en el cliente y otro en el servidor.
Una aplicación servidor permanece latente esperando una solicitud de un cliente. La aplicación
cliente proporciona un servicio específico útil a los equipos de la red, facilitando información o almace-
nándola en una base de datos centralizada. Cuando la aplicación cliente realiza una solicitud, ésta viaja
por la red y es atendida por la aplicación servidor. Este modelo se basa en el concepto de circuito virtual
para la comunicación de los programas. Cada extremo de un circuito virtual se denomina socket.
Los servidores pueden clasificarse en dos tipos:
– Iterativo: este tipo de servidor maneja las solicitudes individualmente en secuencia, según
llegan desde los clientes. Son relativamente sencillos, pero para que realmente sea efectivo,
el servicio proporcionado debe ser breve (en duración temporal). El tiempo de respuesta
suele ser predecible por el servidor.
– Concurrente: crea un proceso independiente para manejar cada solicitud de servicio de for-
ma simultánea, por lo que el sistema operativo debe estar preparado para ello (multitarea).
El tiempo que estos procesos van a estar activos no es predecible. Estos servidores adminis-
tran la mayoría de los servicios relacionados con los archivos, cuyos tiempos de respuesta
generalmente van a depender del tamaño de éstos.
La arquitectura cliente/servidor hace depender el funcionamiento del sistema de los servicios suminis-
trados por servidores de ficheros y de impresión. Este equipamiento adicional hace más caro este tipo de
instalaciones pero ofrece mayores cotas de prestaciones y seguridad. La existencia de un almacenamiento
en disco centralizado facilita los mecanismo de control de accesos y de salvaguardia de la información.
Las empresas usuarias contratan una serie de facilidades que son programadas en los recur-
sos inteligentes de la red. Mediante estos programas conectados a los nodos de conmuta-
ción de la red pública básica, se realiza el control del acceso de los usuarios de las RPVs a la
red, y se realizan para ellos las instrucciones de encaminamiento (o de otro tipo que hayan
sido contratadas) en la red de modo transparente.
Los usuarios, sin ser propietarios de la misma, tienen garantizado un uso exclusivo de ésta y
una tarifa plana por la utilización de la misma, así como compromisos específicos en cuanto
a la calidad de servicio, los plazos de instalación y el período de solución de incidencias.
– Redes públicas: las redes públicas las proporcionan las compañías de telecomunicación
y son de libre utilización por cualquier usuario que se abone. Son conocidas redes públicas
IBERPAC, RDSI (Red Digital de Servicios Integrados), etc.
– Redes de valor añadido: las redes de valor añadido satisfacen necesidades específicas de
telecomunicación.
– Bus: todos los ordenadores se conectan a un medio común: el bus, por donde la in-
formación puede viajar en ambas direcciones. Se requieren conexiones terminales en
los extremos del bus (terminadores) cuya función es amortiguar el rebote de la señal.
Al igual que en un anillo, la información pasa por todos los ordenadores y un fallo en la
línea ocasiona la caída de la red.
– Estrella: todos los ordenadores se conectan a un equipo central (hub). No existe comuni-
cación directa entre dos nodos, lo cual representa una ventaja en cuestiones de seguridad.
Todos la información se envía al hub que se encarga de su correcta distribución. Otra ventaja
importante es que si se interrumpe la comunicación entre un nodo y el hub, el resto de los
equipos no se ven afectados. La mayor desventaja, sin embargo, es que si falla el hub toda
la red queda inutilizada.
Otras configuraciones posibles se pueden derivar de éstas dando origen a las topologías mixtas, como
el árbol (variante de la topología en estrella) y la malla, que se obtiene cuando se conectan nodos pertene-
cientes a la misma red o a redes distintas de cualquiera de las topologías descritas anteriormente.
8. ARQUITECTURA DE REDES
8.1. CONCEPTOS Y PRINCIPIOS
Una arquitectura de red es un conjunto de reglas que gobierna la interconexión y
la interacción de los componentes de una red, incluye los formatos para los datos, los
protocolos y las estructuras lógicas para las funciones de datos conectados a la red.
Las modernas arquitecturas de redes se basan en los principios del desarrollo modular y parti-
cularizan el concepto de módulo en lo que se ha llegado a denominar capa. Cada capa tiene unas
funciones específicas, y para conseguirlas se apoya en la capa inferior. De la misma forma presta
servicios a la capa superior. Este diseño del software se denomina programación vertical.
Las arquitecturas se clasifican en:
– Jerárquica: un sistema maestro es el encargado de toda la red y realiza funciones de ges-
tión y control.
– Distribuida: asigna a cada sistema de comunicaciones de la red las mismas funciones, las
funciones de la red se comparten entre sistemas parejos que ofrecen un conjunto de servi-
cios a los usuarios.
Un sistema abierto permite a una amplia variedad de equipos utilizar los ser-
vicios de comunicaciones sin necesidad de que sufran modificaciones mediante la
estandarización de interfaces y protocolos de comunicaciones.
En un sistema abierto el diseño, los aspectos y las especificaciones del sistema no están patenta-
dos, están a la libre disposición de cualquier interesado. Estas características han desembocado frecuen-
temente en la creación de estándares de fabricación en la industria informática (estándares de facto).
Según la anterior definición, las arquitecturas también pueden clasificarse como:
– Abiertas: su diseño sigue ciertas normas que las hacen compatibles con otras arquitecturas
abiertas. Los equipos se pueden conectar y comunicar sin necesidad de otras adaptaciones.
– Propietarias: el diseño es específico y pertenece a una compañía en concreto. Las ventajas
anteriores no son aplicables: no existe compatibilidad con otras redes. Para comunicar redes
con distintas arquitecturas propietarias se necesitan dispositivos especiales de conversión.
La comunicación entre las capas se produce a través de una interfaces bien definidas que ocultan
la capa inferior, pero que aportan todas sus servicios a la superior. Al construir servicios en cada capa
y permitir la comunicación entre éstas, los diseñadores crean módulos funcionales independientes.
NOTA: Estas capas pueden implementarse en hardware o en software.
Las redes pueden constar de muchos tipos de tecnología y de ordenadores alejados
geográficamente. El modelo OSI minimiza u oculta tales diferencias a las aplicaciones de
red. También permite a los diseñadores construir redes compuestas de capas funcionales de
software y hardware bien definidas.
El diseño de capas de OSI tiene las siguientes ventajas:
– Divide los problemas de interconexión en partes manejables.
– Facilita que el software de red pueda mejorarse de forma incremental, sin necesidad de
introducir cambios revolucionarios.
– Permite al hardware y al software de un distribuidor funcionar con los productos de otros
distribuidores que soporten los mismos estándares en cada nivel.
– Facilita el establecimiento de interfaces entre un medio y otro.
En un modelo de capas como OSI, cada capa emplea protocolos bien definidos para comunicar-
se con las que la rodean. Las siete capas del modelo OSI se representan en la figura siguiente:
!
"
Cada nivel está constituido y agrupa un conjunto de funciones que proporcionan servicios especí-
ficos que facilitan la comunicación. Un nivel (N) recibe servicios del nivel N-1 y proporciona servicios
al nivel superior (N+1). Las comunicaciones entre niveles adyacentes se denominan primitivas.
La comunicación entre capas de red en distintos equipos se denomina conversación. La conver-
sación entre las capas físicas toma forma de señales electromagnéticas, el resto son virtuales, en el
sentido de que utilizan las capas inferiores para realizar la comunicación efectiva.
Las conversaciones entre capas del mismo nivel de dos máquinas distintas se denominan pro-
cesos pares. Conceptualmente la conversación parece desarrollarse entre las dos capas, idea muy
importante de cara a los programadores, ya que así evitan las complejidades de las capas inferiores
utilizando los comandos propios de la capa con la que trabajan.
Cuando se transmite un mensaje, pasa del nivel 7 al nivel 1 del sistema emisor y cada nivel aña-
de su propia cabecera o trata el mensaje de alguna forma. Los tramas se transmiten sobre el medio
hasta el sistema receptor en el que pasan del nivel 1 al 7, eliminándose las cabeceras y reconstitu-
yéndose el mensaje. Cada nivel ofrece servicios específicos al nivel superior, y la comunicación lógica
tiene lugar entre los niveles correspondientes de los dos sistemas.
Los datos no se transmiten directamente entre niveles, excepto en los físicos, que están unidos
por el medio físico. Se establecen interfaces interniveles para definir los servicios que el nivel N espera
del nivel inferior N1 y que proporcionan al nivel superior N+1.
Los niveles 1 a 3 proporcionan los protocolos de bajo nivel, principalmente implementados en
hardware o mediante controladores dedicados, mientras que los niveles 4 a 7 proporcionan los proto-
colos de aplicación o de más alto nivel, que normalmente se implementan en el software del host.
La relación entre capas viene definida por las funciones de red (servicios) que las capas inferiores
ofrecen a las superiores, así como a las reglas apropiadas para su utilización (protocolo). Un ejemplo
es el servicio de detección de errores que ofrece la capa de enlace de datos a la capa de red.
Es importante la diferencia entre servicio y protocolo:
– El servicio es la propia funcionalidad que ofrece la capa.
– El protocolo es la forma en que dicho servicio debe ser utilizado (formato de las llamadas y
respuestas, número y tipos de parámetros, etc.).
Ejemplo de diferencia entre servicio y protocolo: al usar el correo, escribi-
mos el domicilio en nuestra carta. El servicio o funcionalidad del domicilio es que
la carta llegue a su destino. Sin embargo existen ciertas reglas sobre cómo escribir
el domicilio: la primera línea es el nombre, la segunda la calle, el código postal
depende de la localidad, etc. Ese es el protocolo para utilizar el servicio.
Dos sistemas abiertos interconectados implementan los mismos estándares en cada nivel y dos
entidades cualesquiera que pertenezcan al mismo nivel en el sistema correspondiente se comunican
mediante un protocolo común.
En la siguiente figura se muestran las capas de red resultantes de aplicar estos principios y las
unidades de datos que manejan.
Estructura de una trama Ethernet. El campo preámbulo sirve para sincronizar el receptor. Las direcciones de destino
y origen se utilizan en labores de enrutamiento y notificación de errores, el tipo de trama indica qué protocolo
se debe emplear conforme ascienden los datos por el resto de las capas
Cada tarjeta Ethernet tiene una dirección única, denominada dirección MAC,
que se incluye en la trama para identificar el destino y el origen de ésta.
La capa de red tiene mecanismos de contabilidad del tráfico. Esto es importante cuando las re-
des cruzan fronteras geopolíticas o existe algún tipo de tarificación sobre el uso de los canales.
La capa de red realiza las siguientes funciones:
– Seleccionar rutas primarias y alternativas o establecer los circuitos virtuales correspondientes.
– Seleccionar las conexiones con la red direccionando nodos intermedios.
– Multiplexar conexiones de red.
– Construir bloques de datos y reconstruidos en el destino.
– Detectar y corregir errores.
– Control de flujo y secuencia.
– Inicialización de las conexiones de red.
– Establecimiento de conexiones entre redes (internetworking).
NOTA: una buena analogía es considerar una autopista de tres carriles que se
encoge en uno solo al llegar a un túnel bajo el agua: los costos son más importan-
tes que la fluidez del tráfico.
La capa de transporte administra el flujo de datos de extremo a extremo (a diferencia de la de
red que lo hace nodo a nodo), así como entre procesos pares o programas. Para ello las capas de
transporte intercambian entre sí mensajes y solicitudes referentes al control de flujo.
Las funciones de la capa de transporte son:
– Establecer una conexión de transporte sin prestar atención a los nodos intermedios.
– Transmisión de datos, detección de errores.
– Liberación de la conexión de transporte.
– Gestión del nivel de transporte.
– Asignación de direcciones a los usuarios.
– Control de la calidad de servicio.
Las redes en Internet no incluyen una capa de presentación estándar; así, los programas de
aplicación desempeñan las funciones antes mencionadas en su propia capa. Por esta razón existen
muchas módulos de software (bibliotecas) para que los programadores puedan incluir dichas funcio-
nes. La API Winsock de Microsoft es un buen ejemplo de ello.
Otros servicios de la capa de presentación son los siguientes:
– Cifrado de datos: los datos se cifran por seguridad mediante un mecanismo de encripta-
ción, el ordenador receptor aplica el proceso inverso. El cifrado se produce en capas altas de
la red para evitar filtraciones en las más bajas.
– Compresión de datos: de forma análoga al cifrado, la compresión es un proceso reversible
entre emisor y receptor. A diferencia de los algoritmos de encriptación, los de compresión están
disponibles públicamente. La compresión también debe hacerse en capas altas para que la re-
ducción del tráfico sea efectiva desde el principio, aumentando así el ancho de banda efectivo.
9. EL PROTOCOLO TCP/IP
TCP/IP (Transfer Control Protocol / Internet Protocol) es el conjunto de protocolos de mayor difu-
sión actualmente y el motor de Internet. El conjunto TCP/IP es una colección de protocolos cooperati-
vos y complementarios. En ocasiones el término tecnología internet se utiliza para referirse a TCP/IP.
Cada protocolo de TCP/IP transmite datos por la red en su propio formato y con distintas opciones, p.
ej. control de errores activado o no.
El concepto pila de protocolos deriva del modelo OSI, que estructura la red en
capas con funciones muy específicas. OSI representa la red como una pila vertical
de protocolos, de ahí el concepto.
Una pila de protocolos puede referirse a cualquier combinación de capas de red con sus protoco-
los asociados. La pila de protocolos TCP/IP es sólo una posibilidad más, aunque la más extendida uni-
versalmente. Los datos fluyen por la pila de protocolos de igual forma que vimos en las capas OSI.
Aunque OSI define 7 capas funcionales, es sólo una guía, no un diseño estricto. De hecho una
red TCP/IP (aquella que utiliza el protocolo TCP/IP) sólo tiene 5 capas. Es importante señalar que el
propio protocolo TCP/IP engloba las capas OSI de enlace, red y transporte. Una red basada en él
deberá incluir la física por debajo y la de aplicación por encima.
En una red TCP/IP los programas pueden comunicarse con la capa de transporte (TCP y UDP) y
con la de red (IP e ICMP), requiriéndose en este último caso más esfuerzo de programación. En todos
los casos, los datos fluyen por el protocolo IP hasta la capa física.
Muchas redes en Internet utilizan tecnología Ethernet, pero TCP/IP permite conectar diversas tec-
nologías de red como Token Ring (siempre que incluya una implementación TCP/IP). Esto es posible
porque la capa de enlace oculta los detalles de la tecnología a TCP/IP. La portabilidad y conectividad
de los programas basados en TCP/IP se ve así muy potenciada; incluso si se decide cambiar la tecno-
logía de una red, las aplicaciones basadas en TCP/IP seguirán funcionando.
Existen dos tipos básicos de servicios en TCP/IP:
– Stream (Flujo de bytes): la información se transmite como una serie de bytes sin importar su
longitud o el número de transmisiones requeridas para su envío o recepción. Por ejemplo, para
enviar 100 bytes, se pueden hacer cinco envíos de 10 bytes y uno de 50; el receptor puede
recibir cinco envíos de 20 bytes. TCP es de esta clase. Estos protocolos garantizan la entrega de
los datos en el mismo orden en el que fueron emitidos, utilizando para ello circuitos virtuales.
– Datagram (Datagrama): la información se fragmenta en unidades que se tratan individual-
mente. El orden de llegada no tiene por qué coincidir con el de emisión. Si el receptor nece-
sita los datos ordenados, es una labor propia, no del protocolo. UDP e IP son de este tipo.
Estos protocolos son más fáciles de implementar y consumen menos recursos.
13.1. ORGANISMOS
Las normas de interconexión de máquinas de comunicación, ya sean teléfonos, ordenadores o
robots, nacen por consenso entre fabricantes, órdenes gubernamentales o presión de los compradores
y, ocasionalmente, porque la importancia de una determinada compañía hace que las demás la sigan.
Para realizar la tarea de normalización, existen una serie de organismos a nivel nacional e internacional:
– CCITT (Comité Consultivo Internacional Telegráfico y Telefónico). Formado por organismos
gubernamentales de telecomunicación y compañías privadas.
– ISO (Internacional Standard Organization). Asociación voluntaria de organismos nacionales
de normalización de los diferentes países miembros.
– ECMA (European Computer Manufactures Association). Dedicada al desarrollo en coopera-
ción con normas aplicable a tecnologías de ordenadores.
– CEPT (Conferencia Europea de Correos y Telecomunicaciones). Reagrupa a las administra-
ciones europeas de comunicaciones y las normas son utilizadas de forma oficial por todos
los países de la UE.
La 10Base5 es de banda base a 1 Mb/s también sobre par trenzado. Permite una distancia máxi-
ma entre estación y nodo central de 250 m en configuración de estrella. La 10Base5 de banda base
opera a 10 Mb/s sobre cable coaxial y permite distancias de hasta 500 m. Se usa apantallamiento y
emparejamiento para minimizar las interferencias electromagnéticas.
Por último la 10Base2 es una red local de banda base que opera a 10 Mb/s sobre cable coaxial
fino. La longitud máxima es de 185 m. El empleo de cable fino da mayor facilidad para adecuarse a
trazados bruscos aunque la señal se atenúe más rápidamente.
– X.28: interfaz DTE/DCE para un equipo de datos arrítmico con acceso a la facilidad de empa-
quetado/desempaquetado de datos (PAD), en una red pública de datos, situada en el mismo
país. Describe los procedimientos para la conexión y operación de DTE’S sencillos asíncro-
nos. El PAD realiza la función de convertir el flujo de información serie del DTE en paquetes
X.25, para su envío a la red y viceversa.
– X.75: procedimiento de control terminal y de tránsito de las comunicaciones y sistemas de
transferencia de datos por circuitos internacionales entre redes de datos con conmutación
de paquetes. Especifica los procedimientos de conexión en redes públicas X.25 entre sí.
14. INTERNET
En años sucesivos fueron apareciendo otras redes que adoptaron TCP/IP como protocolo de
comunicaciones, dando lugar a las redes denominadas Internet muchas de las cuales terminaron
fundiéndose con ARPANet, entre otras:
– BBN Telenet: red orientada al uso comercial.
– Usenet: en 1979 numerosos científicos informáticos se unieron para formar una red de
ordenadores para investigación.
– Bitnet (But It’s Time Network): fundada en 1983.
– CSNet (Computer Science Network).
– Etc.
A finales de los ochenta se creó NSFNet (National Science Foundation Network) para la
interconexión de superordenadores con enlaces de alta velocidad transcontinentales. A ella estaban
conectadas las redes de varias universidades, y debido a las sucesivas conexiones jerárquicas de
otras redes, se acabó convirtiendo en la infraestructura fundamental de Internet.
Internet es la evolución de ARPANET después de la implantación del pro-
tocolo TCP/IP y de la fusión con otras redes basadas en este protocolo.
El hito crucial de Internet ocurrió el 1 de enero de 1983 en que TCP/IP se con-
virtió en el protocolo estándar para Arpanet. Ese día nació Internet.
Hasta 1990 las aplicaciones básicas de Internet eran FTP (File Transfer Protocol – Protocolo de
Transferencia de Ficheros), Telnet (conexiones remotas), Impresión remota y el correo electrónico
o email. Posteriormente aparecieron Archie (herramienta de búsqueda FTP en Internet), y Gopher,
que permite organizar documentos en Internet mediante una estructura de menús jerárquicos (en
los servidores Gopher se utilizaba la herramienta de búsqueda Veronica, Very Easy Rodent-Oriented
Netwide Index to Computerized Archives).
Sin embargo, la explosión de Internet no fue causada por estas herramientas. En 1992 Tim
Berners-Lee desarrollo los protocolos WWW (World Wide Web – Telaraña de alcance mundial), HTML
(Hipertext Markup Language – Lenguaje de marcas de hipertexto) subconjunto del SGML (Standard
Generalized Markup Language), y un año después, en noviembre de este mismo año, se lanzó el
navegador Mosaic por parte de NCSA (National Center for Supercomputing), marcando el comienzo
de la popularidad de la web.
A comienzos de 1993 había 130 direcciones web en Internet, pero en menos
de medio año después del lanzamiento de Mosaic ya había más de 10.000 servi-
dores. Durante los últimos años Internet está creciendo de forma exponencial.
Algunas compañías distribuyen navegadores gratuitamente con el objeto de crear un reconoci-
miento de su nombre que proporcione valor añadido a otros productos de su empresa. En la actualidad
existen dos navegadores que están en pleno auge: Navigator, de NetScape, y Explorer, de Microsoft.
Otros conceptos relacionados son los siguientes:
– Intranet: se define así a una red de ordenadores basada en el protocolo TCP/IP, con la par-
ticularidad de que pertenece a un ámbito privado, generalmente a una empresa u organiza-
ción. Una intranet suele ser accesible sólo por el personal autorizado de dicha organización.
Por otra parte, los sitios web de una intranet son tecnológicamente indistinguibles de aque-
llos que encontramos en Internet, a excepción de que suelen disponer de un cortafuegos que
impide los accesos no permitidos.
Como la propia Internet, las intranets se utilizan principalmente para compartir información.
Las intranets son actualmente el segmento de mayor crecimiento en Internet, por su bajo
costo de construcción y mantenimiento, bastante menor que las redes privadas basadas en
protocolos propietarios.
– Extranet: Con frecuencia este término se presta a confusión con el anterior. Una extranet
es una intranet parcialmente accesible a usuarios externos a la organización, para ello estos
deben identificarse en el sistema mediante un usuario y una palabra de paso. Esta identifi-
cación determina el alcance de accesibilidad del usuario. Las extranets se están convirtiendo
en un medio muy popular para el intercambio de información entre empresas, entre admi-
nistración y administrados, etc.
– ISP (Internet Service Provider): un proveedor de servicios de Internet es una empresa de-
dicada a conectar a Internet a los usuarios y ofrecer el mantenimiento necesario para que el
acceso funcione correctamente. También ofrecen servicios relacionados, como alojamiento
web o registro de dominios entre otros.
Inicialmente este acceso se realizaba mayoritariamente a través de ordenadores personales
dotados de módems, utilizando como medio de transmisión las líneas de teléfono. Esto permi-
te aprovechar la estructura de comunicaciones ya implantada por las compañías telefónicas.
Sin embargo, el desarrollo de la tecnología ha permitido que el acceso a Internet pueda
realizarse desde una amplia gama de dispositivos: PC (de sobremesa y portátiles), teléfonos
móviles, PDAs, etc.
Pero además de las conexiones telefónicas e inalámbricas, Los ISP actuales también ofertan
acceso a Internet a través de las líneas de televisión por cable y de las transmisiones de la
nueva televisión digital terrestre (TDT). Incluso se ofrecen servicios (aún en fase de pruebas)
que dan acceso a Internet mediante la red eléctrica; se conocen por las siglas PLC.
Internet hace realidad la idea de “aldea global”, en el sentido de que permite localizar grandes cantidades de
información distribuida universalmente, así como una comunicación rápida y barata con cualquier persona o empresa
en cualquier parte del globo. Actualmente los servicios basados en Internet se multiplican en nuestro beneficio.
14.3.1. Archie
Los servidores archie mantienen bases de datos de ficheros que se encuentran distribuidos en
servidores FTP, con lo que facilitan las búsquedas en estos. Estas bases de datos se actualizan auto-
máticamente, aunque solo acceden a servidores FTP anónimos, por lo que solo recogen información
de servidores accesibles de esta forma. La información disponible son los nombres de los ficheros y
directorios, pero no sus descripciones.
Este servicio está en desuso actualmente.
14.3.2. Gopher
Los servidores gopher ofrecen una interfaz gráfica basada en menús para acceder a documentos
situados en los más de 3.000 servidores que hay de este tipo. Al acceder a un servidor gopher se
empieza a navegar por la red ya que el acceder a un submenú puede significar haber saltado de un
servidor a otro que puede encontrarse en cualquier otra ubicación.
Estos servidores también permiten visualizar y transferir los datos del servidor gopher al que se
está accediendo. Por otro lado, una vez encontrado el fichero que se buscaba, es posible utilizar el
resto de herramientas de Internet con él.
Al igual que en el caso anterior, hoy en día este servicio está muy desfasado.
14.3.5. Telnet
Es una herramienta que permite la conexión remota a otro ordenador, como si se estuviese
trabajando en un terminal. Al intentar acceder se solicita un identificador y una palabra clave. Una
vez pasado este trámite, en nuestra pantalla se abre una ventana que refleja la otra pantalla, que lo
procesa, devolviendo el resultado a la nuestra.
Este servicio puede ser interesante para, por ejemplo, procesar en otras máquinas programas
que no pueden ser procesados en la propia. También ha servido a algunas pequeñas empresas para
poder disponer de una red distribuida, sin tener que realizar grandes inversiones.
14.3.7.1. Definición
Es el servido más básico y uno de los más extendidos. En esencia, el correo electrónico es un
servicio que permite el envío y la recepción de mensajes por medio de un ordenador. Lo importante
es que, prácticamente, cualquier información puede transmitirse dentro de un mensaje y que puede
llegar, de manera rápida, sencilla y fiable a cualquier lugar del mundo con conexión a Internet (esto
incluye actualmente las redes de telefonía móvil).
14.3.7.2. Ventajas
En un entorno profesional, el uso del correo electrónico agiliza y formaliza los canales de comu-
nicación externos e internos de la organización, ya que permite combinar la precisión y seguridad de
la información escrita con la rapidez de las telecomunicaciones. Las ventajas del correo electrónico
frente a otros medios de comunicación (fax, teléfono, etc.) son:
– Comunicación muy rápida.
– Amplio alcance internacional.
– Muy bajo coste.
– Posibilidad de envíos a muchos receptores simultáneamente.
– Inclusión de todo tipo de archivo (documentos, hojas de cálculo, vídeo, música, etc.).
– Información directamente procesable por el ordenador.
14.3.7.3. Características
El correo electrónico presenta, por un lado, las ventajas del correo tradicional:
– Coste reducido: es el servicio que permite transmitir mayor cantidad de información a menor
precio.
– Utilización simple.
– Práctica disponibilidad global.
– Comunicación asíncrona: no es necesario que el receptor de la información se encuentre
disponible en el momento en que el emisor la está enviando.
– Permite el envío de prácticamente cualquier objeto (no materiales en el caso del correo
electrónico).
– Es la base para servicios de difusión masiva de la información.
Por otro lado, el correo electrónico emplea las facilidades que ofrecen las telecomunicaciones y
la informática en el tratamiento de los mensajes:
– La velocidad de transferencia es muy alta.
– La información contenida en los mensajes puede ser procesada, archivada y consultada
fácilmente.
– Permite la localización flexible del receptor. No es necesario que se encuentre físicamente en
el lugar habitual de recepción de los mensajes para poder acceder a ellos.
– Ofrece mejores garantías de privacidad en la comunicación.
– Permite su interrelación con otros servicios de red.
Estas características han hecho que, desde el comienzo de Internet, el correo electrónico haya
sido un servicio básico de éste y que sea, posiblemente, el más popular. Mientras que otros servicios
puede que no hayan sido empleados nunca (o empleados muy esporádicamente) por un número
significativo de usuarios, se puede afirmar, sin género de dudas, que prácticamente cualquiera con
acceso a Internet es usuario del correo electrónico.
Existen desde hace tiempo en el mercado soluciones de correo electrónico de ámbito local,
para empresas u organizaciones, basados en ordenadores multiusuario (como Unix) o redes de
área local (como Novell o Microsoft). La difusión del correo electrónico Internet ha hecho que todos
estos sistemas incorporen en la actualidad mecanismos de conversión de formatos entre los men-
sajes internos de ámbito local y los formatos empleados en Internet, de manera que los usuarios
de estos tipos de correo puedan tener acceso al correo Internet sin cambiar sus pautas habituales
de trabajo.
A través de la existencia de las llamadas listas de distribución es posible la recepción de un
único mensaje por múltiples usuarios, habiendo sido enviado a una única dirección electrónica; su
utilización está relacionada con grupos y focos de discusión o enseñanza.
La mayor parte de los programas de correo permiten también que en cada mensaje se incluya
automáticamente un fichero conteniendo una “firma” que queramos añadir a nuestros mensajes. Es
práctica habitual incluir en ese fichero nuestro nombre y otros datos (como el teléfono, el fax, etc.).
Al recibir los mensajes, los programas de correo electrónico presentan un resumen de los mis-
mos, con su remitente, el asunto del que tratan y (opcionalmente) algunos datos más, como su
tamaño o la fecha de envío.
Seleccionando uno de estos mensajes podemos leer su contenido y, opcionalmente, aplicarle
algunas operaciones que permita el programa, como responder a su remitente, reenviarlo a otra di-
rección, borrarlo, salvar el contenido en un fichero, etc.
Cuando se responde a un mensaje, los programas de correo electrónico suelen rellenar automá-
ticamente los campos correspondientes al destinatario (con la dirección del remitente del mensaje
original) y del asunto (con la cadena «Re:» precediendo al asunto del mensaje original). También es
habitual que, opcionalmente, se incluya de manera automática el contenido del mensaje original pre-
cedido de algún carácter (como ‘´), que indique que ese texto es una cita de un mensaje recibido.
Existen programas de correo que ofrecen como opción el pedir confirmación de la entrega e
incluso de que el mensaje ha sido leído.
Si un mensaje recibido contiene algún tipo de datos adjuntos, el programa informará de ello y
permitirá realizar ciertas operaciones sobre él, dependiendo del tipo del fichero.
Por motivos de seguridad, dado que por correo electrónico podemos recibir cualquier tipo de
información, conviene ser cuidadosos a la hora de emplear los ficheros adjuntos. En principio, estos
pueden estar infectados con algún virus o contener algún procedimiento malicioso aun cuando parez-
can inofensivos (los llamados caballos de Troya).
Como norma general debe aplicarse una política de diferentes grados de confianza: desde aque-
llas personas con quienes mantenemos correspondencia muy a menudo y en las que podemos con-
fiar plenamente, hasta fuentes totalmente desconocidas por nosotros y de las que desconocemos sus
intenciones. En el primer caso, podemos procesar los ficheros adjuntos sin precaución, mientras que
en el último son aplicables todas las precauciones que tomemos usualmente para comprobar ficheros
de procedencia dudosa, como utilizar programas de detección de virus.
Normalmente, los programas de correo electrónico permiten almacenar los mensajes en car-
petas, de manera que podemos clasificar los que vayamos enviando o recibiendo de la forma que
resulte más adecuada. Por defecto, existen carpetas para:
– Almacenar los mensajes nuevos que aún no hayamos leído o que no hayamos movido a otra
carpeta.
– Almacenar los mensajes que hemos enviado hasta que efectuemos la conexión con el servi-
dor para que entren en la Red.
– Almacenar una copia de los mensajes que hayamos enviado.
– Almacenar, temporalmente, los mensajes que hayamos borrado en una sesión de trabajo, de
manera que podamos recuperarlos si decidimos volvernos atrás de la decisión de borrarlos.
Dado que trabajar con el correo electrónico no requiere una conexión permanente con el servidor,
los programas suelen tener una opción para iniciar esa conexión, durante la cual se envían todos los
mensajes pendientes de entrega y se recogen los que se hayan recibido.
Cuando se trabaja a través de una conexión telefónica, esta técnica permite un ahorro importante
en el coste de uso de la Red. Una sesión normal de trabajo podría consistir, pues, en una primera
conexión para recibir mensajes nuevos; a continuación, y ya sin necesidad de estar conectados al
proveedor de servicio, se contestarían los mensajes recibido y se prepararían otros nuevos. Una vez
que todos los nuevos mensajes a enviar estén listos, una nueva conexión al servidor permitiría lan-
zarlos a la Red.
Es importante destacar que cuando se envía un mensaje, no se establece una conexión directa
con el ordenador del usuario destinatario, sino que el mensaje circula por la red, de nodo en nodo,
buscando el mejor camino hasta llegar a su destino. En unos segundos o minutos (en horas en el peor
de los casos) el mensaje llega a su destino, y cuando el destinatario vuelve a conectarse, el sistema
le notifica que tiene un mensaje recibido.
14.3.7.5. Webmail
Un webmail consiste en una aplicación informática, concretamente un cliente de correo electró-
nico, que provee una interfaz web por la que acceder al correo electrónico. Esto significa que desde
el punto de vista del cliente, basta con un navegador para disponer de funcionalidades básicas de
correo electrónico.
Un sistema webmail permite listar, desplegar y borrar los correos almacenados en el servidor
remoto desde un navegador estándar, generalmente mediante una sencilla interfaz.
Una de las grandes ventajas de webmail se basa en que los correos pueden ser consultados
posteriormente desde otro ordenador conectado a la misma red (por ejemplo Internet) con el único
requisito de que disponga de un navegador web.
Recordemos que otras formas de acceder al correo electrónico pueden ser:
– Conectándose con un cliente de correo local a un servidor de correo remoto utilizando un
protocolo ad hoc de transporte de correo, como IMAP o POP, descargar los correos y alma-
cenarlos localmente.
– Utilizando un cliente de correo por consola, por ejemplo Mutt.
14.3.8.1. Definición
NOTA: La denominación más popular para referirse a este servicio es Web o WWW.
El proyecto WWW (World Wide Web) comenzó en 1989 cuando Tim Berners-Lee en el CERN
(Centro de Europeo de Investigación de Energía Nuclear) se planteó encontrar un modo de compartir
la investigación y las ideas con otros investigadores repartidos por todo el mundo, llamándose en su
propuesta inicial proyecto de hipertexto.
Hipertexto es un término acuñado por Ted Nelson en los años sesenta que hace referencia a
todo texto que contiene conexiones con otros documentos, de modo que el lector puede hacer clic
sobre una palabra o frase para obtener información adicional sobre temas relacionados.
Hipermedia es un término más amplio para los documentos que incluyen información en forma-
to multimedia (sonido y vídeo).
Técnicamente, la web hace referencia al ciberespacio abstracto de información, mientras que
Internet hace referencia a la parte física de la red (es decir, al hardware). No obstante, web suele
utilizarse como sinónimo de Internet refiriéndose tanto a la red física como a la información en sí
misma. La base tecnológica de Internet y de la web es el empleo de protocolos: lenguaje y reglas
que comunican ordenadores. TCP/IP es el principal protocolo de Internet.
14.3.8.2. Características
La web se ha convertido en el sistema de información por excelencia de Internet. Sus caracterís-
ticas más importantes son:
– Información por hipertexto: como antes mencionábamos, consiste en que diversos ele-
mentos (texto o imágenes) de la información que muestra la pantalla están vinculados con
otras fuentes. Para acceder a esta otra información bastará con hacer clic sobre dichos
elementos.
Por ejemplo:
KWWSZZZELHQYHQLGRVHVSXEOLFRVDOXGRVKWPO
Protocolo
INTERNET
Equipo de
usuario
HTTP
Servidor
Navegador:
Interpreta el
código HTML y
muestra la página
Lo negativo de la web es que exige conexiones rápidas y que genera mayor volumen de tráfico que
cualquier otro servicio. Además requiere una conexión TCP/IP totalmente funcional, detalle que hoy en
día no es tan importante como antes, cuando las comunicaciones carecían de la fiabilidad actual.
Por otra parte, los servidores web incluyen actualmente servicios de encriptación y autentificación
del cliente, de modo que los usuarios puedan enviar y recibir datos con seguridad.
Durante los últimos años Internet está creciendo de forma exponencial, siendo la web el servicio
que más está impulsando este éxito. La web permite acceder de una forma fácil y muy intuitiva a
todas las posibilidades de la red, resultando además, para las organizaciones, una manera atractiva
de informar de sus actividades o servicios.
14.3.9. Buscadores
14.3.9.1. Definición
En informática un buscador es una herramienta que permite al usuario encontrar un documento
que contenga una determinada palabra o frase.
Los motores de búsqueda son sistemas que buscan en Internet (algunos buscan sólo en la Web
pero otros buscan además en News, Gopher, FTP, etc.) cuando se les pide información sobre algún
tema. Las búsquedas se hacen con palabras clave o con árboles jerárquicos por temas; el resul-
tado de la búsqueda es un listado de direcciones Web en las que se mencionan temas relacionados
con las palabras clave buscadas.
Se pueden clasificar en dos:
– Índices temáticos: sistemas de búsqueda por temas o categorías jerarquizados (aunque
también suelen incluir sistemas de búsqueda por palabras clave). Se trata de bases de datos
de direcciones Web elaboradas “manualmente”, es decir, hay personas que se encargan de
asignar cada página Web a una categoría o tema determinado.
– Motores de búsqueda: por palabras clave. Son bases de datos que incorporan automáti-
camente páginas web mediante “robots” de búsqueda por la red.
Como operan de forma automática, los motores de búsqueda contienen generalmente más
información que los directorios. Sin embargo, estos últimos también han de construirse a partir de
búsquedas (no automatizadas) o bien a partir de avisos dados por los creadores de páginas (lo cual
puede ser muy limitativo). Los buenos directorios combinan ambos sistemas.
NOTA: una cuestión muy importante es el orden en que aparecen las con-
sultas, ya que los usuarios solo suelen leer las primeras. Puede haber algoritmos
que ubiquen en primer lugar las páginas Web que mejor se adapten a las palabras
introducidas, pero en otros casos se cobra por aparecer en primer lugar.
14.3.9.2. Funcionamiento
Cada buscador tiene sus propias formas de realizar las búsquedas, así que se recomienda leer el
documento de ayuda correspondiente. Aún así existen ciertas convenciones muy aceptadas y exten-
didas que pasamos a describir.
– Lenguaje natural: Se plantea la búsqueda en lenguaje natural. Es decir, si queremos buscar
documentos sobre el desarrollo de los microprocesadores, en la mayoría de los buscadores
podemos simplemente escribir: Desarrollo de los microprocesadores
Los principales buscadores admiten búsquedas en lenguaje natural.
– Páginas relacionadas: los buscadores incorporan algún tipo de función que busca páginas
semejantes a la localizada (por ejemplo, related en Google o like en Altavista).
– Frases literales: si queremos que una determinada frase forme parte del documento o
documentos en que estemos interesado, la podemos teclear precedida y seguida por el
símbolo “dobles comillas”.
– Términos requeridos y excluyentes: mediante el signo menos, excluimos términos. Por
ejemplo, podemos indicar que no queremos que nos muestre documentos en los que apa-
rece la palabra “Microsoft”, en este caso escribiríamos: comercio electrónico contabilidad
–Microsoft
– Mayúsculas, minúsculas: algunos buscadores como Google simplemente no distinguen
entre mayúsculas o minúsculas y es indiferente ponerlo de una u otra forma.
Pero para otros, como Altavista, las minúsculas es el caso general. Si se pone la palabra en
minúsculas Altavista busca todas las palabras, tanto en mayúsculas como en minúsculas.
Por el contrario, si se pone la palabra en mayúsculas (o solo la primera letra) solo busca
aquellas palabras que se hayan escrito con mayúsculas.
– Comodines: El uso de comodines (*) es muy importante y puede usarse en buscadores
como Altavista y Yahoo!, pero no en Google. Por ejemplo, para que busque tanto las palabras
en singular como plural o raíces de palabras.
– Operadores booleanos: Google admite el uso de OR (con mayúsculas). Para buscar sobre
Bill Gates, podemos probar con: bill OR william gates
Altavista (seleccionando “búsqueda avanzada”) permite búsquedas booleanas. En este caso,
en vez de usar + y -, se utilizan los términos AND, OR, NOT, y más posibilidades como NEAR,
que localiza documentos que tienen las dos palabras alejadas como máximo 10 palabras. En
la búsqueda avanzada también se puede limitar la búsqueda a documentos que hayan sido
publicados o modificados por última vez en un intervalo de tiempo.
– Caracteres especiales: se recomienda consultar la ayuda de cada buscador, por ejemplo,
en Altavista o Google no es necesario poner acentos o eñes. Incluso es mejor no hacerlo,
pues si se emplean acentos u otras marcas diacríticas, AltaVista sólo mostrará los documen-
tos cuya identificación coincida exactamente con los términos empleados en la búsqueda:
al poner “electrónico” buscará solo si aparece “electrónico”. En cambio “electronico”, busca
tanto con acento como sin acento.
En Google, si se desea distinguir palabras con y sin eñe, utilizamos el signo +, es decir,
escriba [+cana] en vez de [+caña].
– Funciones: Los buscadores no se limitan a buscar textos, sino que mediante el uso de fun-
ciones especiales permite identificar:
* Las páginas con la palabra o frase especificada en el nombre de dominio.
* Las páginas que residan en un servidor web específico.
* Las páginas que contienen alguna imagen.
* Las páginas que contengan algún enlace a un servidor determinado, y muchas más.
14.3.9.3. Historia
El primer buscador fue Wandex, un índice (ahora desaparecido) realizado por la World Wide Web
Wanderer, un robot desarrollado por Matthew Gray en el MIT, en 1993. Otro de los primeros busca-
dores, Aliweb, también apareció en 1993 y todavía está en funcionamiento.
El primer motor de búsqueda de texto completo fue WebCrawler, que apareció en 1994. A di-
ferencia de sus predecesores, éste permitía a sus usuarios una búsqueda por palabras en cualquier
página web, lo que llegó a ser un estándar para la gran mayoría de los buscadores. WebCrawler fue
también el primero darse a conocer ampliamente por el público. También apareció en 1994 Lycos
(que comenzó en la Carnegie Mellon University).
Muy pronto aparecieron muchos más buscadores, como Excite, Infoseek, Inktomi, Norther-
nLight y Altavista. De algún modo, competían con directorios (o índices temáticos) populares tales
como Yahoo! Más tarde, los directorios se integraron o se añadieron a la tecnología de los buscado-
res para aumentar su funcionalidad.
Antes del advenimiento de la Web, había motores de búsqueda para otros protocolos o usos,
como el buscador Archie, para sitios FTP anónimos y el motor de búsqueda Verónica, para el pro-
tocolo Gopher.
En la actualidad se aprecia una tendencia por parte de los principales buscadores de Internet a dar el
salto hacia entornos móviles creando una nueva generación de buscadores: los buscadores móviles.
Alrededor de 2001, el buscador Google adquirió prominencia. Su éxito estaba basado en parte
en el concepto de popularidad basado en PageRank, bajo la premisa de que las páginas más de-
seadas eran más enlazadas por otras páginas que el resto. Esta idea permitió a Google disponer las
páginas de una determinada búsqueda en función de su importancia, basada en este algoritmo, esto
es, las páginas más enlazadas por otras páginas se mostraban en primer lugar. La interfaz minimalista
de Google se hizo muy popular entre los usuarios y desde entonces ha tenido un gran número de
imitadores.
Google y muchos otros buscadores no sólo usaban PageRank, sino más de 150 criterios para
determinar la relevancia de una web.
En 2004, Yahoo! lanzó su propio buscador basado en una combinación de tecnologías de sus
adquisiciones y proporcionando un servicio en el que ya prevalecía la búsqueda en Webs sobre el
directorio.
El más reciente de los grandes buscadores es Live (antes MSN Search), de Microsoft, que
previamente dependía de otros para listar sus búsquedas. En 2004 debutó una versión beta con sus
propios resultados, impulsada por su propio robot (llamado msnbot). Al principio de 2005 comenzó
la versión definitiva.
El mercado está ahora dominado por Google, Yahoo y Microsoft. El resto de grandes buscadores
tienden a ser portales que muestran los resultados de otros buscadores y ofrecen, además, otro tipo
de contenidos que tienen mayor o menor importancia en la página como hace el propio Yahoo!
Noxtrum es el primer motor de búsqueda global diseñado por una empresa española, Telefónica
Publicidad e Información lanzado al mercado en versión Beta el 1 de diciembre de 2005. Su objetivo
es ser el líder en las búsquedas en Internet del mundo hispanohablante, y para ello está especializado
en las búsquedas locales, actualmente sólo operativas en España.
Noxtrum parte de la implementación de FAST para construir su propio motor de búsqueda, con lo
que realmente no cuenta con tecnología de búsqueda propia, sino que adapta al español la tecnolo-
gía usada en su día por navegadores como AllTheWeb, hoy propiedad de Yahoo.
Directorios:
– Terra (http://buscador.terra.es/terra/inc/directorio.html)
– Yahoo (http://www.yahoo.com) y (http://www.yahoo.es).
– Directorio de Google (http://directory.google.com).
– The Open Directory: (http://dmoz.org) realizado por miles de voluntarios.
– About (http://www.about.com).
– Looksmart (http://www.looksmart.com)
– Librarians' Index to the Internet (http://www.lii.org)
– Ozú (http://categorias.ozu.es)
– El índice (http://www.elindice.com)
14.4.1. Teletrabajo
Por teletrabajo entendemos cualquier actividad profesional realizada en cual-
quier momento y en un lugar independiente del emplazamiento común de trabajo,
gestionada mediante redes de comunicaciones y transmisión de datos.
Gran parte de las tareas de oficina realizadas por los trabajadores en las dependencias de la
empresa podrán llevarse a cabo desde puntos distantes. Si el usuario dispone de medios de comuni-
cación para acceder remotamente a los recursos que necesite para el desempeño de sus funciones
laborales se elimina la necesidad del desplazamiento habitual, con un considerable el ahorro de
tiempo, riesgos y gastos de transporte, etc. En contrapartida se requiere un uso intensivo de las tele-
comunicaciones y las tecnologías de la información.
El teletrabajo un concepto revolucionario desde el punto de vista económico y social que puede
modificar aspectos fundamentales de la vida tal y como ahora la conocemos.
Para los empresarios puede significar:
– Una disminución considerable del espacio necesario para instalar sus oficinas, y de otros
costes como los de instalación, mobiliario, etc.
– Reducir considerablemente el absentismo laboral.
– Aumento de la eficacia y la productividad, ya que el criterio a aplicar se basa en los resulta-
dos y no en las horas dedicadas.
– Acceso a los mercados externos.
Por ejemplo, aquellas empresas que necesiten representaciones en puntos distantes no nece-
sitarían disponer de infraestructura en cada delegación regional, sino sólo a nivel nacional, donde
acceden los empleados desde puestos remotos, por ejemplo, desde su propia casa. Esto evita la
necesidad de una organización de centros similares en distintas ciudades y provincias, además de los
costes de administración y mantenimiento que eso conlleva.
14.4.2. Teleeducación
La unión de la tecnología multimedia con la de telecomunicaciones abre un enorme campo de
posibilidades: clases interactivas seguidas desde el hogar, un gran despliegue de imágenes y sonidos
actuando como recursos didácticos, realización de exámenes calificados inmediatamente, etc.
En el sistema de teleenseñanza, los cursos serán editados con técnicas de hipertexto, que in-
cluyen además imágenes, sonidos, animaciones, etc., imponiendo un tipo de lectura no lineal de
contenidos, en la que el lector construye su propio camino, saltando de un tema a otro de acuerdo
con sus propias necesidades e inquietudes. Esto redundará en una mayor eficacia del proceso de
aprendizaje.
Por todo ello los cursos a través de la Teleenseñanza permitirán aplicaciones multimedia que
harán más amena y atractiva la enseñanza.
Otras ventajas serán el acceso a la más amplia oferta divulgativa: facilitar el acceso y consulta de
bibliotecas, transferir conocimientos entre el personal docente, etc.
14.4.4. Telemedicina
Uno de los campos que se beneficiarán del uso de los servicios telemáticos es la Medicina, desde
diferentes aspectos. Por ejemplo, si un organismo público o privado centralizase todas las historias clínicas
de los pacientes, las consultas se verían notablemente agilizadas. De esta forma, en el caso de que una
persona acuda a una consulta en cualquier punto de la geografía, el médico podría acceder a través de
Internet a la historia clínica del mismo, que incluiría, claro está, las diferentes imágenes de rayos X, los
gráficos de los últimos electrocardiogramas, las analíticas, etc. Además hospitales y clínicas pueden inter-
cambiar diagnósticos con otros centros, transferir informes y pruebas y acceder a historiales clínicos.
Las nuevas posibilidades del diagnóstico remoto (telediagnóstico), doctor on-line, etc., permitirán
a la población un sistema más eficiente de controlar ciertos aspectos relativos a la salud y además
a menor coste para todos. Efectivamente, las personas que viven en lugares remotos donde no es
posible el acceso inmediato a un hospital, las revisiones periódicas, el diagnóstico y tratamiento de
ciertas enfermedades, etc., requerirían grandes y pesados desplazamientos. Mediante una conexión
a Internet cualquiera de ellas podría acceder a la consulta de los teleespecialistas que, a partir de
los síntomas podría diagnosticar y someter a tratamiento muchos de los casos menos graves, con la
posibilidad de que puedan intercambiar opiniones entre ellos antes de tomar la decisión final.
En un futuro bastará con una cámara de vídeo bidireccional y un conjunto de sensores especia-
les, convenientemente integrados en una interface adecuada para que los especialistas realicen los
exámenes médicos a distancia, en la propia casa del paciente. Los dispositivos electrónicos como
estetoscopios, tensiómetros, termómetros, etc., permitirán a éstos examinarles los pulmones, las
gargantas, los ojos, etc., vía imágenes en vídeo y representaciones gráficas de los resultados.
La implementación total de estas aplicaciones significará un cambio profundo en la profesión
médica que deberá aprovecharse de ellas para conseguir mejores resultados.
14.4.5. Teleperiódicos
Internet ofrece la posibilidad de realizar la lectura masiva del periódico electrónico o teleperiódi-
co. Dicho periódico estará formado por un conjunto de páginas HTML, con información presentada
atractivamente, incorporando imágenes, audio, crucigramas y pasatiempos interactivos, etc., que
estará en un ordenador, en la empresa editora.
Esta puede optar por hacer suscripciones o permitir el libre acceso a sus servicios, con el con-
siguiente aumento de ingresos por publicidad. También podrá elegir entre visualizar sólo el periódico
del día o todos los anteriores configurándose así en una telehemeroteca.
14.4.6. Telecompra
El incremento de las redes públicas y privadas ha llevado a las empresas a intentar utilizar estos
medios para realizar nuevos negocios. Cada día es más frecuente la compra electrónica de productos,
el pago a través de la red, realizar transacciones bancarias, suscripciones, reservas, incluso realizar
acuerdos entre empresas.
¿Cómo es esto posible? Una de las posibilidades prácticas del usuario general es la de acceder
a las páginas Web de grandes almacenes, de editoriales, de empresas de venta de ordenadores, y en
general, a cualquier proveedor comercial; y comprar todo aquello que necesite desde su propia casa.
Aparece así el concepto de telecompra, servicio que ya se ha implantado a gran escala y con éxito en
otros países europeos y norteamericanos.
Para que el concepto de telecompra derive hacia una implantación práctica, es imprescindible
garantizar la seguridad en las transacciones económicas que se establecen a través de Internet. Este
hecho puede generalizarse para todos los servicios electrónicos que impliquen un trasvase de infor-
mación confidencial. Efectivamente, la verdadera implantación de estos servicios pasa por la confian-
za de proveedores y usuarios en la seguridad y privacidad de los datos que se transmiten.
Los requisitos de una transacción segura son:
– Autenticidad: garantizar que las dos partes involucradas en una transacción sean verdade-
ramente quienes dicen ser. Este punto es esencialmente importante para los usuarios que
acceden a un servidor, que deben estar seguros de la legitimidad del mismo.
– Integridad: el mensaje recibido por una de las partes debe ser idéntico al enviado por la
otra. Dicho en otras palabras, no debe haber alteraciones de la información enviada, en su
recorrido por la red, que sean accidentales o intencionadas.
– Confidencialidad: los mensajes enviados sólo podrán ser leídos por el destinatario. Esto
significa que ninguna persona en la red puede interferir e interpretar dichos mensajes.
– Imposibilidad de negar haber realizado una transacción. Ninguna de las partes puede
negar que ha enviado o recibido los mensajes correspondientes. De esta forma, si se cierra
un trato a través de la red y una de las partes no cumple con lo pactado, la otra podría efec-
tuar las acciones legales correspondientes. Los mensajes deben tener la misma validez que
si estuviesen escritos en papel y firmados.
14.4.7. Telebanca
Un servicio con creciente demanda en el contexto de las comunicaciones entre ordenadores será
la posibilidad de que cualquier usuario pueda acceder, desde su casa, y disponiendo de los medios
adecuados, a sus cuentas bancarias y realizar cualquier operación entre ellas, incluyendo transferen-
cias, pagos, emitir recibos, consultar movimientos, etc. No tendrá pues que permanecer en largas
colas ni preocuparse por la hora para realizar la mayoría de las transacciones.
Actualmente, existen herramientas muy populares en Estados Unidos y el Reino Unido que per-
miten llevar la contabilidad de la casa. La integración de éstas dentro del software del Banco y la
posibilidad de acceder a los datos de las cuentas en tiempo real, para que todas las operaciones
efectuadas (pago de recibos, acreditación de ingresos, etc.) se reflejen automáticamente en las
cuentas corrientes será un tema a considerar por los Bancos. Constituiría un servicio de valor añadi-
do, fundamental en el mundo de competencia electrónica que se avecina.
Los conceptos referentes a la seguridad en la comunicación de información confidencial son muy
importantes para una implantación de la telebanca como un servicio efectivo y fiable.
Sitio web de un banco donde se pueden realizar las operaciones bancarias más frecuentes sin moverse de casa.
Este sistema es difícil de manejar por el ser humano que, por simplicidad, lo transforma en cuatro
números decimales separados por puntos. Debido a ciertas razones técnicas, estos números tienen
la particularidad de no superar nunca la cantidad de 255, por ejemplo:
10.231.128.3
Aunque el formato anterior es más sencillo que el binario, aún sigue siendo engorroso trabajar
con conjuntos de números. Un paso adicional en la simplificación de la identificación en Internet viene
dado por la creación de dominios y subdominios.
El método de direccionamiento basado en dominios se denomina DNS (Domain Name Resolu-
tion o Resolución de nombres de dominios), y consiste en traducir las direcciones IP numéricas en
nombres más fáciles de recordar y manejar. Estos nombres siguen una estructura jerárquica separada
por puntos de la siguiente forma:
Por ejemplo:
tec.empresa_fulanita.es
Esta dirección podría corresponder al ordenador del departamento técnico (tec) de una empresa
denominada “Fulanita” en España (es).
La jerarquía de dominios y subdominios puede hacerse tan compleja como se quiera, pero los
dominios genéricos los controla la organización InterNIC, de la que hablamos anteriormente. Existen
8 dominios genéricos:
– 5 internacionales:
* .com para sociedades comerciales.
* .edu para instituciones educativas.
* .net para organizaciones en red.
* .org para ONGs (organizaciones sin ánimo de lucro).
* .int para complejos internacionales.
– 2 específicos de los Estados Unidos:
* .gov para instituciones gubernamentales.
* .mil para organizaciones militares.
– 1 que representa a cada país mediante dos letras, por ejemplo .es para España, .uk para
Inglaterra (United Kingdom), etc.
En cada subdominio pueden existir una serie de usuarios que se añaden a esta cadena mediante
un símbolo denominado arroba: @. La dirección de un usuario en Internet queda especificada de la
siguiente forma genérica:
usuario@subdominio.dominio.dominio genérico
Por ejemplo:
pepe_perez@ctd.junta-andalucia.es
14.5.2. Formatos
14.5.2.1. SGML
SGML fue creado para solucionar los problemas de compartir documentos en un entorno multi-
plataforma como es Internet. Se centra en los elementos del documento, de modo que el receptor de
la información está libre de las selecciones privadas del autor. Permiten redimensionar las ventanas,
obteniendo un empleo óptimo de la pantalla, e imprimir los documentos de modo que la impresión
conserva su formato original.
14.5.2.2. HTML
Partiendo de SGML se creó HTML como un formato simple de distribución sin derechos de pro-
piedad. Al igual que SGML, proporciona un método común de auditoría y conversión de formato. Los
documentos escritos en HTML tienen la extensión ’html‘ o ’htm‘. Estos documentos no son más que
archivos ASCII convencionales con códigos de formato que contienen información sobre su diseño, tal
como los estilos de texto, los títulos de los documentos, los párrafos, las listas y los hiperenlaces.
Actualmente HTML incluye imágenes, sonido, vídeo y pantallas interactivas a través de CGI (Common
Gateway Interface), ActiveX de Microsoft (antes denominado OLE control) y Java de Sun Microsystem.
Es posible diseñar documentos HTML mediante un editor de textos estándar, aunque existen una
serie de programas que permiten ahorrar tiempo y esfuerzo en el proceso de creación y de verifica-
ción. Existen los siguientes tipos básicos:
– Editores independientes: no necesitan de ningún soporte de software para funcionar co-
rrectamente, aunque algunos de ellos se han escrito en Visual Basic y requieren la biblioteca
VBRUN300.DLL. Entre los más conocidos se encuentran: HotMetal, HotDog, HTML Assis-
tant, HTML Led, Live Markup, HTML HyperEdit, HTML Writer y Web Publisher.
14.5.2.4. XML
XML (Extensible Markup Language) es una especificación desarrollada por W3C. Al igual que
HTML, XML es una versión de SGML diseñada especialmente para documentos en la web.
XML permite a los diseñadores definir sus propias etiquetas personalizadas, habilitando la defini-
ción, transmisión, validación e interpretación de datos entre aplicaciones y organizaciones.
14.5.2.5. CSS
CSS son las siglas de Cascade StyleSheet. Se trata de una especificación sobre los estilos físi-
cos aplicables a un documento HTML, y trata de dar la separación definitiva de la lógica (estructura)
y el físico (presentación) del documento.
Las hojas de estilo intentan separar en un documento el estilo lógico del estilo físico, dejando
este último en bloques de definición de estilos separados de la estructura del documento.
– El estilo lógico se refiere a la lógica del documento: cabeceras, párrafos... no se preocupa
de la apariencia final, sino de la estructura del documento.
– El estilo físico no se preocupa de la estructura del documento, sino por la apariencia final:
párrafos con un cierto tipo de letra, tablas con un determinado color de fondo, etc.
14.5.2.6. PDF
Es primordial en Internet la creación de una normativa para un formato multiplataforma trans-
portable, que permita a los usuarios ver los archivos sin importar cuál sea el tipo de ordenador que
estén utilizando (PC, Macintosh, Sun...). Adobe Acrobat es un conjunto de herramientas diseñadas
para crear y ver documentos en PDF (Portable Document Format) o formato de documento trans-
portable.
14.5.3. Programación
Una de las grandes ventajas de la web es la posibilidad de recabar información instantáneamente
sobre los usuarios. Los formularios permiten que los usuarios introduzcan información en una página
HTML y la remitan, proporcionando un método de suministrar esa información a un programa especí-
fico que devuelva los resultados a un usuario. Es un modo muy flexible de procesar los datos enviados
desde un navegador Web, y pasados a través del servidor, y además es fácilmente transportable a
través de múltiples sistemas operativos.
– CGI es un interface estándar para que los programas de acceso externo puedan comunicar-
se con los servidores. Permite implementar formularios en las páginas HTML.
– Java: una importante área de desarrollo en Internet consiste en convertir los documentos
web en elementos activos que interactúen con el usuario. El más notable exponente es Sun
Computer y su lenguaje intérprete, llamado Java. Cuando se lee una página Java el navega-
dor carga el código necesario, llamado applet, y lo ejecuta. El código debe estar escrito en
el lenguaje Java para su ejecución. De esta manera, la transacción completa consume muy
poco tiempo (para su carga), pero puede ejecutarse durante más tiempo por sí misma.
– PHP: El lenguaje PHP es un lenguaje de programación de estilo clásico: con variables, sen-
tencias condicionales, bucles, funciones, etc. No es un lenguaje de marcas como podría
ser HTML, XML o WML. Está mas cercano a JavaScript o a C (para aquellos que conocen
estos lenguajes). A diferencia de Java o JavaScript que se ejecutan en el navegador, PHP se
ejecuta en el servidor. Esto permite acceder a los recursos que tenga el servidor, por ejemplo
una base de datos. El programa PHP es ejecutado en el servidor y el resultado enviado al
navegador. El resultado es normalmente una página HTML pero igualmente podría ser una
pagina WML.
– ASP es una tecnología desarrollada por Microsoft para crear páginas web de contenido diná-
mico apoyándose en scripts ejecutados en el servidor. Básicamente una página ASP es una
mezcla entre una página HTML y un programa que da como resultado una página HTML que
es enviada al cliente (navegador).
– Javascript: un documento HTML es crear algo de carácter estático, inmutable con el paso
del tiempo. La página se carga, y ahí termina la historia. Tenemos ante nosotros la informa-
ción que buscábamos, pero no podemos INTERACTUAR con ella. Como una solución a este
problema, se diseñó JavaScript. Se trata de un lenguaje de tipo script compacto, basado en
objetos y guiado por eventos diseñado específicamente para el desarrollo de aplicaciones
cliente-servidor dentro del ámbito de Internet. Los programas JavaScript van incrustados en
los documentos HMTL, y se encargan de realizar acciones en el cliente, como pueden ser
pedir datos, confirmaciones, mostrar mensajes, crear animaciones, comprobar campos,
etc.
– WAP y WML: WAP (Wireless Application Protocol) es un protocolo basado en los estándares
de Internet que ha sido desarrollado para permitir a teléfonos celulares navegar por la red.
Con la tecnología WAP se pretende que desde cualquier teléfono celular WAP se pueda ac-
ceder a la información que hay en Internet así como realizar operaciones de comercio elec-
trónico. WML es un lenguaje de marcas similar al HTML. WML es compatible con XML 1.0.
Las páginas WML son llamadas barajas ya que están compuestas por cartas, un navegador
WAP, y solo puede mostrar una carta al mismo tiempo.
– Flash: tecnología de animación basada en vectores. Es independiente del navegador y ocupa
un ancho de banda muy reducido. La capacidad de los navegadores para visualizar secuen-
cias de Flash dependen de si tienen o no el correspondiente módulo de ejecución instalado
(plug-in).
– VRML (Virtual Reality Modeling Language) o lenguaje de modelado de realidad virtual: este
lenguaje de realidad virtual soporta objetos dinámicos y en 3D. Funciona en los navegadores
Web basados en HTML aunque define objetos que pueden obtener diferentes tipos de datos,
tales como imágenes JPEG, archivos de sonido, videoclips, etc. Es un formato de archivo
abierto, es decir, independiente de la plataforma utilizada, para manejar y representar grá-
ficos tridimensionales en Internet. VRML intenta llevar imágenes de tres dimensiones a un
sistema bidimensional como nuestras pantallas de ordenador.
14.5.4. Protocolos
Base de Datos
Tratamiento de Textos