Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pro Ces Adores
Pro Ces Adores
1 Introducción
La informática trata de la adquisición, representación, almacenamiento, tratamiento y trans-
misión de la información. Estas operaciones se pueden realizar automáticamente utilizando
sistemas (máquinas) denominados computadores.
En este capítulo se incluyen un conjunto de conceptos que ayudan a contestar las siguien-
tes preguntas sobre los computadores: ¿qué son?, ¿cómo se utilizan? y ¿para qué sirven?
Para ello, se dan unas definiciones y unas nociones generales sobre informática, la mayoría
de las cuales son ampliadas en los siguientes capítulos.
Se pretende que el lector tenga una visión panorámica del contenido de esta obra, de
forma tal que, cuando se adentre en los sucesivos capítulos, sepa enmarcar el sentido e
importancia de cada uno de ellos.
Introducción a la Informática
Un computador puede considerarse como un sistema (Figura 1.1) cuyas salidas o resulta
dos son función (dependen) de sus entradas, constituidas por datos e instrucciones.
Programa Traductor
Programa del usuario en
Computador
lenguaje máquina
Programa del usuario en
lenguaje de alto nivel
MÚLTIPLOS
Los prefijos (k-, M-, G-, T-, P- y E-) no sólo se utilizan con Bytes, sino también con otras
unidades internas de información. Así, 1 Gb (o Gigabit) son 1.0731741.824 bits.
En general, utilizaremos de aquí en adelante una “b” (minúscula) para indicar bit y una
“B” (mayúscula) para indicar byte.
c Unidades centrales
Memoria Interna (MI
(datos e instrucciones)
d,i d
e e i d
Entrada (E) Salida (S)
c Unidad de control e c Unidad aritmético-lógica c
(CU) (ALU)
Procesador (CPU)
e e
0 Dirección Contenido
25AB
1 0 25AB
7F54 1 7FAC
2
3FAC 2 3FAC
3
48AB 3 48AB
4
P 4 P
5
R 8 R
· ·
· ·
· ·
255 7CAD
5
5
7CAD 2
(b)
(a)
Figura 1.4. Diagrama simplificado de una memoria principal de 255 palabras (en
realidad tanto las direcciones como los contenidos se representan con códigos binarios).
Introducción a la Informática
Normalmente hay una zona de la memoria en la que sólo se puede leer (memoria ROM)
y que es permanente (al desconectar el computador su información no se pierde), y otra en
la que se puede leer y escribir (memoria RAM) y que es volátil. La memoria ROM de los
computadores viene grabada de fábrica, y contiene programas y datos relevantes del sistema
operativo que deben permanecer constantemente en la memoria interna.
Memoria Externa (ME)
La memoria interna es muy rápida (es normal que pueda leer o escribir decenas de millones
de palabras en un solo segundo), pero no tiene gran capacidad para almacenar información
y es su zona RAM es volátil. Para guardar masivamente información se utilizan otros tipos
de memoria, tales como discos magnéticos, discos ópticos y cintas magnéticas, que son más
lentos pero pueden tener mucha más capacidad que la memoria principal (del orden de un
millón de veces más lentos y de mil veces más capaces, en el caso de un disco magnético).
El conjunto de estas unidades se denomina memoria externa, memoria masiva, memoria
auxiliar o memoria secundaria. Usualmente los datos y programas se graban (introducién
dolos por las unidades de entrada) en la memoria externa, de esta forma cuando se ejecute
varias veces un programa o unos datos se utilicen repetidamente, no es necesario darlos
de nuevo a través del dispositivo de entrada. La información guardada en un disco o cinta
permanece indefinidamente hasta que el usuario expresamente la borre.
Unidad de tratamiento (PU, Proccesing Unit)
Como elemento principal contiene a la unidad aritmético-lógica o ALU (Arithmetic Logic
Unit), contiene los circuitos electrónicos con los que se hacen las operaciones de tipo arit
mético (sumas, restas, etc.) y de tipo lógico (comparar dos números, hacer operaciones del
álgebra de boole binaria, etc.). Esta unidad también suele denominarse camino de datos (o
ruta de datos) ya que aparte de contener a la ALU incluye otros elementos auxiliares por
donde se transmiten (buses de datos), o registros para almacenar temporalmente los datos
al objeto de operar con ellos. Un registro es una pequeña memoria diseñada para almacenar
un dato, instrucción o dirección de memoria.
Unidad de control (CU, Control Unit)
La unidad de control detecta señales eléctricas de estado procedentes de las distintas uni
dades, indicando su situación o condición de funcionamiento (Figura 1.3). También capta
secuencialmente de la memoria las instrucciones del programa, y, de acuerdo con el código
de operación de la instrucción captada y con las señales de estado procedentes de los dis
tintos elementos del computador, genera señales de control dirigidas a todas las unidades,
ordenando las operaciones que implican la ejecución de la instrucción. La unidad de control
contiene un reloj, que sencillamente es un generador electrónico de pulsos que sincroniza
todas las operaciones elementales del computador. El período de esta señal se denomina
tiempo de ciclo, y está comprendido aproximadamente entre décimas de nanosegundos y
varios microsegundos, dependiendo del computador. La frecuencia del reloj (inverso del
tiempo de ciclo) suele darse en millones de ciclos/segundo, (Megahercios o, abreviadamente,
MHz) o en miles de millones de ciclos/segundo (Gigahercios, GHz). La ejecución de cada
instrucción supone la realización de un conjunto de operaciones elementales consumiendo
un número predeterminado de ciclos, de forma que las instrucciones más complejas utilizan
un número mayor de ciclos que las menos complejas.
Unas unidades están interconectadas con otras según se indica en la Figura 1.3; ahora
bien, existen diversas variantes a este esquema, dependiendo de la estructura o configuración
concreta del computador, según se analizará en el Capítulo 12. Los distintos elementos de un
Capítulo 1 Introducción
Unidad de Disco
133 MB/s, quiere decir que en 1 segundo se pueden transferir 133 Megabytes entre las
unidades citadas.
Desde el punto de vista de los usuarios interesa una medida más global del funciona
miento del computador, que pueda servir para comparar la potencia de procesamiento de dos
equipos distintos. Dado un determinado programa, diremos que un computador tiene mayor
rendimiento que otro si el primero lo ejecuta en menos tiempo. El tiempo de ejecución de
un programa, tE , es el tiempo que transcurre desde el inicio hasta el final de su ejecución. Si
denominamos NI al número de instrucciones que se ejecutan en un programa2, NCI al número
medio de ciclos de reloj que consume cada instrucción y F a la frecuencia del reloj, el tiempo
de ejecución del programa vendrá dado por:
[1.1]
N I · N CI
t E = N I · N CI ·T =
F
EJEMPLO 1.1
Según indicamos anteriormente, la ejecución de cada instrucción para un procesador consume un número
determinado de ciclos de reloj, existiendo instrucciones más rápidas que otras. Así, por ejemplo, en el
procesador Pentium III una instrucción puede consumir 14 ciclos de reloj, mientras que otra puede
consumir 45. Debido a lo anterior no se puede comparar el rendimiento de dos computadores con
procesadores diferentes por sus frecuencias de reloj, ya que un computador A con frecuencia de reloj
menor que otro B puede que esté diseñado de forma que sus instrucciones se ejecuten consumiendo
menos ciclos que el B, siendo factible en este caso, que el rendimiento del A sea mayor que el del B.
En realidad, como hemos puesto de manifiesto con la expresión [1.1], el rendimiento de un procesador
depende de tres factores: el repertorio de instrucciones (factor que determina NI ), la frecuencia de reloj
(F) y el número de ciclos asociados a cada instrucción (NCI ).
2
Este número no tiene porqué coincidir con el número de instrucciones que tiene el programa, ya que éste puede
contener bucles o lazos que se ejecuten múltiples veces e instrucciones en ramas del programa que no se ejecuten,
todo ello dependiendo de los datos de entrada al programa.
Capítulo 1 Introducción 11
donde, en la expresión anterior, los tiempos se refieren a la ejecución del mismo programa i.
Cuando se utilizan conjuntos de programas de prueba, se hacen las medidas normalizadas
[1.5] para cada uno de los programas del conjunto y el valor final para la tasa de ejecución
(o velocidad) se da como media geométrica de las medidas parciales obtenidas:
[1.6]
n
R= n
∏R
i =1
i , relativa
Introducción a la Informática
EJEMPLO 1.2
El Pentium Pro de 200 MHz tiene un valor SPEC95 de valor 8 para enteros y 7 para reales, lo que
quiere decir que se considera 8 veces más rápido que el procesador Sun citado en aplicaciones que
utilicen números enteros, y 7 en el caso de números reales.
Programa Traductor
Instrucciones Instrucciones en
Instrucción en C en código máquina Explicación
ensamblador Direcc. Instruc.
for (i=0;i<9000;i++) A(i)=0 mov cx,9000 0000 B9 Nº de veces a repetir la instrucción “rep stosw”
0001 28
0002 23
les di,A 0003 C4 Se da a es:di la dirección inicial de A
0004 3E
0005 00
0006 00
cld 0007 FC Avanzar el puntero una posición
0008 33
xor ax,ax 0009 C0 Hacer AX=0
rep stosw 000A F3 Almacenar el valor de AX en A[.]
000B AB
Figura 1.7. Instrucción en C para poner a 0 los elementos de una
tabla y su correspondiente traducción a lenguaje máquina.
Son lenguajes de alto nivel FORTRAN, COBOL, BASIC, Lisp, Prolog, Logo, Pascal, C,
Ada, C++, Java, Visual Basic, etc. (Capítulo 14).
Existen dos tipos de traductores: compiladores e intérpretes. Los compiladores traducen
el programa inicial (programa fuente) considerándolo globalmente, y generan un programa
(programa objeto), como resultado de la traducción, que se almacena en un archivo en disco.
Para ejecutar posteriormente el programa, se puede utilizar directamente el programa objeto.
Los traductores intérpretes, en lugar de considerar al programa a traducir como un todo,
van analizando, traduciendo y ejecutando una a una las instrucciones del programa fuente;
no se analiza una instrucción hasta que la anterior se haya ejecutado. Los intérpretes no
generan programa objeto almacenable en un archivo, necesitándose, siempre para ejecutar el
programa, volver a traducirlo.
Además de los programas traductores, el constructor proporciona otros programas que son
necesarios para el control y para la utilización eficiente y cómoda del computador. Algunos
de estos programas son para editar (introducir u obtener la información en forma adecuada, y
con posibilidades de modificar, insertar o borrar dicha información), para copiar un programa
de disco a memoria o viceversa, o para borrar un conjunto de datos de un disco, o para
comprobar el funcionamiento de los circuitos del computador (autodiagnóstico). El conjunto
de programas que controlan y gestionan los recursos del computador se denomina sistema
operativo. Un sistema operativo es un programa compuesto por una serie de módulos o
subprogramas que controlan el funcionamiento global del computador de forma que este
sea utilizado por los usuarios de forma eficiente y cómoda. Los subprogramas del sistema
operativo se utilizan con un lenguaje específico denominado lenguaje de control. A las
instrucciones del lenguaje de control se las suele denominar órdenes (commands).
Los sistemas operativos actuales están diseñados de forma que posibilitan el uso de un
computador concurrentemente por varios usuarios, la distribución de los recursos del sistema
dentro de redes de computadores, la utilización por los programas de una memoria principal
de capacidad mayor que la memoria física real, y el uso de sofisticadas interfaces de usuarios
tales como gráficos, ratón y ventanas junto con un lenguaje de control natural.
Capítulo 1 Introducción 15
Por lo general cada constructor de computadores tiene sus propios sistemas operativos;
no obstante en la actualidad sólo unos pocos se mantienen en uso tales como son el UNIX,
Linux, Microsoft, Mac OS, OS/2 y AIX.
Los Capítulos 13 y 14 se dedican íntegramente a ampliar los conceptos vistos en esta sección.
miles de variables), modelado de fisión nuclear, simulación del enfriamiento de las galaxias,
grandes servidores web, etc. Una aplicación típica es la predicción climatológica, ya que ésta
requiere efectuar cálculos muy complejos (que simulan matemáticamente el comportamiento
de la atmósfera) con grandes cantidades de datos provenientes de multitud de terminales (del
orden de 10.000) ubicados en estaciones meteorológicas dispersas a lo largo del mundo, y a
tiempo para poder realizar las predicciones; así, para poder realizar predicciones con 72 horas
de antelación es necesario un computador de aproximadamente 10 GFlots con 1 Gigabyte
de memoria principal, incrementándose notablemente la tasa de ejecución de instrucciones
necesaria para predicciones con mayores antelaciones. Para simular el flujo de aire en torno
a un ala, para el diseño de un nuevo modelo de avión, con tiempos de ejecución del orden
de 15 minutos se requiere un supercomputador (no disponible en la actualidad) con una tasa
de ejecución de instrucciones del orden de un billón de MFlops (1 Exaflops).
El computador más potente del mundo en Enero del 2006 era el BlueGene/L–eServer
construido por IBM e instalado en el Lawrence Livermore National Laboratory de la Uni
versidad de California. Este supercomputador contenía 131.072 procesadores PowerPC 440 de
700 MHz (cada uno de ellos de 2,8 GFlops), adquiriendo una tasa máxima de ejecución de
instrucciones de 280 TFlops. Entre las aplicaciones principales de este sistema se encuentra
la simulación biomolecular (plegamiento de proteínas, por ejemplo). A partir de la referencia
[wTOP500] puede accederse a las características más notables y aplicaciones de los 500
computadores más potentes del mundo4.
Servidores de gama alta o macrocomputadores (Mainframes)
Son grandes computadores de uso general con amplias posibilidades de procesamiento,
gran memoria y capaces de admitir desde varios cientos a miles de usuarios trabajando
simultáneamente. Son utilizados por instituciones que procesan la información de grandes
bases de datos (grandes servidores web, servicios de proceso de datos de entidades bancarias,
reservas de billetes de compañías aéreas, etc.). Otras características típicas de estos computa
dores es procesar la información en modo de transacciones (véase Sección 13.5.3), con gran
cantidad de usuarios conectados a través de redes y disponer de una gran capacidad de me
moria masiva (del orden de Terabytes). Su precio se encuentra en el rango de 1 a 10 millones
de dólares y suelen ser multiprocesadores o muticomputadores de 2 a 128 procesadores.
Servidores de gama media y básica
Son equipos para utilizar interactivamente por múltiples usuarios simultáneamente, simila
res a los macrocomputadores, pero a escala reducida de prestaciones y precio, y suelen ser
utilizados en empresas o departamentos de tipo medio o pequeño.
Se configuran como monoprocesadores o multiprocesadores que pueden llegar a tener
del orden de GB de memoria principal, cientos de GB de disco, y actúan interconectados en
una red de área local o de gran área (Internet), pudiendo atender simultáneamente decenas
de accesos de estaciones de trabajo, PC o terminales conectados a la red.
Los servidores de gama media pueden llegar a tener hasta 32 procesadores y su coste
oscila, aproximadamente, entre 50.000 y 1.000.000 de dólares. Los de gama baja o servidores
básicos, por su parte, no suelen contener más de 8 procesadores, estando comprendido su
precio entre 1.000 y 100.000 dólares.
4
En enero de 2006, el octavo supercomputador más potente del mundo era el Mare Nostrum, de 28 TFlops e
instalado en el Centro de Supercomputación de Barcelona (España).
Capítulo 1 Introducción 19
El estudio o diseño dentro de cada nivel se efectúa utilizando o viendo al computador se
gún las primitivas proporcionadas por el nivel inmediato inferior. Así, para diseñar el sistema
operativo se considera al computador en el nivel de máquina convencional; es decir, en teoría
no sería necesario conocer niveles inferiores a éste (el de lógica digital, por ejemplo).
Los niveles 1, 2 y 3 corresponden a los de tecnología de computadores, y son de una
gran importancia ya que el crecimiento del rendimiento de los computadores en gran medida
depende de ella. Por ejemplo, en las décadas de los 70 y los 80 se obtuvo un incremento del
18 al 35 % por año en el rendimiento de los computadores gracias a mejoras tecnológicas.
Los elementos del nivel electrónico son componentes tales como transistores, condensadores
y resistencias; y la información se representa con valores de tensiones eléctricas (0/3.5 V, por
ejemplo), corriente eléctricas (0, 16 mA) o estados de magnetización (Norte, Sur), etc. La
mayoría de las operaciones básicas de la máquina se describen a este nivel y sus elementos
básicos (puertas lógicas) pueden almacenar, manipular y transmitir datos representables en
forma binaria (0, 1). Los capítulos 5 y 6 se dedican a sentar las bases tecnológicas de los
computadores que posibilitan la descripción de los mismos en los niveles 1 y 2.
En el Capítulo 7 se describirán algunos tópicos de la estructura de computadores dentro
del Nivel 3 (microoperaciones). Los módulos que utiliza este nivel son registros, multiplexores,
bancos de registros, módulos de memoria RAM, etc. construidos con los módulos del Nivel 2
22 Introducción a la Informática
(puertas lógicas). Las señales son para realizar operaciones tales como carga de un registro,
efectuar una operación concreta en la ALU, escribir en la memoria principal, etc. El Capítulo 9
se dedicará a profundizar en la descripción de los computadores en este Nivel 3.
El Nivel 4, lenguaje máquina, es el genuino nivel de arquitectura del computador ya
que el diseño de un computador parte de la especificación de las instrucciones del lenguaje
máquina. A este nivel se dedicará el Capítulo 8. El lenguaje ensamblador es igual al lenguaje
máquina, salvo que utiliza una terminología distinta para describir los módulos o primitivas
(las instrucciones) que se definen en este Nivel 4.
El Nivel 5, sistema operativo, puede considerarse como la interfaz entre el hardware y
software. Añade una capa para facilitar el uso del hardware y hacerlo lo más eficaz posible
desde el punto de vista de los usuarios y de los programas de aplicación. A él se dedica el
Capítulo 13.
El último nivel (Nivel 6, o de máquina simbólica) es el que realmente ven los programa
dores de aplicaciones y los usuarios, y está formado básicamente por los traductores o, en
general, procesadores de lenguajes. Si está bien concebido, el usuario no tendrá necesidad
de conocer nada de los niveles inferiores, y sus primitivas y lenguaje de utilización son
simbólicos, debiendo ser lo más próximos posibles al hombre (Capítulo 14).
1.7.1 Metodología
En la Sección 1.1 se comentó que el usuario indica al computador qué es lo que tiene que
hacer por medio de programas. Es decir, para usar un computador se deben expresar todas
las operaciones o tratamientos a efectuar desmenuzados en instrucciones del repertorio del
lenguaje de programación que se va a utilizar.
Para resolver un problema (confeccionar la nómina de una empresa, por ejemplo) con
computador es necesario definir y describir minuciosamente con rigor cómo debe resolverse
el problema. Para ello se suelen seguir las siguientes fases:
Planteamiento o definición del problema
Consiste en describir claramente qué es lo que se pretende, incluyendo la presentación ( for-
mato) de los resultados que se desean obtener. Por ejemplo, en el caso de la nómina, el
proceso puede consistir en generar los siguientes documentos:
• Relación de empleados en la que se especifique el banco, cuenta corriente y cantidad
que debe percibir cada uno de ellos.
• Listado en que figure la cantidad retenida, por impuestos oficiales, a cada empleado.
• Hoja para cada empleado, detallando su liquidación.
• Listado sobre las cuotas a la Seguridad Social, etc.
En función de la documentación a obtener, habrá que determinar qué datos debe utilizar el
computador para hacer los cálculos intermedios oportunos y producir los listados. Esos datos
Capítulo 1 Introducción 23
podrían ser: nombres y apellidos de cada empleado, categoría laboral (en función de la cual
se obtendrá el sueldo), antigüedad, complementos retributivos, número de identificación del
empleado, número de la seguridad social, entidad bancaria y número de cuenta corriente, etc.
En el planteamiento del problema interviene el usuario final del programa además de
especialistas en informática. En el planteamiento (o definición de necesidades) deben especi
ficarse las reglas o pasos que es necesario seguir para resolver el problema general o los
aspectos parciales, como puede ser el método para obtener lo que cada empleado debe abonar
a la seguridad social. Se trata de definir los algoritmos inherentes a la aplicación. Un algo-
ritmo es un conjunto ordenado de reglas o instrucciones tal que siguiéndolas paso a paso
se obtiene la respuesta a un problema dado, sean cuales sean los datos o circunstancias
particulares del mismo.
En esta fase se especifica también la interfaz de usuario o forma en que se va a utilizar
la aplicación: con menús de opciones, etc.
Análisis
La responsabilidad de esta fase es de los especialistas en informática (analistas de aplicacio-
nes), que trabajan con los usuarios finales de la aplicación. El análisis consiste en el estudio
por un procedimiento lógico de la solución del problema, descomponiéndolo en diferentes
fases realizables con el computador y los equipos disponibles. El análisis, partiendo del
planteamiento, determina cómo deben estructurarse los datos de entrada, cómo deben de
purarse los errores de dichos datos, qué archivos de datos deben definirse, qué lenguaje de
programación es adecuado utilizar, si se debe emplear alguno de los programas de utilidad
existentes en la instalación, etc.
El analista descompone el problema global en problemas más simples e interrelacionados,
ya que los resultados de unos pueden ser los datos de entrada de otros. Cada uno de estos
problemas se podrá resolver con un programa independiente, de esta forma el análisis con
sigue descomponer el problema inicial en módulos sencillos.
El analista produce un esquema, que se suele describir en un lenguaje algorítmico o
representar en una gráfica denominada organigrama, diagrama de flujo, u ordinograma. Un
organigrama se construye con unos símbolos normalizados, con los que se muestra una pano
rámica de la aplicación en función de la naturaleza de los datos de entrada y de los archivos
de datos, de los módulos o programas a realizar y sus interfaces, de la información de salida
a generar y de dónde se quiere ubicarla (en disco, pantalla o impresora; por ejemplo).
Programación
Consiste en describir los módulos o programas, definidos en el análisis, por medio de
instrucciones del lenguaje de programación que se utiliza (instrucciones de E/S, transfe
rencias de información, cálculos aritmético‑lógicos y bifurcaciones condicionales, etc.). Esta
descripción se puede efectuar con ayuda de un organigrama o utilizando una terminología
específica de programación denominada pseudocódigo. Posteriormente el programador
redacta el programa, codificando las instrucciones según el repertorio y reglas del lenguaje
de programación.
Prueba y depuración de la aplicación
Esta etapa consiste en comprobar el funcionamiento de cada programa individual con datos
ficticios y reales. Una vez depurados los programas individuales, se prueba por separado cada
fase de la aplicación, y, en su caso, la aplicación completa. A veces la etapa de experimenta
ción obliga a efectuar una revisión de las etapas anteriores, incluso la de planteamiento, con
objeto de obtener unos resultados satisfactorios. En general cuando en una cualquiera de las
24 Introducción a la Informática
En la Figura 1.9 se tiene parte del contenido de un archivo relativo al control de impuestos
y multas de tráfico.
0110 1001
0111 1001
0110 1111
Bytes
0110 1111
0101 1010
1010 0101
1000 1110
Figura 1.9. Ejemplo de archivo para control de multas de tráfico.
Por lo general los datos que lee o genera un programa se estructuran en forma de archivo
de datos. El archivo de datos de entrada (el que lee el programa) puede ser introducido en la
memoria masiva con anterioridad a la ejecución del programa. El sistema operativo considera
a los archivos como unidades de almacenamiento incluyendo órdenes tales como crear un
archivo, copiar un archivo y borrar un archivo. Además existen programas específicos para
el mantenimiento o puesta al día de archivos para que siempre estén actualizados. Estos
últimos programas, denominados editores o gestores de archivos, insertan, eliminan o
modifican datos del mismo.
Los registros son las estructuras o unidades que forman el archivo y que contienen la
información correspondiente a cada elemento individual. Así, en los ejemplos anteriores los
registros son:
• La información contenida en una historia clínica.
• Los datos referentes a un empleado determinado.
• Los datos de un determinado alumno.
• Los datos metereológicos de un día.
• Los datos referentes a un libro.
Capítulo 1 Introducción 27
5. Un computador puede realizar todas sus operaciones con una precisión controlada,
obteniendo resultados consistentes con la precisión de los datos introducidos.
6. Cálculos complejos. Utilizando lenguajes de programación adecuados y rutinas de bi
bliotecas matemáticas, es posible efectuar cálculos sofisticados (resolución de modelos
matemáticos atmosféricos para predicción del tiempo, por ejemplo).
7. Las operaciones que realiza un computador las efectúa a una gran velocidad, en com
paración con los humanos.
Aquellas actividades que requieran o presenten alguna de las características anteriores,
son candidatas a ser efectuadas con ayuda de computador.
A continuación se relacionan algunos ejemplos de aplicación de la informática. Estos
ejemplos los hemos agrupado en siete apartados, que están basados en la taxonomía de
Aplicaciones de los Computadores incluida en las “CR Categories” dadas por la Association
of Computing Machinery (ACM) [ACM].
1. Procesamiento de datos administrativos
Este es el campo de aplicación de los computadores más extendido, y trata de auto
matizar las funciones de gestión típicas de una empresa, incluyendo aplicaciones o
programas para realizar procesos tales como:
• Contabilidad. Control de caja.
• Procesamiento de pedidos. Facturación.
• Control de proveedores y clientes.
• Control de almacén.
• Control de producción y de productividad.
• Gestión de personal. Nóminas.
• Planificación y control de proyectos grandes y complejos.
• Programación lineal: búsqueda de soluciones óptimas; por ejemplo, minimización
de costes de transporte,
• Investigación y prospección de mercado.
• Modelos financieros y para predicción (de bolsa, por ejemplo).
• Gestión bancaria (control de clientes, gestión de cajeros automáticos, etc.).
• Sistemas de gestión de terminales punto de ventas (cajas de abono en almacenes
comerciales).
• Gestión bibliotecaria. Archivos automatizados de bibliotecas. Control de préstamos,
localización de libros, etc. (véase también “Documentación científica y técnica” en
el apartado “Ciencias sociales y del comportamiento”).
• Seguros (evaluación de riesgos, etc.).
• Sistema de reserva y expedición de billetes (compañías de transporte aéreas, ferro
carriles, etc.).
En este apartado se pueden considerar los paquetes integrados de oficina electró-
nica o de ofimática, que suelen estar compuestos por los siguientes programas:
• Procesador de textos.
• Hoja electrónica.
• Gestión de archivos o/y bases de datos.
• Correo electrónico.
30 Introducción a la Informática
• Agenda electrónica.
• Aplicaciones gráficas.
2. Ciencias físicas e ingeniería
Los primeros computadores se desarrollaron precisamente para aplicarlos en este
campo. Se utiliza el computador como instrumento para la resolución de modelos y
cálculos matemáticos, tales como:
• Resolución de ecuaciones y de problemas matemáticos, en general (Cálculo numé
rico o simbólico).
• Análisis de datos experimentales utilizando técnicas estadísticas.
• Simulación y evaluación de modelos (por ejemplo, los utilizados en predicción
metereológica).
• Realización de tablas matemáticas.
3. Ciencias de la vida y médicas
Aquí se incluyen aplicaciones tales como:
• Investigación médica, biológica y farmacéutica (base de datos sobre el DNA, aná
lisis de datos de experimentos sobre efectos de medicamentos, etc.).
• Ayuda al diagnóstico (sistemas expertos para diagnóstico médico, por ejemplo).
• Bases de datos con historias clínicas.
• Medicina preventiva (control de vacunación de niños, por ejemplo).
• Electromedicina (véase apartado de “Ingeniería con ayuda de computador”).
4. Ciencias sociales y del comportamiento
Algunos ejemplos de aplicaciones en este apartado son:
• Análisis de datos (evaluación de encuestas, por ejemplo).
• Bases de datos jurídicas (incluyendo legislación, jurisprudencia, etc.).
• Aplicaciones en educación:
- Enseñanza con ayuda de computador (CAI –siglas de “Computer Assisted
Instruction”– o CAL –”Computer Aided Learning”). Consiste en la utilización
del computador como herramienta pedagógica, aplicable en gran cantidad de
disciplinas.
- Evaluación automática de exámenes.
• Juegos con computador (videojuegos, ajedrez, etc.).
• Documentación científica y técnica: bases de datos con referencias de publicaciones,
artículos en revistas, patentes y comunicaciones a congresos, a las que se puede
acceder según diversos criterios (materia, autor, año, etc.). A esta información se
puede acceder a través de redes de computadores de área local o de internet.
5. Arte y humanidades
Aquí se considera el uso del computador en aspectos tales como:
• Composición de cuadros.
• Composición musical.
• Elaboración de publicaciones tales como libros, periódicos y revistas.
• Realización de escenas animadas para películas de cine, televisión, etc.
• Análisis automático de textos (determinación de frecuencias de uso de palabras, etc.).
Capítulo 1 Introducción 31
o conjunto de computadores conectados a la red. Los servicios más utilizados que ofrece
internet son los siguientes:
• Correo electrónico (e-mail) que permite enviar de forma rápida y eficiente mensajes.
• Boletines de noticias (news) sobre temas concretos y distribuidos a grupos de interés
en ellos.
• Acceso remoto a otro computador (telnet), para acceder a los recursos informáticos
de éste (ejecutar programas, por ejemplo).
• Guías para búsquedas de información (gopher).
• Charlas interactivas de usuarios en red (IRC, Internet Relay Chat o Chats).
• Acceso a páginas de la red mundial (www o word wide web). Las páginas son do
cumentos con enlaces a otros documentos existentes en el mismo u otros servidores.
• Comercio electrónico (e-commerce) que permite realizar transacciones comerciales
a través de la red mundial.
El desarrollo de internet está suponiendo una auténtica revolución tanto en cuanto a la
forma de difundir y acceder a la información como a la forma de trabajar.
1.9 Conclusión
En este capítulo se ha pretendido dar una visión panorámica del contenido de esta obra.
También se ha introducido una serie de definiciones y conceptos para que el lector comprenda
qué son, cómo funcionan, cómo se utilizan y para qué sirven los computadores. La mayor
parte de estos aspectos serán ampliados en sucesivos capítulos.
Resulta este primer capítulo de interés también porque se ha introducido en una forma
comprensible y sencilla, aunque no por ello exenta de rigor, la terminología más usual en
informática que se utilizará a lo largo de este libro.
EJERCICIOS
1.1 Codificar las letras del alfabeto utilizando velocidad de transferencia que debe admitir
caracteres numéricos. Escribir a continua cada hilo del bus de datos.
ción, con el código anterior, la frase “En un
lugar de la Mancha...”. 1.5 Se dispone de una memoria de 4 GBytes, or
ganizada en palabras de 32 bits. Suponiendo
1.2 ¿Cuántos bits hay en 32 KB? ¿Y en 64 MB? que cada hilo transmite a una velocidad de
¿Y en 4 GB? 150 Mbits/segundo, obtener:
1.3 Un computador tiene 36 K palabras de me a) La anchura del bus de datos y de la memoria.
moria principal y está estructurado en pala b) El tiempo necesario para transferir 1 MByte
bras de 32 bits. ¿Cuántos caracteres caben en entre la memoria y el procesador.
dicha memoria? c) ¿Cuál debe ser la frecuencia de reloj míni
ma para poder leer una palabra de memoria
1.4 Suponiendo que su capacidad máxima de en un ciclo?
memoria es de 32 MBytes, y está organizado
en palabras de 32 bits. 1.6 Suponga que las instrucciones ADD, MUL,
a) ¿Cuantos bits tienen en total? LOAD y STORE de un computador, cuyo
b) ¿Cuál es el ancho (número de hilos) del bus reloj funciona a una frecuencia de 1,5 GHz,
de datos? consumen 8, 15, 4 y 4 ciclos de reloj, respec
c) Suponiendo que el ancho de banda de la tivamente. Obtenga el tiempo que tardan en
memoria es de 200 MBytes/s, indicar la ejecutarse dichas instrucciones.
34 Introducción a la Informática
1.7 En un catálogo se indica que la velocidad ellas pertenecientes a un bucle que se ejecuta
de un computador es de 2 MIPS. Estimar el 50 veces. La ejecución del programa consume
tiempo aproximado que se tardaría en eje un total de NTC = 34.000 ciclos de reloj:
cutar un conjunto de 328.325 instrucciones. a) ¿Cuál es el número medio de ciclos por
¿Qué inexactitudes presenta dar la velocidad instrucción, NCI?
en MIPS? b) ¿Cuál es la frecuencia del reloj del procesa
dor si tarda 34 µs en ejecutarse el programa?
1.8 Supóngase que se tiene un programa en
lenguaje máquina con las siguientes instruc 1.10 Un programa de prueba (en lenguaje de alto ni
ciones: vel) se ejecuta en un procesador obteniéndose
LLI r0,00 una velocidad de 100 MIPS y tardando su
LLI r1,04 ejecución 35 segundos. Obtener la frecuencia
ADDS rE,r1,r0 de reloj sabiendo que por término medio cada
instrucción consume 6 ciclos de reloj.
Este programa carga en el registro del proce
sador r0 el valor 0, en el registro r1 el valor 4, 1.11 Para un computador Altos G310 Mk2 (3.6
y suma los valores de r0 y r1, llevando el re GHz Intel Pentium 4) se realizan medidas de
sultado al registro rE. El programa se ejecuta los tiempos que tardan en ejecutarse los pro
por dos procesadores distintos, A y B, cuyas gramas del conjunto SPEC para enteros que
frecuencias de reloj y número de ciclos que se indican en la primera columna de la tabla
utiliza para ejecutar las instrucciones del pro 1.5, obteniéndose los tiempos que se dan en
grama son las que se dan en la siguiente tabla: la columna tercera. En la primera columna
Procesador A Procesador B se indican los tiempos obtenidos en el com
putador de referencia. Obtener el valor SPEC
Frecuencia de reloj 1,5 GHz 1 GHz para el computador indicado. ¿Qué ocurriría
Nº de ciclos de
si se utilizase la media aritmética en lugar de
instrucción LLI 6 3 la geométrica? (Solución: SPECint = 1744).
Nº de ciclos de 7 4
instrucción ADDS 1.12 Consiga información de al menos cuatro
computadores distintos, realice una tabla
a) Obtener los tiempos de ejecución del pro comparativa de los mismos incluyendo:
grama en los procesadores A y B. a) Marca.
b) Obtener los rendimientos (en MIPS) de cada b) Modelo.
uno de los procesadores para el programa. c) Microprocesador que utiliza.
c) Discutir la influencia de la frecuencia de d) Longitud de palabra.
reloj y del número de ciclos por cada instruc e) Velocidad (frecuencia de reloj).
ción en los resultados anteriores. f) Memoria principal, inicial y máxima.
1.9 Se dispone de un programa que contiene un g) Periféricos de que dispone.
total de 200 instrucciones máquina, 150 de h) Nombre del sistema operativo.
BIBLIOGRAFÍA
[ACM] ACM, Computing Reviews (en todos los números de esta revista aparece la clasificación
citada).
[Bee05] Beekman, G.: Introducción a la Informática; 6ª Edc. Prentice Hall, 2005.
[Bro03] Brookshear, J. R.: Computer Science; 7th Edt. Addison Wesley, 2000.
[Fer98] Fernández, G.: Conceptos básicos de arquitectura y sistemas operativos; Sistemas y
Servicios de Comunicación, 1998.
[For03] Forouzan, B. A.: Introducción a la Ciencia de la Computación, Thomson, 2003.
[Ham03] Hamacher, C.; Vranesic, Z.; Zaky, S.: Organización de computadores, McGraw-Hill,
2003.
[Hen00] Hennessy, J. L.; Patterson, D.: Estructura y diseño de computadores. Editorial Reverté,
2000.
[Nor03] Norton,P.: Introduction to Computers, 5th Edt. MacGraw-Hill, 2003.
[Ort05] Ortega, J.; Anguita, M.; Prieto, A.: Arquitectura de Computadores, Thomson, 2005.
[Pat00] Patterson, D. A.; Hennessy, J. L.: Estructura y diseño de computadores; Editorial Reverté,
2000.
[Pri05] Prieto, A.; Prieto, B.: Conceptos de Informática, Serie Shaum, McGraw-Hill, 2005.
[Tuc94] Tucker, A. B.; Bradley, W. J.; Cupper, R. D.; Garnick, D. K.: Fundamentos de la
Informática. McGraw-Hill, 1994.
[webTOP] http://www.top500.org/.