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.
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.
- 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.
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.
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.
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.
- 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.
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.
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.
- 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.
- 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.
- 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.
- 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.
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.
- 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.
- 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.
Estos dispositivos traducen los bits y bytes a un forma comprensible para el usuario.
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.
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.
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.
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.
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.
- 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.
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.
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).
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.
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.
- 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.
- 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.
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.
- Biológicos o no biológicos.
- Naturales o artificiales.
- Los sistemas administrativos pueden ser de decisión gerencial (sistemas de información) u operativos (orientados a las transacciones).
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.
- 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.
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.
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.
Delito por computador: cualquier violación a la ley realizada por medio del conocimiento o el uso de la tecnología de computación.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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)
- 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.
- 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.
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
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.
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.
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.
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.
- 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.
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.
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
- Intercalación: Más de un programa se encuentra carga en el computador en condiciones de ejecutarse, ejecutándose o demorados. Pero todos ellos compartiendo tiempo de procesador y asignaciones de memoria.
- Instantaneidad: Se simula trabajar como si existiera un solo programa cargado, de ejecución instantánea.
Implica simultaneidad en vez de concurrencia. Dos o más procesadores centrales del mismo tipo trabajan paralelamente; es decir que dos o más programas pueden ejecutarse en el mismo momento porque existen dos o más CPU que comparten una memoria central común.
El nombre dado a un sistema de multiprocesamiento con diferentes procesadores es sistema de procesamiento multicomputarizado.
Un trabajo real en paralelo y una ejecución simultánea obliga a aplicar más de un procesador. El problema consiste en asignar una cantidad de procesadores n a una cantidad de programas m, donde generalmente n<m, pero sabiendo que n>1.
Cuando un programa termina o se detiene, uno de los procesadores asociados queda disponible y la lista de programas se podrá rastrear para asignar procesador a otro programa.
M
E
M
O
R
I
A
Sistema Operativo
La parte residente del sistema operativo estará en memoria durante la ejecución de los distintos programas. El área LIBRE será la destina a cada programa. Como cada programa ocupa una cantidad de memoria distinta, pueden encontrarse programas muy pequeños que desperdicien gran parte de la memoria real del computador y otro programas muy grandes que no entren en ella.
Libre
Es un método que consiste en que algunos o todos los programas que no se estén ejecutando (detenidos o en espera de entrada/salida) sean desplazados de memoria hacia un dispositivo periférico y luego vueltos a traer cuando vayan a continuar su ejecución.
Dentro de la modalidad de multiprogramación es la situación que se presenta cuando la memoria alcanza para que todos los programas que se están ejecutando intercaladamente residan en ella hasta su terminación.
El esquema de particiones reales se basa en la división de la memoria en particiones, cada una destinada a alojar un programa distinto. Hay dos grandes variantes:
- Particiones reales fijas: La memoria se estructura en número fijo de particiones, cada una con un tamaño dado. La cantidad de memoria de cada partición puede ser reasignada, pero ello requiere que no se esté ejecutando ningún programa en ninguna partición. Para definir el tamaño de las distintas particiones se debe considerar, entre otras cosas, el tamaño de los programas que se ejecutan. El desaprovechamiento más frecuente es el desperdicio de cada partición, ya que difícilmente los programas ocupen el tamaño justo de la partición.
- Particiones reales variables: Esta variante permite que la memoria asignada a un programa no sea contigua y, de esa forma, aprovechar los huecos que se generen a lo largo de la ejecución de otros programas. A su vez esta forma de partición admite 2 posibilidades:
- Independencia: Se trata de distintos programas, con distintas asignaciones de memoria y de dispositivos de entrada/salida.
- 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.
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.
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:
- 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.
- 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
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.
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.
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.
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.
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
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.
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.
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.
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
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.
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 (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.
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.
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..
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.
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.
- 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.
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.
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.
- 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.
- 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.
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.
- 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.
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
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.
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.
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.
- 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.
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.
- Full dúplex: Puede transmitir los datos simultáneamente en ambas direcciones, como si dos líneas simplex estuvieran trabajando en direcciones opuestas.
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:
- 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.
- 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.
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.
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.
En su mayor parte, las redes de computación son híbridas, es decir combinaciones de topologías.
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 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.
- 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.
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.
Autor:
Marina Ivnisky