Generalidades
Computadora: aparato electrónico capaz de interpretar
y ejecutar comandos
programados para operaciones
de entrada, salida, cálculo
y lógica.
Las computadoras:
- Reciben entradas. La entrada son los datos
que se capturan en un sistema
de computación
para su procesamiento.
- Producen salidas. La salida es la presentación de los resultados
del procesamiento.
- Procesan información
- Almacenan información
Todo sistema
de cómputo tiene componentes de hardware
dedicados a estas funciones:
- Dispositivos de entrada
- Dispositivos de salida
- Unidad central de procesamiento. Es la
computadora real, la "inteligencia"
de un sistema de computación.
- Memoria y dispositivos
de almacenamiento.
Cada dispositivo de entrada es sólo otra fuente de señales
eléctricas; cada dispositivo de salida no es más que otro lugar
al cual enviar señales; cada dispositivo de almacenamiento
es lo uno o lo otro, dependiendo de lo que requiera el programa;
no importa cuáles sean los dispositivos
de entrada y salida si son compatibles.
Los elementos fundamentales que justifican el uso de las computadoras,
radican en que las computadoras son:
- Útiles.
- Baratas: tanto con respecto a sí mismas como con respecto
al costo
de la mano de obra.
- Fáciles de utilizar.
Descripción del procesador
Los procesadores
se describen en términos de su tamaño de palabra, su velocidad
y la capacidad de su RAM
asociada (v.g.: 32 bits, 333MHz, 64 MB)
- Tamaño de la palabra: Es el número de bits que se maneja
como una unidad en un sistema de computación en particular. Normalmente,
el tamaño de palabra de las microcomputadoras modernas es de 32 bits;
es decir, el bus
del sistema puede transmitir 32 bits (4 bytes de 8 bits) a la vez entre el
procesador,
la RAM
y los periféricos.
- Velocidad del procesador: Se mide en diferentes unidades según
el tipo de computador:
- MHz (Megahertz): para microcomputadoras. Un oscilador
de cristal controla la ejecución de instrucciones
dentro del procesador.
La velocidad
del procesador de una micro se mide por su frecuencia de
oscilación o por el número de ciclos de reloj
por segundo. El tiempo
transcurrido para un ciclo de reloj es 1/frecuencia. Por
ejemplo un procesador de 50MHz (o 50 millones de ciclos
de reloj) necesita 20 nanosegundos para concluir un ciclo.
Cuanto más breve es el ciclo de reloj, más
veloz es el procesador.
- MIPS (Millones de instrucciones por segundo): Para
estaciones de trabajo, minis y macrocomputadoras. Por ejemplo
una computadora
de 100 MIPS puede ejecutar 100 millones de instrucciones
por segundo.
- FLOPS (floating point operations per second,
operaciones
de punto flotante por segundo): Para las supercomputadoras.
Las operaciones de punto flotante incluyen cifras muy pequeñas
o muy altas. Hay supercomputadoras para las cuales se puede
hablar de GFLOPS (Gigaflops, es decir 1.000 millones de
FLOPS).
- Capacidad de la RAM: Se mide en términos del número
de bytes que puede almacenar. Habitualmente se mide en KB y MB, aunque ya
hay computadoras en las que se debe hablar de GB.
Tecnologías y avances
- 1ª generación: Con tubos de vacío, tubos de vidrio
del tamaño de una bombilla que albergaban circuitos
eléctricos. Estas máquinas
eran muy grandes caras y de difícil operación.
- 2ª generación: con transistores.
Máquinas más pequeñas, confiables y económicas.
- 3ª generación: Con la tecnología
que permitió empaquetar cientos de transistores
en un circuito integrado de un chip de silicio.
- 4ª generación: con el microprocesador, que es un computador
completo empaquetado en un solo chip de silicio.
Las características
básicas de las computadoras desde las de 3ª generación son:
- Confiabilidad: Son menos susceptibles de averías que las anteriores,
ya que los chips pueden probarse rigurosamente antes de ser instalados.
- Tamaño: Un solo chip sustituyó tableros de circuitos,
lo cual permite construir máquinas más pequeñas.
- Velocidad: Como la electricidad
tiene que viajar distancias más pequeñas, las máquinas
son mucho más rápidas que sus predecesoras. Las operaciones
que realiza una computadora
se miden en milisegundos, microsegundos, nanosegundos y picosegundos.
- Eficiencia: Por su pequeño tamaño, los chips emplean
menos energía
eléctrica. También generan menos calor.
- Costo: Las técnicas
de producción
masiva facilitan la manufactura
de chips económicos.
- Compatibilidad: No hay normas
de software
universales, de manera que un programa
escrito para una máquina quizás no funcione en otra; casi todos
los programas
de software
son inservibles si el hard y el soft no son compatibles.
Clasificación de las computadoras
- Por su fuente de energía: pueden ser:
- Mecánicas: funcionan por dispositivos mecánicos con
movimiento.
- Electrónicas: Funcionan en base a energía
eléctrica. Dentro de este tipo, y según su estructura,
las computadoras pueden ser:
- Analógicas: Trabajan en base a analogías.
Requieren de un proceso
físico, un apuntador y una escala
(v.g.: balanza). Las características
del cálculo
analógico son las siguientes:
- preciso, pero no exacto;
- barato y rápido;
- pasa por todos los infinitésimos, es decir
que tiene valor
en todo momento, siempre asume un valor.
- Digitales: Llamadas así porque cuentan muy rudimentariamente,
"con los dedos"; sus elementos de construcción,
los circuitos
electrónicos, son muy simples, ya que solo reconocen 2
estados: abierto o cerrado. Manejan variables
discretas, es decir que no hay valores
intermedios entre valores
sucesivos. Dentro de las digitales encontramos otros 2 grupos,
según su aplicación:
- de aplicación general: Puede cambiarse el software
por la volatilidad de la
memoria, y por lo tanto el uso que se le da.
- De aplicación específica: Lleva a cabo tares
específicas y sólo sirve para ellas.. En lo esencial
es similar a cualquier PC, pero sus programas
suelen estar grabados en silicio y no pueden ser alterados (Firmware:
Programa cristalizado en un chip de silicio, convirtiéndose
en un híbrido de hard y soft.). Dentro de este tipo tenemos:
- Computador incorporado: Mejora todo tipo de bienes
de consumo
(relojes de pulso, máquinas de juegos,
aparatos de sonido,
grabadoras de vídeo). Ampliamente utilizado en la industria,
la milicia y la
ciencia, donde controla todo tipo de dispositivos, inclusive
robots.
- Computador basado en pluma: Es una máquina sin
teclado
que acepta entradas de una pluma que se aplica directamente
a una pantalla plana. Simula electrónicamente una pluma
y una hoja de papel.
Además de servir como dispositivo apuntador, la pluma
puede emplearse para escribir, pero sólo si el soft.
del computador es capaz de descifrar la escritura
del usuario.
- Asistente personal
digital (PDA, personal
digital assistant): usa la tecnología
basada en pluma y funciona como organizador de bolsillo, libreta,
agenda y dispositivo de comunicación.
- Por su tamaño: La característica distintiva de cualquier sistema
de computación es su tamaño, no su tamaño físico,
sino su capacidad de cómputo. El tamaño o capacidad de
cómputo es la cantidad de procesamiento que un sistema de computación
puede realizar por unidad de tiempo.
- Macrocomputador: Máquina de enormes dimensiones, que usan
las grandes organizaciones
y que tienden a ser invisibles para le público en general, ya que
están escondidas en salas con clima
controlado. Son capaces de comunicarse simultáneamente con varios
usuarios por la técnica de tiempo compartido; éste también
permite que los usuarios con diversas necesidades computacionales compartan
costosos equipos de computación.
- Minicomputador: También es una máquina multiusuario
(es decir que usa la técnica de tiempo compartido). Es más
pequeño y económico que un macrocomputador, pero mayor y más
potente que una computadora personal.
- Estación de trabajo: Computador de escritorio que tiene
el poder
de un minicomputador, pero a una fracción del costo.
Es de uso muy común entre personas cuyas tareas requieren gran cantidad
de cálculos (científicos, analistas bursátiles, ingenieros).
Aunque muchas estaciones de trabajo son capaces de dar servicio
a varios usuarios al mismo tiempo, en la práctica a menudo son usadas
por una sola persona
a la vez.
- Microcomputadora o Computador personal: PC (Personal computer).
Computador habitualmente monousuario (aunque puede configurarse para usuarios
múltiples) de propósito general. En una micro se monta el
microprocesador,
los circuitos electrónicos para manejar los dispositivos
periféricos y los chips de memoria
en un solo tablero de circuitos, el tablero de sistema o tablero madre
(mother board). El microprocesador
y los otros chips se montan en una portadora antes de fijarlos al tablero
madre. Las portadoras tienen conectores de agujas de tamaño estándar
que permiten que se conecten los chips en el tablero de sistema. La mother
board es lo que distingue a una computadora de otra. La PC puede ser de
escritorio o portátil. Dentro de los computadores portátiles
encontramos:
- Laptop: alimentado por baterías, con pantalla plana
y que pueden cargarse como un portafolios.
- Notebook: Más livianas que las anteriores y que pueden
transportarse dentro de un portafolios.
- Palmtop: o computador manual,
o PC de bolsillo. Tan pequeñas que caben en un bolsillo. Atiende
las necesidades de usuarios para los cuales la movilidad es más
valiosa que un teclado
o una pantalla de tamaño usual.
Canales, puertos y ranuras de expansión
- Canales: Grupos
de cables a través de los cuales viaja la información
entre los componentes del sistema. Tienen 8, 16 o 32 cables y este número
indica la cantidad de bits de información
que puede transmitir al mismo tiempo. Los canales más anchos pueden
transmitir información con más rapidez que los canales angostos.
- Ranuras de expansión: Se conectan al bus
eléctrico común. Algunos canales están conectados a ellas
en la caja del computador. Los usuarios pueden personalizar sus máquinas
insertando tarjetas
de circuitos (o tarjetas) de propósito especial en estas ranuras.
Existen tarjetas
de expansión de RAM, adaptadores de color
y de gráficos,
fax
módem, puertos, coprocesadores (procesadores
adicionales que incrementan la capacidad o velocidad de procesamiento del
sistema), etc.
- Puertos: Son puntos de conexión en la parte exterior del chasis
de la
computadora a los que se conectan algunos canales. El puerto permite una
conexión directa con el bus eléctrico común de la PC.
los puertos pueden ser:
- Puertos series: Permiten la transmisión en serie de
datos,
un bit a la vez. Este tipo de puertos permiten una interfaz
con impresoras
y módems de baja velocidad.
- Puertos paralelos: Permiten la transmisión paralela
de datos, es decir que se transmiten varios bits simultáneamente.
Permiten la interfaz con dispositivos tales como impresoras
de alta velocidad, unidades de cinta magnética de respaldo
y otras computadoras.
Las ranuras de expansión y los puertos simplifican la
adición de dispositivos externos o periféricos.
Adquisición de un computador
Criterios que deben considerarse:
- Costo: Comprar lo que se pueda pagar, pero dejando un poco de dinero
para adquirir memoria
adicional, garantías extendidas, periféricos y software.
- Características: Asegurarse que la máquina que se compra
sirva para el
trabajo que se necesita, tanto en el presente como en le futuro.
- Capacidad: Comprar un computador con la potencia
suficiente para satisfacer las necesidades; que tenga suficiente velocidad,
capacidad de memoria y de almacenamiento.
- Personalización: Si las necesidades son inusuales es preferible
comprar un sistema de arquitectura
abierta, con ranuras de expansión y puertos que permiten una personalización.
La arquitectura
es el diseño
de un sistema de computación. Un sistema de arquitectura abierta se
configura conectando una variedad de dispositivos periféricos al componente
de procesamiento. La arquitectura abierta o arquitectura de bus es
posible porque todos los componentes se vinculan por medio de un bus electrónico
común, que es el medio por el cual el procesador se comunica con sus
dispositivos periféricos y viceversa.
- Compatibilidad: Considerar si el software que se piensa utilizar
funcionará en el computador que se está comprando. La compatibilidad
total no siempre es posible e incluso a veces no siquiera es necesaria, siendo
suficiente una compatibilidad de datos, es decir la capacidad de enviar y
recibir documentos
entre sistemas.
Si esto no es posible, debe considerarse la conectividad.
- Conectividad: Es la capacidad de los computadores de traducir formatos
de archivo
de otras marcas
a documentos
legibles.
- Conveniencia: Evaluar la conveniencia de uno u otro computador en
función
del diseño,
la interfaz, la facilidad de aprendizaje
del software, etc.
- Compañía: Tender en la compra hacia marcas
que puedan asegurar en el futuro la provisión de servicio
y piezas.
- Curva: Debe tratar de evitarse la compra de un computador tanto en
los primeros como en los últimos años de vida del modelo.
En los primero años puede haber poco software compatible; en los últimos
la obsolescencia hace que los programadores dejen de crear soft para ese computador.
Tareas que realizan las computadoras
Son pocas, sólo4, pero con rapidez y precisión:
- Capturar datos: llevar mensajes del entorno al sistema.
- Calcular: en rigor sólo suman, pero así logran realizar
las 4 operaciones básicas.
- Comparar: En sí misma, la comparación no sirve de nada;
sólo si ayuda a la toma
de decisiones. Sólo realizan comparaciones elementales (con dos
posibilidades). La combinación secuencial de comparaciones permite
la comparación compleja, y por ende la toma
de decisiones complejas.
- Registrar: Tanto en el sentido de mostrar (pantalla, impresora),
es decir llevar a un lenguaje
humano algo que está guardado en el computador, como en el sentido
de guardar algo en el computador.
Usos de las computadoras
Las áreas básicas son las que se refieren a actividades
administrativas, educacionales, científicas y de comunicación.
También pueden clasificarse los usos de las computadoras
pueden en 8 categorías principales:
- Sistemas de información/procesamiento de datos: Incluye todos
los usos de las computadoras que apoyan los aspectos administrativos de una
organización.
La combinación de hard, soft, personas, procedimientos
y datos crea un sistema
de información.
- Computación personal: El fundamento de la computación
personal está formado por una variedad de aplicaciones domésticas
y empresariales. El software de productividad
con base en la microcomputación consiste en una serie de programas
disponibles comercialmente que pueden ayudar a ahorrar tiempo y a obtener
la información necesaria para tomar decisiones. La PC puede trabajar
como un sistema independiente, pero también puede usarse para transmitir
y recibir datos de una red
de información.
- Ciencia, investigación
e ingeniería: Los ingenieros y científicos usan rutinariamente
las computadores como un instrumento en la experimentación, el diseño
y el desarrollo.
- Control de procesos/dispositivos:
Las computadoras que controlan procesos
aceptan datos en un ciclo de retroalimentación continua. En
un ciclo de retroalimentación,
el proceso
genera datos por sí mismo, los cuales se convierten en entradas para
la computadora. La computadora inicia la acción de control
del proceso en marcha conforme recibe e interpreta datos.
- Educación: Las computadoras pueden interactuar con los estudiantes
para mejorar el proceso de aprendizaje.
La computación con base en computadoras (CBT, computer-based trainig)
está teniendo un efecto profundo en los métodos
tradicionales de educación.
- Diseño asistido por computadora (CAD, computer-aided design):
Los sistemas
de CAD permiten generar y manejar imágenes
gráficas
en pantalla; ofrecen una serie de instrumentos complejos que permiten crear
objetos tridimensionales que pueden ser levantados, girados, cambiados de
tamaño, vistos en detalle, examinados a nivel interno o externo, etc.
- Entretenimiento.
- Inteligencia artificial: Las computadoras pueden simular muchas capacidades
sensoriales y mecánicas del ser humano.
Sistema binario
Las computadores se construyen a partir de dispositivos de
conmutación que reducen toda la información a ceros y unos, es
decir que representan los números con el sistema
binario, un sistema que denota todos los números con combinaciones
de 2 dígitos. Es decir que el potencial de la computadora se basa en
sólo dos estados electrónicos: encendido y apagado.
Las características físicas de la computadora permiten que se
combinen estos dos estados electrónicos para representar letras, números,
colores.
Un estado
electrónico de "encendido" o "apagado" se representa por medio de un
bit. La presencia o la ausencia de un bit se conoce como un bit encendido
o un bit apagado, respectivamente. En el sistema de numeración
binario y en el texto
escrito, el bit encendido es un 1 y el bit apagado es un 0.
Las computadoras cuentan con soft que convierte automáticamente
los números decimales en binarios y viceversa. El procesamiento de número
binarios de la computadora es totalmente invisible para el usuario humano.
Para que las palabras, frases y párrafos se ajusten
a los circuitos exclusivamente binarios de la computadora, se han creado códigos
que representan cada letra, dígito y carácter
especial como una cadena única de bits. El código
más común es el ASCII
(American Standard Code for Information Interchange, Código estándar
estadounidense para el intercambio de información).
Un grupo
de bits puede representar colores,
sonidos y casi cualquier otro tipo de información que pueda llegar a
procesar un computador.
La computadora almacena los programas como colecciones de bits,
lo mismo que los datos.
Unidades de medida
- Bit (binary digit):Unidad básica de datos de la computadora.
- Byte: Grupo
de 8 bits; cada byte representa un carácter de información.
- Kilobyte (K): aproximadamente 1000 bytes, exactamente 1024 bytes.
- Megabyte (MB): aproximadamente 1000K, o sea un millón de bytes.
- Gigabyte (GB): aproximadamente 1000MB.
Con estos mismos términos se cuantifica el tamaño
de los archivos
de una computadora.
Archivo: colección organizada de información,
almacenada en una forma que pueda leer la computadora.
Unidad central de procesamiento
UCP o CPU (central processing unit).
El usuario proporciona al computador patrones de bits (entrada)
y éste sigue las instrucciones para transformar esa entrada en otro patrón
de bits (salida) y devolverla al usuario.
Estas transformaciones son realizadas por la UCP o procesador,
que interpreta y lleva a cabo las instrucciones de los programas, efectúa
manipulaciones aritméticas y lógicas con los datos y se comunica
con las demás partes del sistema. Una UCP es una colección compleja
de circuitos electrónicos. Cuando se incorporan todos estos circuitos
en un chip de silicio, a este chip se le denomina microprocesador. La
UCP y otros chips y componentes electrónicos se ubican en un tablero
de circuitos.
Los factores relevantes de los chips de UCP son:
- Compatibilidad: No todo el soft es compatible con todas las UCP. En algunos
casos se pueden resolver los problemas
de compatibilidad usando software especial.
- Velocidad: La velocidad de una computadora está determinada por la
velocidad de su reloj interno, el dispositivo cronométrico
que produce pulsos eléctricos para sincronizar las operaciones de la
computadora. Las computadoras se describen en términos de su velocidad
de reloj, que se mide en megahertz. La velocidad también
está determinada por la arquitectura del procesador,
es decir el diseño que establece de qué manera están
colocados en el chip los componentes individuales de la CPU.
Desde la perspectiva del usuario, el punto crucial es que
"más rápido" casi siempre significa "mejor".
La mayoría de los supercomputadores tiene varios procesadores
completos que pueden dividir los trabajos en porciones y trabajar con ellas
en paralelo; es el llamado procesamiento en paralelo.
cada CPU
tiene dos secciones fundamentales: la unidad de control
y la unidad airtmético-lógica.
Unidad de control
Si el procesador es el núcleo del sistema de computación,
la unidad de control lo es del procesador. Tiene 3 funciones
principales:
- Leer e interpretar instrucciones del programa.
- Dirigir la operación de los componentes internos
del procesador.
- Controlar el flujo de programas y datos hacia y desde
la RAM.
La unidad de control dirige otros componentes del procesador
para realizar las operaciones necesarias y ejecutar la instrucción.
- Registros: áreas de almacenamiento de trabajo de alta velocidad
que contiene la unidad de control, que no pueden almacenar más que
unos cuantos bytes. Los registros
manejan instrucciones y datos a un velocidad unas 10 veces mayor que la de
la
memoria caché y se usan para una variedad de funciones de procesamiento.
Los registros
facilitan el movimiento
de datos e instrucciones entre la RAM, la unidad de control y la unidad aritmético-lógica.
- Registro de la instrucción: registro
que contiene la instrucción que se está ejecutando.
- Registros de uso general: almacenan los datos necesarios para el
procesamiento inmediato.
Unidad aritmético-lógica
Realiza todos los cálculos (suma, resta, multiplicación
y división) y todas las operaciones lógicas (comparaciones numéricas
o alfabéticas).
Almacenamiento interno: Memorias
La función principal de la CPU es obedecer las instrucciones
codificadas en los programas. Sin embargo, sólo puede manejar una instrucción
y unos cuantos datos a la vez. La computadora tiene que colocar en algún
lugar el resto del programa y los datos hasta que el procesador esté
listo para usarlos. Para esto es la RAM.
- RAM (Random Acces Memory, memoria de acceso aleatorio): Memoria
de almacenamiento primario. Almacena temporalmente instrucciones de programa
y datos. El computador divide un chip de RAM en varias localidades de igual
tamaño. Estas localidades de memoria tienen una dirección
única, de manera que el computador pueda distinguirlas cuando se le
ordena que guarde o recupere información. Puede almacenarse un trozo
de información en cualquier localidad de la RAM tomada al azar y el
computador puede recuperarlo rápidamente si se le indica hacerlo. De
ahí proviene el nombre de memoria de acceso aleatorio. La información
almacenada en la RAM no es más que un patrón de corriente
eléctrica que fluye por circuitos microscópicos en chips
de silicio. Es una memoria volatil, ya que la información
que contiene no se conserva de manera permanente. Si se interrumpe la energía,
dicha información se pierde. La RAM no tiene partes móviles;
al no tener un movimiento mecánico, se puede tener acceso a los datos
de la RAM a velocidades electrónicas o aproximadamente a la velocidad
de la luz.
La RAM ofrece al procesador un almacenamiento temporal para
programas y datos. Todos los programas y datos se deben transferir a la RAM
desde un dispositivo de entrada o del almacenamiento secundario antes de que
se puedan ejecutar los programas o procesar los datos. El espacio de la RAM
es siempre escaso; por tanto, después de que se haya ejecutado un programa,
el espacio de almacenamiento que ocupaba se vuelve a distribuir a otro programa
que espera su ejecución.
- ROM (Read Only Memory, memoria sólo de lectura):
Es una memoria no volátil, porque el computador puede leer información
de ella pero nunca escribir información nueva. Todas las computadoras
cuentan con dispositivos de ROM que contienen las instrucciones de arranque
y otra información crítica. La información en la ROM
se graba permanentemente cuando nace el computador, pero no hay manera de
reemplazarla a menos que se reemplace el chip de ROM.
- Memoria PROM (Programmable read only memory, memoria de sólo lectura
programable): Es una variación de la ROM, es la ROM en la que usuario
puede cargas programas y datos de solo lectura que una vez cargados rara vez
o nunca se cambian. La memoria flash es un tipo de PROM que el usuario
puede alterar con facilidad.
- Memoria caché: Se usa para facilitar una transferencia aún
más rápida de instrucciones y datos al procesador; es decir
que se usa para mejorar el caudal de proceso (velocidad con que un sistema
de computación puede realizar el
trabajo). Al igual que la RAM, el caché es un área de almacenamiento
de alta velocidad para las instrucciones de los programas y los datos, pero
es 10 veces más rápida que la RAM y mucho más cara. Con
sólo una fracción de la capacidad de la RAM, la memoria caché
sólo contiene las instrucciones y los datos que es probable
que el procesador requiera enseguida.
Unidades y soportes de entrada
Los dispositivos
de entrada traducen los datos a una forma que la computadora pueda interpretar,
para luego procesarlos y almacenarlos.
Dispositivos manuales
- Teclado alfanumérico: El estándar es actualmente el
teclado de 101 letras con la distribución
QWERTY, 12 teclas de funciones, un teclado o pad numérico, teclas de
función y teclas para el control del cursos.
Algunos teclados están diseñados para aplicaciones específicas,
permitiendo una interacción rápida con los sistemas de computación
(v.g.: caja registradora). El teclado es un circuito en forma de matriz;
cada circuito está conectado al dispositivo controlador, que reconoce
la letra o código que envía el usuario cuando se cierra o abre
un circuito. La configuración del teclado puede ser modificado por
software.
- Teclado para perfoverificación: cada bit se represente como
perforado o no perforado. Cada columna de la tarjeta es barrida por un cepillo
metálico, cuando hay una perforación al pasar el cepillo se
cierra un circuito.
Dispositivos apuntadores
- Ratón: La efectividad de las GUI depende de la capacidad del
usuario para hacer una selección
rápida de una pantalla con íconos o menúes. En estos
casos el mouse
puede colocar el apuntador (o cursos gráfico) sobre un ícono
con rapidez y eficiencia.
Los más comunes tienen una esfera en su parte inferior que puede rodar
en un escritorio.
- Bola rastreadora (trackball) o bola palmar: Es una bola insertada
en una pequeña caja que se hace girar con los dedos para mover el curso
gráfico.
- Palanca de mando (joystick): también llamada palanca de control
de juegos.
Es una palanca vertical que mueve el cursos gráfico en la dirección
en que se mueve la palanca.
- Pantalla sensible al tacto: Sirven cuando hay muchos usuarios no
familiarizados con las computadoras. Puede ser sensible al tacto por la presión
o por el calor.
Son de muy baja velocidad.
Dispositivos ópticos
- Lector de marcas o rastreador de marca
óptica: Usa la luz
reflejada para determinar la ubicación de marcas de lápiz en
hojas de respuestas estándar y formularios
similares.
- Lector de código de barras: Usa la luz para leer UPC
(Universal Product Codes, Códigos universales de productos),
códigos de inventario
y otros códigos creados con patrones de barras de anchura variable.
Los códigos de barra representan datos alfanuméricos variando
el ancho y la combinación de las líneas verticales adyacentes.
La ventaja de los códigos de barras sobre los caracteres es que la
posición u orientación del código que se lee no es tan
importante para el lector.
- Lector de vara (lápiz óptico): Usa luz para leer caracteres
alfabéticos y numéricos escritos con un tipo de letra especial,
siendo también legible para las personas este tipo de letra; muchas
veces estos lectores están conectados a terminales POS
(point-of-sale, punto de venta).
Cuando se usan de esta forma el computador lleva a cabo un reconocimiento
óptico de caracteres (OCR, optical character recognition).
- Rastreador de páginas: Rastrea e interpreta los caracteres
alfanuméricos de las paginas impresas normales. Se usa para convertir
una copia dura a un formato que la máquina puede leer. Este tipo de
rastreador puede reducir al mínimo o eliminar la captura de datos mediante
el teclado.
Dispositivos magnéticos
- MICR (magnetic ink character recognition, reconocimiento de caracteres
en tinta magnética) o Lectora de caracteres magnéticos:
lee los caracteres impresos con tinta magnética en los cheques.
En ellos el número de cuenta y el número de cheque
se encuentran codificados; la fecha de la transacción se registra automáticamente
para todos los cheques
procesados ese día; por tanto, sólo se debe teclear el importe
en un inscriptor MICR. Un lector-ordenador MICR lee los datos de los cheques
y los ordena para el procesamiento que corresponda. Estos dispositivos de
reconocimiento son más rápidos y precisos que los OCR.
- Lectora de bandas magnéticas: Las bandas magnéticas
del reverso de las tarjetas de crédito,
por ejemplo, ofrece otro medio de captura de datos directamente de la fuente
(como los dispositivos ópticos). Se codifican las bandas con datos
apropiados para la aplicación. Las bandas magnéticas contienen
muchos más datos por unidad de espacio que los caracteres impresos
o los códigos de barras. Además, dado que no se pueden leer
visualmente, son perfectos para almacenar datos confidenciales.
Digitalizadores
Para que un computador pueda reconocer texto
manuscritos, primero tiene que digitalizar la información, convertirla
en alguna forma digital para poder
almacenarla en la memoria del computador. Hay diferentes dispositivos
de entrada para capturar y digitalizar información:
- Digitalizador de imágenes
(scanner):
Puede obtener una representación digital de cualquier imagen
impresa. Convierte fotografías, dibujos,
diagramas
y otra información impresa en patrones de bits que pueden almacenarse
y manipularse con el soft adecuado
- Cámara digital: Es un digitalizador de imágenes que
permite tomar fotografías del mundo real y obtener imágenes
digitales; es decir que no se limita a capturar imágenes impresas planas,
puede registrar las mismas cosas que una cámara normal, sólo
que en lugar de registrar las imágenes en película, las cámaras
digitales almacenan patrones de bits en discos u otros medios
de almacenamiento digital.
- Digitalizador de audio: Permite digitalizar sonidos de micrófonos
y otros dispositivos de sonido.
Para que el computador interprete correctamente la entrada de voz digitalizada
como si fueran palabras se requiere software de inteligencia
artificial. Una unidad de respuesta auditiva o un sintetizador de vos
hace que la conversación sea un diálogo.
El reconocimiento del habla funciona de la siguiente manera:
- Se dice la palabra. Cuando se habla en un micrófono,
cada sonido se divide en sus diversas frecuencias.
- Se digitaliza la palabra. Se digitalizan los sonidos
de cada palabra de modo que la computadora los pueda manejar.
- Se compara la palabra. Se compara la versión
digitalizada contra modelos
similares del diccionario
electrónico de la computadora. El modelo
digitalizado es una forma que las computadoras pueden almacenar
e interpretar.
- Se presenta la palabra o se realiza el comando.
Cuando se encuentra una igualdad,
se presenta en una VDT o se realiza el comando adecuado.
En el reconocimiento del habla, la creación de los
datos se conoce como capacitación. La mayor parte de los sistemas
de reconocimiento del habla son dependientes del locutor, es decir que responde
a la voz de un individuo particular.
La tecnología más reciente permite sistemas
independientes del locutor, pero necesitan una base
de datos muy grande para aceptar el patrón de voz de cualquier
persona.
- Digitalizador de vídeo: Es una colección de circuitos
que puede capturar entradas de una fuente de vídeo y convertirla en
una señal digital que puede almacenarse en la memoria y exhibirse en
pantallas de computador. Cuando se pone en operación el sistema, éste
compara la imagen
digitalizada que se debe interpretar con las imágenes digitalizadas
registradas previamente en la base
de datos. Estos sistemas de entrada de visión son apropiados para
tareas especializadas, en que sólo se encuentran unas cuantas imágenes.
- Dispositivos sensores: diseñados para hacer seguimientos de
la temperatura,
la humedad, l presión y otras cantidades físicas, proporcionan
datos útiles en robótica,
control ambiental, pronósticos
meteorológicos, supervisión
médica, biorretroalimentación, investigación
científica y cientos de aplicaciones más.
Otras entradas
- Tarjetas inteligentes: Son una versión mejorada de las tarjetas
con banda magnética. Contienen un microprocesador que almacena algunos
datos de seguridad
y personales en su memoria en todo momento. Dado que las tarjetas inteligentes
pueden tener más información, que tienen cierta capacidad de
procesamiento y que es casi imposible duplicarlas, seguramente sustituirán
a las tarjetas con bandas magnéticas.
- Analógicas: Sensores
que miden magnitudes físicas escalares o vectoriales.
Conceptos vinculados
- Documentos retornables: Un documento retornable es una salida generada
por computadora que finalmente regresa como una entrada que la máquina
puede leer.
- Sistemas OCR (optical character recognition): Es un proceso de naturaleza
topológica (analiza la forma por medio de funciones matemáticas)
y neuronal (actúa como las neuronas de las personas; el problemas
es que a veces falla la conexión entre ellas). El primer paso en el
reconocimiento óptico de caracteres consiste en digitalizar la imagen
de la hoja en la memoria del computador mediante un digitalizador (scanner),
una cámara digital o un fax
módem. La imagen digitalizada no es más que un patrón
de bits en la memoria. Antes de que el computador pueda procesar el texto
de la página, debe reconocer los caracteres individuales y convertirlos
en códigos de texto. El software de OCR localiza e identifica los caracteres
impresos que aparecen en la imagen, "lee" el texto. Lo programas de OCR se
valen de varias técnicas:
- la segmentación
de la página en imágenes, bloques de texto y (finalmente)
caracteres individuales;
- tecnología de sistemas
expertos, a una escala
menor, para reconocer las reglas básicas de distinción
de letras;
- "expertos" en contextos para ayudar a identificar letras ambiguas
de acuerdo con su contexto;
- aprendizaje a partir de ejemplos reales y retroalimentación
de un entrenador humano.
Unidades y soportes de salida
Estos dispositivos traducen los bits y bytes a un forma comprensible
para el usuario.
Monitores
Una VDT (video display terminal, terminal
de despliegue visual) sirve como dispositivo de salida para recibir mensajes
del computador. Las imágenes de un monitor
se componen de pequeños puntos llamados pixeles (picture
elements) o elementos de imagen. La cantidad de ellos que hay por cada pulgada
cuadrada determina la definición del monitor
que se expresa en puntos por pulgada o dpi (dots per inch).
Cuanto más alta es la definición, más cercanos están
los puntos.
La salida de un monitor es temporal y se la designa como copia
blanda o efímera.
Pueden ser monocromáticos o a colores; la mayoría
de estos últimos combinan el rojo, el verde y el azul para lograr un
espectro y por ello se llaman monitores
RGB (red, green, blue).
Los monitores
pueden ser de dos clases:
- CRT (cathode ray tube), tubo de rayos catódicos: como
en un televisor. Son los preferidos para los computadores de escritorio por
su claridad y velocidad de respuesta.
- De pantalla plana:: Más compactos y ligeros, dominan el mercado
de las computadoras portátiles. Utilizan 3 tipos de tecnología:
- LCD (liquid crystal display), pantalla de cristal
líquido. Consumen relativamente poca energía.
- Plasma de gas.
- EL (electroluminiscencia). Ofrecen mayor ángulo
de visión.
Impresoras
Una impresora
permite obtener una copia dura o física
de cualquier información que pueda aparecer en pantalla. Hay dos grupos
básicos de impresoras:
- de Impacto: Dependen de la tecnología de matriz de puntos.
Forman las imágenes golpeando un martillo contra una cinta y el papel;
al hacer contacto con el papel pueden producir copias al carbón junto
con el original. entre ellas encontramos:
- de línea: Son rápidas y ruidosas.
Tienen la desventaja de estar limitadas a la impresión
de caracteres, por lo que no son apropiadas para aplicaciones
donde los gráficos son un ingrediente esencial del producto
acabado. imprimen una línea de puntos a la vez. Se alinean
martillos similares a agujas sobre el ancho del papel.
- en serie: Imprimen texto y gráficos.
Usa martillos del tamaño de un alfiler para transferir
la tinta a la página. Una página impresa es una
matriz
de pequeños puntos, algunos blancos y otros negros (o
color).
Este tipo de impresora tiene una baja definición, inferior
a las 100 dpi. Forma las imágenes, un carácter
a la vez, a medida que la cabeza de impresión se mueve
sobre el papel. Las impresoras en serie son bidireccionales,
es decir que imprimen sin importar hacia que lado se este moviendo
la cabeza de impresión. La cabeza de impresión
contiene una o varias columnas de agujas, que se activan
independientemente para crear la imagen del carácter.
El número de puntos de la matriz puede variar, y la calidad
de la impresión se relaciona con la densidad
de estos puntos. Las más densas son impresoras de modo
dual, porque pueden imprimir en calidad
de borrador o NLQ (near-letter-quality, calidad casi
tipo carta).
- De no impacto o de página: Han ido reemplazando a las anteriores,
salvo cuando hay que imprimir formularios
con varias copias 9imprimen una sola copia a la vez); usan sustancias químicas,
rayos láser
y calor para crear imágenes en el papel; tienen una definición
mucho mayor (300 dpi o más) y pueden ser:
- de chorro de tinta: rocían tinta directamente
sobre el papel. Utilizan varias cámaras de inyección
controladas de manera independiente para inyectar pequeñas
gotas de tinta sobre el papel.
- láser: un rayo láser crea patrones
de cargas eléctricas en un tambor giratorio; estos patrones
atraen tonificador (toner) y lo transfieren al papel conforme
gira el tambor.
Trazadores
Un trazador o graficador es un instrumento automatizado para
dibujar que puede producir dibujos
a escala de elevada finura moviendo una pluma o el papel como respuesta a mandatos
del computador.
Respuesta audible
Hay dos tipos de unidades de respuesta de voz: uno utiliza
la reproducción
de una voz humana y la el otro utiliza un sintetizador de voz. Las salidas de
respuesta audible ofrecen una salida de copia blanda o temporal.
En el caso de unidades de respuesta de voz grabada,
las grabaciones análogas reales de sonidos se convierten en datos digitales
que luego se almacenan permanentemente en discos o en un chip de memoria. Cuando
los sonidos se almacenan en un disco el usuario tiene la flexibilidad de actualizarlos.
Los sintetizadores sirven para generar música,
ruido
o cualquier sonido intermedio. Muchas PC tienen sintetizadores incorporados
que producen sonidos que van mas allá del bip básico. Casi todos
los computadores se pueden conectar a sintetizadores independientes para controlar
el instrumento. para producir la voz, estos dispositivos combinan sonidos similares
a los fonemas (unidades de sonido básicas) que conforman la voz.
Salidas analógicas
Muchos dispositivos de salida funcionan tomando patrones y
convirtiéndolos en movimientos o mediciones no digitales. Por ejemplo
los brazos robóticos, los conmutadores telefónicos, el equipo
automatizado de las fábricas reciben sus órdenes de una computadora.
Otras salidas
- Terminales no inteligentes: La mayoría de las terminales se
clasifican como no inteligentes. Estas sólo presentan texto y se deben
conectar a un procesador para usuarios múltiples. Únicamente
permiten la entrada/salida de una sola aplicación.
- Terminales X: Tienen capacidades de procesamiento y RAM comparables
a las de algunas micros y estaciones de trabajo; no están diseñadas
para operar en forma independiente; permiten la interacción con el
usuario por medio de una GUI. Permiten el trabajo con varias aplicaciones
a la vez, desplegándose cada aplicación en su propia ventana.
- Terminales telefónicas: Se pueden capturar datos alfanuméricos
en el teclado numérico de un teléfono
(teclado) o hablando en el micrófono (entrada de voz), recibiéndose
una salida de voz generada por computadora.
- Terminales para funciones especiales: Están diseñadas
para una aplicación específica (v.g.: cajero automático,
etc.)
Almacenamiento secundario: Unidades
y soportes de entrada-salida
Concepto y organización
del almacenamiento secundario
A diferencia de la RAM, que olvida todo en cuanto se apaga
la máquina, y la ROM, que no puede aprender nada nuevo, los dispositivos
de almacenamiento secundario permiten que la computadora registre información
en forma semipermanente, para que pueda ser leída después por
el mismo u otro computador. El almacenamiento secundario es más barato
y de mayor capacidad que el almacenamiento primario.
- Procesamiento secuencial: Es el que se da en medios
de almacenamiento en el cual el usuario debe pasar secuencialmente por la
información, en el mismo orden en que fue grabada, hasta llegar a l
que le interesa. Un archivo
secuencial se procesa de principio a fin. Todo el archivo se debe procesar,
aun cuando se actualice sólo un registro.
Este tipo de procesamiento requiere de:
- un archivo maestro, fuente permanente de todos
los datos;
- un archivo de transacción, refleja la actividad
diaria.
Antes del procesamiento, los registros en ambos archivos
se clasifican y ordenan en secuencia ascendente por clave. Ambos archivos
constituirán entradas y el nuevo archivo maestro será
la salida, reflejando las actualizaciones. En este procesamiento siempre se
crea un nuevo archivo maestro para las actualizaciones realizadas.
- Procesamiento aleatorio: Se tiene acceso a los programas y datos
deseados directamente del medio de almacenamiento. En este tipo de procesamiento
sólo se necesita el valor del campo clave del registro para recuperar
o actualizar un registro.
Cintas magnéticas
La cinta pasa debajo de una cabeza de escritura/lectura
y se realiza la operación ordenada. Una unidad de cinta se clasifica
por la densidad
con que los datos se pueden almacenar, así como por la velocidad de la
cinta cuando pasa por debajo de la cabeza de escritura/lectura. Combinadas,
éstas determinan la velocidad de transferencia o el número
de caracteres por segundo que se pueden transmitir a la RAM. La densidad
de cinta se mide en bytes por pulgada (bpi, bytes per inch)
o el número de caracteres (bytes) que se pueden almacenar por pulgada
lineal de cinta.
Una cinta magnética puede almacenar enormes cantidades
de información en un espacio pequeño y a un costo relativamente
bajo. La preferida es la DAT (digital audio tape, cinta de audio digital).
Su desventaja es que se trata de un medio de acceso secuencial; por ello
el uso principal es para el respaldo de datos y algunas otras operaciones en
las cuales el tiempo no es un factor decisivo. En cualquier sesión, una
sola cinta es para entrada o salida, no para ambas.
Discos magnéticos
Gracias a su capacidad de acceso aleatorio, son el medio más
popular para el almacenamiento de datos. Los hay de dos tipos:
- Discos flexibles o diskettes o discos magnéticos intercambiables:
Es una pequeña oblea de plástico
flexible, con sensibilidad magnética encerrada en un paquete de plástico
que puede ser rígido o flexible. Es económico, práctico
y confiable, pero no tiene la capacidad de almacenamiento ni la velocidad
necesaria para trabajos de gran magnitud. Estos discos se pueden almacenar
fuera de línea y cargarlos según sea necesario.
- Discos duros o discos magnéticos fijos: es un disco rígido,
con sensibilidad magnética, que gira continuamente a gran velocidad
dentro del chasis del computador o en una caja aparte conectada a éste.
Se instalan en forma permanente, aunque existen unidades portátiles.
El disco
duro se la microcomputadora se llama disco Winchester. Contiene
varios platos de disco rígidos apilados en un solo eje giratorio. El
movimiento de rotación pasa todos los lados debajo o sobre una cabeza
de escritura/lectura, permitiendo tener acceso a todos los datos del disco
en cada giro; un disco fijo tiene por lo menos una cabeza de escritura/lectura
para cada superficie de grabación. Las cabezas se montan en brazos
de acceso que se mueven juntos y flotan encima o bajo las superficies de grabación
giratorias. Los datos se almacenan en pistas concéntricas magnetizando
la superficie para representar configuraciones de bits. El espacio de las
pistas, es decir la densidad de pista, se mide en pistas por pulgada
(TPI, tracks per inch). La densidad de grabación se
mide en bits por pulgada (de pista). Los discos usan la organización
de sector para almacenar y recuperar datos; la cantidad de sectores depende
de la densidad del disco. Cada sector tiene un número único,
por lo tanto para una dirección de disco de una superficie de la cara
del disco en particular, todo lo que se necesita es el número de sector
y el número de pista; la dirección de disco representa
la ubicación física
de un conjunto de datos o un programa determinados. Un cilindro en
particular se refiere a cada pista con el mismo número en todas las
superficies de grabación. Cuando se lee o se escribe en un disco Winchester
todos los brazos de acceso se mueven hacia el cilindro correcto. El tiempo
de acceso del disco es el intervalo entre el momento en que la computadora
pide la transferencia de datos de un dispositivo de almacenamiento en disco
a la RAM y el momento en que la operación se completa; este tiempo
de acceso se compone del tiempo de búsqueda (la mayor parte
del tiempo, consiste en el tiempo que el brazo de acceso mecánico necesita
para mover la cabeza de escritura/lectura hacia el lugar deseado), el retardo
rotacional (tiempo que ocupan los datos para colocarse debajo de la cabeza
de escritura/lectura) y el tiempo de transmisión (tiempo necesario
para transmitir los datos al almacenamiento primario; es insignificante).
Discos ópticos
Una unidad de disco óptico usa rayos láser en
lugar de imanes para leer y escribir la información en la superficie
del disco. Aunque no son tan rápidos como los discos
duros, los discos ópticos tienen mucho más espacio para almacenar
datos.
Las unidades de CD-ROM (compact disc-read only memory,
disco compacto-memoria sólo de lectura) son unidades ópticas capaces
de leer CD-ROM,
discos de datos físicamente idénticos a un disco compacto musical.
Los discos ópticos son menos sensibles a las fluctuaciones
ambientales y proporcionan mayor almacenamiento a un costo menor.
Software (I)
Concepto general
El software permite comunicar al computador los problemas y
hace posible que nos comunique las soluciones.
Los programas son el software del computador. Es una estructura
de instrucciones (o programas) que la máquina es capaz de leer. Son programas
que dirigen las actividades del sistema de computación
Programas: conjuntos
de instrucciones de computador diseñados para resolver problemas. Confieren
a la computadora capacidad para llevar a cabo las funciones deseadas. Secuencia
de instrucciones (enunciados) que se ejecutan una después de otras. Estas
instrucciones pueden ser de:
- Entrada/salida: dirigen a la computadora para interactuar con un periférico.
- Cómputo: permiten realizar las operaciones aritméticas.
- Control (decisión y/o ramificación): pueden alterar
la secuencia de la ejecución del programa o terminar la ejecución.
Hay dos tipos de instrucciones de control:
- de bifurcación incondicional: interrumpen la secuencia
normal de la ejecución, originando una subrutina.
- de rama condicional: o enunciados SI (if); si se cumplen
ciertas condiciones se crea una ramificación en cierta
parte del programa.
- Transferencia de datos y asignación: permiten que se asigne a un
sitio determinado de la RAM una constante de cadena o valor literal.
- Formato: se usan junto con las instrucciones de entrada o salida y describen
la manera en que se deben realizar la entrada y salida de datos de la RAM.
El software alimenta a la memoria de la máquina a través
de dispositivos de entrada; como el software se almacena en la memoria, la computadora
puede pasar de una tarea a otra y luego regresar a la primera sin que sea necesario
modificar el hardware.
Algoritmo: Conjunto de procedimientos
paso a paso para realizar una tarea.
La tarea del programador es convertir el algoritmo
en un programa, añadiendo detalles, superando los puntos difíciles,
probando los procedimientos y corrigiendo los errores y eliminando la ambigüedad,
que es una de las principales fuentes
de errores en las computadoras.
Tipos de software
- Software de traducción: Con el que los programadores pueden
crear otro software.
- Software de uso general: Ofrece la estructura para un gran número
de aplicaciones empresariales, científicas y personales. La mayoría
del software de este tipo se vende como paquete, es decir, con software y
documentación
orientada al usuario. La creación de la aplicación depende del
usuario, del uso que le dé.
- Software de aplicación: Sirve como herramienta para elevar
la productividad
de los usuarios en la resolución de problemas. Está diseñado
y escrito para realizar tareas específicas personales, empresariales
o científicas. El software de este tipo procesa datos y genera información.
- Software del sistema: Coordina las operaciones de hardware y lleva
a cabo las tareas ocultas que el usuario rara vez observa. Controla o respalda
a los otros tipos
de software. Dentro de este tipo de soft se encuentran
- el sistema
operativo: es el núcleo de cualquier sistema
de computación; supervisa y controla todas las actividades
de I/O (input-ouput, entrada-salida) y procesamiento de
un sistema de computación. Todo el hardware y el
software se controla por medio del sistema
operativo.
- la interfaz gráfica para usuario (GUI, Grafical
user interface): Cuando se usa software con base en
texto y controlado por comandos
(v.g.: MS-DOS)
se debe ser explícito; si se omite información
necesaria en un comando o el formato del comando es incorrecto,
aparece un mensaje de error y/o un indicador en pantalla
que solicitará que se vuelva a escribir el comando.
Una interfaz es una capa opcional de software amigable
entre el usuario y una interfaz controlada por comandos
Las GUI depende de software con base en gráficos
y permite la integración
de texto con imágenes gráficas de alta resolución.
Los usuarios de la GUI interactúan con el sistema
operativo y otro software usando un dispositivo de indicación
y un teclado para dar comandos. El usuario selecciona de
las opciones que se presentan en la pantalla, ya sea en
los menúes o por medio de un ícono (representación
gráfica que simboliza una actividad de procesamiento).
Las GUI han eliminado la necesidad de memorizar y escribir
comandos complicados.
- Software multiuso: Los paquetes de software integrado cuentan con
varias aplicaciones diseñadas para trabajar en conjunto; estos paquetes
suelen incluir como mínimo, 5 tipos de aplicaciones: procesador
de textos, base de datos, planilla de cálculo, gráficos
y telecomunicaciones.
Los paquetes integrados ofrecen varias ventajas:
- Su precio
es menor que el costo total de la compra de los programas
individuales.
- Dan una apariencia similar a todas sus aplicaciones, de
modo que los usuarios no tienen que memorizar diferentes
órdenes y técnicas para efectuar tareas diferentes.
- Permiten transferir datos entre las aplicaciones con rapidez
y facilidad.
- Software vertical: Aplicaciones diseñadas específicamente
para una empresa
o industria
particular. Son mucho más costosas que las aplicaciones de mercado
masivo.
- Software a medida: Es el que se programa específicamente para
determinados clientes.
Fuentes del software
- Elaboración propia: Diseño y programado realizado por
personal de la
organización. Para determinar si esta estrategia
es la mejor se deben evaluar los siguientes factores:
- ¿Tiene la
organización suficiente personal capacitado para
desarrollar programas propios?
- ¿Permite el programa de desarrollo
terminar el proyecto
en un plazo aceptable?
- ¿Es el costo de esta alternativa una buena inversión
comparada con otras alternativas?
- ¿Se podría adquirir de otras maneras el programa necesario?
- Paquetes comprados: Programa o conjunto de programas ya escritos,
diseñados para ejecutar tareas específicas. Las preguntas clave
son:
- ¿Tiene el paquete las características adecuadas a un
costo razonable?
- ¿Es aceptable el costo en relación con el costo de
desarrollo convencional o propio?
- ¿Es suficiente el número de usuarios de ese programa
para garantizar que quienes lo elaboran respaldaran el paquete
después de comprado?
- Elaboración por contrato: Es una alternativa conveniente en
las siguientes condiciones:
- La organización carece de personal técnico para
producir el programa deseado.
- No hay paquetes generalizado que sea adecuados para el trabajo.
- El costo de esta alternativa no es prohibitivo.
- Se pueden hacer arreglos convenientes para el mantenimiento
(cambios, correcciones y mejoras) del software después
de que haya sido entregado.
sistemas
Sistema: Conjunto de elementos interrelacionados que
interactúan para alcanzar un objetivo
común.
Las principios
que rigen un sistema son los de:
- Entropía: tendencia a la autodestrucción.
- Sinergia: el todo es más que la suma de las partes.
- Isofinalidad: puede alcanzarse un mismo objetivo
por diferentes caminos.
Clasificación de los sistemas
Las decisiones pueden tomarse en 3 condiciones:
- certeza.
- incertidumbre.
- riesgo.
Características de la información
Debe distinguirse:
- información interna: es la que va con el mensaje y debe ser
brindada
- en cantidad.
- con calidad (mayor calidad implica mayor costo)
- oportunamente (antes de la toma de decisiones,
a la cual debe servir)
- Información externa: Su utilización depende del receptor.
Para una persona puede ser información y para otra sólo datos;
esto es debido a que dato no es lo mismo que información, la información
es el dato útil.
comunicaciones (I)
Lenguajes
- 1er nivel: Lenguajes naturales.
- 2º nivel: lenguajes simbólicos.
- 3er nivel: lenguajes artificiales (básicamente
los sistemas numéricos)
La base de cada uno de estos lenguajes varía según
lo que resulta más cómodo, por eso el computador utiliza el sistema
binario.
Los límites
de un lenguaje
están dados por la ambigüedad y la redundancia.
Redes
Las computadores y las personas están vinculadas dentro
de las compañías y entre las naciones. La aldea global es consecuencia
de la red
de computadoras.
La mayor parte de las computadoras existentes forma parte de
una
red de computadoras, es decir están conectadas electrónicamente
con una o más computadoras para compartir recursos
e información.
Ya en muchas industrias
las redes
de computación son el medio para la coordinación
de la logística
y las comunicaciones
a nivel internacional que se necesitan para la producción
de bienes
y/o servicios.
Las redes
de computación permiten formar grupos de trabajo que cooperan
entre sí por medio de la computación en grupo. El grupo de trabajo
es cualquier grupo de personas que se vinculan por medio de una red de computadoras.
Un software especial, denominado groupware (software para grupos de trabajo)
facilita el uso de computadoras en grupos de trabajo. El groupware se usa para
permitir que los grupos de trabajo coordinen reuniones, celebren juntas utilizando
medios electrónicos, establezcan prioridades, colaboren en la solución
de problemas, compartan información, etc.
Multimedia
Este término se refiere al uso de una combinación
de textos, gráficos, animación, vídeo, música
y efectos de sonido para comunicarse.
Ancho de banda: Cantidad de información que puede
transmitir un medio por unidad de tiempo. Un libro
que sólo contiene texto es un medio de ancho de banda pequeño,
que sólo puede proporcionar unos 300 bits de datos por segundo al lector.
Los medios de ancho de banda grande (televisión,
vídeo) transmiten más de 50 millones de bits por segundos de datos
gráficos y sonoros.
La televisión
y el vídeo son medios pasivos, unidireccionales. Con la moderna tecnología
es posible que la información se transmita en ambas direcciones, convirtiendo
los multimedia
en multimedia
interactivos, que permiten que el observador/oyente participe activamente en
la experiencia.
La creación y ejecución de documentos de multimedia
requieren periféricos de hardware adicionales (monitores de televisión,
unidades de CD-ROM
y reproductores de videodiscos). La computadora controla los dispositivos, que
almacenan y suministran el material audiovisual al recibir órdenes.
El software de multimedia merece su nombre porque proporciona
información a través de varios medios.
Además de textos y gráficos, los documentos de
multimedia suelen contener al menos una de las tres formas de información
siguientes:
- Animación: Gráficos por computador que se mueven en
la pantalla. Se crea movimiento a partir de imágenes estáticas.
La moderna tecnología permite la automatización
de uno de los aspectos más tediosos de la animación: la animación
por computadora es similar a las técnicas tradicionales de animación
cuadro a cuadro: cada cuadro es una imagen dibujada en el computador y la
máquina controla estos cuadros en una sucesión rápida.
Pero además se cuenta con diferentes tipos de herramientas:
- de efectos visuales: permiten crear desvanecimientos,
barridos y otras transiciones visuales.
- de trayectoria de animación: registran el movimiento
de los objetos visuales mientras el artista los arrastra
por la pantalla y reproducen estos movimientos al recibir
una orden.
- de relleno de cuadros: pueden rellenar automáticamente
cierto número de cuadros para suavizar el movimiento.
- Vídeo: Segmentos de película que aparecen en la pantalla
del computador o en un monitor de televisión. Para la edición
de vídeo se cuenta con estaciones de trabajo gráficas; con el
software de edición de vídeo, este hardware puede unir escenas,
insertar transiciones visuales, sobreponer títulos, crear efectos especiales,
añadir una pista musical o "imprimir" una copia de los resultados en
videocinta maestra. Para la ejecución de documentos multimedia con
vídeo se cuenta con las siguientes alternativas:
- Videodisco interactivo: Un reproductor de videodiscos
conectado al televisor lee la información de audio
y vídeo en el disco y la convierte en sonido e imágenes.
Un videodisco puede contener una hora o más de vídeo
con banda sonora, cuya calidad es la misma que la de un
CD.
Un reproductor de videodiscos tiene la capacidad de exhibir
cuadros individuales (imágenes), también puede
usarse como proyector de diapositivas. Es un medio de acceso
aleatorio. Muchos reproductores de videodiscos están
diseñados para aceptar órdenes de computadores
enlazados a ellos.
- Vídeo digital: Las imágenes convencionales
de televisión y vídeo se almacenan y transmiten
como señales electrónicas analógicas.
Como el vídeo digital puede reducirse a una serie
de números, puede editarse, almacenarse y reproducirse
sin pérdida de calidad. El vídeo digital puede
ser manejado como datos por un computador y combinado con
otras formas de datos. Hay digitalizadores de vídeo
que permiten convertir señales de vídeo analógicas
en datos digitales para diversos fines. Las películas
digitales tiene fuertes requerimientos de hardware. Para
ahorrar espacio de almacenamiento la mayoría de estas
películas se exhiben en pequeñas ventanas
de la pantalla del monitor. Asimismo puede usarse software
de compresión de datos para eliminar datos redundantes
de las películas, para que puedan almacenarse en
espacios más pequeños, con una pérdida
muy pequeña en la calidad de la imagen.
- Audio: Música, efectos de sonido y palabras pronunciadas por
el computador o por una fuente de sonido externa. El sonido grabado puede
provenir de datos localizados en la memoria del computador o de un dispositivo
reproductor externo controlado por órdenes del computador. También
es posible generar sintéticamente los sonidos, es decir sintetizarlos.
Cualquier sonido que pueda grabarse también puede capturarse con un
digitalizador de audio y almacenarse como un archivo de datos. Los
datos de sonido digitalizado se pueden cargar en la memoria y manipularse
con el software. El software de edición de audio permite cambiar el
volumen
y el tono de un sonido, añadir efectos especiales como ecos, eliminar
ruidos extraños, e incluso hacer nuevos arreglos de pasajes musicales.
A los datos sonoros en ocasiones se les denomina audio de forma de onda,
ya que este tipo de edición implica manipular una imagen visual de
la forma de onda del sonido. Para reproducir un sonido digitalizado, el computador
debe cargar el archivo de datos en memoria, convertirlo en sonido analógico
y reproducirlos mediante un altoparlante. La compresión de datos sonoros
ahorra espacio pero también reduce la calidad del sonido, las grabaciones
digitales residentes en memoria no tienen la fidelidad de las grabaciones
en discos compactos. La diferencia se debe a la velocidad de muestreo:
el número de "instantáneas" sonoras que toma cada segundo el
equipo de grabación. El sonido de un disco compacto tiene una elevada
velocidad de muestreo
y por ello su sonido se aproxima mucho al original analógico. Un computador
también puede reproducir los sonidos de un disco compacto de audio;
los sonidos se almacenan en el CD, no en la memoria del computador, y el software
sólo debe tener órdenes para indicar a la unidad de CD-ROM
qué tocar y cuándo. Las ventajas del audio en disco compacto
residen en su alta calidad de sonido y en los bajos costos
de almacenamiento.
Seguridad y riesgo
Delitos
Delito por computador: cualquier violación a
la ley
realizada por medio del conocimiento
o el uso de la tecnología de computación.
Robo
El robo es la forma más común de delito
por computador; y el tipo de robo más frecuente es la piratería
de software, que es la duplicación ilegal de software protegido por derechos
de autor. La propiedad
intelectual cubre el resultado de las actividades intelectuales en las artes,
la ciencia
y la industria. En su mayoría, los programas de software comercial están
protegidos por leyes
de derechos
de autor, pero algunas compañías se fundan en las leyes
de patentes para proteger productos
de software. El propósito de las leyes de propiedad
intelectual es el de asegurar que se recompense justamente el trabajo mental
y que se estimule la innovación,
pero estas leyes son muy difíciles de aplicar.
La piratería puede ser un problema muy serio para las
pequeñas compañías, para las cuales la creación
de software es tan difícil como para las grandes, pero careciendo aquéllas
de los recursos
financieros para cubrir sus pérdidas por piratería.
Sabotaje
Hay varios tipos de programas destructores:
- Caballos de Troya o Troyanos (trojans): El troyano es un programa
que ejecuta una tarea útil al mismo tiempo que realiza acciones
destructivas secretas. por lo general, estos programas se colocan en tableros
de noticias de dominio
público con nombres parecidos a los de un juego
o una utilería.
- Virus: Se propagan de programa en programa, o de disco en disco,
y en cada programa o disco infectado crean más copias de ellos. Por
lo general, el software virus
está oculto en el sistema operativo de un computador o en algún
programa de aplicación. Los virus
suelen ser selectivos (los de Mac sólo invaden Mac, los de UNIX
sólo UNIX,
etc.). Se requiere un programador humano para crear un virus, incorporarlo
en software y difundirlo. una vez en circulación, el virus se puede
propagar como una epidemia a través de software y discos compartidos;
además es casi imposible erradicarlos del todo. Los programas antivirus
o vacuna o desinfectantes están diseñados para buscar virus,
notificar al usuario de su existencia y eliminarlos de los discos o archivos
infectados. Algunos son residentes.
- Gusanos: Usan los computadores como anfitriones para reproducirse.
Estos programas viajan de manera independiente por las redes, en busca de
estaciones de trabajo no infectadas que puedan ocupar. Un segmento de gusano
corriente reside en la memoria de una estación de trabajo, no en disco,
de manera que es posible eliminarlo apagando todas las estaciones de trabajo
de la red.
- Bombas lógicas: Es un programa que entrará en acción
cuando detecte una secuencia de sucesos o después de un cierto período.
Sueles incluirse en los programas virus.
Hacking
Los hackers
son invasores electrónicos que ingresan a los computadores corporativos
y del gobierno
usando contraseñas robadas o deficiencias de seguridad
en el software del sistema operativo. Lo más común es que sólo
estén motivados por la curiosidad y el reto intelectual
Errores y averías
Los errores de software ocasionan más daños que
los virus y los delincuentes de la computación juntos, ya que:
- Es imposible eliminar todos los errores.
- Incluso los programas que parecen funcionar pueden contener errores peligrosos
(los errores más peligrosos son los difíciles de detectar y
pueden pasar inadvertidos meses o años).
- Al aumentar el tamaño del sistemas, mayor es el problema.
Reducción del riesgo
Seguridad en los computadores: Protección de
los sistemas de computación y la información que contienen contra
el acceso, el daño, la modificación o la destrucción no
autorizados.
Los computadores tienen 2 características inherentes
que los hacen vulnerables a ataques o errores operativos:
- Un computador hará exactamente aquello para lo cual está
programado, como revelar información confidencial. Cualquier sistema
que pueda ser programado también puede ser reprogramado por alguien
que posea los conocimientos suficientes.
- Todo computador únicamente puede hacer aquello para lo cual
fue programado. "...no se puede proteger de averías o ataques deliberados,
a menos que estos casos hayan sido previstos, estudiados y atacados específicamente
con una programación
apropiada."
Restricciones de acceso físico
Una forma de reducir el riesgo
de violaciones a la seguridad consiste en asegurarse de que sólo el personal
autorizado tenga acceso al equipo de cómputo. Un usuario puede tener
acceso al computador con base en:
- algo que tiene: una llave, una tarjeta de identificación con
fotografía
o una tarjeta inteligente con una identificación codificada digitalmente;
- algo que sabe: una contraseña, un número de identificación,
la combinación de un candado o datos personales de difícil conocimiento
para otros;
- algo que hace: su firma o su velocidad para teclear y sus patrones
de errores;
- algo acerca del usuario: su voz, huellas dactilares, lectura retinal
u otras mediciones de las características corporales de un individuo,
llamadas biométricas.
Contraseñas
Son las herramientas
más comunes para restringir el acceso a los sistemas de computación,
pero sólo serán eficaces si se eligen con cuidado y si son cambiadas
con frecuencia.
El software de control de acceso no tiene que tratar a los
usuarios de la misma manera (niveles de autorización).
Para evitar el uso no autorizado de contraseñas robadas
por extraños, muchas compañías emplean sistemas de devolución
de llamada: Cuando un usuario ingresa y teclea una contraseña, el
sistema cuelga, busca el número telefónico del usuario y lo llama
antes de permitir el acceso.
Ciframiento, blindaje y auditoría
Ciframiento (encryption): Es una forma de proteger la
información transmitida escribiendo en cifra esas transmisiones. Un usuario
cifra un mensaje aplicándole un código numérico secreto
(la clave de cifrado) y el mensaje puede transmitirse o almacenarse como
un revoltijo indescifrable de caracteres, siendo posible leerlo únicamente
luego de reconstruirlo con una clave correspondiente.
- Blindaje: Se utiliza para la información más confidencial.
Por ejemplo el Pentágono utiliza un programa llamado Tempest para crear
máquinas con blindaje (shielding) especial.
- Control de auditoría: El software de este tipo sirve para
supervisar y registrar transacciones de cómputo en el momento en que
tienen lugar, para que los auditores puedan rastrear e identificar actividades
sospechosas del computador después de los hechos. Un software de control
de auditoría
eficaz obliga a todos los usuarios, legítimos o no, a dejar un rastro
de huellas electrónicas.
Respaldos (backups)
Guardar el software y los datos puede ser más importante
que salvar el hardware.
Ni siquiera el mejor sistema de seguridad puede garantizar
la protección absoluta de los datos. Todo sistema de seguridad integral
debe incluir algún tipo de plan
para recuperarse de desastres. El seguro
de recuperación de datos más eficaz y utilizado es un sistema
para hacer respaldos regulares.
La frecuencia con que se respalda un disco depende de su volatilidad
o de cuan seguido se actualicen los archivos del disco.
Controles de seguridad humana
La seguridad en materia
de computadores es un problema humano que no se puede resolver exclusivamente
con tecnología. La seguridad es un asunto de la gerencia,
y las acciones
y políticas
de un gerente
son fundamentales para el éxito
de un programa de seguridad.
Software (II)
El software es el enlace de comunicación entre el ser
humano y el computador. El software se almacena en memoria, y no permanentemente
en los circuitos, por lo cual puede modificarse para satisfacer las necesidades
del usuario.
Casi todo el software corresponde a una de 3 categorías
generales:
- programas de traducción: permiten escribir programas en lenguajes
parecidos al inglés
y traducirlos al lenguaje de máquina.
- aplicaciones de software: facilitan a los usuarios comunicar sus
necesidades al computador, sin tener que aprender a programar. Las aplicaciones
simulan y extienden las propiedades de las herramientas
comunes de la vida real, como las máquinas de escribir, los pinceles
y los archiveros.
- software de sistema: el sistema operativo funciona tras bambalinas,
traduciendo las instrucciones del software a mensajes que el hardware puede
comprender. Un sistema operativo sirve como administrador
del computador, encargándose de los múltiples detalles necesarios
para que la máquina funcione.
Lenguajes
Los lenguajes naturales son aquellos con los cuales
hablamos y escribimos en nuestras actividades cotidianas. Los lenguajes de
programación ocupan una posición intermedia entre los lenguajes
naturales humanos y los precisos lenguajes de máquina.
Gracias a la progresiva complejidad de los lenguajes traductores
que permiten convertir las instrucciones de un lenguaje
de programación al lenguaje de máquina, la programación
puede usar lenguajes de computación que se parecen cada vez más
a los lenguajes naturales.
También se habla de lenguajes naturales para referirse
al software que permite que los sistemas de computación acepten, interpreten
y ejecuten instrucciones en el
lenguaje materno o "natural" que habla el usuario final, por lo general
el inglés.
La mayor parte de los lenguajes naturales comerciales están diseñados
para ofrecer a los usuarios un medio de comunicarse con una base de datos corporativa
o con un sistema experto.
Lenguajes de programación
Un lenguaje
de programación consiste en un conjunto de órdenes o comandos
que describen el proceso deseado. Cada lenguaje tiene sus instrucciones y enunciados
verbales propios, que se combinan para formar los programas de cómputo.
Los lenguajes
de programación no son aplicaciones, sino herramientas que permiten
construir y adecuar aplicaciones.
Características de la programación
Un programa útil tiene 5 atributos:
- Exactitud y precisión: Un programa debe aceptar datos, procesarlos
y generar resultados sin errores de sintaxis o de lógica; de ahí
la necesidad de exactitud y precisión.
- Integridad o completitud: Un programa es completo sólo si
ejecuta todas las operaciones que el usuario espera al procesar un conjunto
de datos.
- Generalidad: La generalidad se entiende en dos sentidos:
- Un programa bien diseñado se puede generalizar; es decir
puede procesar conjuntos
de datos que varían en el número de transacciones
y en la naturaleza
de los datos mismos. Las instrucciones se deben elaborar para que
no se limiten a un número específico de transacciones
en el conjunto de datos. No debe suponerse que una parte específica
de datos siempre sea de igual tamaño.
- El programa contiene diferentes opciones que pueden o no ser aplicadas
durante una corrida. Los usuarios pueden seleccionar la opción
adecuada cada vez.
- Eficiencia: Debe asegurarse que las instrucciones para procesar datos
se selecciones tan rápida y fácilmente como sea posible. La
rapidez y la eficiencia
del procesamiento
de datos puede variar debido a:
- modo como se introducen los datos,
- orden en que se procesan los datos,
- instrucciones particulares que se empleen para controlar el proceso,
- etc.
- Documentación: Consiste en la inclusión de auxiliares
que explican con claridad como ocurre el procesamiento de los datos en un
programa. La documentación incluida en un programa es de dos tipos:
- externa: No está incluida en el programa
mismo sino que va por separado. Comprende:
- diagrama de flujo que muestre los pasos y los procedimientos
y el orden en el cual tienen lugar;
- explicación que describa en el
lenguaje común cómo es el procesamiento
de los datos;
- descripción de los datos que van a introducirse
y procesarse, incluyendo su tipo y tamaño.
- interna: Consiste en comentarios y descripciones
que se insertan entre los enunciados ejecutables de un programa.
Explica la sucesión de los pasos del procesamiento y los
objetivos
de los diferentes grupo de enunciados del programa
Generaciones de lenguajes de programación
Los lenguajes
de programación se dividen en 2 categorías fundamentales:
- bajo nivel: Son dependientes de la máquina, están diseñados
para ejecutarse en una determinada computadora. A esta categoría pertenecen
las 2 primeras generaciones.
- Alto Nivel: Son independientes de la máquina y se pueden utilizar
en una variedad de computadoras. Pertenecen a esta categoría la tercera
y la cuarta generación. Los lenguajes de más alto nivel no ofrecen
necesariamente mayores capacidades de programación, pero si ofrecen
una interacción programador/computadora más avanzada.
Cuanto más alto es el nivel del lenguaje, más sencillo es comprenderlo
y utilizarlo.
Cada generación de lenguajes es más fácil
de usar y más parecida a un lenguaje natural que su predecesores. Los
lenguajes posteriores a la cuarta generación se conocen como lenguajes
de muy alto nivel. Son lenguajes de muy alto nivel los generadores de aplicaciones
y los naturales.
En cada nuevo nivel se requieren menos instrucciones para indicar
a la computadora que efectúe una tarea particular. Pero los lenguajes
de alto nivel son sólo una ayuda para el programador. Un mayor nivel
significa que son necesarios menos comandos, debido a que cada comando o mandato
de alto nivel reemplaza muchas instrucciones de nivel inferior.
- Primera - Lenguaje de máquina: Empieza en los años
1940-1950. Consistía en sucesiones
de dígitos binarios. Todas las instrucciones y mandatos se escribían
valiéndose de cadenas de estos dígitos. Aún en la actualidad,
es el único lenguaje interno que entiende la computadora; los programas
se escriben en lenguajes de mayor nivel y se traducen a lenguaje de máquina.
- Segunda – Lenguajes ensambladores: Fines de los ’50. Se diferencian
de los lenguajes de máquina en que en lugar de usar códigos
binarios, las instrucciones se representan con símbolos fáciles
de reconocer, conocidos como mnemotécnicos,. Aún se
utilizan estos lenguajes cuando interesa un nivel máximo de eficiencia
en la ejecución o cuando se requieren manipulaciones intrincadas.
Al igual que los lenguajes de la máquina, los lenguajes ensambladores
son únicos para una computadora particular. Esta dependencia de la
computadora los hace ser lenguajes de bajo nivel.
- Tercera: años ’60. Los lenguajes de esta generación
se dividen en tres categorías, según se orienten a:
- procedimientos: Requieren que la codificación de
las instrucciones se haga en la secuencia en que se deben ejecutar
para solucionar el problema. A su vez se clasifican en científicos
(p.ej.: FORTRAN), empresariales (v.g.: COBOL),
y de uso general o múltiple (p.ej.: BASIC). Todos estos lenguajes
permiten señalar cómo se debe efectuar una
tarea a un nivel mayor que en los lenguajes ensambladores. Hacen
énfasis los procedimientos o las matemáticas
implícitas, es decir en lo que se hace (la acción).
- problemas: Están diseñados para resolver
un conjunto particular de problemas y no requieren el detalle de
la programación que los lenguajes orientados a procedimientos.
Hacen hincapié en la entrada y la salida deseadas.
- objetos: El énfasis se hace en el objeto
de la acción. Los beneficios que aportan estos lenguajes
incluyen una mayor productividad del programador y claridad de la
lógica, además de ofrecer la flexibilidad necesaria
para manejar problemas abstractos de programación.
- Cuarta: su característica distintiva es el énfasis
en especificar qué es lo que se debe hacer, en vez de cómo
ejecutar una tarea. Las especificaciones de los programas se desarrollan
a un más alto nivel que en los lenguajes de la generación
anterior. La característica distintiva es ajena a los procedimientos,
el programador no tiene que especificar cada paso para terminar una tarea
o procesamiento. Las características generales de los lenguajes de
cuarta generación son:
- Uso de frases y oraciones parecidas al inglés para emitir instrucciones;
- no operan por procedimientos, por lo que permiten a los usuarios centrarse
en lo que hay que hacer no en cómo hacerlo;
- Al hacerse cargo de muchos de los detalles de cómo hacer las cosas,
incrementan la productividad.
Hay dos tipos de lenguajes de cuarta generación, según
se orienten:
- a la producción: Diseñados sobre todo para
profesionales en la computación.
- al usuario: Diseñados sobre todo para los usuarios
finales, que pueden escribir programas para hacer consultas en una
base de datos y para crear sistemas
de información. También se llama lenguaje de consultas
(SQL, Structured Query Language: lenguaje estructurado para consultas).
Pasos en el desarrollo de programas
- Descripción del problema: Identificación precisa
de las necesidades a satisfacer.
- Análisis del problema: División del problema en
sus componentes básicos. Para la mayoría de los programas
estos componentes son:
- salida
- entrada
- procesamiento
- interacción de archivos
- Diseño de la lógica general del programa: Luego
del análisis
corresponde unir todas las piezas. Un programa se diseña jerárquicamente,
yendo de los aspectos generales a los aspectos específicos. El
diseño general se orienta a las principales actividades de procesamiento
y a las relaciones entre éstas. Al completar primero un diseño
general se pueden investigar distintas alternativas de diseño;
luego de elegida la mejor se avanza a un diseño más detallado.
- Diseño de la lógica detallada del programa: Se
produce una representación gráfica de la lógica del
programa que incluye todas las actividades de procesamiento y sus
relaciones, cálculos, manejos de datos, operaciones lógicas
y todas las operaciones de entrada/salida.
- Codificación: Se traduce el diseño
gráfico y narrativo de los pasos anteriores a instrucciones
o programas que la máquina puede leer.
- Prueba y depuración: Búsqueda y eliminación
de errores de sintaxis y de lógica.
- Documentación: Para responder a las necesidades a pesar
los cambios los programas deben actualizarse periódicamente o mantenerse.
El mantenimiento
se dificulta si la documentación no está completa y actualizada.
La documentación forma parte del proceso de programación.
No es algo que se lleve a cabo cuando el programa está escrito.
Como mínimo la documentación de cada programa debe incluir:
- descripción del programa;
- gráfica estructural;
- diagrama de flujo;
- enlistado del programa (con comentarios internos)
- una sesión interactiva (entrada/salida
cuando se ejecuta el programa)
Errores en la programación
- de sintaxis: Violaciones de las reglas "gramaticales" del lenguaje
de programación para la escritura de instrucciones. Ejemplos:
- Inclusión de símbolos o caracteres que no están
permitidos.
- Omisión de la referencia de los datos por leer o escribir
(se tiene que indicar a la CPU qué debe leer o escribir).
- Escritura errónea de una orden.
- de lógica: Consisten en el uso inadecuado de instrucciones
que son correctas en sintaxis; son errores en la estructura lógica
que ocasionan diferencian entre lo que se quiere que haga el programa y lo
que hace en realidad.
Fuentes de los programas
- Elaboración propia: Diseño y programado realizado por
personal de la organización. Para determinar si esta estrategia
es la mejor se deben evaluar los siguientes factores:
- ¿Tiene la organización suficiente personal capacitado
para desarrollar programas propios?
- ¿Permite el programa de desarrollo terminar el proyecto
en un plazo aceptable?
- ¿Es el costo de esta alternativa una buena inversión
comparada con otras alternativas?
- ¿Se podría adquirir de otras maneras el programa necesario?
- Paquetes comprados: Programa o conjunto de programas ya escritos,
diseñados para ejecutar tareas específicas. Las preguntas clave
son:
- ¿Tiene el paquete las características adecuadas a un
costo razonable?
- ¿Es aceptable el costo en relación con el costo de
desarrollo convencional o propio?
- ¿Es suficiente el número de usuarios de ese programa
para garantizar que quienes lo elaboran respaldaran el paquete
después de comprado?
- Elaboración por contrato: Es una alternativa conveniente en
las siguientes condiciones:
- La organización carece de personal técnico para
producir el programa deseado.
- No hay paquetes generalizado que sea adecuados para el trabajo.
- El costo de esta alternativa no es prohibitivo.
- Se pueden hacer arreglos convenientes para el mantenimiento
(cambios, correcciones y mejoras) del software después
de que haya sido entregado.
Programas
Los programas de computación son conjuntos o estructuras
de instrucciones u órdenes codificados que hacen que la computadora efectúe
una serie de operaciones para alcanzar un propósito específico.
Se llama programado a los conjuntos o series de instrucciones,
lenguaje y métodos
que hacen posible que una persona utilice una computadora. En sentido general
el programado es un conjunto de órdenes o mandatos puestos para controlar
la operación de un sistema de cómputo para efectuar el cálculo
y el procesamiento
de datos. El objetivo primario es controlar todas las actividades de procesamiento
de datos y cerciorarse que los recursos y la capacidad de la computadora sean
aprovechados de la manera más eficaz.
Programa almacenado, fuente y objeto
- fuente: Es el programa de cómputo escrito en un lenguaje de
programación. Todos los programas fuente deben compilarse o traducirse
antes que el sistema los pueda ejecutar.
- objeto: Se llama programa o código objeto al programa de cómputo
luego que ha sido traducido al lenguaje de máquina. El programa objeto
es la salida del proceso de compilación.
- almacenado: Es un concepto
que se debe a John von Neumann que afirmaba la necesidad de que las instrucciones
de los programas deben almacenarse junto con los datos en la memoria
Programación estructurada
En esta programación se maneja en forma jerárquica
la lógica del programa en módulos lógicos. Al final se
traduce la lógica de cada módulo a una secuencia de instrucciones
del programa que se pueden ejecutar de manera independiente. El planteamiento
estructurado reduce la complejidad de la tarea de programación.
La programación estructurada es una técnica para
hacer más simple y productiva la programación. Un programa estructurado
no depende de enunciados GoTo (enunciado utilizado para transferir el control
a otras partes del programa) para controlar el flujo lógico, sino que
se construye a partir de programas más pequeños llamados módulos
o subprogramas, que a su vez se componen de módulos más
pequeños. Lo que se hace es combinar los módulos usando las 3
estructuras
de control básicas: secuencia, repetición y selección.
Un programa está bien estructurado si:
- está formado por módulos lógicamente coherentes;
- los módulos están dispuestos en una jerarquía; y
- es directo y legible.
Traductores, compiladores
e intérpretes
Los traductores son programas elaborados que convierten
los programas escritos en un lenguaje de programación en pulsos eléctricos
que el sistema de cómputo puede entender, es decir los transforman en
lenguaje de máquina. Los programas de traducción pueden ser:
- Compiladores: El programa compilador traduce las instrucciones
en un lenguaje de alto nivel a instrucciones que la computadora puede
interpretar y ejecutar. Para cada lenguaje de programación se
requiere un compilador separado. El compilador traduce todo el
programa antes de ejecutarlo.
Los compiladores
son, pues, programas de traducción insertados en la memoria por el
sistema operativo para convertir programas de cómputo en pulsaciones
electrónicas ejecutables (lenguaje de máquina). Los compiladores
pueden ser de:
- una sola pasada: examina el código fuente
una vez, generando el código o programa objeto.
- pasadas múltiples: requieren pasos intermedios
para producir un código en otro lenguaje, y una pasada
final para producir y optimizar el código producido
durante los pasos anteriores.
También hay compiladores incrementales que generan
un código objeto instrucción por instrucción (en vez
de hacerlo para todo el programa) cuando el usuario teclea cada orden individual.
El otro tipo de compiladores requiere que todos los enunciados o instrucciones
se compilen conjuntamente.
El proceso de compilación puede requerir tiempo, sobre
todo para los programas grandes, pero los programas compilados tienden a ejecutarse
con mayor rapidez que los programas interpretados. La recopilación
sólo es necesaria cuando se modifica el programa.
- Intérpretes: Es un programa que desempeña la
misma función que un compilador, pero en forma diferente. En
lugar de traducir todo el programa fuente en un solo paso, traduce
y ejecuta cada instrucción del programa fuente antes de traducir
y ejecutar la siguiente.
La ventaja es que un error en la sintaxis "salta" inmediatamente
a la vista del programador.
La desventaja es que no produce un programa objeto, por lo
que debe realizar el proceso de traducción cada vez que se ejecuta
un programa.
Software de aplicación
Es el conjunto de programas concebidos o creados para atender
trabajos específicos del usuario, referidos al cumplimiento de sus diversos
objetivos.
Este software está diseñado y escrito para realizar
tareas específicas personales, empresariales o científicas. Todas
estas aplicaciones procesan datos y generan información. El software
de aplicación necesita parte del software de base para ejecutarse.
El software de aplicación puede ser:
- a medida: Ofrece la oportunidad al usuario de personalizar el sistema
de aplicación según sus necesidades; es decir que están
diseñados considerando las particularidades que esa aplicación
tiene para el usuario. Teóricamente, un sistema de este tipo debiera
satisfacer plenamente las necesidades del usuario. La personalización
tiene un límite, dado por el hardware y el software de base en cual
el sistema será utilizado.
- preplaneado: Es concebido en forma estándar, sin tener en
consideración a usuarios en particular. Desde el punto de vista de
los requerimientos de una aplicación específica de un usuario
determinado, podrían resultar menos flexibles que los desarrollados
a medida, debido a que no tienen elementos que permitan personalizar la aplicación.
Pero desde el punto de vista de los requerimientos generales de aplicación
considerada en sí misma, son sistemas mucho más flexibles que
los desarrollados a medida.
El elemento determinante en la elección será,
casi seguramente, el factor económico. El sistema preplaneado es más
barato ya que el costo de desarrollo se amortiza entre todos los usuarios que
adquieran el paquete. Pero para evaluar la magnitud del ahorro
debe examinarse si, en relación con los requerimientos del usuario, lo
que ofrece el sistema preplaneado:
- coincide plenamente: el ahorro
económico es real.
- excede los requerimientos del usuario: la situación resultaría
costosa, ya que se estaría pagando por elementos y funciones que no
se utilizarán (siempre y cuando el costo de los mismo fuera significativo
frente a lo que resulta útil del paquete).
- satisface parcialmente o en forma diferente a lo que es práctica
usual en la organización: el ahorro es absorbido por el costo,
implícito, de adaptar la organización a los requerimientos del
sistema, en lugar de que el sistema satisfaga los requerimientos de la organización.
Software de base o sistema
Por la relación estrecha que existe entre las características
de un computador y su software de base, no se puede concebir el uno sin el otro.
Este software es independiente de cualquier paquete de software
para uso general o cualquier área de aplicación específica;
controla y respalda en cierto modo el software de las otras categorías.
Pertenecen a la categoría del software de base el sistema operativo,
la interfaz gráfica de usuario (GUI) y los utilitarios.
El software de base ahorra al usuario el tener que preocuparse
por temas tales como:
- las partes de la memoria del computador que contienen el documento;
- los segmentos del software de procesamiento de textos que se encuentran
en la memoria;
- las instrucciones de salida enviadas por la computadora a la impresora.
Generalmente es entregado por el proveedor del equipo o por
casas especializadas en el desarrollo de software de base. Se divide en 2 grandes
grupos: utilitarios y sistema operativo.
Utilitarios
Son módulos programáticos elaborados que se requieren
frecuentemente en el procesamiento de los datos. Pueden ser sencillo o muy complicados.
Son rutinas de servicio que eliminan la necesidad de escribir
un programa o de pasar mucho tiempo trabajando a través de los menúes
cada vez que se necesitan llevar a cabo ciertas operaciones.
Sirven como herramientas para llevar a cabo el mantenimiento
del sistema y efectuar algunas reparaciones que el sistema operativo no maneja
de manera automática.
Por ejemplo, los utilitarios facilitan:
- el copiado de archivos;
- la reparación de archivos de datos
dañados;
- la traducción de archivos para que
puedan leerlos programas diferentes.
Descripción de utilitarios
- de servicio: Los destinados al manejo de ciertos recursos del computador
y de programas y sus bibliotecas.
- Listador de directorio: El directorio es un archivo más
dentro de un paquete de discos o diskettes que constituye el índice
del contenido del volumen
y contiene:
- identificación o nombre del disco;
- espacio disponible y su ubicación
- datos de los archivos lógicos que abarca ese volumen
o archivo físico; los datos más usuales que
contiene de cada archivo lógico son:
- nombre del archivo;
- longitudes del registro físico y del registro lógico;
- formato del registro (fijo, variable, indefinido);
- tipo de archivo (datos, programa, objeto, etc.)
- organización del archivo;
- cantidad de espacio que ocupa;
- dirección/es del archivo (ubicaciones o extensiones);
- fechas de creación y de expiración;
- longitud de la clave (si no es un archivo secuencial).
Este utilitario imprime total o parcialmente las entradas
de directorio. El listado emitido permite conocer:
- los archivos que se encuentran en el soporte;
- las características de cada uno de ellos;
- el espacio libre restante en el soporte, y su ubicación;
- los miembros del archivo particionado y el espacio aún
disponible en el mismo.
- Eliminador de archivos: (Remove, delete, erase, scratch). Esta
función consiste en suprimir los datos de un archivo del directorio
general del volumen y desasignar el espacio ocupado por dicho archivo
lógico, colocándolo como espacio disponible en los registros
correspondientes del directorio.
- Renombrador de archivos: (Rename).Esta función consiste
en cambiar el nombre del archivo en la entrada del directorio general
del soporte por uno nuevo. Para ello habrá que especificar el
viejo nombre (con el que buscará las entradas del directorio)
y el nuevo, que reemplazará al anterior.
- Reorganizador de espacios en discos: (Squeeze, condens, compress).Las
sucesivas incorporaciones y eliminaciones de archivos de un volumen
producen una cantidad considerable de pequeñas extensiones entre
los distintos archivos lógicos; estos espacios producen una pérdida
de tiempo en la
lectura y grabación del archivo; además obligan a
guardar las direcciones de dichas extensiones en el directorio general
del volumen haciendo más lento también encontrar la ubicación
de un archivo lógico en el directorio. Cuando el espacio libre
en disco se encuentra muy fragmentado, se hace necesario compactar los
archivos. La función de este utilitario es la de ir copiando
los archivos lógicos dentro del volumen sin dejar espacios libres
entre ellos. Esta tarea involucra además la actualización
del directorio general del soporte en lo que hace a las ubicaciones
de los archivos lógicos y al nuevo espacio libre (que será
uno solo al final de todos los archivos lógicos, reduciendo también
la cantidad de registros en el directorio necesarios para identificar
las áreas libres).
- Editor de textos: Permite la creación, modificación
y eliminación de programas. Su función básica es
la incorporar a la biblioteca
de programas fuente o simbólicos un programa nuevo que ha sido
codificado o efectuarle modificaciones a uno ya existente con motivo
de errores encontrados en su ejecución o por cambio
en los requerimientos de procesamiento o la eliminación de un
programa que no se usará más.
Los editores de texto pueden ser ejecutados:
- ingresando información por medio de tarjetas perforadas,
diskettes, etc.
- mediante el uso de terminales: tienen menos restricciones
que los anteriores. Entre otras funciones, los editores de terminal
permiten: agregar o eliminar una o más líneas,
mover y copiar líneas de un lugar a otro del programa,
copiar líneas de otro programa, cambiar un grupo de caracteres
por otro a lo largo de parte o todo el programa, buscar un grupo
de caracteres, etc. A su vez pueden dividirse en:
- editores de línea;
- editores de pantalla completa: superiores a los anteriores.
- Vinculador: Su función es vincular distintos módulos
objeto reubicables generando un único programa ejecutable.
Ahora bien, ¿cuáles son las razones por las que un programa
puede necesitar varios módulos objeto para convertirse en ejecutable?:
- Uso de subprogramas de uso general: existen ciertas operaciones
que normalmente son utilizadas por varios programas de aplicación
y que se codifican en forma separada y se compilan constituyen un
subprograma que será "llamado" por otro programa. El módulo
objeto se denomina reubicable dado que podrá ser "reubicado"
en cualquier lugar del programa ejecutable.
- División del programa en módulos separados:
Esto permite que un programa se divida y codifique en módulos
separados, que se compilan también separadamente. Inclusive
los módulos pueden ser codificados en diferentes lenguajes
y los compiladores y compaginadores los unificarán a nivel
de lenguaje objeto. Tiene la ventaja de que cualquier modificación
de un módulo a nivel de lenguaje simbólico implicará
sólo la compilación de ese módulo y su vinculación
con los otros módulos que no cambiaron.
- Incorporación de rutinas de manejo de datos: Muchas
veces por medio de la vinculación se le agregan a los módulos
objeto distintos subprogramas de manejo de datos que forman parte
del S.O. y que necesitará el programa para se ejecutado.
Así se evita que estas rutinas sean residentes (estar permanentemente
en memoria a disposición de los programas).
El vinculador reúne los módulos objeto
reubicándolos y genera un programa también reubicable.
Los módulos contienen los llamados símbolos
externos, que pueden ser:
- Referencias externas: referencias simbólicas
a otros módulos.
- Nombres externos: nombres que pueden ser referenciados
por otros módulos.
- De apoyo a los sistemas de aplicación:
- Generador de copias de archivos: Permite copiar cualquier archivo
a otro soporte, sea o no del mismo tipo. Algunos permiten la copia de
varios archivos indicando desde cuál hasta cuál se desea
copiar, o permiten que la copia tenga otro diferente, o permiten seleccionar
los registros del archivo a ser copiados. También están
los que permiten copiar un soporte entero a otro.
- Reorganizador de archivos: Su función consiste en eliminar
físicamente los registros dados de baja; de esa forma se comprime
el archivo eliminando o reduciendo los registros que se encuentran en
el área de excedentes. Esta función se logra copiando
el archivo y evitando la grabación de aquellos registros dados
de baja (marcados).
- Generador de listados: Permite obtener mediante parámetros
listados de información de uno o más archivos en forma
rápida. Los parámetros más comunes son:
- selección de registros lógicos a procesar;
- relación con otros archivos secundarios;
- clasificación requerida;
- impresión de títulos;
- impresión de datos y cálculos entre ellos;
- cortes de control y subtotales;
- totales generales.
- Clasificador e intercalador de archivos: (Sort-merge). Permite:
- clasificar un archivo especificando las posiciones o
campos de clasificación y el orden deseado (ascendente
o descendente); o
- intercalar dos archivos previamente clasificados de igual
forma obteniendo un archivo que reúna a los dos de entrada;
para lo cual se deben especificar las posiciones del campo de
intercalación y el orden deseado.
Sistema operativo
El sistema operativo supervisa y controla todas las actividades
de entrada/salida y procesamiento de un sistema de computación. Todo
el hardware y el software se controla por medio del sistema operativo.
El sistema operativo distribuye y controla (es decir administra)
recursos limitados del equipo de cómputo. Los programas que constituyen
el sistema operativo son desarrollados generalmente por los fabricantes de computadoras
y proporcionados a los compradores. Están diseñados para hacer
el mejor uso de los componentes de cada sistema de computación.
Pueden existir diferentes sistemas
operativos incluso en los sistemas de un solo fabricante.
El conjunto de programas de control del sistema operativo trabaja
en forma conjunta y está diseñado para maximizar la eficacia
total del sistema de cómputo.
Este sistema supervisa todas las actividades, recabando programas
especiales de sistema cuando sea necesario, asignando recursos del sistema y
programando los trabajo de tareas para la operación continua del sistema.
Los componentes del sistema operativos son de 2 tipos:
- residentes: también llamados supervisores. Son componentes
que residen permanentemente en la memoria central durante todo el procesamiento.
- transientes: residen sólo cuando se los necesita, estando
almacenados en periféricos cuando no están en la memoria central.
Funciones básicas del sistema
operativo
- Proveer servicios para la ejecución y desarrollo
de los programas de aplicación: administrar los recursos
en proceso, obtener automáticamente la rutina apropiada
y mantener la operación del computador, sin necesidad de
intervención manual.
- Actuar como entorno de la aplicación en la
cual el programa es ejecutado: Supervisar mediante un conjunto
de rutinas las operaciones del computador, controlar el desarrollo
de las operaciones internas de la CPU, dirigir el desenvolvimiento
de las operaciones de entrada/salida.
Carga inicial del sistema operativo
Casi todas las máquinas tienen una parte de su S.O.
en la ROM y lo demás se carga en memoria durante el proceso de arranque.
Una de las pocas ocasiones en que el usuario debe comunicarse directamente con
el S.O. es al arrancar una PC, momento en el que el S.O. aparece en primer plano
y espera instrucciones.
No todo el S.O. está en memoria permanentemente. La
parte que reside siempre en memoria durante la ejecución de los distintos
programas se llama residente o supervisor.
Una vez encendido el computador habrá que cargar el
residente en memoria para poder comenzar a ejecutar los distintos programas.
Hay un primer programa especial (stand-alone), llamado IPL o BOOT, que forma
parte del S.O., cuya única misión
es traer a memoria al segundo y principal programa, el residente. Este programa
puede ser llamado pulsando una tecla; una vez que se encuentra en memoria, se
comienza a ejecutar cumpliendo una serie de tareas que difieren de acuerdo al
computador, entre ellas:
- pedir la fecha del día al operador (la primera y más común);
- permitir la ejecución de programas stand-alone (todavía
no se ha cargado el supervisor);
- recibir la configuración del equipo y la asignación de memoria
a las particiones; puede obtener estos datos:
- por parte del operador; o
- directamente de un archivo creado al efecto por un programa
stand-alone (utilitario configurador).
Finalmente, solicitará al operador el dispositivo donde
deberá buscar al residente para traerlo a memoria. Una vez cargado el
residente en memoria, este programa desaparece. Por tanto el IPL o BOOT es un
programa transiente del sistema operativo.
Ejecución de programas
Multiprogramación o multitarea
Es la ejecución concurrente de más de
un programa a la vez.. En realidad, una computadora sólo puede ejecutar
un programa a la vez, pero la velocidad de su procesamiento interno es tan rápida
que se pueden distribuir por turno "porciones" del tiempo de la computadora
entre varios programas. Esto hace que parezca que se ejecutan varios programas
a la vez. Cuando un trabajo necesita un proceso de entrada/salida, otro puede
iniciarse (o continuar) su realización; dos o más programas independientes
se ejecutan durante el mismo lapso al intercalar su ejecución.
La ventaja es que se puede intensificar el rendimiento total
del sistema. Es posible aprovechar la gran velocidad de la unidad central y
evitar los retrasos al esperar las operaciones de entrada/salida.
El control de la ejecución de la intercalación
o empalme lo realiza el S.O. (si prevé esta modalidad de trabajo). Es
decir que por medio de la multiprogramación se efectúa la administración
en paralelo de dos o más programas que residen simultáneamente
en la memoria del computador.
Características de la multiprogramación
- cantidad fija de particiones: La cantidad de programas
que integran la mezcla de multiprogramación tiene como máximo
el número de particiones existentes.
- cantidad variable de particiones: La cantidad de programas
alojados en memoria en ejecución depende de la capacidad
total de memoria y de la cantidad de la misma requerida por cada
programa.
Particiones virtuales
Eliminar las restricciones de memoria es un paso importante
para lograr implementar sistemas de aplicación a un costo menor, en menor
tiempo y en un rango de memorias
reales mayor. En consecuencia se debe lograr un mayor espacio de memoria pero
sin ampliar la memoria real.
La memoria
virtual es un espacio de direcciones cuyo tamaño máximo está
determinado por el esquema de direccionamiento del computador (es decir, por
la cantidad máxima de bytes posibles de direccionar que depende de la
cantidad de bits o dígitos binarios utilizados para expresar una dirección.
El almacenamiento que puede ser directamente accedido por el
computador (memoria principal) se denomina memoria real. El espacio de la memoria
real es un conjunto de ubicaciones físicas de memoria en el cual las
instrucciones y datos de programa deberán ser ubicados para su procesamiento.
Los programas se refieren a los datos e instrucciones por la dirección
de memoria
virtual sin conocer la ubicación física de memoria real.
Cuando no existe memoria virtual no hay diferenciación
entre el espacio de direcciones y la memoria real; el espacio de direcciones
que puede ser usado en los programas tiene idéntico tamaño al
espacio de memoria real posible. Si se utiliza memoria virtual, el espacio de
direcciones disponibles para los programas es aquél determinado por el
tamaño de la memoria virtual implementada y no el espacio de direcciones
provisto por la memoria real disponible (el espacio de la memoria virtual será
mayor que el de la memoria real).
La memoria virtual se llama así porque representa una
imagen de memoria en lugar de una memoria física del procesador. Dado
que la memoria virtual no existe como una entidad física de memoria principal,
las instrucciones y datos de un programa referenciados por direcciones virtuales
deben ser contenidos en alguna ubicación física de memoria para
ser ejecutados.
Los contenidos de la memoria virtual están divididos
en porciones o secciones (páginas) de tamaño fijo. El programa
está completo en la memoria virtual pero en la memoria real sólo
están algunas páginas del mismo que van cambiando automáticamente
durante la ejecución.
A su vez, la memoria real también está dividida
en secciones (bloques) de igual tamaño que las páginas.
Cuando se debe ejecutar un programa, éste es traído a la memoria
virtual y las instrucciones y datos del mismo son transferidos entre la memoria
virtual y la real de a una sección por vez durante la ejecución
del programa. Una sección será llevada a la memoria real sólo
cuando es requerida. Por otro lado, una sección que está en la
memoria real sólo será reescrita en la memoria virtual cuando
la memoria real asignada a esa sección es requerida por otra sección
del mismo o de otro programa, siempre que no se esté ejecutando y, además,
si ha sido modificada.
En general, se controla la actividad de las secciones de todos
los programas en ejecución a fin de mantener, en lo posible, en memoria
real a las secciones más activas o usadas, dejando las menos activas
en la memoria virtual.
El aprovechamiento de la memoria real que supone esta forma
de utilización es muy superior a cualquier otra forma de asignación
de memoria.
El hardware de traducción de direcciones o la función
interna de mapping son los mecanismos por los cuales se pueden traducir
las direcciones de memoria virtual en direcciones de memoria real durante la
ejecución de las instrucciones.
La memoria virtual presenta:
- Ventajas:
- con respecto a la performance del sistema:
- Se cuenta con una memoria virtualmente más extensa
con la misma memoria real.
- Se utiliza mucho más eficientemente la memoria real.
Este esquema permite que la parte de los programas que
no se utiliza no ocupe lugar en la memoria y en cambio
quede disponible para agregar más programas en la mezcla de multiprogramación.
- con respecto al desarrollo de aplicaciones:
- Al eliminar las restricciones de memoria permite diseñar
los sistemas más fácilmente, en menor tiempo y a menos
costo.
- Hace más sencillo el mantenimiento y la ampliación
de los programas.
- Hace más justificable el diseño e implementación
de algunas aplicaciones, cuyos requerimientos de memora varíen
bastante en su ejecución de acuerdo al volumen y complejidad
de las transacciones.
- con respecto a la operación del computador:
- Permite que un equipo de una memoria real menor pueda ser usado
sin dificultad como back-up en caso de necesidad.
- Hace innecesario efectuar ciertos procedimientos cuyo único
propósito es un mejor aprovechamiento de la memoria real.
- Simplifica las actividades de planificación.
- Desventajas:
- Costo asociado a la transformación de direcciones;
- memoria adicional que requiere para almacenar las tablas que debe
mantener el sistema operativo (memoria real de la parte residente
del sistema operativo)para indicar: l
- a cantidad de memoria real implementada,
- las secciones que están presente en la memoria real
y sus direcciones de ubicación, y
- elementos de juicio para determinar qué secciones
se tratarán de dejar en memoria real y cuáles
no, o que sección será desplazada cuando otra
sección de memoria virtual deba ser llevada a memoria
real;
- pequeño desperdicio de memoria que se produce en la última
página de un programa (ya que rara vez el tamaño del
programa es múltiplo del tamaño de las páginas);
- merma en el rendimiento del computador si es incorrectamente utilizada;
- posible incremento del tiempo de ejecución de cada programa
como consecuencia de la paginación (operaciones de entrada/salida
que demorarán la ejecución del programa).
La memoria virtual puede ser una herramienta poderosa para
incrementar la performance del computador. Pero ello depende de ciertos factores,
tales como:
- Velocidad de los dispositivos que contendrán la memoria virtual:
La actividad de paginación afecta adversamente a la performance del
equipo cuando el procesador real está frecuentemente esperando que
termine una operación de entrada/salida de paginación; por tanto
se debe procurar que los requerimientos de operaciones de paginación
estén por debajo de lo necesario para aprovechar convenientemente la
multiprogramación. En caso contrario se incrementarán los tiempos
ociosos del órgano de comando.
- Velocidad del procesador: Una relación desbalanceada entre
la velocidad del procesador y la del dispositivo de paginación puede
alterar el rendimiento.
- Tamaño de la memoria real y virtual: La cantidad de memoria
real de la CPU (en relación con el tamaño de la memoria virtual)
afectará el número de páginas faltantes que deberán
ser traídas del dispositivo de paginación. Si el tamaño
de la memoria real es igual al de la virtual que están usando los programas
en ejecución no habrá páginas faltantes ya que todas
estarán en memoria real. En cambio cuando la memoria real sea menor,
la cantidad de páginas faltantes estará dada por la razón
de la memoria virtual usada por la memoria real disponible.
- Estructura de los programas: La cantidad de memoria virtual que usa
un programa no es un factor tan significativo en la performance del equipo
como la forma en que la usa.
Algunas formas para incrementar el rendimiento del equipo son:
- Usar áreas de entrada/salida más largas:
Reduce el tiempo en que las páginas del programa estarán
en memoria real. Sin embargo un aumento muy significativo podría
afectar negativamente el rendimiento en equipos con poca memoria
real.
- Aumentar la capacidad de manejo de páginas faltantes
cuando la actividad de paginación causa frecuentes desactivaciones
de programas: Esto puede ser realizado:
- usando un dispositivo de mayor velocidad;
- estableciendo más dispositivos de paginación;
- reduciendo o eliminado archivos del dispositivo de paginación;
- reduciendo la actividad del canal que corresponde al dispositivo
de paginación; o
- aumentando un poco la memoria real.
- Estructurar los nuevos programas de aplicación para
que operen eficientemente con memoria virtual: Dos formas
de mejorar la eficiencia son:
- adoptar la programación modular: es decir agrupar
las instrucciones de uso frecuente y separa las de iniciación
y terminación, que generalmente se ejecutan sólo una
vez por ejecución de programa.
- Agrupar los datos separadamente de las instrucciones: Con
el objeto de construir un programa que tenga pocas páginas
activas; además, al separar las páginas de datos de
las de instrucciones, se evitará la escritura de las páginas
de instrucciones cuando sean desplazadas de la memoria real, dado
que es raro que se modifiquen las instrucciones, y teniendo en cuenta
que las páginas que no se modifican cuando están en
memoria real no se reescriben al ser desplazadas.
- Incrementar el nivel de multiprogramación: Cuanto
más tareas se estén ejecutando, menor será
la probabilidad
que el procesador quede en estado
de espera de una operación de entrada/salida; sin embargo,
cuanto mayor sea la razón de memoria virtual a real,
la performance tiende a decaer. Por tanto debe tratar de encontrarse
el punto intermedio que maximice el rendimiento. A mayor porcentaje
de utilización del procesador, menor será la posibilidad
de incrementar el rendimiento a través de la multiprogramación.
Otras administraciones
Administración
de los órganos de comando
La administración
del órgano de comando es una de las más importantes
funciones del sistema operativo
Es el programa supervisor o residente el que
se encarga de gobernar la multiprogramación y el multiprocesamiento
a través de dos componentes:
- Planificador o scheduler: se encarga de establecer
qué programa se ejecutará en cada oportunidad
en dicha selección sea necesaria.
- Control de tráfico o traffic control: se encarga
del manejo de las interrupciones:
- iniciación y terminación de entrada/salida;
- por tiempo;
- por falta de página;
- por finalización del programa;
- etc.
Administración de los trabajos
a ser ejecutados
La ejecución de un programa tiene dos requisitos obvios:
que se haya requerido su ejecución y que exista memoria disponible para
poder ser ejecutado.
El manejo de los requerimientos de ejecución se maneja
con alto grado de automaticidad e independencia
de los periféricos.
Todo requerimiento es aceptado; cuando no puede ser satisfecho
es almacenado en disco magnético. Cada vez que el residente procesa una
interrupción por finalización de un programa, activará
los componentes necesarios para analizar un requerimiento de ejecución
(si existe alguno) o bien para estar pendiente hasta que aparezca el primer
requerimiento.
Esta tarea consiste en analizar el requerimiento y, si éste
fue correctamente formulado, buscar el programa requerido y traerlo a la memoria
asignada por la función de administración de memoria.
Este componente de análisis
puede no formar parte del supervisor, es decir que puede ser residente o transiente.
Administración de los dispositivos
periféricos
Administración de Canales
Todos los periféricos se encuentran vinculados a la
CPU a través de canales de distinto tipo. Un canal no es sólo
un cable, sino que está constituido, además, por un procesador
de entrada/salida que puede trabaja simultáneamente con el procesador
de la CPU y que permite el trabajo en multiprogramación.
Hay canales que pueden realizar de a una operación por
vez y otros que puede realizar más de una.
Todo canal puede tener conectadas varias unidades periféricas.
Algunos canales exigen que las unidades sean del mismo tipo y otros admiten
unidades de distinto tipo.
Considerando que cada programa que se está ejecutando
puede solicitar distintas operaciones de entrada/salida, es necesario que un
programa residente se encargue de lograr que todas esas operaciones se ejecutan
de la manera más eficiente posible.
Cuando un programa efectúa una interrupción pidiendo
la ejecución de una operación de entrada/salida, el supervisor
debe analizar qué canal deberá ser utilizado para atender ese
requerimiento; determinado el canal, deberá verificar el tipo de canal,
el
estado en que se encuentra y si existen operaciones pendientes para ese
canal.
Si el canal se encuentra en uso, el residente registrará
la operación de entrada/salida en una cola de espera que normalmente
no tiene prioridades, es decir que se irán realizando en el mismo orden
en que fueron solicitadas.
Si el equipo no ha sido correctamente configurado los canales
pueden convertirse en un cuello de botella.
Administración de Unidades
Tenemos en este caso 2 tipos de dispositivos: los de acceso
directo que permiten el acceso compartido entre distintos programas (unidades
de disco); y los de acceso secuencial que son dispositivos de acceso dedicado
(cinta, impresora)
- Impresora: Es uno de los dispositivos más lentos,
por eso una gran cantidad de sistemas
operativos cuentan con una facilidad llamada SPOOLING u
operación periférica simultánea en línea.
Cada vez que un programa abre un archivo asignado a la
impresora, el supervisor abre un archivo en una unidad de acceso directo
(generalmente en disco magnético). Además, cada vez que un
programa solicita una operación de impresión, el residente
desvía la impresión y graba la línea en el archivo
correspondiente.
Esto permite no sólo que varios programas impriman
intercaladamente, sino también que un mismo programa genere más
de un listado en la misma ejecución.
Es decir que el spooling hace independizar totalmente los
conceptos de impresora física e impresora lógica. El computador
tendrá todas las impresoras virtuales necesarias independiente
de las impresoras físicas. Pero esas imágenes de impresión
que se grabarán en disco magnético ocuparán un considerable
lugar en dicho soporte que debe tener presente al configurar el equipo.
El sistema operativo es quien cumple con las actividades
conducentes a concretar la impresión física, es decir el pase
del soporte de spool a impresión. Además cumple otras actividades
que hacen al control de esta facilidad, tales como:
- eliminar un listado;
- listar por pantalla las impresiones pendientes, y sus datos;
- especificar la cantidad de copias a emitir;
- especificar que no se destruya el listado (en disco) luego
de la impresión;
- cambiar el orden de prioridad;
- determinar la impresión de un listado en particular
o a partir de una determinada hoja del mismo,
- establecer que un listado no sea impreso hasta que se indique
lo contrario;
- etc.
En cuanto al módulo que cumple estas funciones, hay
2 posibilidades:
- el supervisor se encarga de administrar la cola de impresión
(residente); o
- un programa parte es el que se encarga (transiente).
- Disco y diskette: Ambos son soportes de acceso compartido,
ya que varios usuarios pueden estar procesando sobre ellos a
través de distintos programas y a su vez sobre los mismos
o diferentes archivo. El problema básico de la
administración de estas unidades está dado
por la asignación del espacio a los archivos en los momentos
de creación y expansión o reducción de
un archivo existen debido a su actualización. La asignación
de espacio puede ser manual (muy desventajosa y engorrosa a
la larga) o puede ser tarea del sistema operativo.
Independencia
Es una característica de algunos sistemas
operativos por la cual los programas son independientes de las unidades
físicas. Esto quiere decir que el programa no hace referencia a una unidad
periférica en particular sino a un tipo de unidad periférica.
La asignación en este caso podrá ser manual o será función
del supervisor determinar la unidad física a utilizar.
Administración de Datos
Organización de archivos
Las actividades necesarias para leer o grabar un registro son
cumplidas por el S.O. Esta función representa la interfase ente el programa
y la rutina que maneja las unidades periféricas a través del procesador
del canal.
En algunos sistemas
operativos esta función es cumplida por el supervisor y en consecuencia
la función será residente. En otros, existen distintos subprogramas
destinados a manejar cada organización de archivos.
Registros físicos y lógicos
La unidad de transferencia entre las unidades periféricas
y la CPU es el registro físico. Pero el programa, cuando lee o graba,
lo hacer por registro lógico. Dado que lo usual es que un registro físico
contenga varios registros lógicos, es necesaria una rutina encargada
de leer un registro físico y de ir pasándole al programa de a
un registro lógico por vez, cuando así se requiera, y , finalizado
el registro físico, solicitar la
lectura de otro registro a la rutina de manejo de unidades periféricas.
De forma similar, cuando un programa grabe un registro lógico esta rutina
del S.O. deberá ir armando el registro físico hasta que se complete
(o se cierre el archivo) y luego solicitar la grabación física.
Las ventajas de agrupar varios registros lógicos en
un registro físico son:
- Ahorro de soporte: surge de disminuir la cantidad de espacio entre
registros físicos.
- Ahorro de tiempo: las cabezas se moverán en trayectos más
cortos si el archivo tiene menor extensión como consecuencia del punto
anterior. Esta ventaja se maximiza cuando el acceso es secuencial, ya que
no se requerirá una nueva lectura o grabación física
hasta tanto no se agote o complete el registro físico leído
o a ser grabado, considerando que los tiempos de entrada/salida son mucho
mayores que los de memoria y que una menor cantidad de operaciones de entrada/salida
implicará un descongestionamiento de los canales.
Programas de utilización general
Procesador de textos
El trabajo con un procesador
de textos comprende:
- Creación de un documento: Al ir pulsando
el teclado del computador, el texto aparece en pantalla y se
almacena en memoria, En la creación del documento se
tienen dos opciones:
- Crear un documento original; o
- recuperar un documento existente del almacenamiento en disco.
El término documento es una referencia genérica
para el texto capturado o el texto almacenado actualmente.
- Edición de texto: En la edición
de texto sólo hay que preocuparse de las palabras. Estas
operaciones pueden hacerse en bloque, es decir seleccionando
un bloque de texto; generalmente las porciones de texto marcadas
para una operación en bloque se presentan en video
inverso. Un procesador de textos puede:
- Navegar a diferentes partes del documento, por medio de
desplazamientos o con una orden de búsqueda para localizar
una palabra o frase;
- insertar texto en cualquier lugar del documento; la inserción
puede realizarse en:
- modo de sobreescritura: El cursor pasa a la línea
siguiente cuando se llega al margen derecho;
- modo de inserción: la computadora maneja el
texto de manera que éste salte automáticamente
a la línea siguiente; este tipo de movimiento del texto
se llama enrrollamiento de palabra;
- eliminar texto de cualquier lugar del documento;
- mover texto de una parte del documento a otra sección
del mismo documento o de otro;
- copiar texto de una parte del documento y duplicarlo en
otra sección del mismo documento o de otro;
- buscar y reemplazar palabras o frases seleccionadas en
todo el documento o en parte de él.
- Formato de texto: Las órdenes de formato
de texto permiten controlar el formato y el estilo del documento.
Se puede controlar el formato de:
- caracteres: está determinado en gran medida por
la impresora. El puntaje se refiere al tamaño de los
caracteres; el tamaño de una letra se mide en puntos y un
punto equivale a 0,37 mm. El tipo es un tamaño y estilo
de familia de letras. Los tipos pueden ser:
- con patines: patines son las líneas
al final de los trazos principales de cada carácter.
- sin patines: tienen líneas más simples
y claras.
- los que imitan a las máquinas de escribir:
producen caracteres que siempre ocupan la misma cantidad de
espacio, sin importar lo delgado o gordo del carácter.
- de espaciado proporcional: otorgan más espacio
a los carácter anchos ("w") y menos a los caracteres
angostos ("i").
- líneas y párrafos: Son órdenes de
formato que se aplican a más de unos cuantos caracteres o
palabras como los de control de márgenes, interlineado, sangrías,
tabuladores y justificación, que se refiere a la alineación
del texto en una línea.
- todo el documento: Algunas órdenes se aplican a
todo el documento, por ej. Page Setup (Preparar página),
que permite controlar los márgenes de todo el documento.
Con otras órdenes es posible especificar el contenido, tamaño
y estilo de encabezados y pies de página. Los programas
de procesamiento ofrecen gran flexibilidad de formato. Algunos ejemplos
son:
- la capacidad para definir hojas de estilo con estilos
personalizados para cada uno de los elementos comunes de un
documento;
- la capacidad para definir encabezados, pies de página
y márgenes alternos, de manera que las páginas
encontradas izquierda y derecha puedan tener diferentes márgenes,
encabezados y pies;
- la capacidad para crear documentos con varias columnas de
anchura variable;
- pies de páginas automáticos,
- separación automática de palabras largas al
final de una línea;
- generación de índices y tablas de contenido;
- capacidad para crear y formar tablas con varias columnas;
- capacidad para incorporar gráficos creados con otras
aplicaciones.
- capacidad para incorporar caracteres o formatos especiales
a ciertos caracteres (superíndices y subíndices)
- Revisión del documento.
- Guardado del documento en disco: La función
de archivo es una de las más importantes ya que permite
guardar, recuperar y suprimir un archivo de documento.
- Impresión del documento: Las opciones de impresión
son:
- borrador: con una baja resolución y sin gráficos;
o
- modo de gráfico.
También se puede elegir entre imprimir el documento
completa o parcialmente.
Otras herramientas con las que puede contarse son:
- Procesadores de ideas y bosquejadores: Los procesadores de ideas
se basan generalmente en el concepto
de los bosquejos o esquemas. A primera vista, el programa de bosquejos (que
puede ser o no independiente del procesador de textos) se parece a un procesador
de textos. La diferencia está en la estructura: los procesadores de
textos están diseñados para manipular caracteres y palabras;
los bosquejadores se organizan en torno
a jerarquías o niveles de ideas. Los bosquejadores son eficaces para:
- acomodar la información en niveles;
- reacomodar ideas y niveles;
- ocultar y revelar niveles de detalles según sea
necesario.
También hay procesadores de ideas gráficos que
permiten dibujar las ideas como nodos en un diagrama,
con flechas que conectan las ideas relacionadas. Los diagramas
de ideas pueden ser como diagramas de árbol o agrupamientos en formato
libre.
- Buscadores de sinónimos: El diccionario
de sinónimos computadorizado ofrece una respuesta casi inmediata, exhibiendo
todos los sustitutos posibles de la palabra en cuestión.
- Referencias digitales: Los libros
de referencias, como diccionarios,
libros
de citas, enciclopedias, atlas y almanaques ya existen en formas que pueden
leer los computadores. La principal ventaja del formato electrónico
es la velocidad en la búsqueda; además, para copiar las citas
electrónicamente se requiere sólo una fracción del tiempo
necesario para volver a teclear la información proveniente de un libro.
Algunas referencias pierden un poco al ser traducidas al formato electrónico
(las imágenes, mapas
y dibujos son muchas veces eliminados o simplificados).
- Revisores ortográficos: Comparan las palabras del documento
con las palabras de un diccionario basado en disco. Se marcan todas las palabras
que no se encuentran en el diccionario. En muchos casos el diccionario propone
la escritura correcta y puede reemplazar la palabra sospechosa. Sin embargo,
depende del; usuario determinar si la palabra marcada realmente se ha escrito
incorrectamente. Los revisores ortográficos ofrecen varias opciones
para cada palabra sospechosa:
- Reemplazar la palabra con la alternativa propuesta.
- Reemplazar la palabra con otra alternativa
tecleada por el usuario.
- Dejar la palabra sin cambios.
- Dejar la palabra sin cambios y añadirla
al diccionario.
Los revisores ortográficos pueden ser:
- por lotes: revisan todas las palabras en el documento
como un lote al dar la orden apropiada;
- interactivos: revisan cada palabra a medida que
se escribe.
Los problemas potenciales de los revisores ortográficos
son dos:
- Limitaciones y errores de los diccionarios.
- Errores de contexto. La limitación
principal de los revisores ortográficos
actuales es su falta de inteligencia
para manejar el contexto en que ocurre una palabra.
- Revisores gramaticales y de estilo: Además de revisar la ortografía
analiza cada palabra en el contexto, buscando errores ortográficos,
gramaticales comunes y deficiencias de estilo.
- Conversión de documentos: Hay dos formas de hacer la conversión:
- Crear un archivo ASCII: Un archivo ASCII
es un archivo de texto genérico en el que se eliminan
los caracteres de control específicos del programa.
Una manera de pasar texto de un paquete de procesamiento
a otro consiste en crear un archivo de este tipo con un
paquete y leerlo con otro, pero en la transferencia se pierde
todo excepto el texto.
- Usar un programa de conversión de documentos:
Esta capacidad convierte documentos generados en un paquete
de procesamiento de texto a un formato que sea compatible
con otro, incluyendo los caracteres de control.
Hoja de cálculo
Una hoja
de cálculo puede reducir el trabajo en tareas que impliquen cálculos
repetitivos; también puede revelar relaciones ocultas entre números,
dando mucha precisión a la planificación
y la especulación financiera.
Los programas de este tipo se basan en el concepto de la matriz
maleable. Un documento, llamado hoja de trabajo o de cálculo aparece
en la pantalla como una malla de filas numeradas y columnas rotuladas alfabéticamente.
El número de columnas a las que se puede tener acceso depende da la capacidad
de la RAM. La intersección de un renglón y una columna particulares
se llama celda. Cada celda tiene una dirección única
formada por un número de fila y una letra de columna. Cada celda puede
contener un valor numérico, un valor alfanumérico o una fórmula
que represente una relación entre números de otras celdas.
Los valores (números) son la materia
prima con que el software de hoja
de cálculo realiza los cálculos.
Para comprender con mayor facilidad los números, habitualmente
hay unas etiquetas en la parte superior de las columnas y en un extremo
de las filas. Una entrada de etiqueta es una palabra, frase o sucesión
de texto alfanumérico que ocupa una celda particular. Para el computador,
estas etiquetas son cadenas de caracteres sin sentido.
Para calcular, la hoja de cálculo debe incluir una fórmula,
un procedimiento
paso a paso para realizar cálculos numéricos y/o de cadenas y/u
operaciones lógicas que tienen como resultado un valor numérico
o una cadena de caracteres alfanuméricos. El usuario no ve la fórmula
en la celda, sólo su efecto. La fórmula o la información
de una celda particular se presenta específicamente en una línea
de estado de celda. En las fórmulas se usan notaciones estándar
como operadores matemáticos (+, -, *, /, ^).
Para representar las variables
en una fórmula puede hacerse referencia a las celdas en que están
dichas variables por su dirección, que puede ser:
- relativa: se basa en la posición de la celda que contiene
la variable con respecto de la celda que contiene la fórmula.
- absoluta: El signo $ antecede tanto el renglón como
la columna de una dirección de este tipo.
Si se copia el contenido de una celda con una fórmula
a otra celda, se revisan las direcciones de celda relativa de la fórmula
copiada para reflejar su nueva posición, pero las direcciones de celda
absoluta permanecen sin cambios.
Una fórmula puede comprender uno o todos los elementos
siguientes:
- operaciones aritméticas: se resuelven de acuerdo
con una jerarquía de operaciones; cuando se incluye más de un
operador en una fórmula, el software de hoja de cálculo usa
un conjunto de reglas para determinar en qué orden debe realizar las
operaciones. La jerarquía es: primero la potencia,
luego multiplicación/división, y por último adición/sustracción.
En caso de empate se evalúa la fórmula de izquierda a derecha.
Los paréntesis anulan las reglas de prioridad, cuando hay varios
primero se evalúa la expresión entre los paréntesis de
más adentro.
- funciones: operaciones definidas con anticipación;
el uso de las funciones puede ahorrar mucho tiempo.
- operaciones de cadenas; y
- operaciones lógicas.
Cuando se quiere copiar, mover o borrar una parte de la hoja
de cálculo, primero se debe definir el rango que se desea copiar, mover
o borrar. Los tipos de rango con los que se puede trabajar son:
- Rango de celda: una sola celda.
- Rango de columna: Toda una columna de celdas
adyacentes o parte de la misma.
- Rango de renglón: Todo un renglón
de celdas adyacentes o parte del mismo.
- Rango de bloque: un grupo rectangular de celdas.
En general, las hojas
de cálculo cuentan con las siguientes características:
- Replicación automática de valores, etiquetas y fórmulas:
Todas las órdenes de replicación son extensiones flexibles de
las funciones básicas de cortar y pegar.
- Recálculo automático: Es una de las capacidades más
importantes; permite corregir fácilmente los errores y simplifica el
ensayo de diferentes valores en busca de soluciones.
- Funciones predefinidas: Son funciones incorporadas al software. Una
función en una fórmula indica al computador que debe efectuar
una serie de pasos previamente definidos. Estas funciones ahorran tiempo y
reducen la probabilidad
de errores.
- Macros: El usuario puede capturar secuencias de pasos como macros
reutilizables; las macros
son procedimientos diseñados a la medida que se pueden añadir
al menú de opciones existente. Esta operación puede hacerse
mediante un lenguaje de macros especial, o por medio de una grabadora
de macros que captura cada movimiento que se haga con el teclado y el
ratón.
- Plantillas: Son hojas de cálculo reutilizables que contienen
etiquetas y fórmulas pero no valores de datos. Estas plantillas producen
respuestas inmediatas cuando se llenan los espacios en blanco. Algunas vienen
con el software de hoja de cálculo y otras se venden por separado.
Los usuarios pueden crear las suyas o comisionar a programadores para que
las elaboren.
- Enlaces: La mayoría de los programas de hojas de cálculo
permiten crear enlaces automáticos entre hojas de cálculo,
de modo que al cambiar los
valores en una se actualicen automáticamente todas las hojas de
cálculo enlazadas.
- Capacidades de base de datos: Muchos programas de hojas de cálculo
pueden realizar las funciones elementales de una base de datos: almacenamiento
y recuperación de información, búsquedas, ordenamientos,
generación de informes,
combinación de correo, etc.
Una hoja de cálculo es sobre todo muy útil para
plantear cuestiones del tipo si-entonces. Algunos programas cuentan con
módulos de resolución de ecuaciones
que invierten las cuestiones de este tipo; un módulo de resolución
de ecuaciones
le permite definir una ecuación, especificar el valor objetivo y el computador
determina los
valores de datos necesarios.
Base de datos
Los programas de bases
de datos son administradores de información que ayudan a aligerar
la sobrecarga de información. Los programas de bases
de datos son una aplicación: sirven para convertir los computadores
en herramientas productivas.
Una base de datos es una colección integrada
de datos almacenados en diferentes tipos de registros. Los registros se interrelacionan
por medio de relaciones propias de los datos y no mediante su ubicación
física en el almacenamiento.
Una base de datos es un conjunto de archivos que se relacionan
entre sí en forma lógica. En una base de datos, los datos se integran
y relacionan de modo que la redundancia de datos se reduce al mínimo.
El propósito de una base de datos es representar las
relaciones entre las entidades de interés.
Organizar los datos de este modo facilita la integración
de las áreas dentro de la organización y simplifican las preguntas
específicas, incluso las formuladas por quienes no son programadores.
Una base de datos es una colección de información
almacenada en forma organizada en un computador, y un programa de base de
datos es una herramienta de software para organizar el almacenamiento y
la recuperación de esa información.
Las bases de datos se distinguen de los archivos maestros comunes
y de transacciones en 4 formas significativas:
- Un archivo está destinado al almacenamiento.
- Agregar registros a un archivo para agrandarlo no lo convierte
en una base de datos. La existencia de una base no es cuestión
de tamaño.
- Los registros referentes a distintas entidades de interés
pueden almacenarse dentro de una base de datos.
- Tener bases de datos no elimina la necesidad de archivos en
un sistema
de información:
- Los archivos de transacciones son necesarios para capturar detalles
de las actividades de la organización.
- Los archivos maestros también pueden requerirse en virtud
de que no todos los datos necesitan residir en la base de datos.
- Los archivos de clasificación son esenciales cuando se
deben reordenar los datos.
Las ventajas de las bases de datos computarizadas, frente a
las de papel son que facilitan:
- el almacenamiento de grandes cantidades de información: Conforme
aumenta la masa de información, mayor será el beneficie de usa
una base de datos;
- la recuperación rápida y flexible de información;
- la organización y reorganización de la información;
- la impresión y distribución
de información en varias formas.
Una base de datos esta formada por uno o más archivos.
Un archivo es una colección de información relacionada
(en este caso se trata de un archivo de datos creado por un programa de base
de datos).
Un archivo en una base de datos es una colección de
registros. Un registro es la información relacionada con una persona,
producto
o suceso.
Cada trozo discreto de información en un registro se
denomina campo. El tipo de información que puede contener un campo
está determinado por el tipo de campo: de texto, numérico,
de fecha. Además de estos campos estándar puede haber campos
que contengan gráficos, fotografías digitalizadas, sonidos y videos.
Los campos calculados contienen fórmulas similares a las de una
hoja de cálculo y exhiben valores calculados a partir de valores de otros
campos numéricos.
La mayoría de las bases de datos ofrecen más
de una forma de ver los datos, entre ellas:
- vistas de formulario: muestran un registro cada vez;
- vistas de lista: exhiben varios registros en listas similares a una
hoja de cálculo.
En ambos casos se pueden acomodar los campos sin modificar
los datos subyacentes.
Muchos programas de bases de datos pueden importar datos en
forma de archivos creados con procesadores
de texto, hojas de cálculo u otras bases de datos. También
es posible modificar, añadir o eliminar registros.
El punto al usar una base de datos es recuperar la información
en forma oportuna y apropiada. La información es de poco valor si no
podemos acceder a ella. Los programas de bases de datos ofrecen una variedad
de órdenes y capacidades que facilitan la obtención de la información
necesaria:
- Hojear (browse): Es la forma más elemental y
consiste en "hojear" en los registros como si se tratara de
las hojas de una libreta. Este "hojear" electrónico no
ofrece ninguna ventaja con respecto al papel y es muy ineficiente
con archivos grandes.
- Consulta de base de datos: Se solicita a la base de
datos la información específica. Una consulta
(query) puede ser:
- una búsqueda simple de un registro específico;
o
- una solicitud para seleccionar todos los registros
que satisfagan un conjunto de criterios.
- Ordenamiento de datos: En ocasiones hay que reacomodar
los registros para poder usar los datos en la forma más
eficiente. Con una instrucción de ordenamiento es posible
acomodar los registros en orden alfabético o numérico
con base en los valores de uno o más campos.
- Impresión de informes,
etiquetas y formatos de cartas: La salida impresa más
común de una base de datos es un informe: una
lista ordenada de los campos y registros seleccionados en un
formato fácil de leer.. También se pueden producir
etiquetas para envíos por correo y formatos de cartas
personalizadas. En su mayor parte, los programas de bases de
datos exportan los registros y campos necesarios a procesadores
de textos con capacidades de combinación de correo,
los cuales se encargan de la impresión de las cartas.
- Consultas complejas: Las consultas pueden ser simples
o complejas, pero siempre deben ser precisas y sin ambigüedades.
El método
exacto para realizar una consulta depende de cuál sea
la interfaz con el usuario del software específico de
la base de datos. En casi todos los programas el usuario puede
especificar las reglas de la búsqueda en una ventana
de diálogo o un formato blanco en pantalla. En algunos
programas es preciso que el usuario teclee la solicitud con
un lenguaje de consultas especial, más preciso
que nuestro lenguaje natural.
También hay software de base de datos especializado
que se programa con anterioridad para propósitos específicos de
almacenamiento y recuperación de datos. En general los usuarios de las
bases de datos de propósito especial no tienen que definir estructuras
de archivos ni diseñar formatos, ya que los diseñadores del software
han considerado esos detalles.
Muchos programas especializados de base de datos se venden
como administradores de información personal (PIM, personal information
managers) o como organizadores electrónicos. Un administrador
de información personal puede automatizar todas o algunas de las siguientes
funciones:
- Libreta telefónica o de direcciones.
- Agenda.
- Lista de asuntos pendientes.
- Notas varias.
Desde el punto de vista técnico, los programas de base
de datos orientados al consumidor
no son en realidad administradores de bases de datos, son administradores de
archivos. Un sistema de administración de base de datos (DBMS, database
management system) es un programa o un sistema de programas que manipula
datos en una gran colección de archivos, estableciendo referencias cruzadas
entre los archivos según se requiera. El software de este tipo se usa
como un instrumento para integrar la administración de bases de datos
y el flujo de información en una organización. Un sistema de administración
de base de datos puede usarse de manera interactiva o puede ser controlado directamente
por otros programas.
Todos los registros de todos los archivos tienen un campo que
sirve como campo clave. Las bases de datos organizadas de esta manera
se llaman bases de datos relacionales. Un programa de base de datos relacional
es aquel con que se relacionan archivos de manera que los cambios en uno se
reflejen automáticamente en los demás. La estructura de una base
de datos relacional se basa en el modelo relacional, un modelo matemático
que combina datos en tablas.
Un sistema de administración de bases de datos relacional
(RDBMS, relational DBMS) accesa los datos por el contenido
en lugar de la dirección. Es decir que se busca en la base de
datos la información deseada, en vez de llegar a los datos mediante una
serie de índices y direcciones físicas en un disco; las relaciones
entre los datos se definen en términos lógicos y no físicos.
La base de datos no tiene una relación predeterminada entre los datos,
como los registros en el entorno de archivo llano tradicional. De esta manera
se pueden obtener los datos en el nivel del campo. En el procesamiento
tradicional, para examinar un solo campo se debe recuperar todo el registro.
El DBMS permite trabajar con una base de datos integrada
que sirve a la organización como un todo, no a un solo departamento específico.
Los beneficios de un entorno de bases de datos integrada son:
- Mayor acceso a la información: ofrece una gran flexibilidad
en el tipo de informes que se pueden generar y el tipo de preguntas en línea
que se pueden hacer.
- Mejor control: permite que los datos se centralicen para aumentar
la seguridad; al centralizar los datos es posible usar las estructuras
de datos (manera en que los campos y registros se relacionan entre sí)
para controlar la redundancia.
- Desarrollo de software más eficiente: la tarea de programación
se simplifica porque los datos se encuentran más disponibles. Además,
los datos en una base de datos son independientes de los programas
de aplicaciones; es decir, los campos se pueden agregar, cambiar y suprimir
de la base de datos sin afectar los programas existentes.
Las grandes bases de datos pueden contener cientos de archivos
interrelacionados; pero los sistemas de bases de datos pueden ocultar al usuario
el complejo funcionamiento interno del sistema y ofrecerle sólo la información
y las órdenes que requieren para realizar su trabajo.
Al trabajar con una base de datos se deben seguir ciertas reglas
empíricas:
- Elegir la herramienta correcta para el trabajo.
- Pensar como se sacará la información antes de meterla.
- Comenzar con un plan,
pero estar dispuesto a modificarlo si es necesario.
- Mantener la consistencia de los datos. La inconsistencia puede alterar el
ordenamiento y complicar las búsquedas.
- Las bases de datos son tan buenas como los datos que contienen. No debe
confiarse todo a la revisión automática, la revisión
humana y un poco de escepticismo al usar la base de datos son necesarios.
- Consultar con cuidado, definiendo afinadamente las reglas de selección.
Graficación
Los programas de hoja de cálculo cuentan con órdenes
de graficación que pueden convertir automáticamente los números
de la hoja de cálculo en diagramas y gráficas; muchos programas
de graficación independientes crean gráficas a partir de cualquier
colección de números, estén almacenados o no en una hoja
de cálculo.
Las diferencias entre los tipos de gráficas no son sólo
estéticas, cada uno es apropiado para comunicar determinados tipos de
información; así tenemos:
- gráficas de líneas: se usan generalmente para mostrar
tendencias o relaciones en el tiempo o la distribución relativa de
una variable con respecto a otra;
- gráficas de barras y de columnas: son similares a las anteriores,
pero más apropiadas cuando los datos corresponde a unas cuantas categorías;
- gráficas de dispersión: se usan para descubrir, no
tanto para mostrar, la relación entre dos variables.
- gráficas tipo pastel: son las gráficas de presentación
más básicas.
La graficación automatizada es muy práctica,
pero también puede ser muy restrictiva. Si se requiere más control
sobre los detalles de la visualización en pantalla, es más apropiado
usar el software de pintura, con el que es posible "pintar" pixels en
la pantalla usando un dispositivo apuntador, traduciendo los movimientos a líneas
y patrones en la pantalla. Un programa de pintura
ofrece herramientas, de las cuales algunas imitan instrumentos de dibujo
del mundo real, mientras que con otras se pueden hacer cosas que son difíciles
o imposibles en papel o lienzo; también hay herramientas de edición.
Los programas de pintura
crean gráficos de arreglo bidimensional de bits, imágenes
que para el computador son simples arreglos que muestran como deben representarlos
los pixels de la pantalla; un bit de memoria del computador representa un pixel.
Como un bit sólo puede almacenar uno de dos valores 0 ó 1, el
pixel únicamente puede mostrarse en uno de dos colores. A este tipo de
gráficos de bit se les conoce como gráficos monocromáticos,
porque las imágenes se dibujan en un color sobre un fondo fijo. Los tonos
de grises se simulan con un técnica llamada simulación de colores
(dithering), una combinación de pixels blancos y negros para
crear la ilusión de un tono de gris.
Hay programas que asignan más memoria a cada pixel,
de manera que un pixel pueda presentar más colores o sombras. Los gráficos
de escala de grises permiten que un pixel aparezca de color blanco, negro
o uno de varios tonos de gris.
Para el color real, el color de calidad fotográfica
se necesitan 24 o 32 bits de memoria por cada pixel en la pantalla.
El número de bits asignados a cada pixel, llamado profundidad
de pixel, es uno de dos factores tecnológicos que limitan la creación
de imágenes. El otro factor es la definición, la densidad
de los pixels, que generalmente se describe en dpi (dots per
inch, puntos por pulgada). Al aumentar la definición, más
difícil será para el ojo humano detectar los pixels individuales
de la página impresa.
El software de procesamiento digital de imágenes
permite al usuario manipular fotografías y otras imágenes de alta
definición con herramientas similares a las que proporcionan los programas
de pintura. La edición de fotografías digitales es mucho más
poderosa que las técnicas tradicionales de retoque. Con el software de
procesamiento de imágenes es posible distorsionar y combinar fotografía,
creando imágenes fabricadas que no muestran indicios de manipulación.
Hay programas que pueden almacenar a bajo costo imágenes
con definición infinita, limitada únicamente por la capacidad
de definición del dispositivo de salida. El software de dibujo
almacena una imagen, no como una colección de puntos, sino como una
colección de líneas y formas. En vez el arreglo bidimensional
de bits calcula y recuerda una fórmula matemática
para la línea. El programa de dibujo almacena las formas como formas
y el texto como texto; es lo que se conoce como graficación orientada
a objetos.
Programas de utilización específica
Modelos y simulación
Un modelo es la abstracción de los sucesos que
rodean un proceso, una actividad o un problema. Aíslan un entidad de
su entorno de manera que puede examinarse sin el "ruido"
o perturbación de otras influencias del medio circundante.
Un modelo de una empresa es también una abstracción.
Se eliminan los elementos innecesarios para que la administración pueda
concentrarse en los detalles particulares que afectan al proceso, actividad
o problema que se estudia. Es un representación artificial de una situación
del mundo real.
El uso de computadoras para crear modelos
puede efectuarse con hojas de cálculo, aplicaciones matemáticas
o lenguajes de programación estándar.
Un modelo por computador es una abstracción: un conjunto
de conceptos e ideas diseñados para imitar algún tipo de sistema.
Un modelo por computadora no es estático; puede ponerse a trabajar en
una simulación computadorizada para ver como opera el modelo en
ciertas condiciones. Un modelo bien diseñado debe comportarse como el
sistema al cual imita.
La simulaciones por computador tiene una popularidad creciente
y ello obedece a las siguientes razones:
- Seguridad: Algunas actividades son tan peligrosas que no serían
éticamente posibles sin simulaciones por computador (v.g.: efectos
ambientales de una fuga en una planta de energía
nuclear).
- Economía: Es mucho menos costoso producir un modelo digital
que construirlo. Se puede evaluar el modelo en una serie de simulaciones antes
de construir y probar un prototipo físico.
- Proyección: Una simulación
por computador puede servir como máquina del tiempo para explorar uno
o más futuros posibles.
- Visualización: Los modelos por computador hacen posible la
visualización, y ésta permite ver y comprender relaciones que
de otra manera podrían pasar inadvertidas.
- Replicación: En el mundo real sería difícil
o imposible repetir un proyecto
de investigación en condiciones ligeramente diferentes. Si la investigación
se lleva a cabo en un modelo por computador, la replicación sólo
implica cambiar los valores de entrada y ejecutar otra simulación.
Pero las simulaciones por computador tienen sus riesgos.
La simulación no es la realidad. Los riesgos
que se corren son:
- Entra basura,
sale basura: La exactitud de una simulación depende de cuánto
se aproxime el modelo matemático a la situación que se simula.
Los modelos matemáticos se basan en suposiciones, muchas de las cuales
son difíciles o imposibles de verificar. Algunos modelos tienen problemas
por basarse en suposiciones deficientes; otros contienen suposiciones ocultas
que quizás no sean obvias para sus creadores; otras más se extravían
por errores humanos. Una entrada mala en una simulación compleja puede
provenir de varias fuentes
y la frase "entra basura,
sale basura" es una regla básica de la simulación.
- Lograr que la realidad quepa en la máquina: Las simulaciones
requieren muchos cálculos. Las PC no tienen el poder suficiente para
simulaciones de mediana o gran escala. Algunas simulaciones son tan compleja
que los investigadores tienen que simplificar los modelos y optimizar los
cálculos para que puedan ejecutarse en el mejor hardware disponible.
Incluso si cuentan con suficiente poder de computación, los investigadores
encaran la constante tentación de modificar la realidad para que la
simulación sea más conveniente. En ocasiones, la simplificación
de la realidad es intencional; en otras, inconsciente. En ambos casos se pierde
información, y esta pérdida puede comprometer la integridad
de la simulación y proyectar la sombra de la duda sobre sus resultados.
- La ilusión de la infalibilidad: Los riesgos se amplifican
porque la gente cree que la información es más respetable si
proviene de un computador. Una simulación por computador puede ser
un valiosísimo auxiliar para la toma de decisiones. El riesgo
es que las personas que toman decisiones con computadores asignen demasiado
de su poder en la toma de decisiones al computador.
Tipos de modelos para la toma de decisiones
- Modelos físicos: representan la entidad estudiada
en cuanto a su apariencia y, hasta cierto punto, en cuanto a
sus funciones. Los modelos físicos pueden ser:
- icónicos: Tienen aspecto de realidad
pero no se comportan efectivamente en la forma real.
- analógicos: Exhiben el comportamiento
real de la entidad estudiada pero no tiene el mismo aspecto.
- Modelos simbólicos: Reproducen sistemas o entidades
mediante el uso de símbolos para representar los objetos
físicos. Los tipos de modelos simbólicos son:
- Narrativos: Descripciones en lenguaje natural que indican
las relaciones entre las variables de un proceso o de un sistema.
- Gráficos: Describen partes o pasos de una entidad
o proceso mediante una representación gráfica
(diagrama
de flujo).
- Matemáticos: Son más rigurosos; se valen
de variables cuantitativas (fórmulas) para representar
las partes de un proceso o de un sistema. También son
los más abstractos y, a la vez, los más fáciles
de usar debido a que todas las relaciones están expresadas
con precisión, reduciendo así la posibilidad de
malas interpretaciones por los usuarios del modelo.
Sistemas expertos y bases de conocimiento
El cerebro
humano es excelente para manipular el conocimiento: la información
que incorpora las relaciones entre los hechos. Los computadores son mejores
para manejar datos que conocimiento.
En contraste con las bases de datos, que sólo contienen
hechos, las bases de conocimiento cuentan además con sistemas
para determinar y modificar las relaciones entre esos hechos. Los hechos almacenados
en una base de datos están rígidamente organizados en categorías;
las ideas almacenadas en una base de conocimiento pueden reorganizarse conforme
nueva información modifique sus relaciones. Las bases de conocimientos
son el corazón
de cientos de sistemas expertos.
Un sistema experto es un programa de software diseñado
para replicar el proceso de toma de decisiones de un experto humano. En los
cimientos de todo sistema experto está una base de conocimiento que representa
ideas de un campo específico de conocimiento especializado.
Los sistemas
expertos obtienen sus conocimientos de los expertos humanos. Una base de
conocimiento suele representar el
conocimiento en forma de reglas si-entonces. Los sistemas expertos
dependen del conocimiento objetivo, pero confían también en el
conocimiento heurístico como la intuición, el discernimiento
y las inferencias. Tanto el
conocimiento objetivo como el método heurístico se adquieren
de un experto en el área.
En la mayoría de las decisiones humanas hay incertidumbre,
de manera que muchos sistemas expertos tienen reglas "vagas" que establecen
las conclusiones como probabilidades y no como certezas. En diversos grados,
los sistemas expertos pueden razonar, hacer inferencias y determinar criterios.
Además de la base de conocimiento, un sistema experto
completo cuenta con una interfaz humana, mediante la cual el usuario
puede interactuar con el sistema, y una máquina de inferencias,
que une las entradas del usuario a la base de conocimiento, aplica principios
lógicos y produce la ayuda experta solicitada.
Los sistemas expertos funcionan porque trabajan en dominios
estrechos y cuidadosamente definidos.
Los sistemas ofrecen muchas ventajas, ya que pueden:
- ayudar a capacitar empleados nuevos;
- reducir el número de errores humanos;
- encargarse de tareas rutinarias para que los trabajadores puedan concentrarse
en actividades más importantes;
- ofrecer asesoría experta cuando no hay expertos humanos;
- conservar el conocimiento de los expertos después de que éstos
abandonan una organización;
- combinar el conocimiento de varios expertos;
- lograr que el conocimiento esté disponible para más personas;
- uno solo sistema experto puede ampliar las capacidades de toma de decisiones
de muchas personas;
- mejorar la productividad y del desempeño
de quienes toman decisiones;
- ofreces estabilidad y consistencia en un área particular de la toma
de decisiones (a diferencia de los seres humanos, un sistema experto es consistente
por lo que siempre presentará la misma decisión con base en
un conjunto de información);
- reduce la dependencia de personal crítico.
Pero no están exentos de problemas:
- Es muy difícil construir los sistemas expertos actuales. Para simplificar
el proceso existen los shells de sistemas expertos o envolturas de sistemas
expertos: sistemas expertos genéricos que contienen las interfaces
humanas y las máquinas de inferencias. Estos programas pueden ahorrar
tiempo y esfuerzo, pero no cuentan con la parte más difícil
de construir, la base de conocimiento. Los principales componentes de la envoltura
de sistema experto son:
- Instalaciones de aprendizaje: permiten la construcción
de la base de conocimiento. El ingeniero del conocimiento traduce
el conocimiento del experto en conocimientos y reglas
con base en los hechos para crear una base de conocimiento.
- Base del conocimiento: para completar la base de conocimiento
se captura la siguiente información:
- identificación del problema;
- soluciones posibles; y
- cómo avanzar del problema a la solución
a través de hechos y reglas de inferencia.
- Interfaz para usuario: permite la interacción necesaria
entre el usuario y el sistema experto para el procesamiento heurístico;
permite que el usuario describa el problema u objetivo y que tanto
el usuario como el sistema experto estructuren preguntas y respuestas.
- A diferencia de los expertos humanos, los sistemas expertos automatizados
son muy malos para planificar estrategias.
Su falta de flexibilidad los hace menos creativos que los pensadores humanos.
- Los sistemas expertos son inútiles fuera de su dominio
de conocimiento, estrecho y profundo.
Inteligencia artificial
El campo de la inteligencia
artificial abarca "enseñar" a la computadora a efectuar tareas de
una manera que pudiera considerarse inteligente. En este campo se trabaja en
sistemas que tengan la facultad de razonar, aprender y acumular conocimientos,
esforzarse por mejorar y simular las capacidades sensoriales y mecánicas
del ser humano. Muchos de los problemas que se estudian en el campo de la inteligencia
artificial están muy lejos de ser soluciones práctica. A este
campo pertenecen los sistemas expertos.
Hay dos enfoques comunes en torno
a la inteligencia artificial:
- Intenta simular los procesos mentales humanos. El enfoque
de simulación tiene tres problemas inherentes:
- En la inteligencia humana hay que incluir pensamientos inconscientes,
ideas o intuiciones instantáneas y otros procesos mentales
que es difícil o imposible comprender y describir.
- Hay muchas diferencias entre la estructura y las capacidades del
cerebro
humano y las del computador. El supercomputador más potente
no es capaz de acercarse a la habilidad del cerebro para realizar
procesamientos paralelos, es decir, dividir un trabajo complejo
en tareas más pequeñas y simples para poder realizarlas
simultáneamente.
- La mejor forma de hacer algo con una máquina muchas veces
es muy distinta de la forma en que lo hacen los seres humanos.
- Consiste en diseñar máquinas inteligentes independientemente
de la forma en que pensamos los seres humanos. De acuerdo con
este enfoque, la inteligencia humana es sólo uno de varios
tipos posibles de inteligencia. El método de una máquina
en la resolución de problemas puede ser diferente del
método humano, pero no por ello menos inteligente.
La investigación en el campo de la inteligencia artificial
se puede dividir en 4 categorías:
- Sistemas con base en el conocimiento y sistemas expertos.
- Lenguajes naturales (conversaciones con las computadoras).
- Simulación de las capacidades sensoriales humanas.
- Robótica.
Las técnicas de inteligencia artificial de uso actual
en diversas aplicaciones provienen de su utilización en las investigaciones
con juegos de ajedrez
y son:
- Búsqueda: Generalmente guiada por una estrategia planificada
y por reglas conocidas como heurística.
- Heurística: Una heurística es una regla empírica.
La heurística conduce hacia juicios que, según indica la experiencia,
es probable que sean reales.
- Reconocimiento de patrones: Es quizás la mayor ventaja
que tiene un ser humano pues ayuda a compensar la velocidad del computador
y su análisis detallado de jugadas anticipadas.
En general la estrategia de los investigadores es restringir
el dominio de sus programas para que los problemas sean lo suficientemente pequeños
para poder comprenderlos y resolverlos.
CAD – CAM – CIM
- CAD (computer-aided design, diseño asistido por computador):
Consiste en usar las computadoras para diseñar productos, permitiendo
a los usuarios elaborar modelos tridimensionales "sólidos" con características
físicas como peso, volumen y centro de gravedad. Estos modelos pueden
rotarse y observarse desde cualquier ángulo. El computador puede evaluar
el desempeño estructural de cualquier parte el modelo. El CAD tiende
a ser económico, rápido y más preciso que las técnicas
de diseño manuales;
facilitar las alteraciones del diseño para cumplir con los objetivos
del proyecto.
- CAM (computer-aided manufacturing, manufactura
asistida por computador): Una vez completado el diseño del producto,
se alimentan las cifras a un programa que controla la fabricación de
las piezas.
- CIM (computer-intergrated manufacturing, manufactura integrada
por computador): Es la combinación de CAD y CAM.
Robótica
Las 3 leyes de la robótica
de Asimov:
- Un robot no puede lesionar a un ser humano ni permitir, por
su omisión, que un ser humano sea lastimado.
- Un robot debe obedecer las órdenes que reciba de los
seres humanos, excepto si estas órdenes entran en conflicto
con la Primera Ley.
- Un robot debe proteger su propia existencia siempre y cuando
dicha protección no entre en conflicto
con las Primera o Segunda leyes.
El término robot deriva de la palabra checa robota,
que significa trabajo forzado.
Un robot es una máquina controlada por computador
diseñada para realizar tareas manuales específicas. El
procesador central de un robot puede ser un microprocesador incorporado en la
estructura del robot o bien un computador supervisor que controle el robot a
distancia. La robótica es la integración de las computadoras
con los robots.
Las diferencias más importantes de hardware entre los
robots y otros computadores son los periféricos
de entrada y salida; un robot envía órdenes a articulaciones,
brazos y otras partes móviles.
Se pueden diseñar robots para ver luz infrarroja, rotar
articulaciones
360 grados y realizar otras cosas que no pueden hacer los seres humanos; pero
los robots están limitados por las restricciones del software de inteligencia
artificial.
Los robots industriales pueden "aprender" a realizar casi cualquier
tarea manual repetitiva. Desde la perspectiva de la gerencia,
los robots ofrecen varias ventajas:
- ahorran costos
de mano de obra;
- pueden mejorar la calidad y elevar la productividad. Son más eficaces
para realizar trabajos repetitivos;
- son ideales para tareas peligrosas o incómodas para trabajadores
humanos.
Los robots comerciales aún no pueden competir con los
seres humanos en puestos que requieren destrezas excepcionales de percepción
o motrices.
Multimedia
Este término se refiere a un sistema de computación
que permite que el usuario accese e interactúe con un texto computarizado,
gráficas fijas de alta resolución, imágenes en movimiento
y sonido. Hay tres elementos en particular que caracterizan a los multimedios:
sonido, movimiento y oportunidad de interactuar.
La televisión y el vídeo son medios pasivos,
unidireccionales. Con la moderna tecnología es posible que la información
se transmita en ambas direcciones, convirtiendo los multimedia en multimedia
interactivos, que permiten que el observador/oyente participe activamente en
la experiencia.
La creación y ejecución de documentos de multimedia
requieren periféricos de hardware adicionales (monitores de televisión,
unidades de CD-ROM y reproductores de videodiscos). La computadora controla
los dispositivos, que almacenan y suministran el material audiovisual al recibir
órdenes.
El software de multimedia merece su nombre porque proporciona
información a través de varios medios.
Además de textos y gráficos, los documentos de
multimedia suelen contener al menos una de las tres formas de información
siguientes:
- Animación: Gráficos por computador que se mueven en
la pantalla.
- Video: segmentos de película que aparecen en la pantalla del
computador o en un monitor de televisión.
- Audio: Música, efectos de sonido y palabras pronunciadas por
el computador o por una fuente de sonido externa..
Hipermedia
Los hipertextos permiten enlazar la información
textual en formas no secuenciales. Los medios de texto convencionales,
como los libros, son lineales o secuenciales: están diseñados
para leerse de principio a fin. Un documento de hipertexto contiene enlaces
que conducen a los lectores rápidamente a otras partes del documento
o a otros documentos relacionados. Es decir que el hipertexto maneja información
no estructurada. La teoría
implícita en el hipertexto es que éste le permite al usuario trabajar
de la manera en que piensa.
HyperCad, de Apple, fue la primera herramienta disponible en
forma general para crear documentos del tipo hipertexto. Pero HyperCad se describe
como un sistema de hipermedia. El término hipermedia describe
documentos que pueden explorarse en formas no lineales, desde documentos de
investigación de hipertexto hasta documentos gráficos interactivos.
Los hipermedios son la siguiente generación del hipertexto; el software
de hipermedia alcanza un mayor nivel, permitiendo la integración de datos,
texto, gráficos, sonidos y video.
Se deben asociar con palabras clave los elementos de los hipermedios que no
consistan en texto.
Quienes trabajan con hipermedia actualmente se enfrentan a
varios problemas:
- Los documentos de hipermedia puede desorientar al lector, y que éste
se sienta perdido en un laberinto de hechos.
- Los lectores de documentos de hipermedia en ocasiones se preguntan si habrán
omitido algo. Si salta por un documento de hipermedia, es fácil sentir
que ha pasado por algo importante.
- Los documentos de hipermedia muchas veces no satisfacen todas las expectativas
del usuario.
- Como están basados en computadores, los documentos de hipermedia
no permiten hacer notas marginales, realzar texto ni doblar las esquinas de
las páginas.
- Muchos documentos de hipermedia requieren hardware que no puede hallarse
en computadores portátiles.
La mayor ventaja de los hipermedia está en la habilidad
del computador para controlar otros medios; los documentos de intermedia no
están limitados a textos e imágenes estáticos.
Comunicaciones (II)
Los elementos de la
comunicación de datos son los canales de transmisión, los
dispositivos para el control de comunicaciones
y los accesorios de los canales. Cada uno de ellos es necesario independientemente
del tamaño de la computadora utilizada o la naturaleza de los datos transmitidos.
Las redes de computación sólo incrementan la eficiencia y la efectividad
de la interacción.
Para facilitar la
comunicación electrónica
deben buscarse maneras de conectar o establecer una interfaz entre una variado
conjunto de hardware, software y bases de datos; es decir lograr cierto grado
de conectividad. La conectividad ideal sería lograr el acceso
a todos los recursos computacionales e informáticos desde una PC o terminal;
esta condición se llama conectividad total.
La comunicación de datos implica el proceso de
recopilar y distribuir la representación electrónica
de la información desde y hacia localidades distantes. La información
puede tener variados formatos: datos, texto, voz, fotografía, gráficos
y video.
Procesamiento
- Local o por lotes: Los usuarios acumulan las transacciones y las
alimentan a los computadores en forma de grandes lotes. No hay retroalimentación
inmediata. Se usa aún para tareas en las que conviene procesar muchas
transacciones al mismo tiempo (impresión de facturas, respaldos de
archivos de datos, etc.).
- Remoto o interactivo: Los usuarios pueden interactuar con los datos
mediante terminales, viendo y modificando valores en tiempo real.
Se usa en las aplicaciones que requieren respuesta inmediata (transacciones
bancarias, reservas en aerolíneas, etc.).
En un sistema de computación, los componentes de entrada,
salida y almacenamiento de datos reciben y transmiten datos a un procesador
por algún tipo de medio de transmisión. Se dice que estos componentes
de hardware operan en línea con el procesador; y que los componentes
del hardware que el procesador no puede controlar o no controla operan fuera
de línea. Se considera que un dispositivo periférico que está
conectado al procesador, pero que no está encendido está fuera
de línea.
Los conceptos de en línea y fuera de línea se
aplican también a los datos. Se dice que los datos están en línea
si el procesador puede tener acceso a éstos y manejarlos. Todos los demás
datos legibles por la máquina están fuera de línea.
Los conceptos de en línea y fuera de línea son
conceptos importantes en un sistema de información. En una operación
fuera de línea se agrupan las transacciones por lotes (procesamiento
por lotes) para capturarlas en el sistema computacional.
Transmisión de datos
Ancho de banda
Es la cantidad de información que se puede transmitir
por un canal en un intervalo de tiempo dado. Una forma de aumentar el ancho
de banda en un cable es incrementando el número de cables paralelos.
Otra forma es aumentar la velocidad del paso de información por el cable.
Un libro que sólo contiene texto es un medio de ancho
de banda pequeño, que sólo puede proporcionar unos 300 bits de
datos por segundo al lector. Los medios de ancho de banda grande (televisión,
vídeo) transmiten más de 50 millones de bits por segundos de datos
gráficos y sonoros.
La fibra
óptica nos está llevando desde un ancho de banda relativamente
modesto hasta otro, prácticamente infinito. El ancho de banda es la capacidad
de transmitir información a través de un canal determinado. Los
cables telefónicos se consideran un canal de ancho de banda reducido;
pero aunque es lento, no lo es tanto como muchos suelen creer.
Hay que pensar en la capacidad de la fibra óptica
como infinita, no sabemos cuántos bps podemos llegar a enviar a través
de una fibra, pero parece ser que estamos cerca de una capacidad de 1 billón
de bps; esto implica una velocidad doscientas mil veces mayor que la del par
telefónico.
El ancho de banda disponible en el éter es reducido
si se lo compara con el que brinda la fibra
óptica y con nuestra capacidad infinita de fabricar y tender más
y más fibras.
El cambio Negroponte dice que la información
que actualmente nos llega por tierra
en el futuro nos llegará a través del éter, y viceversa.
Es decir que todo lo que está en el aire,
pasará por tierra
y lo que está en tierra, pasará por el aire.
El motivo por el cual Negroponte considera que ese cambio es obvio, es que el
ancho de banda en tierra es infinito, y que el del éter no lo es. Tenemos
sólo un éter contra una cantidad ilimitada de fibras.
La única ventaja del cobre
es su capacidad de transmitir energía; por lo tanto es posible que aparezca
la fibra con manto de cobre
o el cobre con manto de fibra. Pero desde la perspectiva de los bits, con el
tiempo todo el planeta estará cableado con fibra.
Se puede llegar a desarrollar una infraestructura de banda
ancha, al margen de si es necesaria o de si se sabe cómo usar ese
bando de ancha. Para brindar la mayoría de los servicios
de información y entretenimiento, esos enormes anchos de banda no son
necesarios. En realidad, un ancho de banda más modesto de 1,2 a 6 millones
bps es perfectamente adecuado para casi todos los multimedios existentes. Un
ancho de banda ilimitado puede tener el efecto paradójico y negativo
de inundar y ahogar a la gente con un exceso de bits y de permitir que las máquinas
en la periferia sean innecesariamente tontas. La novedad y originalidad de los
servicios de información y entretenimiento no dependen de la fibra que
los transmite sino de la imaginación que los crea.
La relación entre ancho de banda y computación
es muy sutil; dado que en ambos extremos de una línea existe un proceso
de computación, es posible enviar y recibir menor cantidad de bits. La
comprensión o condensación de la información permite que
se utilice menor capacidad de canal y ahorra tiempo y dinero
en la transmisión.
Lo que importa no es sólo el ancho de banda de los canales,
sino también su configuración; las redes de estrella y de anillo
han tomado su forma con naturalidad a partir del estrecho ancho de banda del
par telefónico o del ancho de banda más ancho del cable
coaxial.
Canales de transmisión
Un canal es el camino por donde viajan los datos desde
un lugar a otro. Es la combinación de medios que interconectan a la computadoras
que envían y reciben datos. La capacidad del canal se clasifica
por el número de bits que éste puede transmitir por segundo.
Tangibles
- Línea o par telefónico: Usa las instalaciones
telefónicas para la transmisión de datos. La velocidad
de transferencia de los datos en las líneas de voz va
de 300 a 9.600 bps.
- Cable coaxial: Contiene cables eléctricos para
permitir la transmisión de datos a alta velocidad con
un mínimo de distorsión de las señales.
La transmisión de datos es mucho más rápida.
Hay dos categorías generales de cable
coaxial:
- Banda base: Transporta una única señal
digital a muy altas velocidades. El cable de banda de base
es relativamente barato y de muy fácil mantenimiento.
- Banda ancha: Lleva múltiples señales
análogas al mismo tiempo, con diferentes intervalos
de frecuencia. Es el adecuado para la transmisión
de voz, datos e imagen.
- Fibra óptica: Diminutas fibras de vidrio
en vez de alambres sirven como medios de transmisión.
En lugar de electricidad
se utiliza láser. Un láser es un haz de luz coherente
dentro de ciertos intervalos de frecuencia. Su gran ventaja
es la velocidad de la transmisión. Los cables de fibra
óptica
transmiten la información en forma de ondas
lumínicas a la velocidad de la luz. Un cable de fibra
óptica puede transmitir medio gigabit por segundo. Los
cables de fibra óptica transmiten datos con mayor rapidez
y son más ligeros y baratos que sus contrapartes de alambre
de cobre. La fibra óptica también contribuye a
la seguridad de los datos, ya que es mucho más difícil
interceptar una señal enviada por medio de un rayo de
luz que una señal enviada por medio de una señal
eléctrica.
Intangibles
- Microondas: La transmisión por microondas
necesita de estaciones de transmisión que envían los datos a
través del aire en forma de señales codificadas. La transmisión
de datos vía señales de radio
por microondas
es de línea de visión: la señal de radio
viaja en línea recta de una estación repetidora a la siguiente
hasta llegar a su destino. Los satélites
han permitido reducir al mínimo el límite de la línea
de visión.
Satélites
La transmisión de datos a través de distancias
muy largas utiliza satélites
en órbita. Los datos que alimentan a una computadores se envían
a una estación de microondas, la cual a su vez los transmite a una estación
terrestre; de la estación, el mensaje se envía en hace a un satélite
en órbita, desde donde se transmite de nuevo a otra estación terrestre.
Los datos se envían posteriormente a través de microondas y por
teléfono hasta su destino. En esencia, un satélite es una estación
repetidora
La ventaja principal de los satélites consiste en que
los datos se pueden transmitir desde un sitio a cualquier número de lugares
en cualquier parte del planeta. Una característica adicional en la comunicación
y transmisión por satélite es que en el costo de la transmisión
no se considera la distancia, como sucede con los otros métodos.
Tipos de transmisión
- Asincrónica: Los datos se transmiten enviando un carácter
a la vez, con un método de inicio/parada. Los datos se transmiten a
intervalos irregulares conforme se necesitan. Los bits de arranque/parada
se agregan al inicio y al final de cada mensaje. La transmisión asincrónica
o de arranque/parada es más apropiada para la comunicación de
datos que comprende dispositivos de entrada/salida de baja velocidad (v.g.:
impresoras en serie)
- Sincrónica: La transmisión es continua; los caracteres
se envían uno tras otro por las líneas sin interrupción.
La transmisión sincrónica es mucho más rápida
debido a que no se tienen que enviar señales adicionales por las líneas
para cada uno de los caracteres. La fuente y el destino operan con una sincronización
para permitir la transmisión de datos de alta velocidad. Este tipo
de transmisión no necesita los bits de arranque/parada.
Unidad de medida de transmisión
de datos
La velocidad de transmisión de datos se mide en bits
por segundo (bits per seconds, bps).
Las menciones de bauds o tasa de bauds son incorrectas,
El baud es una unidad variable de transmisión de datos y la "rapidez
en bauds" es la velocidad a la cual viaja un pulso. La velocidad de transmisión
a menudo se llama "rapidez en bits", pero ya que un pulso puede representar
varios bits a la vez, a velocidades mayores que 1.200 bps, la rapidez de bits
generalmente excede a la rapidez en bauds.
Protocolo de comunicaciones
Conjunto de reglas establecidas para regir el intercambio de
datos que permiten que las entidades que se están comunicando puedan
comprenderse. Uno de estos protocolos
es la velocidad de transmisión; si una máquina "habla" a una 2.400
bps y las otra "escucha" a 1.200 bps, el mensaje no pasará. Entre los
protocolos
hay códigos predeterminados para algunos mensajes.
Los protocolos se definen en capas, la primera de las
cuales es la capa física; ésta define la manera en que los nodos
de una red se conectan entre sí. Las capas subsecuentes, que varían
en cantidad entre protocolos, describen cómo se empacan los mensajes
para su transmisión, cómo se encaminan los mensajes a través
de la red, los procedimientos de seguridad y la forma en que se proyectan en
pantalla los mensajes.
Un protocolo
sirve para desarrollar tareas como:
- obtener la atención
de otro dispositivo;
- identificar cada uno de los dispositivos de la comunicación;
- verificar la correcta transmisión de los mensajes;
- recuperar los datos cuando ocurran errores.
Uno de los protocolos más usados es el ASCII (American
Standard Code for Information Interchange).
Tipos de software para comunicaciones
Para que dos computadores se puedan comunicar, hay que configurar
el software de ambas máquinas de modo que sigan los mismos protocolos.
El software de comunicación asegura que el hardware siga el protocolo.
El software específico de comunicación se presenta
de diversas formas:
- sistema operativo de red: para usuarios que
trabajan exclusivamente en una red local. Un sistema operativo
de red oculta al usuario los detalles de hardware y software
de la comunicación cotidiana entre máquinas. El
software para LAN
residente en la RAM redirige ciertas peticiones al componente
adecuado de la LAN.
Los sistemas operativos de LAN tienen dos formatos:
- igual a igual: todas las PC son iguales; cualquiera
puede ser cliente
de otra y cualquiera puede compartir sus recursos con sus
similares; se trata de redes
LAN menos complejas.
- servidor dedicado: el software de control reside
en la RAM del servidor
de archivos; este tipo de LAN ofrece un nivel de seguridad
que no es posible con una LAN igual a igual.
- programa terminal o emulador de terminal: permite
que un computador personal funcione como si fuera una terminal.
este tipo de programa se encarga del marcado telefónico,
el manejo de protocolos y una diversidad de detalles necesarios
para que trabajen en conjunto el computador personal y el módem.
- Sistemas operativo multiusuario: permite que
un computador de tiempo compartido se comunique con varios computadores
o terminales al mismo tiempo (UNIX es el más difundido).
Además las LAN hacen posible el uso de aplicaciones
que no pueden desarrollarse en el entorno individual de una computadora. Así
surge el software para trabajo en grupos (groupware) que permite
el uso de diversas aplicaciones como:
- Correo electrónico.
- Calendario y programación de horarios: Cada persona enlazada
en una LAN mantiene un calendario en línea en el cual se pueden programas
los horarios de todos los eventos.
- Pensamiento creativo y solución de problemas: Los usuarios
de una LAN pueden trabajar juntos en un documento maestro para dar ideas y
resolver problemas.
- Establecimiento de prioridades: Permite que los usuarios establezcan
las prioridades de proyectos
a través del razonamiento colectivo.
- Juntas electrónicas.
- Biblioteca de políticas
y procedimientos: Son elementos que al cambiar con rapidez pueden ponerse
en línea para eliminar la necesidad de actualizar constantemente numerosos
manuales
de copia impresa.
- Mensajes electrónicos: La transmisión de mensajes electrónicos
asocia el mensaje con una o más aplicaciones de groupware.
- Formularios electrónicos: con el propósito de recopilar
información de otros usuarios de la LAN.
Accesorios de los canales de transmisión
Multiplexores
Son dispositivos que permiten que varios mensajes puedan conjuntarse
en un solo canal. Logran este objetivo reuniendo varias señales de baja
velocidad y transmitiéndolas todas a través de un canal de alta
velocidad. Es decir que el multiplexor permite que varios dispositivos o estaciones
de trabajo compartan una línea en forma simultánea para transmitir
los datos tan pronto como se reciben. El multiplexor es una extensión
del procesador frontal (éste separa los datos para su procesamiento y
establece la conexión entre la fuente y el destino) y se ubica al final
de la línea, en o cerca de un sitio distante.
Concentradores
Dispositivos asíncronos de menor velocidad que se conectan
con frecuencia a un concentrador para lograr la transmisión de
datos. Este dispositivo de almacén
y envío reúne y almacena temporalmente en una sección de
almacenamiento intermedio los datos recolectados poco a poco de los diferentes
dispositivos de entrada. Cuando dicha sección está completa, los
datos se transmiten por líneas de alta velocidad a la computadora.
Módems
Conectan a las computadoras con el canal de comunicación
y permiten transmitir los datos a través de largas distancias sin ninguna
interferencia de ruido ni distorsión en el canal. El módem es
un dispositivo de hardware esencial para cualquier aplicación que implique
el uso de una línea de teléfono para la comunicación de
datos.
Las computadoras están conectadas con el módem
a través de un canal de comunicación construido en la computadora
misma.
Los datos pueden ser transmitidos en forma digital o analógica,
dependiendo de las características del medio de la comunicación.
Los canales de voz transmiten señales analógicas, en tanto que
las computadoras envían señales digitales.
Para poder transmitir una señal digital (un flujo de
bits) por una línea telefónica convencional, hay que convertirla
en una señal analógica, es decir en una onda continua. A su vez,
en el extremo receptor hay que volver a convertir la señal analógica
en los bits que representan el mensaje digital original. Estas tareas son realizadas
por un módem (abreviatura de modulador/demodulador), que
es el dispositivo de hardware que conecta el puerto
serial de un computador a una línea telefónica. Junto con
el software de comunicaciones, el módem determina la velocidad a la cual
se deben transmitir los datos.
Un módem puede ser interno o externo; ambos usan cable
telefónico para conectarse a la red de teléfonos por medio de
conectores telefónicos modulares:
- interno: el módem se encuentra en un tablero de expansión
opcional que sólo se conecta en una ranura de expansión libre
de la unidad de procesamiento de la micro o el anfitrión de la terminal.
- externo: es un componente externo independiente y se conecta
por medio de un puerto
serial.
Los módems tienen diversos grados de "inteligencia"
que se genera por medio de procesadores integrados. Por ejemplo, algunos módems
son capaces de sintonizar en forma automática la computadora (sincronización
automática), establecer un canal de comunicación (entrada)
e incluso responder las llamadas procedentes de otras computadoras (respuesta
automática).
El faxmódem realiza la misma función que el módem;
además permite que una PC simule una máquina de fax.
Tipos de líneas
- Simplex: Transmite los datos únicamente en una
dirección y ésta no se puede cambiar nunca.
- Dúplex: Lleva los datos únicamente en
una dirección, pero ésta puede ser invertida.
- Full dúplex: Puede transmitir los datos simultáneamente
en ambas direcciones, como si dos líneas simplex estuvieran
trabajando en direcciones opuestas.
Configuración
de líneas
Describe el método de conexión
de las computadoras con las líneas de comunicación.
En este sentido las líneas pueden ser:
Punto a punto: Un único emplazamiento
está conectado directamente con la computadora. Las líneas
punto a punto se usan frecuentemente entre grandes computadoras
que se comunican entre sí en forma continua.
- Multipunto: Permiten que un canal de comunicación
sea compartido entre todos los usuarios de la misma línea.
La ventaja es que el costo total de la red de usuarios puede
reducirse, porque la línea compartida disminuye la cantidad
de líneas de comunicación. Además, todos
los puntos de una línea pueden recibir los mismos datos
al mismo tiempo si es necesario.
Servicios de transmisión
Para la comunicación de datos se recurre
a las portadoras comunes para tener acceso a canales
de comunicaciones. Las portadoras comunes de comunicaciones
ofrecen dos tipos de servicios:
- línea privada o rentada: Ofrece un canal
de comunicaciones de datos dedicado entre dos puntos de una
red de computación. El cobro por una línea privada
se basa en la capacidad de canal (bps) y la distancia (kms.
aéreos).
- línea conmutada o de sintonía:
Esta disponible estrictamente por medio del cobro por tiempo
y distancia, similar a una llamada telefónica de larga
distancia. Se hace una conexión "sintonizando" la computadora
y un módem envía y recibe los datos. Este tipo
de línea es más flexible que la anterior porque
puede establece una conexión con cualquier computadora
instalada cerca de un teléfono.
Redes
Una red de computadores es cualquier sistema de computación
o grupo de computadoras, estaciones de trabajo o dispositivos de computadoras
conectados entre sí. En una red de computación, el nodo puede
ser una terminal, una computadora o cualquier dispositivo de destino/fuente.
Las redes de cómputo están configuradas para satisfacer las necesidades
específicas de una organización.
Si bien las PC por lo común se usan como sistemas de
computación independientes, también pueden duplicar su capacidad
como terminales remotas. Esta dualidad de funciones le ofrece la flexibilidad
para trabajar con la PC como un sistema independiente o conectarse con una computadora
más grande y aprovechar su capacidad incrementada.
Las redes presentan ventajas, ya que permiten:
- compartir hardware, reduciendo el costo y haciendo accesibles
poderosos equipos de cómputo a más personas;
- compartir datos y software, aumentado la eficiencia y la productividad.
Las redes no eliminan las diferencias de compatibilidad entre distintos sistemas
operativos, pero simplifican la comunicación entre máquinas.
Si se emplean programas con formatos de archivo incompatibles, habrá
que usar software de traducción de datos para leer y modificar los
archivos.
- que los seres humanos colaboren y trabajen en formas
que, sin las redes, serían difíciles o imposibles. Para
ello existen aplicaciones groupware: programas diseñados para
que varios usuarios trabajen con un mismo documento al mismo tiempo.
Existen 2 tipos
de redes:
- redes de comunicación: transmiten datos, voz o imágenes
visuales. Las redes de información tienen uno o más sistemas
de computación extremos que ofrecen una amplia gama de servicios de
información: Noticias, clima,
deportes;
entretenimiento; juegos; servicios bancarios desde el hogar; información
financiera; servicios de corretaje; tableros de avisos; correo
electrónico; compras
desde el hogar; consultas; educación;
bienes raíces, cocina, salud,
viajes,
etc.
- redes de proceso distribuido: enlazan diferentes elementos
para que compartan recursos y capacidad de procesamiento.
La mayoría de los computadores tiene puertos,
que son contactos por los que sale y entra la información. Los puertos
pueden ser:
- paralelos: tienen la anchura suficiente para que los bits
puedan pasar en grupos de 8, 16 ó 32. Suelen conectar al computador
las impresoras y otros periféricos externos.
- seriales: requieren que los bits pasen de uno en uno. Por
lo general sirven como puertas de acceso para la información que viaja
de un computador a otro.
Topología de redes
Una topología es la disposición de los
nodos (lugares de emisión, recepción o procesamiento) para transmitir
datos. Una topología
de red es una descripción
de las conexiones físicas posibles de una red. La topología es
la configuración del hardware e indica que pares de nodos están
disponibles para las comunicaciones.
Según su topología una red puede ser:
- lineal o de barra colectora: Es un canal lineal;
derivaciones en él enlazan los nodos individuales con
la barra colectora. Por lo tanto la configuración es
la de una línea multipunto. Esta es una topología
de difusión ya que cada mensaje o conjunto de
datos enviado por ella va a cualquiera de los nodos. Un nodo
individual identifica únicamente los mensajes que se
dirigen a él. El cable central se denomina medio de
transmisión.
- de estrella: Varios lugares diferentes están
conectados a través de un sistema de cómputo central
para la transmisión de los datos; toda la comunicación
entre los puntos de la red debe pasar por la computadora central,
la cual, a su vez, envía los datos al lugar determinado.
Esta red, también llamada conmutada requiere de
una computadora de tiempo real para analizar las transacciones
recibidas, determinar hacia dónde se deben enviar los
datos y seleccionar la mejor ruta o línea por l que se
deben transmitir.
- de anillo: Un punto se puede comunicar directamente
con cualquier otro punto, sin necesidad de pasar por una computadora
central. Los procesadores (o controladores) de comunicaciones
manejan las actividades de comunicación de cada uno de
los emplazamientos, almacenando los datos durante breves períodos
antes de transmitirlos, o bien recibiendo la transmisión
de otras posición. Estas redes también utilizan
una topología de difusión; los mensajes
circulan de nodo en nodo en una sola dirección. La computadora
recibe el mensaje que viene del nodo anterior y lo recibe o
lo reenvía, según corresponda. Implica sistemas
de cómputo de aproximadamente el mismo tamaño.
En su mayor parte, las redes de computación
son híbridas, es decir combinaciones de topologías.
Redes de comunicación
El objetivo de estas redes es conectar emplazamientos
múltiples que tengan necesidad de transmisión
o recibir datos; no necesitan tener capacidad de procesamiento.
Las redes de comunicación pueden ser:
- de área amplia (WAN, wide area network):
Su objetivo general es la transmisión de datos. Tienen
2 características distintivas:
- Cubren grandes distancias geográficas.
- Utilizan las redes comunes de portadoras, como las redes conmutadas
de teléfonos.
- de área local (LAN, local area network):
Es la red de comunicación que abarca un único
emplazamiento, es decir es una red en la cual los computadores
se encuentran a corta distancia. Consta de una colección
de computadores y periféricos cuyos puertos seriales
están conectados directamente con cables; estos cables
sirven como carreteras de información para transportar
los datos entre los dispositivos. También hay redes
inalámbricas, en las que cada computador tiene una
pequeña radio conectada al puerto serial, de manera que
puede enviar y recibir datos a través del aire, en vez
de usar cables. La mayoría de las redes de áreas
local utilizan una topología de difusión: cada
mensaje se envía a cada uno de los nodos. El nodo recibe
únicamente los mensajes dirigidos a él en particular.
En una LAN los usuarios pueden compartir datos, software de
aplicaciones, conexiones con macrocomputadoras, capacidades
de comunicación (módems), bases de datos, tableros
de expansión y otros recursos; representan una buena
inversión debido a que los recursos pueden ser compartidos.
Con frecuencia están integradas a redes WAN. Los dos
métodos más conocidos de acceso LAN son:
- CSMA: (carrier sense multiple access, acceso múltiple
de sensor de portadora) se usa con las redes de barra colectora
y requiere de una estación de trabajo u otro dispositivo
para "escuchar" el canal y determinar cuándo se encuentra
en uso; es decir, debe registrar que el canal se encuentra ocupado.
Si el canal está libre, se puede enviar un mensaje. De otra
manera, la estación de trabajo espera durante un breve momento
y escucha nuevamente.
- de señal viajera: se asocia con la topología
de anillo. Una señal es una cadena de bits que se envía
por toda la red. Siempre que un dispositivo desea transmitir un
mensaje, espera hasta que aparezca la señal y, entonces,
transmite sus datos a la red.
Cuando se habla de WAN y LAN se hace referencia a todo el hardware,
software y canales de comunicación relacionados con ellas.
Redes de procesamiento distribuido
Conectan emplazamientos no sólo para la comunicación
de los datos y de los mensajes, sino también para poder compartir los
recursos.
Este tipo de redes presentan 2 ventajas:
- Carga compartida: Tienen disponible una gran cantidad
de potencia de cómputo para los usuarios con pequeños
sistemas o con sólo terminales remotas en lugar de un
sistema muy grande de cómputo. La carga compartida también
es muy útil cuando una computadora se encuentra sobrecargada
o presenta problemas en el equipo. Los accesos a diferentes
computadoras en lugar de únicamente a una es una característica
muy favorable.
- Programática compartida: La capacidad de poder
compartir datos así como programática sirve para
reducir el costo total por el almacenamiento de los datos para
todos los usuarios; de la misma manera, puesto que se requieren
menos sistemas mayores, las minicomputadoras pueden reemplazar
parte del equipo más costoso. El almacenamiento de los
programas se puede centralizar para que sean compartidos por
todos los usuarios; ello permite el desarrollo de paquetes de
programas mucho más extensos a un menor costo para cada
instalación.
Tendencias
Existen tecnologías de comunicación alternativas:
- Correo de voz: Es más que un contestador; es un elaborado
sistema de mensajes con muchas de las características de un sistema
de correo
electrónico, excepto poder editar los mensajes electrónicamente
y anexar documentos del computador.
- Transmisión de facsímil: Una máquina
de fax es una herramienta rápida y práctica para transmitir
información almacenada en documentos de papel. Cuando se envía
un fax, la máquina emisora "barre" las páginas y convierte la
imagen así digitalizada en una serie de pulsos eléctricos, para
luego enviar esas señales por las líneas telefónicas
hasta otra máquina de fax. La máquina receptora usa las señales
para construir e imprimir facsímiles o copias en blanco y negro
de las páginas originales. Un computador puede enviar los documentos
en pantalla a través de un fax módem a una máquina de
fax receptora. El fax módem traduce el documento a señales que
pueden enviarse por los cables telefónicos para que sean decodificados
por la máquina de fax receptora. Un computador también puede
usar un fax módem para recibir transmisiones de máquinas
de fax, usando la máquina emisora como una especie de digitalizador
de imágenes remoto. Al igual que el documento digitalizado, para el
computador el facsímil digital no es más que una colección
de puntos blancos y negros, por lo que para editarlo es necesario utilizar
un software de OCR.
- Videoteleconferencia: Permite comunicarse "cara a cara" a
grandes distancias, al combinar las tecnologías del video y de la computación.
- Transferencia electrónica de fondos: El
dinero no es más que otro tipo de información, las diferentes
monedas no son más que símbolos que permiten a las personas
intercambiar bienes y servicios. En los últimos siglos el papel ha
reemplazado al metal; hoy en día el papel es sustituido por patrones
digitales almacenados en medios informativos. El
dinero, como otra información digital, puede transmitirse a través
de las redes de computadores. Un cajero automático es una terminal
especializada que se enlaza con el computador principal del banco
a través de una red comercial bancaria; pero no es el único
medio para efectuar la transferencia electrónica de fondos.
- Comunicador personal: Combina un teléfono celular,
un fax módem y otro equipo de comunicación en una caja ligera
e inalámbrica parecida a un computador basado en pluma. Sirve como
teléfono portátil, máquina de fax, buzón electrónico,
localizador y computador personal.
Pero cuando todo el sistema telefónico sea digital,
se habrán sentado las bases para una red unificada que permita transmitir
todo tipo de información digital. Así la ISDN (Integrated
Services Digital Network, red digital de servicios integrados) enlazará
teléfonos, computadores, máquinas de fax, televisión e
incluso el correo en un mismo sistema digital. A esa realidad alternativa e
la denomina ciberespacio. También se llama "frontera electrónica"
a este nuevo mundo en línea.
Siguiendo la tendencia hacia una mayor conectividad, se están
interconectando WAN y LAN para permitir que los usuarios tengan acceso a una
mayor variedad de aplicaciones y más información.
Dado que las redes usan una variedad de protocolos de comunicaciones
y sistemas operativos, las redes incompatibles no pueden "comunicarse" directamente
entre sí. El encaminador constituye la principal tecnología de
hardware y software que se utiliza para resolver este problema. Los encaminadores
cierran la brecha entre LAN y LAN, entre WAN y WAN y entre LAN y WAN. Al recibir
un mensaje, el encaminador realiza la conversión de protocolos necesaria
y encamina el mensaje hacia su destino.
Las organizaciones
que interconectan redes de computación lo hacen con base en una espina
dorsal.; ésta se compone de un sistema de encaminadores y los medios
de transmisión asociados que enlazan los encaminadores y las macrocomputadoras
de las redes del sistema.
Esta es la era del procesamiento cooperativo. Para obtener
información significativa, precisa y oportuna, las empresas
han decidido que deben cooperar a nivel interno y externo para aprovechar la
totalidad de la información disponible. Para promover la cooperación
interna, las empresas
están promoviendo las redes internas de empresa.
Una aplicación de la red interempresas es el intercambio electrónico
de datos (EDI).
La aplicación que puede tener el efecto más importante
en el mayor número de personas es la supercarretera de información;
es una red de enlaces de comunicaciones de datos de alta velocidad que con el
paso del tiempo se asociará a todas las facetas de la sociedad,
integrando la red con las tecnologías de la
televisión y la computación.
El tránsito en la supercarretera será cualquier
material que se pueda digitalizar, y las aplicaciones de esta supercarretera
serán, entre otras:
- incorporación de la función del teléfono en un videófono
o en una computadora;
- abundancia de entretenimiento, abriendo las puertas al entretenimiento interactivo;
- ediciones de copia blanda como una alternativa para la edición de
copia dura de casi cualquier material impreso;
- correspondencia transmitida electrónicamente;
- transferencia electrónica de fondos;
- compras electrónicas desde el hogar;
- votación y escrutinio de alta tecnología, reduciendo los costos
de las elecciones y alentando una mayor participación de los electores
(cuando las elecciones no sean obligatorias);
- formación de una base de datos nacional, que será el almacenamiento
central de todos los datos personales de los ciudadanos, permitiendo la consolidación
de dichos datos
La flexibilidad en la distribución de los bits será
crucial; las emisoras asignarán los bits a medios determinados (como
la
televisión o la
radio) en el punto de transmisión. El transmisor le dice al receptor
que tipo de bits está enviando.
En un futuro más lejano, los bits no estarán
limitados a un medio específico, una vez que abandonen el transmisor,
es decir el emisor no tendrá idea alguna sobre la forma en que los usuarios
tomarán los bits, será el receptor el que decida. Los bits saldrán
de la estación emisora como bits, para ser utilizados y transformados
de maneras diferentes, personalizados por una amplia gama de programas de computación.
Los mismos bits podrán ser vistos por el destinatario a partir de muchas
perspectivas.
Actualmente un CD utilizado como ROM tiene una capacidad de
almacenamiento de 5 mil millones de bits, utilizando sólo un lado. En
los próximos años está capacidad por lado será incrementada
a 50 mil millones.
La visión a más largo plazo de los multimedios
no esta basada, sin embargo, en el CD, sino que surgirá a partir de la
creciente base de sistemas on-line, que tienen una capacidad ilimitada.
En el mundo digital, el problema de la amplitud y profundidad
desaparece, y tanto los lectores como los autores se podrán mover con
más libertad
entre las generalidades y los detalles.
En el mundo digital el espacio ocupado por la información
no está limitado a tres dimensiones. La expresión de una idea,
o una secuencia de ideas, puede incluir una red multidimensional de indicadores
que apuntan hacia futuras elaboraciones o exposiciones, que pueden ser llamadas
o ignoradas. Los hipermedios deberán ser pensados como una colección
de mensajes elásticos, que pueden ser estirados y encogidos según
la acción determinada por el lector. La traslación libre de un
medio (video, texto, datos) a otro es el objetivo real hacia el cual apunta
el campo de los multimedios.
Pero frente a un panorama alentador tendremos también
la pérdida de numerosos puestos de trabajo a causa de la automatización
total de sistemas, que pronto transformarán el trabajo administrativo
de la misma manera que ya ha transformado el trabajo fabril.
A medida que el mundo de los negocios
se globaliza y la Internet
crece, comenzaremos a observar un lugar de trabajo digital sin fisuras; los
bits no conocerán fronteras, serán almacenados y manipulados sin
respeto
alguno por los límites geopolíticos. Lo más probable es
que las zonas delimitadas por los husos horarios desempeñen en nuestro
futuro digital un rol más importante que las zonas de intercambio comercial.
A medida que nos vamos moviendo hacia ese mundo digitalizado,
un importante sector de la población
mundial se verá privado de sus derechos
o privilegios.
La era digital tiene cuatro grandes cualidades: descentralización,
globalización,
armonización y motivación.
El efecto descentralizador se percibe sobre todo en el comercio
y en la industria de la computación misma. La
empresa del futuro podrá cubrir sus necesidades de computación
en forma escalonada, poblando su organización de PC que, cuando resulte
necesario, podrán trabajar al unísono para solucionar problemas
de computación complejos. Las computadoras trabajarán tanto para
individuos como para grupos.
La nación-estado
misma está sujeta a tremendos cambios y a la
globalización; el mundo digitalizado hace pensar que los intentos
de unificación mundial se van haciendo viables.
Hoy en día, el 20% del mundo consume el 80% de los recursos.
La tecnología digital podrá ser la fuerza
natural que impulse a los hombres hacia una mayor armonía mundial. El
efecto armonizador es ya evidente en disciplinas y empresas que antes estaban
separada y que comienzan a colaborar entre sí en lugar de competir.
El acceso, la movilidad y la habilidad para efectuar cambios
son evidencias de la naturaleza motivadora de estar digitalizado, que es lo
que hará que el futuro sea tan diferente del presente.