Tecnologías de Control Unidad 7 - Lecturas complementarias (fecha

Anuncio
Tecnologías de Control
Unidad 7 - Lecturas complementarias
(fecha de revisión 30/08/00)
Software
Programas de computadoras. Son las instrucciones responsables de que el hardware (la
máquina) realice su tarea. Como concepto general, el software puede dividirse en varias categorías
basadas en el tipo de trabajo realizado. Las dos categorías primarias de software son los sistemas
operativos (software del sistema), que controlan los trabajos del ordenador o computadora, y el
software de aplicación, que dirige las distintas tareas para las que se utilizan las computadoras. Por
lo tanto, el software del sistema procesa tareas tan esenciales, aunque a menudo invisibles, como
el mantenimiento de los archivos del disco y la administración de la pantalla, mientras que el
software de aplicación lleva a cabo tareas de tratamiento de textos, gestión de bases de datos y
similares. Constituyen dos categorías separadas el software de red, que permite comunicarse a
grupos de usuarios, y el software de lenguaje utilizado para escribir programas (véase Lenguaje de
programación).
Además de estas categorías basadas en tareas, varios tipos de software se describen
basándose en su método de distribución. Entre estos se encuentran los así llamados programas
enlatados, el software desarrollado por compañías y vendido principalmente por distribuidores, el
freeware y software de dominio público, que se ofrece sin costo alguno, el shareware, que es similar
al freeware, pero suele conllevar una pequeña tasa a pagar por los usuarios que lo utilicen
profesionalmente y, por último, el infame vapourware, que es software que no llega a presentarse o
que aparece mucho después de lo prometido. Véase Telecomunicaciones.
Programa
En informática, sinónimo de software, el conjunto de instrucciones que ejecuta un ordenador
o computadora. El término puede referirse al código fuente original o a la versión ejecutable (en
lenguaje máquina) de un componente de software. Cuando se habla de un programa se supone un
cierto grado de terminación, o sea, se da por hecho que están presentes todas las instrucciones y
archivos necesarios para la interpretación o compilación del programa. Por otro lado, se entiende
que un programa ejecutable puede cargarse en un entorno determinado y ejecutarse
independientemente de otros programas. Véase Lenguaje de programación.
Lenguaje de programación
En informática, cualquier lenguaje artificial que puede utilizarse para definir una secuencia
de instrucciones para su procesamiento por un ordenador o computadora. Es complicado definir
qué es y qué no es un lenguaje de programación. Se asume generalmente que la traducción de las
instrucciones a un código que comprende la computadora debe ser completamente sistemática.
Normalmente es la computadora la que realiza la traducción.
Lenguajes de bajo nivel
Vistos a muy bajo nivel, los microprocesadores procesan exclusivamente señales
electrónicas binarias. Dar una instrucción a un microprocesador supone en realidad enviar series de
unos y ceros espaciadas en el tiempo de una forma determinada. Esta secuencia de señales se
denomina código máquina. El código representa normalmente datos y números e instrucciones para
manipularlos. Un modo más fácil de comprender el código máquina es dando a cada instrucción un
mnemónico, como por ejemplo STORE, ADD o JUMP. Esta abstracción da como resultado el
ensamblador, un lenguaje de muy bajo nivel que es específico de cada microprocesador.
Los lenguajes de bajo nivel permiten crear programas muy rápidos, pero que son a menudo
difíciles de aprender. Más importante es el hecho de que los programas escritos en un bajo nivel
sean altamente específicos de cada procesador. Si se lleva el programa a otra máquina se debe
reescribir el programa desde el principio.
Tecnologías de Control - Lecturas complementarias - Hoja 1/6
Lenguajes de alto nivel
Por lo general se piensa que los ordenadores son máquinas que realizan tareas de cálculos
o procesamiento de textos. La descripción anterior es sólo una forma muy esquemática de ver una
computadora. Hay un alto nivel de abstracción entre lo que se pide a la computadora y lo que
realmente comprende. Existe también una relación compleja entre los lenguajes de alto nivel y el
código máquina.
Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por
elementos de lenguajes naturales, como el inglés. En BASIC, el lenguaje de alto nivel más
conocido, los comandos como "IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la
computadora que pare si CONTADOR es igual a 10. Por desgracia para muchas personas esta
forma de trabajar es un poco frustrante, dado que a pesar de que las computadoras parecen
comprender un lenguaje natural, lo hacen en realidad de una forma rígida y sistemática.
Intérpretes y compiladores
La traducción de una serie de instrucciones en lenguaje ensamblador (el código fuente) a un
código máquina (o código objeto) no es un proceso muy complicado y se realiza normalmente por
un programa especial llamado compilador. La traducción de un código fuente de alto nivel a un
código máquina también se realiza con un compilador, en este caso más complejo, o mediante un
intérprete. Un compilador crea una lista de instrucciones de código máquina, el código objeto,
basándose en un código fuente. El código objeto resultante es un programa rápido y listo para
funcionar, pero que puede hacer que falle el ordenador si no está bien diseñado. Los intérpretes,
por otro lado, son más lentos que los compiladores ya que no producen un código objeto, sino que
recorren el código fuente una línea cada vez. Cada línea se traduce a código máquina y se ejecuta.
Cuando la línea se lee por segunda vez, como en el caso de los programas en que se reutilizan
partes del código, debe compilarse de nuevo. Aunque este proceso es más lento, es menos
susceptible de provocar fallos en la computadora.
Código fuente
En informática, las instrucciones de programa legibles por el programador y escritas en un
lenguaje ensamblador o de más alto nivel. El concepto contrario es el código objeto, que se deriva
del código fuente y está diseñado para ser legible sólo por la máquina. Véase también Lenguaje de
programación.
Código objeto
En informática, código generado por un compilador o un ensamblador, traducido a partir del
código fuente de un programa. Casi siempre este término se refiere al código máquina que puede
ejecutarse directamente en la unidad central de proceso (CPU) del sistema, pero también puede ser
código fuente de lenguaje ensamblador o una variante de código máquina.
Programa ejecutable
En informática, programa que ha sido traducido a código máquina en un formato que puede
cargarse en la memoria y ejecutarse. Sin embargo, en los lenguajes interpretados puede referirse
simplemente al código fuente en su formato apropiado. La mayoría de los programas ejecutables en
MS-DOS tiene la extensión de nombre de archivo .EXE. Para ejecutar el programa, el usuario sólo
tiene que escribir el nombre del archivo (sin la extensión EXE) junto al símbolo del sistema y, a
continuación, presionar la tecla Intro. El usuario no tiene que modificar el programa en modo alguno
para poder ejecutarlo. Las aplicaciones como los programas de procesamiento de textos son
programas ejecutables.
Tecnologías de Control - Lecturas complementarias - Hoja 2/6
Programación estructurada
En informática, término general que se refiere a un tipo de programación que produce código
con un flujo limpio, un diseño claro y un cierto grado de modularidad o de estructura jerárquica.
Entre los beneficios de la programación estructurada se encuentran la facilidad de mantenimiento y
la legibilidad por parte de otros programadores. Véase también Programación orientada a objeto.
Programación orientada a objetos
En informática, un estilo de programación en el que un programa se contempla como un
conjunto de objetos limitados que, a su vez, son colecciones independientes de estructuras de
datos y rutinas que interactúan con otros objetos. Una clase define las estructuras de datos y
rutinas de un objeto. Un objeto es una instancia de una clase, que se puede usar como una variable
en un programa. En algunos lenguajes orientados a objetos, éste responde a mensajes, que son el
principal medio de comunicación. En otros lenguajes orientados a objeto se conserva el mecanismo
tradicional de llamadas a procedimientos.
BASIC
En informática, acrónimo de Beginners All-purpose Symbolic Instruction Code (Código de
Instrucciones Simbólicas de Uso General para Principiantes). Se trata de un lenguaje de
programación de alto nivel desarrollado por los estadounidenses John Kemeny y Thomas Kurtz en
el Dartmouth College a mediados de la década de 1960. BASIC se ganó su enorme popularidad
gracias sobre todo a dos implementaciones, Tiny BASIC y Microsoft BASIC, que convirtieron a este
lenguaje en la primera lengua franca de los microordenadores o microcomputadoras. Otras
importantes implementaciones han sido CBASIC (BASIC Compilado), Integer y Applesoft BASIC
(para el Apple II), GW-BASIC (para computadoras personales), Turbo BASIC (de Borland) y
Microsoft QuickBASIC. El lenguaje ha cambiado en el transcurso de los años. Las primeras
versiones eran interpretadas y no estructuradas. Las más recientes son estructuradas y, a menudo,
compiladas. BASIC suele enseñarse a los programadores principiantes porque es fácil de utilizar y
de comprender, y además porque contiene los mismos conceptos fundamentales que muchos otros
lenguajes considerados más difíciles, como Pascal y C. Véase también Programación estructurada.
Bit
En informática, acrónimo de Binary Digit (dígito binario), que adquiere el valor 1 o 0 en el
sistema numérico binario. En el procesamiento y almacenamiento informático un bit es la unidad de
información más pequeña manipulada por el ordenador, y está representada físicamente por un
elemento como un único pulso enviado a través de un circuito, o bien como un pequeño punto en
un disco magnético capaz de almacenar un 0 o un 1. La representación de información se logra
mediante la agrupación de bits para lograr un conjunto de valores mayor que permite manejar
mayor información. Por ejemplo, la agrupación de ocho bits componen un byte que se utiliza para
representar todo tipo de información, incluyendo las letras del alfabeto y los dígitos del 0 al 9. Véase
también ASCII.
Byte
En informática, unidad de información que consta de 8 bits; en procesamiento informático y
almacenamiento, el equivalente a un único carácter, como puede ser una letra, un número o un
signo de puntuación. Como el byte representa sólo una pequeña cantidad de información, la
cantidad de memoria y de almacenamiento de una máquina suele indicarse en kilobytes (1.024
bytes) o en megabytes (1.048.576 bytes).
Tecnologías de Control - Lecturas complementarias - Hoja 3/6
ASCII
Acrónimo de American Standard Code for Information Interchange (Código Normalizado
Americano para el Intercambio de la Información). En computación, un esquema de codificación
que asigna valores numéricos a las letras, números, signos de puntuación y algunos otros
caracteres. Al normalizar los valores utilizados para dichos caracteres, ASCII permite que los
ordenadores o computadoras y programas informáticos intercambien información.
ASCII incluye 256 códigos divididos en dos conjuntos, estándar y extendido, de 128 cada
uno. Estos conjuntos representan todas las combinaciones posibles de 7 u 8 bits, siendo esta última
el número de bits en un byte. El conjunto ASCII básico, o estándar, utiliza 7 bits para cada código,
lo que da como resultado 128 códigos de caracteres desde 0 hasta 127 (00H hasta 7FH
hexadecimal). El conjunto ASCII extendido utiliza 8 bits para cada código, dando como resultado
128 códigos adicionales, numerados desde el 128 hasta el 255 (80H hasta FFH extendido).
En el conjunto de caracteres ASCII básico los primeros 32 valores están asignados a los
códigos de control de comunicaciones y de impresora —caracteres no imprimibles, como retroceso,
retorno de carro y tabulación— empleados para controlar la forma en que la información es
transferida desde una computadora a otra o desde una computadora a una impresora. Los 96
códigos restantes se asignan a los signos de puntuación corrientes, a los dígitos del 0 al 9 y a las
letras mayúsculas y minúsculas del alfabeto latino.
Los códigos de ASCII extendido, del 128 al 255, se asignan a conjuntos de caracteres que
varían según los fabricantes de computadoras y programadores de software. Estos códigos no son
intercambiables entre los diferentes programas y computadoras como los caracteres ASCII
estándar. Por ejemplo, IBM utiliza un grupo de caracteres ASCII extendido que suele denominarse
conjunto de caracteres IBM extendido para sus computadoras personales. Apple Computer utiliza
un grupo similar, aunque diferente, de caracteres ASCII extendido para su línea de computadoras
Macintosh. Por ello, mientras que el conjunto de caracteres ASCII estándar es universal en el
hardware y el software de los microordenadores, los caracteres ASCII extendido pueden
interpretarse correctamente sólo si un programa, computadora o impresora han sido diseñados para
ello.
Paralelo
En informática, se refiere al proceso o transferencia de datos de forma simultánea, en
oposición al proceso o transferencia en serie. En la transferencia de datos en paralelo, la
información se envía simultáneamente en grupos. Por ejemplo, los ocho bits de un byte de datos se
transmiten a la vez, a través de ocho hilos independientes de un cable. En el proceso en paralelo y
en otras operaciones similares se realiza más de un proceso a la vez. Por ejemplo, varios
microprocesadores de un solo ordenador o computadora pueden estar manejando diferentes
aspectos de un proceso (tales como un cálculo complicado) al mismo tiempo.
RS-232-C estándar
En informática, estándar aceptado por la industria para las conexiones de comunicaciones
en serie. Adoptado por la Asociación de Industrias Eléctricas, el estándar TS-232-C recomendado
(RS es acrónimo de Recommended Standard) define las líneas específicas y las características de
señales que utilizan las controladoras de comunicaciones en serie, con el fin de estandarizar la
transmisión de datos en serie entre dispositivos. La letra C indica que la versión actual de esta
norma es la tercera de una serie.
Serie
En informática, y en lo referente a la transferencia de datos, la transmisión en serie consiste
en el envío de información de bit en bit a través de un único cable. En otros campos de la
informática, el acceso en serie (o secuencial) hace referencia a la búsqueda de información en
función de la posición del último elemento encontrado. Un ordenador o computadora en serie es el
Tecnologías de Control - Lecturas complementarias - Hoja 4/6
que posee una unidad aritmética sencilla en la cual la suma en serie es un cálculo dígito a dígito (al
contrario que en la suma en paralelo, en la que todos los dígitos se suman a la vez).
Lógica difusa o Lógica fuzzy
En informática, forma de lógica utilizada en algunos sistemas expertos y en otras
aplicaciones de inteligencia artificial, en la que las variables pueden tener varios niveles de verdad o
falsedad representados por rangos de valores entre el 1 (verdadero) y el 0 (falso). Con la lógica
fuzzy, el resultado de una operación se puede expresar como una probabilidad y no
necesariamente como una certeza. Por ejemplo, además de los valores verdadero o falso, un
resultado puede adoptar valores tales como probablemente verdadero, posiblemente verdadero,
posiblemente falso y probablemente falso.
Teoría de la información
Teoría relacionada con las leyes matemáticas que rige la transmisión y el procesamiento de
la información. Más concretamente, la teoría de la información se ocupa de la medición de la
información y de la representación de la misma (como, por ejemplo, su codificación) y de la
capacidad de los sistemas de comunicación para transmitir y procesar información.
La codificación puede referirse tanto a la transformación de voz o imagen en señales
eléctricas o electromagnéticas, como al cifrado de mensajes para asegurar su privacidad.
La teoría de la información fue desarrollada inicialmente, en 1948, por el ingeniero
electrónico estadounidense Claude E. Shannon, en su artículo, A Mathematical Theory of
Communication ("Teoría matemática de la comunicación"). La necesidad de una base teórica para
la tecnología de la comunicación surgió del aumento de la complejidad y de la masificación de las
vías de comunicación, tales como el teléfono, las redes de teletipo y los sistemas de comunicación
por radio. La teoría de la información también abarca todas las restantes formas de transmisión y
almacenamiento de información, incluyendo la televisión y los impulsos eléctricos que se transmiten
en las computadoras y en la grabación óptica de datos e imágenes. El término información se
refiere a los mensajes transmitidos: voz o música transmitida por teléfono o radio, imágenes
transmitidas por sistemas de televisión, información digital en sistemas y redes de computadoras, e
incluso a los impulsos nerviosos en organismos vivientes. De forma más general, la teoría de la
información ha sido aplicada en campos tan diversos como la cibernética, la criptografía, la
lingüística, la psicología y la estadística.
Componentes de un sistema de comunicación
El tipo de sistema de comunicación más estudiado consta de varios componentes. El
primero es una fuente de información (por ejemplo, una persona hablando) que produce un
mensaje o información que será transmitida. El segundo es un transmisor (como, por ejemplo, un
teléfono y un amplificador, o un micrófono y un tranmisor de radio) que convierte el mensaje en
señales electrónicas o electromagnéticas. Estas señales son transmitidas a través de un canal o
medio, que es el tercer componente, como puede ser un cable o la atmósfera. Este canal es
especialmente susceptible a interferencias procedentes de otras fuentes, que distorsionan y
degradan la señal. (Algunos ejemplos de interferencias, conocidas como ruido, incluyen la estática
en la recepción de radios y teléfonos, y la "nieve" en la recepción de imágenes televisivas). El
cuarto componente es el receptor, como por ejemplo el de radio, que transforma de nuevo la señal
recibida en el mensaje original. El último componente es el destinatario, como por ejemplo una
persona escuchando el mensaje.
Dos de las principales preocupaciones en la teoría de la información son la reducción de
errores por interferencias en los sistema de comunicación, y el uso más eficiente de la capacidad
total del canal.
Cantidad de información
Un concepto fundamental en la teoría de la información es que la cantidad de información
contenida en un mensaje es un valor matemático bien definido y medible. El término cantidad no se
refiere a la cuantía de datos, sino a la probabilidad de que un mensaje, dentro de un conjunto de
Tecnologías de Control - Lecturas complementarias - Hoja 5/6
mensajes posibles, sea recibido. En lo que se refiere a la cantidad de información, el valor más alto
se le asigna al mensaje que menos probabilidades tiene de ser recibido. Si se sabe con certeza que
un mensaje va a ser recibido, su cantidad de información es 0. Si, por ejemplo, se lanza una
moneda al aire, el mensaje conjunto ‘cara o cruz’ que describe el resultado, no tiene cantidad de
información. Sin embargo, los dos mensajes por separado ‘cara’ o ‘cruz’ tienen probabilidades
iguales de valor un medio. Para relacionar la cantidad de información (I) con la probabilidad,
Shannon presentó la siguiente fórmula:
I = log21/p
donde p es la probabilidad del mensaje que se transmite y log2 es el logaritmo de 1/p en base 2.
(log2 de un número dado ‘X’ es el exponente ‘Y’ al que tiene que ser elevado el número ‘2’ para
obtener dicho número ‘X’. Por ejemplo, log2 de 8 = 3, porque 23 = 8). Utilizando esta fórmula,
obtenemos que los mensajes ‘cara’ y ‘cruz’ tienen una cantidad de información de log22 = 1.
La cantidad de información de un mensaje puede ser entendida como el número de
símbolos posibles que representan el mensaje. En el ejemplo anterior, si ‘cruz’ está representado
por un 0 y ‘cara’ por un 1, sólo hay una forma de representar el mensaje: 0 o 1. El 0 y el 1 son los
dígitos del sistema binario (véase Sistema numérico), y la elección entre estos dos símbolos
corresponde a la llamada unidad de información binaria o bit. Si se lanza una moneda tres veces
seguidas, los ocho resultados (o mensajes) igualmente probables pueden ser representados como
000,001,010,011,100,101,110 o 111. Estos mensajes corresponden a los números 0,1,...7 escritos
en notación binaria. La probabilidad de cada mensaje es de un octavo, y su cantidad de información
es log21 / = 3, que es el número de bits que se necesitan para representar cada mensaje.
Entropía
En la mayoría de las aplicaciones prácticas, hay que elegir entre mensajes que tienen
diferentes probabilidades de ser enviados. El término entropía ha sido tomado prestado de la
termodinámica, para designar la cantidad de información media de estos mensajes. La entropía
puede ser intuitivamente entendida como el grado de ‘desorden’ en un sistema. En la teoría de la
información la entropía de un mensaje es igual a su cantidad de información media. Si en un
conjunto de mensajes, sus probabilidades son iguales, la fórmula para calcular la entropía total
sería: H = log2N, donde N es el número de mensajes posibles en el conjunto.
Codificación y redundancia
Si se transmiten mensajes que están formados por combinaciones aleatorias de las 26 letras
del alfabeto inglés, el espacio en blanco y cinco signos de puntuación, y si suponemos que la
probabilidad de cada mensaje es la misma, la entropía sería: H= log232 = 5. Esto significa que se
necesitan 5 bits para codificar cada caracter o mensaje: 00000, 00001, 00010, 11111. Una
transmisión y almacenamiento eficiente de la información exige la reducción del número de bits
utilizados en su codificación. Esto es posible cuando se codifican textos en inglés, porque la
colocación de las letras no es aleatoria. Así, por ejemplo, la probabilidad de que la letra que suceda
a la secuencia ‘informatio’ sea una “n” es muy alta.
Se puede demostrar que la entropía del inglés normal escrito es aproximadamente de un bit
por palabra. Esto demuestra que la lengua inglesa (como cualquier otra) tiene una gran cantidad de
redundancia incorporada, que se denomina redundancia natural. Esta redundancia permite, por
ejemplo, a una persona entender mensajes en los cuales faltan vocales, así como descifrar
escritura poco legible. En los sistemas de comunicación modernos, se añade redundancia artificial a
la codificación de mensajes, para reducir errores en la transmisión de los mismos.
Bibliografía:
Enciclopedia Microsof Encarta 97
Tecnologías de Control - Lecturas complementarias - Hoja 6/6
Descargar