Introduccion a la ISC_ISC - Servidor de Apoyo al Sistema

Anuncio
Introducción a la Ingenieria en
Sistemas Computacionales
Unidad
Temas
1
Dispositivos de
cómputo
2
Utilización de las
tecnologías de la
información y de
comunicación
Subtemas
1.1 Máquinas digitales y analógicas.
1.2 Los sistemas de numeración.
1.3 Hardware de una Computadora.
1.4 Componentes:
1.4.1 Circuitos lógicos,
procesador, memoria, reloj.
1.5 Estructura modular de una
computadora.
1.6 Dispositivos de almacenamiento.
1.7 Dispositivos de procesamiento.
1.8 Dispositivos de Entrada/Salida.
1.9 Software de cómputo
1.9.1 El sistema operativo.
1.9.2 Los lenguajes de
programación.
1.9.3 Las herramientas
productivas (ofimática).
1.9.4 Las aplicaciones.
1.10 Tipos de computadoras y sus
dispositivos.
2.1 Las Telecomunicaciones y el trabajo
distribuido y colaborativo.
2.1.1 Datos y sus formatos de
presentación (texto, gráfico,
audio, video)
2.1.2 Medios de transmisión
(fibra óptica, microondas)
2.1.3 Conectividad (redes locales,
red. Internet.
2.1.4 Ambientes de trabajo
colaborativo.
2.2 Servicios de Internet.
2.2.1 Web, correo electrónico,
chat, FTP.
2.3 Desarrollo de aplicaciones en
Internet.
2.3.1 Lenguaje de marcas
(HTML).
2.3.2 Lenguaje de scripts:
JavaScript (diseño de
páginas web, encuestas,
comercio electrónico)
3
Tecnologías de última
generación
3.1 La sociedad de la Información.
3.1.1 Comunicación.
3.1.2 Educación a distancia.
3.1.3 Diseño asistido por
computadora.
3.1.4 Ciencia, investigación e
ingeniería.
3.2 Aplicación de tecnologías
emergentes en los sectores
productivos, de servicios y de
gobierno.
3.3 Aspectos éticos de la actividad
profesional.
3.4 Software propietario y libre.
4
Modelos de
computadora.
4.1 Elementos de circuitos digitales
AND, OR, NOT.
4.2 Álgebra de Boole
4.2.1 El modelo Von Neumann.
4.2.2 Concepto de programa
almacenado.
4.2.3 Lenguaje de máquina
(instrucciones y datos).
4.2.4 Ciclo de ejecución de
instrucciones.
4.3 Algoritmos numéricos.
Unidad 1. Dispositivos de cómputo
1.1 Máquinas digitales y analógicas.
Clasificación de las Computadoras.
Las computadoras se clasifican por propósito en:
Propósito general:
Pueden procesar Información de negocios con la misma facilidad que procesan fórmulas
matemáticas complejas.
Pueden almacenar grandes cantidades de información y los grandes programas necesarios
para procesarla. Debido a que las computadoras de aplicación general son tan versátiles la
mayor parte de las empresas actuales las utilizan.
Propósito especial:
Tienen muchas de las características de las Computadoras de uso general pero se dedican a
tareas de procesamiento muy especializadas.
Se diseñan para manejar problemas específicos y no se aplican a otras actividades
computarizadas. Por ejemplo, las computadoras de aplicación especial pueden diseñarse
para procesar exclusivamente datos numéricos o para controlar completamente procesos
automatizados de fabricación.
Un simulador es un ejemplo de las computadoras de uso especifico y puede ser un simulador
de vuelo, de entrenamiento y en otros campos como la enfermería, la tecnología del cuarto
de operaciones, la administración de plantas nucleares, los vuelos espaciales, el atletismo, la
exploración marina, etc.
Las computadoras se clasifican por aplicación en:
Analógicas:
Las computadoras analógicas representan los números mediante una cantidad física, es
decir, asignan valores numéricos por medio de la medición física de una propiedad real,
como la longitud de un objeto, el ángulo entre dos líneas o la cantidad de voltaje que pasa a
través de un punto en un circuito eléctrico.
Las computadoras analógicas obtienen todos sus datos a partir de alguna forma de
medición.
Aún cuando es eficaz en algunas aplicaciones, este método de representar los datos es una
limitación de las computadoras analógicas.
La precisión de los datos usados en una computadora analógica está íntimamente ligada a la
precisión con que pueden medirse.
Digitales
Las computadoras digitales representan los datos o unidades separadas. La forma más
simple de computadora digital es contar con los dedos.
Cada dedo representa una unidad del artículo que se está contando. A diferencia de la
computadora analógica, limitada por la precisión de las mediciones que pueden realizarse, la
computadora digital puede representar correctamente los datos con tantas posiciones y
números que se requieran. Las sumadoras y las calculadoras de bolsillo son ejemplos
comunes de dispositivos construidos según los principios de la Computadora Digital.
Para obtener resultados, las computadoras analógicas miden, mientras que las
computadoras digitales cuentan.
Híbridas
Combinan las características más favorables de las computadoras digitales y analógicas
tienen la velocidad de las analógicas y la precisión de las digitales.
Generalmente se usan en problemas especiales en los que los datos de entrada provienen
de mediciones convertidas a dígitos y son procesados por una Computadora por ejemplo las
Computadoras Híbridas controlan el radar de la defensa de Estados Unidos y de los vuelos
comerciales.
Clasificación de la Computadoras Digitales de
Acuerdo a su Potencia y Precio
Las computadoras se clasifican por tamaño y potencia en:
Microcomputadoras :
Las microcomputadoras o Computadoras Personales (PC´s) tuvieron su origen con la
creación de los microprocesadores. Un microprocesador es "una computadora en un chip", o
sea un circuito integrado independiente. Las PC´s son computadoras para uso personal y
relativamente son baratas y actualmente se encuentran en las oficinas, escuelas y hogares.
El término PC se deriva de que para el año de 1981, IBM®, sacó a la venta su modelo "IBM
PC", la cual se convirtió en un tipo de computadora ideal para uso "personal", de ahí que el
término "PC" se estandarizó y los clones que sacaron posteriormente otras empresas fueron
llamados "PC y compatibles", usando procesadores del mismo tipo que las IBM , pero a un
costo menor y pudiendo ejecutar el mismo tipo de programas. Existen otros tipos de
microcomputadoras , como la Macintosh®, que no son compatibles con la IBM, pero que en
muchos de los casos se les llaman también "PC´s", por ser de uso personal. En la actualidad
existen variados tipos en el diseño de PC´s: Computadoras personales, con el gabinete tipo
minitorre, separado del monitor. Computadoras personales portátiles "Laptop" o "Notebook".
Computadoras personales más comunes, con el gabinete horizontal, separado del monitor.
Computadoras personales que están en una sola unidad compacta el monitor y el CPU. Las
computadoras "laptops" son aquellas computadoras que están diseñadas para poder ser
transportadas de un lugar a otro. Se alimentan por medio de baterías recargables , pesan
entre 2 y 5 kilos y la mayoría trae integrado una pantalla de LCD (Liquid Crys tal Display).
Estaciones de trabajo o Workstations Las estaciones de trabajo se encuentran entre las
Minicomputadoras y las macrocomputadoras (por el procesamiento).
Minicomputadoras :
En 1960 surgió la minicomputadora, una versión más pequeña de la Macrocomputadora. Al
ser orientada a tareas específicas, no necesitaba de todos los periféricos que necesita un
Mainframe, y esto ayudo a reducir el precio y costos de mantenimiento. Las
Minicomputadoras, en tamaño y poder de procesamiento, se encuentran entre los
mainframes y las estaciones de trabajo. En general, una minicomputadora, es un sistema
multiproceso (varios procesos en paralelo) capaz de soportar de 10 hasta 200 usuarios
simultáneamente. Actualmente se usan para almacenar grandes bases de datos,
automatización industrial y aplicaciones multiusuario.
Macrocomputadoras :
Las macrocomputadoras son también conocidas como Mainframes. Los mainframes son
grandes, rápidos y caros sistemas que son capaces de controlar cientos de usuarios
simultáneamente, así como cientos de dispositivos de entrada y salida. Los mainframes
tienen un costo que va desde 350,000 dólares hasta varios millones de dólares. De alguna
forma los mainframes son más poderosos que las supercomputadoras porque soportan más
programas simultáneamente. PERO las supercomputadoras pueden ejecutar un sólo
programa más rápido que un mainframe. En el pasado, los Mainframes ocupaban cuartos
completos o hasta pisos enteros de algún edificio, hoy en día, un Mainframe es parecido a
una hilera de archiveros en algún cuarto con piso falso, esto para ocultar los cientos de
cables d e los periféricos, y su temperatura tiene que estar controlada.
Supercomputadoras :
Una supercomputadora es el tipo de computadora más potente y más rápido que existe en
un momento dado. Estas máquinas están diseñadas para procesar enormes cantidades de
información en poco tiempo y son dedicadas a una tarea específica. Así mismo son las más
caras, sus precios alcanzan los 30 MILLONES de dólares y más; y cuentan con un control de
temperatura especial, esto para disipar el calor que algunos componentes alcanzan a tener.
Unos ejemplos de tareas a las que son expuestas las supercomputadoras son los siguientes:





Búsqueda y estudio de la energía y armas nucleares.
Búsqueda de yacimientos petrolíferos con grandes bases de datos sísmicos.
El estudio y predicción de tornados.
El estudio y predicción del clima de cualquier parte del mundo.
La elaboración de maquetas y proyectos de la creación de aviones, simuladores de
vuelo. Etc.
Debido a su precio, son muy pocas las supercomputadoras que se construyen en un año.
1.2 Los sistemas de numeración.
Los sistemas de numeración son conjuntos de dígitos usados para representar
cantidades, así se tienen los sistemas de numeración decimal, binario, octal,
hexadecimal, romano, etc. Los cuatro primeros se caracterizan por tener una base
(número de dígitos diferentes: diez, dos, ocho, dieciseis respectivamente) mientras
que el sistema romano no posee base y resulta más complicado su manejo tanto
con números, así como en las operaciones básicas.
Los sistemas de numeración que poseen una base tienen la característica de cumplir
con la notación posicional, es decir, la posición de cada número le da un valor o
peso, así el primer dígito de derecha a izquierda después del punto decimal, tiene
un valor igual a b veces el valor del dígito, y así el dígito tiene en la posición n un
valor igual a: (bn) * A
donde:
b = valor de la base del sistema
n = número del dígito o posición del mismo
A = dígito.
Por ejemplo:
digitos: 1 2 4 9 5 3 . 3 2 4
posicion 5 4 3 2 1 0 . -1 -2 -3
El sistema numérico decimal
El sistema de numeración decimal es el más usado, tiene como base el número 10,
o sea que posee 10 dígitos (o simbolos) diferentes (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). El
sistema de numeración decimal fué desarrollado por los hindúes, posteriormente lo
introducen los árabes en Europa, donde recibe el nombre de sistema de numeración
decimal o arábigo. Si se aplica la notación posicional al sistema de numeración
decimal entonces el dígito número n tiene el valor: (10n)* A
Sistema Binario
El sistema de numeración más simple que usa la notación posicional es el sistema
de numeración binario. Este sistema, como su nombre lo indica, usa solamente dos
dígitos (0,1).
Por su simplicidad y por poseer únicamente dos dígitos diferentes, el sistema de
numeración binario se usa en computación para el manejo de datos e información.
Normalmente al dígito cero se le asocia con cero voltios, apagado, desenergizado,
inhibido (de la computadora) y el dígito 1 se asocia con +5, +12 volts, encendido,
energizado (de la computadora) con el cual se forma la lógica positiva. Si la
asociación es inversa, o sea el número cero se asocia con +5 volts o encendido y al
número 1 se asocia con cero volts o apagado, entonces se genera la lógica
negativa.
A la representación de un dígito binario se le llama bit (de la contracción binary
digit) y al conjunto de 8 bits se le llama byte, así por ejemplo: 110 contiene 3 bits,
1001 contiene 4 y 1 contiene 1 bit. Como el sistema binario usa la notación
posicional entonces el valor de cada dígito depende de la posición que tiene en el
número, así por ejemplo el número 110101b es:
1*(20) + 0*(21) + 1*(22) + 0*(23) + 1*(24) + 1*(25) = 1 + 4 + 16 + 32 = 53d
La computadora está diseñada sobre la base de numeración binaria (base 2). Por
eso este caso particular merece mención aparte. Siguiendo las reglas generales
para cualquier base expuestas antes, tendremos que:
Existen dos dígitos (0 o 1) en cada posición del número.
Numerando de derecha a izquierda los dígitos de un número, empezando por cero,
el valor decimal de la posición es 2n.
Por ejemplo,11012 (en base 2) quiere decir:
1*(23) + 1*(22) + 0*(21) + 1*(20) = 8 + 4 + 0 + 1 = 1310
Sistema Octal
El sistema de numeración octal es también muy usado en la computación por tener
una base que es potencia exacta de 2 o de la numeración binaria. Esta característica
hace que la conversión a binario o viceversa sea bastante simple. El sistema octal
usa 8 dígitos (0,1,2,3,4,5,6,7) y tienen el mismo valor que en el sistema de
numeración decimal. Como el sistema de numeración octal usa la notación
posicional entonces para el número 3452.32q tenemos:
2*(80) + 5*(81) + 4*(82) + 3*(83) + 3*(8-1) + 2*(8-2) = 2 + 40 + 4*64 + 64 +
3*512 + 3*0.125 + 2*0.015625 = 2 + 40 + 256 + 1536 + 0.375 + 0.03125 =
1834 + 40625dentonces, 3452.32q = 1834.40625d
El subindice q indica número octal, se usa la letra q para evitar confusión entre la
letra o y el número 0.
Sistema Hexadecimal
Un gran problema con el sistema binario es la verbosidad. Para representar el valor
20210 se requieren ocho dígitos binarios, la versión decimal sólo requiere de tres
dígitos y por lo tanto los números se representan en forma mucho más compacta
con respecto al sistema numérico binario. Desafortunadamente las computadoras
trabajan en sistema binario y aunque es posible hacer la conversión entre decimal y
binario, ya vimos que no es precisamente una tarea cómoda. El sistema de
numeración hexadecimal, o sea de base 16, resuelve este problema (es común
abreviar hexadecimal como hex aunque hex significa base seis y no base dieciseis).
El sistema hexadecimal es compacto y nos proporciona un mecanismo sencillo de
conversión hacia el formato binario, debido a ésto, la mayoría del equipo de
cómputo actual utiliza el sistema numérico hexadecimal. Como la base del sistema
hexadecimal es 16, cada dígito a la izquierda del punto hexadecimal representa
tantas veces un valor sucesivo potencia de 16, por ejemplo, el número 123416 es
igual a:
1*163 + 2*162 + 3*161 + 4*160
lo que da como resultado:
4096 + 512 + 48 + 4 = 466010
Cada dígito hexadecimal puede representar uno de dieciseis valores entre 0 y 1510.
Como sólo tenemos diez dígitos decimales, necesitamos inventar seis dígitos
adicionales para representar los valores entre 1010 y 1510. En lugar de crear
nuevos simbolos para estos dígitos, utilizamos las letras A a la F. La conversión
entre hexadecimal y binario es sencilla, considere la siguiente tabla:
Binario
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Hexadecimal
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Esta tabla contiene toda la información necesaria para convertir de binario a
hexadecimal y visceversa. Para convertir un número hexadecimal en binario,
simplemente sustituya los correspondientes cuatro bits para cada dígito
hexadecimal, por ejemplo, para convertir 0ABCDh en un valor binario:
0 A B C D (Hexadecimal)
0000 1010 1011 1100 1101 (Binario)
Por comodidad, todos los valores numéricos los empezaremos con un dígito
decimal; los valores hexadecimales terminan con la letra h y los valores binarios
terminan con la letra b. La conversión de formato binario a hexadecimal es casi
igual de fácil, en primer lugar necesitamos asegurar que la cantidad de dígitos en el
valor binario es múltiplo de 4, en caso contrario agregaremos ceros a la izquierda
del valor, por ejemplo el número binario 1011001010, la primera etapa es agregarle
dos ceros a la izquierda para que contenga doce ceros: 001011001010. La siguiente
etapa es separar el valor binario en grupos de cuatro bits, así: 0010 1100 1010.
Finalmente buscamos en la tabla de arriba los correspondientes valores
hexadecimales dando como resultado, 2CA, y siguiendo la convención establecida:
02CAh.
1.3 Hardware de una Computadora.
Definicion de hardware .
Hardware, equipo utilizado para el funcionamiento de una computadora. El hardware
se refiere a los componentes materiales de un sistema informático. La función de estos
componentes suele dividirse en tres categorías principales:
1. ENTRADA
2. SALIDA
3. Y ALMACENAMIENTO.
Los componentes de esas categorías están conectados a través de un conjunto de
cables o circuitos llamado bus con la unidad central de proceso (CPU) del ordenador, el
microprocesador que controla la computadora y le proporciona capacidad de cálculo. El
soporte lógico o software, en cambio, es el conjunto de instrucciones que un ordenador
emplea para manipular datos: por ejemplo, un procesador de textos o un videojuego. Estos
programas suelen almacenarse y transferirse a la CPU a través del hardware de la
computadora. El software también rige la forma en que se utiliza el hardware, como por
ejemplo la forma de recuperar información de un dispositivo de almacenamiento. La
interacción entre el hardware de entrada y de salida es controlada por un software llamado
BIOS (siglas en inglés de 'sistema básico de entrada / salida'). Aunque, técnicamente, los
microprocesadores todavía se consideran hardware, partes de su función también están
asociadas con el software. Como los microprocesadores tienen tanto aspectos de hardware
como de software, a veces se les aplica el término intermedio de microprogramación, o
firmware.
1.4 Componentes:
1.4.1
reloj.
Circuitos lógicos, procesador, memoria,
Un circuito lógico es aquel que maneja la información en forma de "1" y "0", dos
niveles de voltaje fijos. "1" nivel alto y "0" nivel bajo
Estos circuitos están compuestos por elementos digitales como las compuertas



and (Y)
or (O)
not (No)
y combinaciones poco o muy complejas de estos.
Estas combinaciones dan lugar a otros tipos de elementos digitales como los
compuertas, entre otros






nand (No Y)
nor (No O)
or exclusiva (O exclusiva)
mutiplexores o multiplexadores
demultiplexores o demultiplexadores
decodificadores






codificadores
memorias
flip-flops
microprocesadores
microcontroladores
etc.
La electrónica moderna usa electrónica digital para realizar muchas funciones.
Aunque los circuitos electrónicos pueden resultar muy complejos, en realidad se
construyen de un número muy grande de circuitos muy simples.
En un circuito digital se transmite información binaria (ceros y unos) entre estos
circuitos y se consigue un circuito complejo con la combinación de bloques de
circuitos simples.
La información binaria se representa en la forma de "0" y "1", un interruptor
"abierto" o "cerrado", "On" y "Off", "falso" o "verdadero", en donde "0" representa
falso y "1" verdadero.
Los circuitos lógicos se pueden representar de muchas maneras. En los circuitos
siguientes la lámpara puede estar encendida o apagada ("on" o "off"), dependiendo
de la posición del interruptor. (apagado o encendido)
Los posibles estados del interruptor o interruptores que afectan un circuito se
pueden representar en una tabla de verdad. Las tablas de verdad pueden tener
muchas columnas, pero todas las tablas funcionan de igual forma. Hay siempre una
columna de salida que representa el resultado de todas las posibles combinaciones
de las entradas.
Tabla de verdad
Columna(s) de entrada
Columna de salida
Entrada (interruptor)
Salida (lámpara)
Abierto
Apagado
Cerrado
Encendido
El Número de columnas en una tabla de verdad depende de cuantas entradas hay +
1 (la columna de la salida), el número de filas representa la cantidad de
combinaciones en las entradas
Número de combinaciones = 2n, donde n es el número de columnas de la tabla de
verdad (menos la columna de salida)
Ejemplo: en la siguiente tabla hay 3 columnas de entrada, entonces habrán:
23 = 8 combinaciones (8 filas)
Un circuito con 3 interruptores de entrada (con estados binarios "0" o "1"), tendrá 8
posibles combinaciones. Siendo el resultado (la columna salida) determinado por el
estado de los interruptores de entrada.
Switch 1
0
0
0
0
1
1
1
1
Tabla de verdad
Switch 2
Switch 3
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
Salida
?
?
?
?
?
?
?
?
Los circuitos lógicos son básicamente un arreglo de interruptores, conocidos como
"compuertas lógicas" (compuertas AND, NAND, OR, NOR, NOT, etc) . Cada
compuerta lógica tiene su tabla de verdad. Y, si pudiéramos ver en mas detalle la
construcción de éstas, veríamos que es un circuito comprendido por transistores,
resistencias, diodos, etc. conectados de manera que se obtienen salidas específicas
para entradas específicas
La utilización extendida de las compuertas lógicas, simplifica el diseño y análisis de
circuitos complejos. La tecnología moderna actual permite la construcción de
circuitos integrados (IC´s) que se componen de miles (o millones) de compuertas
lógicas.
1.5 Estructura modular de una computadora.
1. Unidad central de proceso: También llamada CPU, o procesador del sistema.
Esta compuesto de las siguientes partes:


La unidad de control: coordina las actividades de la computadora, ejecutando
programas en forma ordenada y interactuando con las unidades de entrada y
salida.
La unidad aritmético-lógica (ALU): como su nombre lo indica es la parte de la
CPU que se encarga de todos las operaciones aritméticas básicas (suma,
resta, multiplicación, división, etc.) y lógicas (las operaciones: O lógica, Y
lógica, Negación, etc.)
2. Memoria: Parte de la computadora que almacena los programas (o parte de
ellos) y datos para que el programa que esté en funcionamiento cumpla su tarea. Es
por este motivo que esta memoria es de gran velocidad.
Existen dos tipos de memoria:



Memoria RAM: (Random Acces Memory) Memoria de acceso aleatorio. En este
tipo de memoria se puede escribir y leer, pero los datos almacenados en ella
desaparecerán si se desconecta la energía. Hay diferentes tipos de memoria
RAM, la estática SRAM (retiene los datos mientras haya energía) y la
dinámica DRAM (va perdiendo el dato que tiene almacenado y hay que
refrescarlos frecuentemente), por este motivo las SRAM son mas rápidas pero
tienen menos capacidad que una DRAM para un mismo dispositivo de
memoria.
VRAM: (Video RAM) Es un tipo especial de memoria RAM, que se utiliza en
adaptadores de video. Su principal diferencia es que puede ser accesada por
dos diferentes dispositivos en forma simultánea. Esto permite que un monitor
pueda acceder a la VRAM para actualizar la pantalla mientras que el
procesador gráfico suministra nuevos datos. Permite mejores rendimientos,
pero es más cara.
RAMBUS: Esta memoria es exclusiva de las Pentium 4, y trabaja a una
velocidad de 400 a 800 Mhz del bus de datos
NOTA: Tipos de presentación de la memoria RAM:


SIMM: (Single In line Memory Module). Es un encapsulado que
consta de un circuito impreso pequeño con los chips de memoria y
que se inserta generalmente en un zócalo SIMM en la placa madre
de la computadora. Hay de dos tipos de 30 y de 72 pines. Los de 30
vienen en capacidades de 256K y 1Mb y ya casi no se usan. Los de
72 vienen en versiones de 4, 8, 16, 32 . Su principal desventaja:
trabajan en pares.
DIMM: (Dual In line Memory Module). Igual que el anterior, pero se
inserta en un zócalo DIMM en la placa madre y utiliza un conector de
168 contactos.
Hay de varios tipos EDO, DRAM, SDRAM, PC100, PC133. No se
pueden mesclar DIMM y SIMM. Las DIMM EDO, DRAM. SDRAM
trabajan de 66 a 83 Mhz, wel PC100 a 100 Mhz y el PC133 a 133
Mhz. Estos Mhz. se refieren a la velocidad del bus de datos de la
tarjeta madre.
El DIMM EDO trabaja a 45 nanosegundos, DRAM y SDRAM a 15
nanosegundos, PC100 a 10 nanosegundos y PC133 a 7
nanosegundos. Mientras mas bajo los nanosegundos ,as rápida la
memoria.


DIP: (Dual In line Package) memoria almacenada en un tipo de
encapsulado rectangular con dos filas de pines de conexión a cada
lado. (antiguas)
Memoria ROM: (Read Only Memory) Memoria de sólo lectura. Este dispositivo
sólo permite leer la información que en el está grabada. Y no pierde la
información cuando se quita la energía. Normalmente vienen grabadas de
fábrica.
Existen variaciones de este tipo de memoria:
o
o
o
o
Memoria PROM: Cuando se compra está en blanco (vacía) y mediante
un proceso el usuario graba la información en ella, pero sólo una vez.
Memoria EPROM: (erasable PROM) Igual a la anterior pero que
mediante la exposición de una ventana, en la parte superior del
integrado, a la luz ultravioleta, por un periodo definido de tiempo, se
puede borrar.
Memoria EEPROM: (electrical erasable PROM) Igual a la anterior pero el
borrado se realiza eléctricamente
Memoria Flash: Tipo especial de EEPROM que puede ser borrada y
reprogramada dentro de una computadora. Los EEPROM necesitan un
dispositivo especial llamado lector de PROM.
3. Sistema de Buses: Los diferentes elementos que componen una computadora
se tienen que comunicar de alguna manera, y esta comunicación se realiza por los
llamados buses. Los buses son un conjunto de hilos o conexiones que llevan
información de todo tipo de un elemento a otro, transportando la información en
paralelo, (esto quiere decir, que los datos van por todos los hilos del bus
simultáneamente).
Hay 3 tipos de buses:

Bus de datos: Lleva los datos que es necesario enviar de un elemento a otro,
puede ser bidireccional (los datos pueden ir en uno u otro sentido). Existe un
bus de datos interno: (ejm: entre el microprocesador y la memoria) y uno
externo, entre la computadora y sus periféricos (ejm: Computadora e
impresora)


Bus de direcciones: Muchos de los elementos de una computadora así como
las posiciones de memoria tienen una dirección única dentro del sistema. De
esta dirección se puede leer un dato o en esta dirección podemos escribir un
dato. En el bus de direcciones se coloca la dirección del elemento a accesar y
con ayuda del bus de datos movemos la información de un elemento a otro.
Ejm: Si la CPU quiere leer unos datos de memoria para después enviarlo a la
impresora o la pantalla, primero pone en el bus de direcciones la dirección del
dato en memoria, lo lee (lo obtiene a través del bus de datos), después pone
en el bus de direcciones la otra dirección (la de pantalla o impresora) y
escribe (con ayuda del bus de datos). ¿Quién controla todo este proceso......?
Bus de control: Son hilos que transportan señales de control, dan la
información del estado de ciertos componentes, la dirección del flujo de la
información, controlan el momento (temporización) en que suceden ciertos
eventos de manera que no haya choques de datos, transmiten señales de
interrupción, etc.
4. Unidades de entrada: Son los elementos que permiten incluir datos al sistema.
Ejemplos: teclado, mouse (ratón). joystic, etc.
5. Unidades de salida: Son elementos que a diferencia de las unidades de
entrada, envían al exterior del sistema información. Ejemplo: Monitor (pantalla),
impresora, parlantes, etc.
6. Memoria auxiliar: Llamada también de almacenamiento masivo, secundaria o
externa. Este tipo es, al igual que la memoria ROM, no volátil (no se pierde la
información al quitarle la energía), y permite guardar información en grandes
cantidades. Entre las alternativas de este tipo de almacenamiento están: los
disquetes, la cinta magnética, los discos duros, los CD-ROM.
1.6 Dispositivos de almacenamiento.
EL hardware de almacenamiento sirve para almacenar permanentemente información y
programas que el ordenador deba recuperar en algún momento.
Los dos tipos principales de dispositivos de almacenamiento son las unidades de disco y la
memoria. Existen varios tipos de discos: duros, flexibles, magneto-ópticos y compactos. Las
unidades de disco duro almacenan información en partículas magnéticas integradas en un
disco.
La memoria está formada por chips que almacenan información que la CPU necesita
recuperar rápidamente.
La memoria de acceso aleatorio (RAM, siglas en inglés) se emplea para almacenar la
información e instrucciones que hacen funcionar los programas de la computadora.
Generalmente, los programas se transfieren desde una unidad de disco a la RAM. La RAM
también se conoce como memoria volátil, porque la información contenida en los chips de
memoria se pierde cuando se desconecta el ordenador.
La memoria de lectura exclusiva (ROM, siglas en inglés) contiene información y
software cruciales que deben estar permanentemente disponibles para el funcionamiento de
la computadora, por ejemplo el sistema operativo, que dirige las acciones de la máquina
desde el arranque hasta la desconexión. La ROM se denomina memoria no volátil porque los
chips de memoria ROM no pierden su información cuando se desconecta el ordenador.
Algunos dispositivos se utilizan para varios fines diferentes.
La memoria CMOS () hace posible que las instrucciones de iniciación no sean
permanentes. Emplea corriente de una bateria para detener datos virtuales de la
configuración del sistema, como las especificaciones de la unidad de disco duro y la hora,
aunque la maquina este apagada.
Un módem es un dispositivo que conecta una computadora con una línea telefónica y
permite intercambiar información con otro ordenador a través de dicha línea. Todos los
ordenadores que envían o reciben información deben estar conectados a un módem. El
módem del aparato emisor convierte la información enviada en una señal analógica que se
transmite por las líneas telefónicas hasta el módem receptor, que a su vez convierte esta
señal en información electrónica para el ordenador receptor.
Memoria Cache
La memoria cache es una memoria especial de alta velocidad que permite que el
microprocesador tenga acceso más rápido a los datos a menudo, tiene que esperar a que los
datos le lleguen de la RAM. El cache asegura que los datos esten disponibles de inmediato
cuadno los pida la unidad Central de Proceso.
Memoria Virtual
La Memoria Virtual es la capacidad de una computadora para usar el almacenamiento
en disco a fin de simular la RAM. Permite que las maquinas sin suficiente RAM trabajen
programas grandes, manipulen grandes archivos de datos y corran a la vez mas de un
programa.
Las unidades de disco duro, que suelen ser una parte permanente de la computadora,
pueden almacenar grandes cantidades de información y recuperarla muy rápidamente.
Las unidades de disco flexible también almacenan información en partículas magnéticas
integradas en discos intercambiables, que de hecho pueden ser flexibles o rígidos. Los discos
flexibles almacenan menos información que un disco duro, y la recuperación de la misma es
muchísimo más lenta.
Las unidades de disco magneto-óptico almacenan la información en discos
intercambiables sensibles a la luz láser y a los campos magnéticos. Pueden almacenar tanta
información como un disco duro, pero la velocidad de recuperación de la misma es algo
menor.
Las unidades de disco compacto o CD-ROM, almacenan información en las cavidades
grabadas en la superficie de un disco de material reflectante. La información almacenada en
un CD-ROM no puede borrarse ni sustituirse por otra información. Los CD-ROM pueden
almacenar aproximadamente la misma información que un disco duro, pero la velocidad de
recuperación de información es menor.
1.7 Dispositivos de procesamiento.
El CPU (Central Proccesor Unit) es el responsable de controlar el flujo de datos
(Actividades de Entrada y Salida E/S) y de la ejecución de las instrucciones de los
programas sobre los datos. Realiza todos los cálculos (suma, resta, multiplicación, división y
compara números y caracteres). Es el "cerebro” de la computadora.
Se divide en 3 Componentes
1.Unidad de Control (UC)
2.Unidad Aritmético/Lógica (UAL)
3.Área de almacenamiento primario (memoria)
Unidad de control
Es en esencia la que gobierna todas las actividades de la computadora, así como el
CPU es el cerebro de la computadora, se puede decir que la UC es el núcleo del CPU.
Supervisa la ejecución de los programas Coordina y controla al sistema de cómputo, es
decir, coordina actividades de E/S Determina que instrucción se debe ejecutar y pone a
disposición los datos pedidos por la instrucción. Determina donde se almacenan los datos y
los transfiere desde las posiciones donde están almacenado. Una vez ejecutada la
instrucción la Unidad de Control debe determinar donde pondrá el resultado para salida ó
para su uso posterior.
Unidad Aritmético/Lógica
Esta unidad realiza cálculos (suma, resta, multiplicación y división) y operaciones
lógicas (comparaciones). Transfiere los datos entre las posiciones de almacenamiento. Tiene
un registro muy importante conocido co mo: Acumulador ACC Al realizar operaciones
aritméticas y lógicas, la UAL mueve datos entre ella y el almacenamiento. Los datos usados
en el procesamiento se transfieren de su posición en el almacenamiento a la UAL. Los datos
se manipulan de acuerdo con las instrucciones del programa y regresan al almacenamiento.
Debido a que el procesamiento no puede efectuarse en el área de almacenamiento, los datos
deben transferirse a la UAL. Para terminar una operación puede suceder que los datos pasen
de la UAL al área de almacenamient o varias veces.
1.8 Dispositivos de Entrada/Salida.
Hardware de entrada .
El hardware de entrada consta de dispositivos externos -esto es, componentes situados
fuera de la CPU de la computadora- que proporcionan información e instrucciones.
Un teclado permite capturar texto para poder visualizar la información en el monitor y/o
impresora, permite ejecutar comandos.
Un scanner convierten texto, fotografías a color ó en Blanco y Negro a una forma que
puede leer una computadora. Después esta imagen puede ser modificada, impresa y
almacenada. Son capaces de digitalizar una página de gráficas en unos segund os y
proporcionan una forma rápida, fácil y eficiente de ingresar información impresa en una
computadora; también se puede ingresar información si se cuenta con un Software especial
llamado OCR (Reconocimiento óptico de caracteres).
Un lápiz óptico es un puntero con un extremo fotosensible que se emplea para dibujar
directamente sobre la pantalla, o para seleccionar información en la pantalla pulsando un
botón en el lápiz óptico o presionando el lápiz contra la superficie de la pantalla. El lápiz
contiene sensores ópticos que identifican la parte de la pantalla por la que se está pasando.
Un mouse o ratón, es un dispositivo apuntador diseñado para ser agarrado con una mano.
Cuenta en su parte inferior con un dispositivo detector (generalmente una bola) que permite
al usuario controlar el movimiento de un cursor en la pantalla deslizando el mouse por una
superficie plana. Para seleccionar objetos o elegir instrucciones en la pantalla, el usuario
pulsa un botón del mouse.
Un joystick es un dispositivo formado por una palanca que se mueve en varias direcciones
y dirige un cursor u otro objeto gráfico por la pantalla de la computadora. Un teclado es un
dispositivo parecido a una máquina de escribir, que permite al usuario introducir textos e
instrucciones. Algunos teclados tienen teclas de función especiales o dispositivos
apuntadores integrados, como trackballs (bolas para mover el cursor) o zonas sensibles al
tacto que permiten que los movimientos de los dedos del usuario dirijan un cursor en la
pantalla.
Un digitalizador óptico emplea dispositivos fotosensibles para convertir imágenes (por
ejemplo, una fotografía o un texto) en señales electrónicas que puedan ser manipuladas por
la máquina. Por ejemplo, es posible digitalizar una fotografía, introducirla en una
computadora e integrarla en un documento de texto creado en dicha computadora. Los dos
digitalizadores más comunes son el digitalizador de campo plano (similar a una
fotocopiadora de oficina) y el digitalizador manual, que se pasa manualmente sobre la
imagen que se quiere procesar.
Un micrófono es un dispositivo para convertir sonidos en señales que puedan ser
almacenadas, manipuladas y reproducidas por el ordenador. Un módulo de reconocimiento
de voz es un dispositivo que convierte palabras habladas en información que el ordenador
puede reconocer y procesar.
Tableta digitalizadora es una superficie de dibujo con un medio de señalización que
funciona como un lápiz. La tableta convierte los movimientos de este apuntador en datos
digitalizados que pueden ser leídos por ciertos paquetes de cómputo. Los tamaños varían
desde tamaño carta hasta la cubierta de un escritorio.
Pantallas sensibles al tacto (Screen Touch) permiten dar comandos a la computadora
tocando ciertas partes de la pantalla. Muy pocos programas de software trabajan con ellas y
los usuarios se quejan de que las pantallas están muy lejos del teclado. Su aceptación ha
sido muy reducida. Algunas tiendas departamentales emplean este tipo de tecnología para
ayudar a los clientes a encontrar los bienes o servicios dentro de la tienda. Lectores de
código de barras Son rastreadores que leen las barras verticales que conforman un código.
Esto se conoce como Punto de Venta (PDV). Las tiendas de comestibles utilizan el código
Universal de Productos (CUP ó UPC). Este código i dentifica al producto y al mismo tiempo
realiza el ticket descuenta de inventario y hará una orden de compra en caso de ser
necesario. Algunos lectores están
instalados en una superficie física y otros se operan
manualmente.
Harware de salida.
El hardware de salida consta de dispositivos externos que transfieren información de la
CPU de la computadora al usuario informático.
La pantalla convierte la información generada por el ordenador en información visual. Las
pantallas suelen adoptar una de las siguientes formas: un monitor de rayos catódicos o una
pantalla de cristal líquido (LCD, siglas en inglés). En el monitor de rayos catódicos,
semejante a un televisor, la información procedente de la CPU se representa empleando un
haz de electrones que barre una superficie fosforescente que emite luz y genera imágenes.
Las pantallas LCD son más planas y más pequeñas que los monitores de rayos catódicos, y
se emplean frecuentemente en ordenadores portátiles.
Las impresoras reciben textos e imágenes de la computadora y los imprimen en papel.
Las impresoras matriciales emplean minúsculos alambres que golpean una cinta
entintada formando caracteres.
Las impresoras láser emplean haces de luz para trazar imágenes en un tambor que
posteriormente recoge pequeñas partículas de un pigmento negro denominado tóner. El
tóner se aplica sobre la hoja de papel para producir una imagen.
Las impresoras de inyección de tinta lanzan pequeñas gotas de tinta sobre el papel para
formar caracteres e imágenes.
Los Plotters son grandes impresoras basadas en plumillas de colores que permiten a los
Arquitectos o Ingenieros convertir un plano o trazo de líneas contenido en la memoria de su
computadora en un auténtico gran plano listo para su envió, ahorrando mediante éstos
sofisticados implementos tanto el diseño a mano de los planos como la heliografía necesaria
para su reproducción.
1.9 Software de cómputo
Definicion de SOFTWARE .
Programas de computadoras. Son las instrucciones responsables de
que el hardware (la máquina) realice su tarea. Como concepto general, el
software puede dividirse en varias categorías basadas en el tipo de trabajo
realizado.Sistemas Operativos, Lenguajes de Programación, Software de uso
general, Software de Aplicación. (algunos autores consideran la 3era y 4ta
clasificación como una sola). Las dos categorías primarias de software son
los
1. Sistemas operativos (software del sistema), que controlan los trabajos
del ordenador o computadora, y
2. El software de aplicación, que dirige las distintas tareas para las que se
utilizan las computadoras. Por lo tanto, el software del sistema procesa
tareas tan esenciales, aunque a menudo invisibles, como el
mantenimiento de los archivos del disco y la administración de la
pantalla, mientras que el software de aplicación lleva a cabo tareas de
tratamiento de textos, gestión de bases de datos y similares.
Constituyen dos categorías separadas el software de red, que permite
comunicarse a grupos de usuarios, y el software de lenguaje utilizado
para escribir programas . Además de estas categorías basadas en
tareas, varios tipos de software se describen basándose en su método
de distribución. Entre estos se encuentran los así llamados programas
enlatados, el software desarrollado por compañías y vendido
principalmente por distribuidores, el freeware y software de dominio
público, que se ofrece sin costo alguno, el shareware, que es similar al
freeware, pero suele conllevar una pequeña tasa a pagar por los
usuarios que lo utilicen profesionalmente y, por último, el infame
vapourware, que es software que no llega a presentarse o que aparece
mucho después de lo prometido.
1.9.1
El sistema operativo.
Clasificaciones del Software.
El software se clasifica en 4 diferentes Categorías: Sistemas
Operativos, Lenguajes de Programación, Software de uso general, Software
de Aplicación. (algunos autores consideran la 3era y 4ta clasificación como
una sola).
Sistemas Operativos :
El sistema operativo es el gestor y organizador de todas las actividades
que realiza la computadora. Marca las pautas según las cuales se
intercambia información entre la memoria central y la externa, y determina
las operaciones elementales que puede realizar el procesador. El sistema
operativo, debe ser cargado en la memoria central antes que ninguna otra
información. Lenguajes de Programación Mediante los programas se indica a
la computadora que tarea debe realizar y cómo efectuarla , pero para ello es
preciso introducir estas órdenes en un lenguaje que el sistema pueda
entender. En principio, el ordenador sólo entiende las instrucciones en código
máquina, es decir ,el específico de la computadora. Sin embargo, a partir de
éstos se elaboran los llamados lenguajes de alto y bajo nivel.
Software de Uso General :
El software para uso general ofrece la estructura para un gran número de
aplicaciones empresariales, científicas y personales. El software de hoja de
cálculo, de diseño asistido por computadoras (CAD), de procesamiento de
texto, de manejo de Bases de Datos, pertenece a esta categoría. La mayoría
de software para uso general se vende como paquete; es decir, con software
y documentación orientada al usuario ( manuales de referencia, plantillas de
teclado y demás ).
Software de aplicaciones :
El software de aplicación esta diseñado y escrito para realizar tareas
específicas personales,,empresariales o científicas como el procesamiento de
nóminas, la administración de los recursos humanos o el control de
inventarios. Todas éstas aplicacion es procesan datos (recepción de
materiales) y generan información (registros de nómina). para el usuario.
Sistemas Operativos Un sistema Operativo (SO) es en sí mismo un programa
de computadora. Sin embargo, es un programa muy especial, quizá el más
complejo e importante en una computadora. El SO despierta a la
computadora y hace que reconozca a la CPU, la memoria, el tecla do, el
sistema de vídeo y las unidades de disco. Además, proporciona la facilidad
para que los usuarios se comuniquen con la computadora y sirve de
plataforma a partir de la cual se corran programas de aplicación. Cuando
enciendes una computadora, lo primero que ésta hace es llevar a cabo un
autodiagnóstico llamado autoprueba de encendido (Power On Self Test,
POST). Durante la POST, la computadora indentifica su memoria, sus discos,
su teclado, su sistema de vídeo y cualquier otro dispositivo conectado a ella.
Lo siguiente que la computadora hace es buscar un SO para arrancar (boot).
SOFTWARE DE SISTEMAS OPERATIVOS .
Sistema operativo, software básico que controla una computadora. El
sistema operativo tiene tres grandes funciones: coordina y manipula el
hardware de la computadora, como la memoria, las impresoras, las unidades
de disco, el teclado o el mouse; organiza los archivos en diversos dispositivos
de almacenamiento, como discos flexibles, discos duros, discos compactos o
cintas magnéticas, y gestiona los errores de hardware y la pérdida de
datos.Una vez que la computadora ha puesto en marcha su SO, mantiene al
menos parte de éste en su memoria en todo momento. Mientras la
computadora esté encendida, el SO tiene 4 tareas principales.:


Proporcionar ya sea una interfaz de línea de comando o una interfaz
gráfica al usuario, para que este último se pueda comunicar con la
computadora. Interfaz de línea de comando: tú introduces palabras y
símbolos desde el teclado de la computadora, ejemplo, el MS-DOS.
Interfaz gráfica del Usuario (GUI), seleccionas las acciones mediante el
uso de un Mouse para pulsar sobre figuras llamadas iconos o
seleccionar opciones de los menús.
Administrar los dispositivos de hardware en la computadora · Cuando
corren los programas, necesitan utilizar la memoria, el monitor, las


unidades de disco, los puertos de Entrada/Salida (impresoras,
módems, etc). El SO sirve de intermediario entre los programas y el
hardware.
Administrar y mantener los sistemas de archivo de disco · Los SO
agrupan la información dentro de compartimentos lógicos para
almacenarlos en el disco. Estos grupos de información son llamados
archivos. Los archivos pueden contener instrucciones de programas o
información creada por el usuario. El SO mantiene una lista de los
archivos en un disco, y nos proporciona las herramientas necesarias
para organizar y manipular estos archivos.
Apoyar a otros programas. Otra de las funciones importantes del SO es
proporcionar servicios a otros programas. Estos servicios son similares
a aquellos que el SO proporciona directamente a los usuarios. Por
ejemplo, listar los archivos, grabarlos a disco, eliminar archivos,
revisar espacio disponible, etc. Cuando los programadores escriben
programas de computadora, incluyen en sus programas instrucciones
que solicitan los servicios del SO. Estas instrucciones son conocidas
como "llamadas del sistema"
CÓMO FUNCIONA UN SISTEMA OPERATIVO
Los sistemas operativos controlan diferentes procesos de la
computadora. Un proceso importante es la interpretación de los comandos
que permiten al usuario comunicarse con el ordenador. Algunos intérpretes
de instrucciones están basados en texto y exigen que las instrucciones sean
tecleadas. Otros están basados en gráficos, y permiten al usuario
comunicarse señalando y haciendo clic en un icono. Por lo general, los
intérpretes basados en gráficos son más sencillos de utilizar. Los sistemas
operativos pueden ser de tarea única o multitarea. Los sistemas operativos
de tarea única, más primitivos, sólo pueden manejar un proceso en cada
momento. Por ejemplo, cuando la computadora está imprimiendo un
documento, no puede iniciar otro proceso ni responder a nuevas
instrucciones hasta que se termine la impresión. Todos los sistemas
operativos modernos son multitarea y pueden ejecutar varios procesos
simultáneamente. En la mayoría de los ordenadores sólo hay una UCP; un
sistema operativo multitarea crea la ilusión de que varios procesos se
ejecutan simultáneamente en la UCP. El mecanismo que se emplea más a
menudo para lograr esta ilusión es la multitarea por segmentación de
tiempos, en la que cada proceso se ejecuta individualmente durante un
periodo de tiempo determinado. Si el proceso no finaliza en el tiempo
asignado, se suspende y se ejecuta otro proceso. Este intercambio de
procesos se denomina conmutación de contexto. El sistema operativo se
encarga de controlar el estado de los procesos suspendidos. También cuenta
con un mecanismo llamado planificador que determina el siguiente proceso
que debe ejecutarse. El planificador ejecuta los procesos basándose en su
prioridad para minimizar el retraso percibido por el usuario. Los procesos
parecen efectuarse simultáneamente por la alta velocidad del cambio de
contexto. Los sistemas operativos pueden emplear memoria virtual para
ejecutar procesos que exigen más memoria principal de la realmente
disponible. Con esta técnica se emplea espacio en el disco duro para simular
la memoria adicional necesaria. Sin embargo, el acceso al disco duro
requiere más tiempo que el acceso a la memoria principal, por lo que el
funcionamiento del ordenador resulta más lento.
Sistemas Operativos más comunes :
MS-DOS
Es el más común y popular de todos los Sistemas Operativos para PC.
La razón de su continua popularidad se debe al aplastante volumen de
software disponible y a la base instalada de computadoras con procesador
Intel. Cuando Intel liberó el 80286, D OS se hizo tan popular y firme en el
mercado que DOS y las aplicaciones DOS representaron la mayoría del
mercado de software para PC.
OS/2.
OS/2 es un sistema operativo multitarea que fue desarrollado originalmente
entre IBM y Microsoft como un sucesor multiproceso del DOS para PC’s y es
bastante usado por empresas en aplicaciones críticas, servidores,
comunicaciones y por usuarios particulares.
Unix
UNIX designa el núcleo de un sistema operativo multiusuario y multitarea. En
un sentido más amplio, comprende el núcleo del sistema operativo más un
conjunto de programas que permiten compilar lenguajes de programación,
editar texto, interpretar comandos, manejar archivos y discos, acceder a
otras máquinas, establecer comunicaciones telefónicas, enviar y recibir
correo electrónico, manejar las colas de impresión y un sinfín de tareas más.
Algunos de estos programas pueden haber sido desarrollados por los propios
usuarios.
UNIX designa al mismo tiempo un cierto "ambiente de trabajo", un conjunto
de circunstancias que encuentra el usuario de la computadora donde corre
UNIX, tales como la presentación en pantalla, los programas disponibles y la
forma de trabajo que impone o permite.
NetWare.
NetWare es un sistema operativo de red (NOS) de computadoras
desarrollado por la empresa Novell. Es un conjunto de aplicaciones diseñadas
para conectar, gestionar y mantener una red y sus servicios. Una red
NetWare utiliza el software NetWare para habilitar la comunicación entre
dispositivos y el compartimiento de recursos. NetWare es un conjunto de
componentes software. Algunos de estos componentes sólo se pueden
ejecutar desde el servidor de NetWare. Otros sólo se pueden ejecutar desde
las estaciones de trabajo.
Windows NT.
Windows NT es un sistema operativo que fue desarrollado por Microsoft para
superar los obstáculos impuestos por la vieja arquitectura de sus sistemas
operativos MS-DOS, Windows 3.x y 9.x. NT es un sistema operativo
completo, que puede ser instalado sobre un equipo nuevo sin necesidad de
software adicional, como le ocurre a Windows 3.x, y que ofrece nuevas
tecnologías para el desarrollo y ejecución de todo tipo de aplicaciones.
1.9.2
Los lenguajes de programación.
Al desarrollarse las primeras computadoras electrónicas, se vio la necesidad de
programarlas, es decir, de almacenar en memoria la información sobre la tarea que
iban a ejecutar. Las primeras se usaban como calculadoras simples; se les indicaban
los pasos de cálculo, uno por uno.
John Von Neumann desarrolló el modelo que lleva su nombre, para describir este
concepto de "programa almacenado". En este modelo, se tiene una abstracción de
la memoria como un conjunto de celdas, que almacenan simplemente números.
Estos números pueden representar dos cosas: los datos, sobre los que va a trabajar
el programa; o bien, el programa en sí.
¿Cómo es que describimos un programa como números? Se tenía el problema de
representar las acciones que iba a realizar la computadora, y que la memoria, al
estar compuesta por switches correspondientes al concepto de bit, solamente nos
permitía almacenar números binarios.
La solución que se tomó fue la siguiente: a cada acción que sea capaz de realizar
nuestra computadora, asociarle un número, que será su código de operación
(opcode) . Por ejemplo, una calculadora programable simple podría asignar los
opcodes :
1 = SUMA, 2 = RESTA, 3 = MULTIPLICA, 4 = DIVIDE.
Supongamos que queremos realizar la operación 5 * 3 + 2, en la calculadora
descrita arriba. En memoria, podríamos "escribir" el programa de la siguiente
forma:
Localidad Opcode Significado Comentario 0 5 5 En esta localidad, tenemos el primer
número de la fórmula 1 3 * En esta localidad, tenemos el opcode que representa la
multiplicación. 2 3 3 En esta localidad, tenemos el segundo número de la fórmula 3
1 + En esta localidad, tenemos el opcode que representa la suma. 4 2 2 En esta
localidad, tenemos el último número de la fórmula
Podemos ver que con esta representación, es simple expresar las operaciones de las
que es capaz el hardware (en este caso, nuestra calculadora imaginaria), en la
memoria.
La descripción y uso de los opcodes es lo que llamamos lenguaje de máquina . Es
decir, la lista de códigos que la máquina va a interpretar como instrucciones,
describe las capacidades de programación que tenemos de ella; es el lenguaje más
primitivo, depende directamente del hardware, y requiere del programador que
conozca el funcionamiento de la máquina al más bajo nivel.
los lenguajes más primitivos fueron los lenguajes de máquina. Esto, ya que el
hardware se desarrolló antes del software, y además cualquier software finalmente
tiene que expresarse en el lenguaje que maneja el hardware.
La programación en esos momentos era sumamente tediosa, pues el programador
tenía que "bajarse" al nivel de la máquina y decirle, paso a pasito, cada punto de la
tarea que tenía que realizar. Además, debía expresarlo en forma numérica; y por
supuesto, este proceso era propenso a errores, con lo que la productividad del
programador era muy limitada. Sin embargo, hay que recordar que en estos
momentos, simplemente aún no existía alternativa.
El primer gran avance que se dio, como ya se comentó, fue la abstracción dada por
el Lenguaje Ensamblador, y con él, el nacimiento de las primeras herramientas
automáticas para generar el código máquina. Esto redujo los errores triviales, como
podía ser el número que correspondía a una operación, que son sumamente
engorrosos y difíciles de detectar, pero fáciles de cometer. Sin embargo, aún aquí
es fácil para el programador perderse y cometer errores de lógica, pues debe bajar
al nivel de la forma en que trabaja el CPU, y entender bien todo lo que sucede
dentro de él.
Con el desarrollo en los 50s y 60s de algoritmos de más elevado nivel, y el aumento
de poder del hardware, empezaron a entrar al uso de computadoras científicos de
otras ramas; ellos conocían mucho de Física, Química y otras ramas similares, pero
no de Computación, y por supuesto, les era sumamente complicado trabajar con
lenguaje Ensamblador en vez de fórmulas. Así, nació el concepto de Lenguaje de
Alto Nivel, con el primer compilador de FORTRAN (FORmula TRANslation), que,
como su nombre indica, inició como un "simple" esfuerzo de traducir un lenguaje de
fórmulas, al lenguaje ensamblador y por consiguiente al lenguaje de máquina. A
partir de FORTRAN, se han desarrollado innumerables lenguajes, que siguen el
mismo concepto: buscar la mayor abstracción posible, y facilitar la vida al
programador, aumentando la productividad, encargándose los compiladores o
intérpretes de traducir el lenguaje de alto nivel, al lenguaje de computadora.
Hay que notar la existencia de lenguajes que combinan características de los de alto
nivel y los de bajo nivel (es decir, Ensamblador). Mi ejemplo favorito es C: contiene
estructuras de programación de alto nivel, y la facilidad de usar librerías que
también son características de alto nivel; sin embargo, fue diseñado con muy pocas
instrucciones, las cuales son sumamente sencillas, fáciles de traducir al lenguaje de
la máquina; y requiere de un entendimiento apropiado de cómo funciona la
máquina, el uso de la memoria, etcétera. Por ello, muchas personas consideramos a
lenguajes como C (que fue diseñado para hacer sistemas operativos), lenguajes de
nivel medio.
Java
El lenguaje de programación Java, fue diseñado por la compañía Sun Microsystems
Inc, con el propósito de crear un lenguaje que pudiera funcionar en redes
computacionales heterogéneas ( redes de computadoras formadas por más de un
tipo de computadora, ya sean PC, MAC's, estaciones de trabajo, etc.),y que fuera
independiente de la plataforma en la que se vaya a ejecutar. Esto significa que un
programa de Java puede ejecutarse en cualquier máquina o plataforma. El lenguaje
fue diseñado con las siguientes características en mente:








Simple. Elimina la complejidad de los lenguajes como "C" y da paso al
contexto de los lenguajes modernos orientados a objetos. Orientado a Objetos. La
filosofía de programación orientada a objetos es diferente a la programación
convencional.
Familiar. Como la mayoría de los programadores están acostumbrados a
programar en C o en C++, el sintaxis de Java es muy similar al de estos.
Robusto. El sistema de Java maneja la memoria de la computadora por ti. No
te tienes que preocupar por apuntadores, memoria que no se esté utilizando, etc.
Java realiza todo esto sin necesidad de que uno se lo indique.
Seguro. El sistema de Java tiene ciertas políticas que evitan se puedan
codificar virus con este lenguaje. Existen muchas restricciones, especialmente para
los applets, que limitan lo que se puede y no puede hacer con los recursos críticos
de una computadora.
Portable. Como el código compilado de Java (conocido como byte code) es
interpretado, un programa compilado de Java puede ser utilizado por cualquier
computadora que tenga implementado el interprete de Java.
Independiente a la arquitectura. Al compilar un programa en Java, el código
resultante un tipo de código binario conocido como byte code. Este códido es
interpretado por diferentes computadoras de igual manera, solamente hay que
implementar un intérprete para cada plataforma. De esa manera Java logra ser un
lenguaje que no depende de una arquitectura computacional definida.
Multithreaded. Un lenguaje que soporta multiples threads es un lenguaje que
puede ejecutar diferentes líneas de código al mismo tiempo.
Interpretado. Java corre en máquina virtual, por lo tanto es interpretado.

Dinámico. Java no requiere que compiles todas las clases de un programa
para que este funcione. Si realizas una modificación a una clase Java se encarga de
realizar un Dynamic Bynding o un Dynamic Loading para encontrar las clases.
Java puede funcionar como una aplicación sola o como un "applet", que es un
pequeño programa hecho en Java. Los applets de Java se pueden "pegar" a una
página de Web (HTML), y con esto puedes tener un programa que cualquier persona
que tenga un browser compatible podrá usar.
Nota:Diferencia entre Java y CGI La diferencia es esencialmente simple, un
CGI se ejecuta en el servidor mientras que un programa en Java se ejecuta
en la máquina del usuario.
Java funciona de la siguiente manera: El compilador de Java deja el programa en un
Pseudo-código (no es código maquinal) y luego el intérprete de Java ejecuta el
programa (lo que se conoce como el "Java Virtual Machine"). Por eso Java es
multiplataforma, existe un intérprete para cada máquina diferente. Nota: El código
maquinal es el código binario que la computadora entiende y puede
ejecutar.
Para entender bien como funciona un applet de Java vean el siguiente ejemplo:
1. Existe un código de Java en un servidor de Web. (Los códigos de Java se
caracterizan por tener la extensión *.class).
2. Una persona en Internet, con un browser compatible con Java, realiza una
conección al servidor.
3. El servidor envía el documento HTML y el código en Java (*.class).
4. En la computadora del usuario remoto llegan ambos, y la Máquina Virtual de
Java, que está en el browser, transforma el código Java en un código que
entienda la máquina local y se ejecuta el programa dentro de la página de
Web.
5. Si el usuario realiza otra conexión a otro URL o se sale del browser, el
programa se deja de ejecutar y en la computadora no queda rastro de el.
Ejemplo de tutorial de Java:
En Java hay tres tipos de comentarios:
// comentarios para una sola línea
/* comentarios de una o
más líneas
*/
/** comentario de documentación, de una o más líneas
*/
Los dos primeros tipos de comentarios son los que todo programador conoce y se
utilizan del mismo modo. Los comentarios de documentación, colocados
inmediatamente antes de una declaración (de variable o función), indican que ese
comentario ha de ser colocado en la documentación que se genera
automáticamente cuando se utiliza la herramienta de Java, javadoc. Dichos
comentarios sirven como descripción del elemento declarado permitiendo generar
una documentación de nuestras clases escrita al mismo tiempo que se genera el
código.
En este tipo de comentario para documentación, se permite la introducción de
algunos tokens o palabras clave, que harán que la información que les sigue
aparezca de forma diferente al resto en la documentación.
Identificadores
Los identificadores nombran variables, funciones, clases y objetos; cualquier cosa
que el programador necesite identificar o usar.
En Java, un identificador comienza con una letra, un subrayado (_) o un símbolo de
dólar ($). Los siguientes caracteres pueden ser letras o dígitos. Se distinguen las
mayúsculas de las minúsculas y no hay longitud máxima.
Serían identificadores válidos:
identificador
nombre_usuario
Nombre_Usuario
_variable_del_sistema
$transaccion
y su uso sería, por ejemplo:
int contador_principal;
char _lista_de_ficheros;
float $cantidad_en_Ptas;
Unix
Ejemplo de Unix:
No todo el "árbol" de directorios está compuesto por directorios de usuario. Existen
muchos de ellos que son de uso general o del propio sistema y con los que habrá
que familiarizarse. Los más importantes son:
/
El raíz, del que "cuelgan" todos.
/bin y /usr/bin
Contienen comandos UNIX ejecutables.
/etc
Es quizá el directorio más importante. Contiene ficheros de datos y configuración del
sistema, el fichero de password, configuración de terminales, red, etc (de ahí su
nombre).
/dev
Ficheros de dispositivos E/S.
/usr/man
Manual
/tmp
Directorio para arreglos temporales. TODOS los usuarios pueden leer y escribir en
él.
C
C es un lenguaje de programación diseñado por Dennis Ritchie, de los Laboratorios
Bell, y
se instaló en un PDP-11 en 1972; se diseñó para ser el lenguaje de los Sistemas
Operativos
UNIX1. A su vez, UNIX es un Sistema Operativo desarrollado por Ken Thompson,
quién
utilizó el lenguaje ensamblador y un lenguaje llamado B para producir las versiones
originales de UNIX, en 1970. C se inventó para superar las limitaciones de B.
C es un lenguaje maduro de propósitos generales que se desarrolló a partir de estas
raíces;
su definición aparece en 1978 en el apéndice ``C Reference Manual'' del libro The C
Programming Language, de Brian W. Kernighan y Dennis M. Ritchie (Englewood
Cliffs,
Nueva Jersey, Prentice-Hall 1978), pero el estándar recomendable más reciente
apareció en
junio de 1983, en el documento de los Laboratorios Bell titulado The C Programming
Language-Reference Manual, escrito por Dennis M. Ritchie
Un programa en C
Generalizando, un programa en C consta de tres secciones. La primera sección es
donde van todos los ``headers''. Estos ``headers'' son comúnmente los ``#define''
y los ``#include''. Como segunda sección se tienen las ``funciones''. Al igual que
Pascal, en C todas las funciones que se van a ocupar en el programa deben ir antes
que la función principal (main()). Declarando las funciones a ocupar al principio del
programa, se logra que la función principal esté antes que el resto de las funciones.
Ahora, solo se habla de funciones ya que en C no existen los procedimientos.
Y como última sección se tiene a la función principal, llamada main. Cuando se
ejecuta el programa, lo primero que se ejecuta es esta función, y de ahí sigue el
resto del programa.
Los símbolos { y } indican ``begin'' y ``end'' respectivamente. Si en una función o
en un ciclo while, por ejemplo, su contenido es de solamente una línea, no es
necesario usar ``llaves'' ({ }), en caso contrario es obligación usarlos.
Ejemplo de un programa en C
/*Programa ejemplo que despliega el contenido de "ROL" en pantalla*/
#include <stdio.h>
#define ROL "9274002-1"
despliega_rol() {
printf("Mi rol es : \%s\n", ROL);
}
void main() {
despliega_rol();
}
/* Fin programa */
Pascal
Pascal es un lenguaje de programación de alto nivel de propósito general; esto es,
se puede utilizar para escribir programas para fines científicos y comerciales.
El lenguaje de programación Pascal fue desarrollado por el profesor Niklaus
(Nicolás) Wirth en Zurich, Zuiza, al final de los años 1960s y principios de los 70s.
Wirth diseñó este lenguaje para que fuese un buen primer lenguaje de
programación para personas comenzando a aprender a programar. Pascal tiene un
número relativamente pequeño de conceptos para aprender y dominar. Su diseño
facilita escribir programas usando un estilo que está generalmente aceptado como
práctica estándar de programación buena. Otra de las metas del diseño de Wirth era
la implementación fácil. Él diseñó un lenguaje para el cual fuese fácil escribir un
compilador para un nuevo tipo de computadora.
program Sorting;
{
Este programa lee un natural y una secuencia de N caracteres de la entrada
estandar; construye un indice para ordenarlos de menor a mayor e imprime en la
salida la secuencia ordenada.
}
uses CRT;
Const Max = 10;
Espacio = ' ';
Enter = chr (13);
type Indice = 1..Max;
Cantidad= 0..Max;
SecOfChar = record
elems : array [Indice] of char;
ult : Cantidad;
end;
SecOfInd = record
elems : array [Indice] of Indice;
ult : Cantidad;
end;
Natural = 0..MaxInt;
function PosMin (idx: SecOfInd; i: Indice; s: SecOfChar): Cantidad;
{ Devuelve la posicion en el indice idx del menor caracter en s, para
las posiciones >= i. }
var j: Indice;
pm: Cantidad;
begin
if i > idx.ult then
pm := 0
else begin
pm := i;
for j := i+1 to idx.ult do
if s.elems[idx.elems[j]] < s.elems[idx.elems[pm]] then
pm := j;
end;
PosMin := pm;
end;
procedure Swap (var idx: SecOfInd; i,j: Indice);
{ Intercambia las posiciones i j en idx. }
var tmp: Indice;
begin
if (i<=idx.ult) and (j<=idx.ult) then begin
tmp := idx.elems[i];
idx.elems[i] := idx.elems[j];
idx.elems[j] := tmp;
end;
end;
procedure InicInds (var idx: SecOfInd; cant: Indice);
{ Construye la secuencia de indices 1,2,3,...,n. Sera el indice
inicial para el ordenamiento de una secuencia de caracteres
c1,c2,...,cn. }
var n: Natural;
begin
n := cant;
idx.ult := n;
while n > 0 do begin
idx.elems [n] := n;
n := n-1;
end;
end;
procedure InicSecChar (var s: SecOfChar);
{ Devuelve la secuencia vacia. }
begin
s.ult := 0;
end;
function Llena (s: SecOfChar): Boolean;
begin
Llena := s.ult = Max;
end;
{ PRE: not Llena(s) }
procedure InsCar (var s: SecOfChar; c: char);
{ Inserta el caracter c en la secuencia s }
begin
s.ult := s.ult + 1;
s.elems [s.ult] := c;
end;
procedure IndSelSort (s: SecOfChar; var ind: SecOfInd);
{ Construye el indice que ordena la secuencia s. Ordena el indice
inicial 1,2, ..., n por el metodo de selection sort }
var i: Indice;
begin
InicInds (ind, s.ult);
for i := 1 to ind.ult-1 do begin
Swap (ind, i, PosMin (ind, i, s));
end
end;
procedure WriteSorted (idx: SecOfInd; s: SecOfChar);
{ Imprime en la salida estandar la secuencia s ordenada segun el
indice idx }
var i: Indice;
begin
write ('Ordenado: ');
for i := 1 to idx.ult do
write (s.elems[idx.elems[i]],' ');
writeln;
end;
procedure LeerCar (var c: char; var ok: boolean; sep: Char);
{ Lee de la entrada estandar un caracter seguido del caracter sep }
var c1, c2: char;
begin
c := ReadKey; write (c);
c1 := ReadKey; write (c1);
ok := c1 = sep;
end;
procedure LeerSecOfChar (var s: SecOfChar; cant: Natural; var ok: Boolean);
{ Construye una secuencia de cant caracteres provistos por el
procedimeinto LeerCar. Si cant > Max trunca. }
var bien: Boolean;
i: Natural;
ch, sep: Char;
begin
writeln ('Ingrese ',cant, ' caracteres separados por blancos. Enter para terminar ');
write (' > ');
InicSecChar (s);
i := 1;
ok := true;
sep := Espacio;
while ok and (i <= cant) and not Llena (s) do begin
if i = cant then sep := Enter;
LeerCar (ch, bien, sep);
i := i+1;
ok := ok and bien;
if ok then
InsCar (s, ch);
end;
end;
procedure LeerCant (var n: Natural);
{ Lee de la entrada estandar un natural <= Max }
begin
repeat
writeln ('Ingrese cantidad de caracteres (<=',Max,')');
write (' > ');
readln (n);
until n <= Max;
end;
procedure Continuar (var seguir: Boolean);
var car: Char;
begin
writeln;
writeln ('Otro ? (s/n)');
write (' > ');
car := ReadKey;
writeln (car);
seguir := car in ['s','S'];
end;
var cant: Natural;
cars: SecOfChar;
inds: SecOfInd;
seguir, ok: boolean;
begin
repeat
ClrScr;
LeerCant (cant);
LeerSecOfChar (cars, cant, ok);
if ok then begin
IndSelSort (cars, inds);
writeln;
WriteSorted (inds, cars);
end
else begin
writeln;
writeln ('Error en los datos');
end;
Continuar (seguir);
until not seguir;
end.
QBasic
Qbasic es un lenguaje de alto nivel, el cual consiste en instrucciones que los
humanos pueden relacionar y entender. El compilador de Qbasic se encarga de
traducir el mismo a lenguaje de máquina.
Un programa es una secuencia de instrucciones. El proceso de ejecutar esas
instrucciones se llama correr el programa. Los programas contienen las funciones de
entrada, procesamiento y salida. La persona que resuelve problemas mediante
escribir programas en la computadora se conoce como programador. Después de
analizar el problema y desarrollar un plan para solucionarlo, escribe y prueba el
programa que instruye a la computadora como llevar a cabo el plan. El
procedimiento que realiza el programador se define como "problem solving". Pero es
necesario especificar que un programador y un usuario no son lo mismo. Un usuario
es cualquier persona que use el programa.
Ejemplo de qbasic, para hacer una calculadora
DIM total AS DOUBLE
DIM number AS DOUBLE
DIM secondNumber AS DOUBLE
DIM more AS STRING
DIM moreNumbers AS STRING
DIM operation AS STRING
total = 0
more = "y"
moreNumbers = "c"
CLS
WHILE more = "y"
INPUT "Enter the first number"; number
total = number
WHILE moreNumbers = "c"
COLOR 14
PRINT "The total is:"; total
COLOR 7
PRINT "Select an operation"
COLOR 2
PRINT "(+)"
COLOR 5
PRINT "(-)"
COLOR 1
PRINT "(x)"
COLOR 4
INPUT "(/)"; operation
COLOR 7
CLS
IF operation = "+" THEN
REM where we do additions
PRINT "Enter the number to Add to"; total
INPUT secondNumber
total = secondNumber + total
COLOR 14
PRINT "The total is now:"; total
COLOR 7
ELSE
IF operation = "-" THEN
REM subtraction
PRINT "Enter the number to Subtract from"; total
INPUT secondNumber
total = total - secondNumber
COLOR 14
PRINT "The total is now:"; total
COLOR 7
ELSE
IF operation = "x" THEN
REM multiplication
PRINT "Enter the number to Multiply"; total; "by"
INPUT secondNumber
total = secondNumber * total
REM * is the multiplication sign in programs
COLOR 14
PRINT "The total is now:"; total
COLOR 7
ELSE
IF operation = "/" THEN
REM division
PRINT "Enter the number to Divide"; total; "by"
INPUT secondNumber
IF secondNumber = 0 THEN
COLOR 4
PRINT "You cannot divide by zero"
COLOR 7
ELSE
total = total / secondNumber
REM / is the division sign in programs
END IF
COLOR 14
PRINT "The total is now:"; total
COLOR 7
ELSE
PRINT "you must select an operation"
END IF
END IF
END IF
END IF
INPUT "Do you wish to continue (c) or start with new numbers
(n)";moreNumbers
CLS
WEND
COLOR 14
PRINT "The grand total is:"; total
COLOR 7
INPUT "Do you wish to make more calculations (y - n)"; more
moreNumbers = "c"
REM if we don't put "moreNumbers" back to y, it will always
REM come back to "Do you wish to make more calculations" and never REM ask
for numbers again
REM (try it)
total = 0
REM if we don't reset the total to 0, it will just
REM keep on adding to the total
WEND
END
Linux
Linux es una implementación del sistema operativo UNIX (uno más de entre los
numerosos clónicos del histórico Unix), pero con la originalidad de ser gratuito y a la
vez muy potente, que sale muy bien parado (no pocas veces victorioso) al
compararlo con las versiones comerciales para sistemas de mayor envergadura y
por tanto teóricamente superiores. Comenzó como proyecto personal del –entonces
estudiante- Linus Torvalds, quien tomó como punto de partida otro viejo conocido,
el Minix de Andy. S. Tanenbaum (profesor de sistemas operativos que creó su
propio sistema operativo Unix en PCs XT para usarlo en su docencia). Actualmente
Linus lo sigue desarrollando, pero a estas alturas el principal autor es la red
Internet, desde donde una gigantesca familia de programadores y usuarios aportan
diariamente su tiempo aumentando sus prestaciones y dando información y soporte
técnico mútuo. La versión original -y aun predominante- comenzó para PCs
compatibles (Intel 386 y superiores), existiendo también en desarrollo versiones
para prácticamente todo tipo de plataformas:
PowerPC <http://www.cs.us.es/archive/linuxppc/>,
Sparc <http://www.geog.ubc.ca/sparclinux.html>,
Alpha <http://www.azstarnet.com/~axplinux>,
Mips <http://www.fnet.fr/linux-mips/>, etc.
De todas ellas la más reciente en este momento es la versión para PowerMac
<http://www.mklinux.org> (el PowerPC de Apple) basada en el microkernel Mach
3.0 y de la que ya hay una distribución para desarrolladores avalada directamente
por Apple y OSF pero conservando el espíritu (gratuito, de libre distribución, etc) de
la version original. Un servidor la acaba de probar hace unos días y se ha llevado
una grata sorpresa (aún tendrá muuuchos fallos, pero para ser una primerísima
versión y el poco tiempo que lleva en marcha, ha avanzado más de lo que me
esperaba).
Ejemplo de linux:
Compilar el Kernel
Dado que un diskette sólo almacena 1.44 Megabytes (1440 Kilobytes) de datos, no
puedes el mismo kernel que utilizas al diskette. Primero debes conseguir los fuentes
del núcleo y descomprimirlos en /usr/src/linux. Luego ejecuta la siguiente orden
desde el directorio
/usr/src/linux:
make config
Configura solamente aquello que realmente necesites. Yo, personalmente, sólo
configuro el soporte para "ext2", soporte para la disquetera (floppy disk), y soporte
para "PPP". Tus elecciones pueden se diferentes en función de lo que decidas incluir.
Ahora introduce el siguiente comando:
make dep; make clean; make zImage
¡make zImage es muy importante! Comprime el kernel definitivo. Después de que
termine la compilación, deberás buscar el nuevo núcleo en
/usr/src/linux/arch/i386/boot bajo el
nombre de zImage.
El sistema de ficheros: No es solamente un conjunto de ficheros
Ahora hemos de crear el sistema de ficheros (en inglés: filesystem, fs) para el
diskette. En vez de copiar los ficheros tal cual directamente al diskette, los
comprimiremos antes de copiarlos. Esto nos hará un poco más difícil la faena de
modificar todo permanentemente. Primero tecleamos el siguiente
comando:
dd if=/dev/zero of=[DEVICE] bs=1k count=3000
Donde [DEVICE] es "lugar" en el disco duro donde vas a guardar el sistema de
ficheros descomprimido. Luego, introduce el siguiente comando y pulsa ENTER,
sustituyendo [DEVICE] por el directorio en tu disco duro donde estás guardando el
sistema de ficheros descomprimido:
mke2fs -m 0 [DEVICE]
Si make2fs te pregunta si realmente quieres hacer esto (Do you really want to do
this?), acepta tecleando "y" (yes).
Después tenemos que montar este sistema de ficheros que hemos creado. Para ello,
el núcleo que utilices tiene que permitir "montar ficheros", en otras palabras, ha de
tener habilitada la posibilidad de "loopback devices". Para ello has de compilar el
núcleo de tu máquina (no el núcleo que hemos creado, sino el de tu propia
máquina) con la opción:
Loopback device support (CONFIG_BLK_DEV_LOOP) [M/n/y/?]
bien como módulo (M) o en el mismo núcleo (Y). Si lo compilas como módulo (lo
más recomendable) luego tienes que insertar el módulo modprobe loop !No olvides
rearrancar la máquina si has tenido que recompilar el núcleo!
mount -t ext2 DEVICE /mnt
Si se queja la orden mount puedes intentar con la siguiente orden:
mount -o loop -t ext2 DEVICE /mnt
Ahora debes copiar todos los ficheros que necesites en el nuevo sistema de ficheros.
Primero, ponte en el directorio /mnt, (cd /mnt), y crea los siguientes directorios:
/dev
/pro
/etc
/bin
/lib
/mnt
/usr
Ahora crearemos el directorio /dev tecleando lo siguiente:
cp -dpR /dev /mnt/dev
Si se te acaban los i-nodos del diskette, puedes ir a /mnt/dev y borrar los archivos
de dispositivo que no necesites. Cuando acabes de copiar los ficheros necesarios
para /dev, ves a /etc. Para estar seguro copia todos los ficheros de /etc a /mnt/etc:
cp -dpR /etc /mnt/etc
Luego copia todo del directorio /lib en /mnt:
cp -dpR /lib /mnt/lib
Para el directorio /bin, copia sólo aquello que creas que necesitas en /mnt/bin.
Copiar todo a tu diskette
Ahora hemos de copiar todo en el/los diskette/s. Para hacer esto, debemos
comprimir ahora el sistema de ficheros tecleando las siguientes ordenes:
cd /
umount /mnt
dd if=[DEVICE] bs=1k | gzip -9 > rootfs.gz
Ahora es importante comprobar el tamaño del núcleo. Ponte en
/usr/src/linux/arch/i386/boot y teclea "ls -l". Luego divide el tamaño del núcleo
entre 1024.
Por ejemplo, si el tamaño es de 250000 bytes, entonces son 245 KB. En adelante,
reemplaza [ROOTBEGIN] en las ordenes que aparezca por el número total de
kilobytes que has calculado. Ahora copia el kernel al diskette usando el siguiente
comando:
dd if=zImage of=/dev/fd0
Este comando grabará el kernel en el diskette. Luego introduce el siguiente
comando para que el kernel pueda encontrar la raíz del sistema de ficheros en el
diskette.
rdev /dev/fd0 /dev/fd0
Ahora tendrás que hacer un pequeño cálculo en hexadecimal. Suma 4000 al
equivalente en hexadecimal de [ROOTBEGIN] (que en nuestro ejemplo es F5).
Convierte el resultado a decimal y teclea el siguiente comando, sustituyendo 16629
con el resultado que tú has obtenido:
rdev -r /dev/fd0 16629
Finalmente, teclea lo siguiente para copiar el sistema de ficheros al diskette:
dd if=/rootfs.gz of=/dev/fd0 bs=1k seek=[ROOTBEGIN]
El sistema de ficheros raíz será copiado al diskette justo después del kernel. ¡Ya lo
tienes! Para el segundo diskette, el proceso es más fácil. Copia los ficheros que
quieras en el diskette. No obstante, para poder usar los ficheros que hay en el
segundo disco, tendrás que entrar lo siguiente después de arrancar con el diskette:
mount /dev/fd0 /usr
Ensamblador
Cuando abstraemos los opcodes y los sustituimos por una palabra que sea una
clave de su significado, a la cual comúnmente se le conoce como mnemónico ,
tenemos el concepto de Lenguaje Ensamblador . Así, podemos definir simplemente
al Lenguaje Ensamblador de la siguiente forma:
Lenguaje Ensamblador es la primera abstracción del Lenguaje de Máquina ,
consistente en asociar a los opcodes palabras clave que faciliten su uso por parte
del programador
Como se puede ver, el Lenguaje Ensamblador es directamente traducible al
Lenguaje de Máquina, y viceversa; simplemente, es una abstracción que facilita su
uso para los seres humanos. Por otro lado, la computadora no entiende
directamente al Lenguaje Ensamblador; es necesario traducirle a Lenguaje de
Máquina. Originalmente, este proceso se hacía a mano, usando para ello hojas
donde se escribían tablas de programa similares al ejemplo de la calculadora que
vimos arriba . Pero, al ser tan directa la traducción, pronto aparecieron los
programas Ensambladores, que son traductores que convierten el código fuente (en
Lenguaje Ensamblador) a código objeto (es decir, a Lenguaje de Máquina).
Una característica que hay que resaltar, es que al depender estos lenguajes del
hardware, hay un distinto Lenguaje de Máquina (y, por consiguiente, un distinto
Lenguaje Ensamblador) para cada CPU. Por ejemplo, podemos mencionar tres
lenguajes completamente diferentes, que sin embargo vienen de la aplicación de los
conceptos anteriores:
1.Lenguaje Ensamblador de la familia Intel 80x86 2.Lenguaje Ensamblador de la
familia Motorola 68000 3.Lenguaje Ensamblador del procesador POWER, usado en
las IBM RS/6000.
Tenemos 3 fabricantes distintos, compitiendo entre sí y cada uno aplicando
conceptos distintos en la manufactura de sus procesadores, su arquitectura y
programación; todos estos aspectos, influyen en que el lenguaje de máquina y
ensamblador cambie bastante.
Ventajas y desventajas del Lenguaje Ensamblador
Una vez que hemos visto la evolución de los lenguajes, cabe preguntarse: ¿En estos
tiempos "modernos", para qué quiero el Lenguaje Ensamblador?
El proceso de evolución trajo consigo algunas desventajas, que ahora veremos
como las ventajas de usar el Lenguaje Ensamblador, respecto a un lenguaje de alto
nivel:
1.Velocidad
2.Eficiencia de tamaño
3.Flexibilidad
Por otro lado, al ser un lenguaje más primitivo, el Ensamblador tiene ciertas
desventajas respecto a los lenguajes de alto nivel:
1.Tiempo de programación 2.Programas fuente grandes 3.Peligro de afectar
recursos inesperadamente 4.Falta de portabilidad
Velocidad
El proceso de traducción que realizan los intérpretes, implica un proceso de
cómputo adicional al que el programador quiere realizar. Por ello, nos
encontraremos con que un intérprete es siempre más lento que realizar la misma
acción en Lenguaje Ensamblador, simplemente porque tiene el costo adicional de
estar traduciendo el programa, cada vez que lo ejecutamos.
De ahí nacieron los compiladores, que son mucho más rápidos que los intérpretes,
pues hacen la traducción una vez y dejan el código objeto, que ya es Lenguaje de
Máquina, y se puede ejecutar muy rápidamente. Aunque el proceso de traducción es
más complejo y costoso que el de ensamblar un programa, normalmente podemos
despreciarlo, contra las ventajas de codificar el programa más rápidamente.
Sin embargo, la mayor parte de las veces, el código generado por un compilador es
menos eficiente que el código equivalente que un programador escribiría. La razón
es que el compilador no tiene tanta inteligencia, y requiere ser capaz de crear
código genérico, que sirva tanto para un programa como para otro; en cambio, un
programador humano puede aprovechar las características específicas del problema,
reduciendo la generalidad pero al mismo tiempo, no desperdicia ninguna
instrucción, no hace ningún proceso que no sea necesario.
Para darnos una idea, en una PC, y suponiendo que todos son buenos
programadores, un programa para ordenar una lista tardará cerca de 20 veces más
en Visual Basic (un intérprete), y 2 veces más en C (un compilador), que el
equivalente en Ensamblador.
Por ello, cuando es crítica la velocidad del programa, Ensamblador se vuelve un
candidato lógico como lenguaje.
Ahora bien, esto no es un absoluto; un programa bien hecho en C puede ser
muchas veces más rápido que un programa mal hecho en Ensamblador; sigue
siendo sumamente importante la elección apropiada de algoritmos y estructuras de
datos. Por ello, se recomienda buscar optimizar primero estos aspectos, en el
lenguaje que se desee, y solamente usar Ensamblador cuando se requiere más
optimización y no se puede lograr por estos medios.
Tamaño
Por las mismas razones que vimos en el aspecto de velocidad, los compiladores e
intérpretes generan más código máquina del necesario; por ello, el programa
ejecutable crece. Así, cuando es importante reducir el tamaño del ejecutable,
mejorando el uso de la memoria y teniendo también beneficios en velocidad, puede
convenir usar el lenguaje Ensamblador. Entre los programas que es crítico el uso
mínimo de memoria, tenemos a los virus y manejadores de dispositivos (drivers).
Muchos de ellos, por supuesto, están escritos en lenguaje Ensamblador.
Flexibilidad
Las razones anteriores son cuestión de grado: podemos hacer las cosas en otro
lenguaje, pero queremos hacerlas más eficientemente. Pero todos los lenguajes de
alto nivel tienen limitantes en el control; al hacer abstracciones, limitan su propia
capacidad. Es decir, existen tareas que la máquina puede hacer, pero que un
lenguaje de alto nivel no permite. Por ejemplo, en Visual Basic no es posible
cambiar la resolución del monitor a medio programa; es una limitante, impuesta por
la abstracción del GUI Windows. En cambio, en ensamblador es sumamente sencillo,
pues tenemos el acceso directo al hardware del monitor.
Resumiendo, la flexibilidad consiste en reconocer el hecho de que
Todo lo que puede hacerse con una máquina, puede hacerse en el lenguaje
ensamblador de esta máquina; los lenguajes de alto nivel tienen en una u otra
forma limitantes para explotar al máximo los recursos de la máquina.
Tiempo de programación
Al ser de bajo nivel, el Lenguaje Ensamblador requiere más instrucciones para
realizar el mismo proceso, en comparación con un lenguaje de alto nivel. Por otro
lado, requiere de más cuidado por parte del programador, pues es propenso a que
los errores de lógica se reflejen más fuertemente en la ejecución.
Por todo esto, es más lento el desarrollo de programas comparables en Lenguaje
Ensamblador que en un lenguaje de alto nivel, pues el programador goza de una
menor abstracción.
Programas fuente grandes
Por las mismas razones que aumenta el tiempo, crecen los programas fuentes;
simplemente, requerimos más instrucciones primitivas para describir procesos
equivalentes. Esto es una desventaja porque dificulta el mantenimiento de los
programas, y nuevamente reduce la productividad de los programadores.
Peligro de afectar recursos inesperadamente
Tenemos la ventaja de que todo lo que se puede hacer en la máquina, se puede
hacer con el Lenguaje Ensamblador (flexibilidad). El problema es que todo error que
podamos cometer, o todo riesgo que podamos tener, podemos tenerlo también en
este Lenguaje. Dicho de otra forma, tener mucho poder es útil pero también es
peligroso.
En la vida práctica, afortunadamente no ocurre mucho; sin embargo, al programar
en este lenguaje verán que es mucho más común que la máquina se "cuelgue",
"bloquee" o "se le vaya el avión"; y que se reinicialize. ¿Por qué?, porque con este
lenguaje es perfectamente posible (y sencillo) realizar secuencias de instrucciones
inválidas, que normalmente no aparecen al usar un lenguaje de alto nivel.
En ciertos casos extremos, puede llegarse a sobreescribir información del CMOS de
la máquina (no he visto efectos más riesgosos); pero, si no la conservamos, esto
puede causar que dejemos de "ver" el disco duro, junto con toda su información.
Falta de portabilidad
Como ya se mencionó, existe un lenguaje ensamblador para cada máquina; por
ello, evidentemente no es una selección apropiada de lenguaje cuando deseamos
codificar en una máquina y luego llevar los programas a otros sistemas operativos o
modelos de computadoras. Si bien esto es un problema general a todos los
lenguajes, es mucho más notorio en ensamblador: yo puedo reutilizar un 90% o
más del código que desarrollo en "C", en una PC, al llevarlo a una RS/6000 con
UNIX, y lo mismo si después lo llevo a una Macintosh, siempre y cuando esté bien
hecho y siga los estándares de "C", y los principios de la programación
estructurada. En cambio, si escribimos el programa en Ensamblador de la PC, por
bien que lo desarrollemos y muchos estándares que sigamos, tendremos
prácticamente que reescribir el 100 % del código al llevarlo a UNIX, y otra vez lo
mismo al llevarlo a Mac.
1.9.3 Las herramientas productivas (ofimática).
Una suite de aplicaciones de oficina o suite ofimática, es un un paquete integrado de programas
informáticos diseñados para el trabajo de oficina, vendidos o de otra forma distribuidos
conjuntamente, y cuyas aplicaciones son capaces habitualmente de interactuar mutuamente en un
nivel superior al que permitiría el sistema operativo y que posee una interfaz de usuario
homogénea.
No hay una norma estricta sobre los programas a incluir en una suite ofimática, pero la mayoría
incluyen al menos un procesador de textos y una hoja de cálculo. De forma añadida, la suite
puede contener un programa de presentaciones, un sistema gestor de base de datos y herramientas
menores de gráficos y comunicaciones.
Las suites ofimáticas también pueden contener: un programa de organización (agenda), un
navegador web y un cliente de correo electrónico.
En la actualidad la suite ofimática dominante en el mercado es Microsoft Office, la cual posee sus
propios formatos cerrados de documentos para cada uno de sus programas. Debido a este hecho y
al pobre soporte de la suite de Microsoft de otros formatos abiertos, la habilidad de lectura y
escritura de formatos Microsoft Office es esencial para cualquier otra suite ofimática del
mercado.
http://es.wikipedia.org/wiki/Suite_de_herramientas_ofim%C3%A1ticas
La ofimática o racionalización de la oficina con ayuda del ordenador. Tiene tres grandes
áreas de aplicación: el tratamiento y procesamiento de textos, el proceso de datos y la
tecnología de las comunicaciones.
La ofimática ha revolucionado la administración y amplios campos de la comunicación.
Resulta imprescindible en programas de formación tan variados como el comercial, o la
administración, la contabilidad, la hostelería, la gestión empresarial, el periodismo, la
documentación, la estadística, etc....
Gracias a la estandarización de los paquetes informáticos y a la existencia de guías de
usuarios, el manejo de muchas de las herramientas de la ofimática implica operaciones
fáciles de aprender para personas con una formación básica.
Sin embargo, optimizar los recursos ofimáticos disponibles y alumbrar las enormes
posibilidades que ofrecen, suponen unos amplios conocimientos interdisciplinarios y
unas destacadas capacidades de gestión.
Existen también otras tecnologías emergentes que van a tener un tratamiento
ocupacional prioritario en los próximos años, y que se apoyan en conocimientos de
base de tecnologías tradicionales como la electricidad y la electrónica, la mecánica, la
química y la biología, la metalurgia, la arquitectura y la ingeniería(10).
Entre estas tecnologías emergentes las que están recibiendo más atención en Estados
Unidos, Europa y Japón parecen reducirse a cuatro campos: los nuevos materiales,
como los superconductores; la electrónica y los sistemas informáticos, como
dispositivos semiconductores, tecnología de imágenes digitales, computación de alto
rendimiento, optoelectrónica y fotónica; los sistemas de fabricación, como inteligencia
artificial, perfeccionamiento del CAD, SFF, tecnología de sensores; aplicaciones de las
ciencias de la vida, como la biotecnología o los dispositivos médicos y de diagnosis(11).
Estas tecnologías emergentes tardarán aún alrededor de una década en producir
incidencias importantes a nivel ocupacional, pero cuentan ya con recursos destacados
en el ámbito de la investigación y su perspectiva de venta en el año 2000 es de cientos
de billones de dólares.
Podríamos enumerar también otros campos ocupacionales que van a crecer de forma
muy destacada y que deben ser objeto de la formación profesional. Entre ellos las
tecnologías del medio ambiente, de la energía y de la seguridad; el aprovechamiento de
los recursos biológicos, las tecnologías de la información y de las comunicaciones, la
gestión empresarial, el comercio y la economía social.
Una última consideración que cabe hacer sobre el impacto de las tecnologías
emergentes y sobre los nuevos campos ocupacionales en la formación, es la necesidad
de dar importancia a los estudios de las ciencias como la química, la biología y la física
en la enseñanza general, por el carácter difusor que tienen estas disciplinas sobre
numerosas tecnologías.
http://www.campus-oei.org/oeivirt/rie02a03.htm
Introducción
La explosión informativa que se da en la actualidad es un hecho que hace
difícil discernir la información conveniente o beneficiosa, de la que supone
contaminación o perjudicial, que a veces hace que se pueda decir que "no se
distinga el árbol de entre el bosque".
La velocidad de crecimiento, hace necesario que el tratamiento de la
información, se lleve a cabo de forma automática. Como origen y causa de éste
crecimiento exponencial de la información, aparece paradójicamente la
solución, la informática, definida como el tratamiento de la información de
forma automatizada.
La informática, tan versátil y polimórfica comenzó a aplicarse a diferentes
campos, empezando el uso de ordenadores en primer lugar en el ámbito
militar, ocupando entonces gran espacio y consumiendo mucha energía, a
través de las sucesivas generaciones fueron reduciendo su tamaño y consumo,
haciéndose asequible a cualquier tipo de actividad, habiéndose extendido en la
actualidad al mundo económico y empresarial, siendo imprescindibles en la
oficina para tener una eficaz gestión de la empresa. La fusión de los trabajos
de oficina y de la informática dio lugar a la Ofimática.
Se entiende como Ofimática todo lo relacionado con la organización de flujos
de trabajo en oficinas, despachos, etc. y el respectivo apoyo a estos procesos
mediante el ordenador. Dicho de paso, esta vez el español es más preciso que el
inglés, con el nebuloso System-engineering y el más limitado Business Process
Re-engineering (BOP).
Hablar de la automatización de la oficina -en paralelo a la automatización de
fábricas- no es correcto: en la fábrica el automatismo -el ordenador- sustituye
al trabajador como dueño del proceso y lo convierte en supervisor o
reparador, mientras en las oficinas las personas siguen como actores
principales, apoyándose solamente para su trabajo y la coordinación del
mismo en la infraestructura informática.
La ofimática no trata del uso del ordenador individual, promueve la
reingeniería de los procesos y sus etapas en su totalidad usando la informática
como instrumento de eliminar, reducir y agilizar los mismos.
No es lo mismo como la informática tradicional con su enfoque en información
estandarizada, si no parte del hecho que cada caso es diferente y requiere de
un tratamiento diferente, de tal forma que se puede estandarizar solamente las
formas y el proceder pero no el contenido mismo, por tanto se trasciende el
modelo cliente-servidor tradicional.
En el entorno ofimático no son necesarios grandes equipos, sino que con
ordenadores personales conectados entre sí y a internet, formando redes
locales entre los que se comparte información y se abaratan los costos. La
ofimática de esta manera se ha convertido en algo que crece y que se usa cada
vez más.
La ofimática, por sus peculiares características, suministra un buen campo
para ejemplificar acerca del impacto de la convergencia e integración de las
tecnologías. La oficina, y por lo tanto la ofimática, que no es más que la
tecnología aplicada a la oficina, es un entorno donde no existen tareas muy
determinadas, entran actividades tan diversas como el tratamiento de
documentos o la comunicación telefónica. En un entorno así es lógico pensar
que se necesitan tecnologías combinadas, no soluciones aisladas encaminadas a
resolver un problema en concreto. La ofimática ha de proporcionar
herramientas que faciliten al usuario (sea éste un individuo o un grupo) la
tarea a realizar.
Definiciones de ofimática:
Bair (1985) La ofimática es la utilización de ordenadores en la oficina como
soporte a los trabajadores de la información que no son especialistas en
ordenadores.
Elli y Nutt (1980). Un sistema automatizado de información para la oficina
trata de realizar las tareas de la oficina tradicional por medio de sistemas de
ordenadores.
Hammer y Sirbu (1982). La utilización de la tecnología para mejorar la
realización de funciones de oficina.
Olson y Lucas (1982). La automatización de oficinas se refiere a la utilización
de sistemas integrados de ordenadores y comunicaciones, como soporte a los
procedimientos administrativos en un entorno de oficina.
Aplicaciones
El software de ofimática comprende una serie de aplicaciones que se
distribuyen de forma conjunta para ser empleadas simultáneamente en
diversos sistemas. Usualmente estas herramientas de ofimática incluyen:






Aplicaciones de productividad personal
Administradores de bases de datos
Hojas de cálculo
Procesadores de textos
Presentadores de ideas
Gráficos
Detalle sobre los distintos tipos de apliaciones citados, se encuentran en la
página de la "Universidad Nacional de Colombia"
2.2 StarOffice (OpenOffice)
Es un conjunto completo (suite) para oficina creado por Star Division, una
empresa alemana adquirida por Sun Microsystems. Está compuesta por una
serie de aplicaciones de productividad entre las que hay procesador de textos,
hoja de cálculo, gestor de bases de datos, programa para crear presentaciones,
programa para diseño gráfico, navegador y unos cuantos accesorios más.
En sus comienzos fue muy popular dentro de los usuarios de Linux, quienes
podían conseguir versiones gratuitas a través de Internet, aunque Star
también ofrecía versiones comerciales en CD-ROM. Sun decidió darle un gran
impulso y adoptó la filosofia de distribuirla gratuitamente, de manera que
actualmente es posible bajarla desde su sitio web Sun, cumpliendo apenas el
requisito de dar algunos datos par registrar la copia.
StarOffice está disponible en versiones para varios sistemas operativos:
Windows, Linux, Solaris y OS/2. Sun también distribuye un CD-ROM que
contiene StarOffice en versiones para varios sistemas operativos. La empresa
en realidad no cobra por la suite sino por el costo de producir el CD y de
imprimir los manuales.
Esta suite de oficina, resulta muy típica en cuanto a las aplicaciones que
incluye. Sin embargo lo interesante es su origen, pues fue diseñada
inicialmente para el sistema operativo Linux, sin embargo tuvo tal acogida
entre el público que Star Division decidió crear una versión aparte de la
misma para Windows. En la actualidad no se emplea de forma intensiva con
este sistema, pero según los expertos, ha logrado salir bien librada de muchas
pruebas.
La suite está compuesta por varias aplicaciones básicas, más una serie de
accesorios bastante útiles. Los componentes del paquete son:

StarOffice Desktop: Un escritorio que se superpone al de Windows
cuando se ejecuta la suite.













StarOffice Writer: Procesador de palabras, muy potente y compatible con
MS-Word.
StarOffice Web: Navegador muy similiar en su funcionamiento a
Explorer 5, aunque con una interfaz diferente.
StarOffice Mail: Cliente para correo que puede abrir mensajes de
Outlook.
StarOffice Calc: Hoja de cálculo muy avanzada, compatible con MSExcel.
StarOffice Impress: Herramienta para realizar presentaciones. Es
compatible (no totalmente) con MS-PowerPoint.
StarDraw: Aplicación para diseño gráfico. Compatible con Corel Draw y
muy similar a esta herramienta.
StarImage: Programa para edición de imágenes. Puede abrir archivos
JPG, GIF, TIFF, BMP, etc.
StarOffice Discussion: Lector para mensajes provenientes de grupos de
discusión, bien desde Internet o desde la Intranet de una empresa.
StarOffice Base: Sencillo gestor de bases de datos, que permite abrir y
editar archivos de MS-Access y de otras bases de datos como Oracle.
StarMath: Singular aplicación que permite escribir fórmulas
matemáticas
StarOffice Chart: Aplicación que permite generar gráficos estadísticos,
que complementa a StarOffice Calc.
StarOffice Schedule: Agenda y calendario que le permite al usuario llevar
control de sus actividades profesionales y personales.
StarOffice Basic: Herramienta que permite crear macros para las
aplicaciones principales de StarOffice.
El Proyecto GNU por Richard Stallman
publicado originalmente en el libro "Open Sources"
La primera comunidad que comparte el software
Cuando comencé a trabajar en el Laboratorio de Inteligencia
Artificial del MIT en 1971, me incorporé a una comunidad que
compartía el software que ya tenía varios años de existencia. El
acto de compartir software no estaba limitado a nuestra
comunidad en particular; es tan antiguo como las
computadoras, de la misma manera que compartir recetas es
tan antiguo como cocinar. Pero nosotros lo hacíamos en mayor
grado que la mayoría de los otros.
El Laboratorio de IA usaba un sistema operativo denominado
ITS (Incompatible Timesharing System) [Sistema incompatible
de tiempo compartido] que los hackers (1) del staff habían
diseñado y escrito en lenguaje ensamblador para la PDP-10 de
Digital, una de las más grandes computadoras de la época. Mi
trabajo como miembro de esta comunidad, como hacker de
sistema en el staff del laboratorio de IA, era mejorar este
sistema.
No denominábamos "software libre" a nuestro software porque
dicho término no existía; pero éso es lo que era. Cuando alguien
de otra universidad o compañía deseaba portar y usar un
programa, lo permitíamos con gusto. Si usted veía a alguien
usando un programa interesante y poco conocido, siempre se
podía pedir el código fuente para verlo, de manera que uno
podía leerlo, cambiarlo, o canibalizar ciertas partes del mismo
para hacer un nuevo programa.
(1) El uso de "hacker" para referirse al "quebrantador de la
seguridad" es una confusión proveniente de los medios
masivos. Nosotros los hackers nos negamos a reconocer dicho
significado, y continuamos utilizando la palabra para indicar a
"alguien apasionado por la programación y que disfruta al ser
hábil e ingenioso". El colapso de la comunidad La situación
cambió drásticamente durante la primera parte de los 1980s
cuando Digital discontinuó la serie PDP-10. Su arquitectura,
elegante y poderosa en los 60s, no se pudo extender
naturalmente a los espacios de direccionamiento más grandes
que se hicieron factibles en los 80s. Esto significó que
prácticamente todos los programas que componían a ITS se
volvieron obsoletos.
La comunidad de hackers del laboratorio de IA ya se había
colapsado, cierto tiempo antes. En 1981, la compañía derivada
Symbolics había contratado a casi todos los hackers del
laboratorio de IA, y la despoblada comunidad ya no era capaz
de mantenerse a sí misma. (El libro Hackers, de Steve Levy,
describe estos eventos, y muestra un claro panorama de esta
comunidad en sus comienzos.) Cuando el laboratorio de IA
adquiere una nueva PDP-10 en 1982, sus administradores
deciden utilizar el sistema no libre de tiempo compartido de
Digital en lugar de ITS.
Las computadoras modernas de esa época, como la VAX o el
68020, tienen sus propios sistemas operativos, pero ninguno de
ellos es software libre: usted debe firmar un "acuerdo de no
revelar" (nondisclosure agreement) aún para obtener una copia
ejecutable.
Esto quiere decir que el primer paso para poder utilizar una
computadora era prometer que no ayudaría a su vecino. Se
prohibía la existencia de una comunidad cooperativa. La regla
hecha por los dueños de software propietario era: "si usted
comparte con su vecino, usted es un pirata. Si desea algún
cambio, ruéguenos para que lo hagamos nosotros".
La idea de que el sistema social del software propietario--el
sistema que dice que usted no tiene permitido compartir o
cambiar el software-- es antisocial, que no es ético, que está
sencillamente equivocado, puede ser una sorpresa para algunos
lectores. ¿Pero qué otra cosa podríamos decir sobre un sistema
que se basa en dividir el público e impide socorrer a los
usuarios? Los lectores que se sorprendan por esta idea es
porque han tomado el sistema social del software propietario
tal como se lo han dado, o porque lo han juzgado en función de
los términos sugeridos por las empresas que hacen software
propietario. Los publicadores de software han trabajado duro y
parejo para convencer a las personas de que solamente hay una
manera de ver este tema.
Cuando los publicadores de software habla de "hacer valer" sus
"derechos" o de "detener la piratería", lo que *dice* es
secundario. El mensaje real de estas declaraciones está en las
presunciones no declaradas que ellos dan por sentado; se
supone que el público debe aceptarlas de manera acrítica. Así
que examinémoslas.
Una de las presunciones es que las compañías de software
tienen un derecho natural incuestionable que las habilita para
ser dueñas de un software, y por lo tanto a disponer de poder
sobre todos los usuarios del mismo. (Si éste fuera un derecho
natural, entonces sin importar cuánto daño le causare al
público, no podríamos objetarlo.) De manera muy interesante,
la Constitución de los Estados Unidos de América y la tradición
legal rechazan esta visión; el copyright no es un derecho
natural, sino un monopolio artificial impuesto por el gobierno
que limita el natural derecho a copia de los usuarios.
Otra presunción no declarada es que la única cosa importante
sobre del software es qué trabajo le permite realizar a usted-que a nosotros los usuarios de computadoras no nos debe
importar qué clase de sociedad nos permiten tener.
Una tercera presunción es que no tendríamos software
utilizable (o, que nunca tendríamos un programa para hacer tal
o cual trabajo en particular) si no le ofrecemos a una compañía
poder sobre los usuarios de dicho programa. Esta presunción
puede haber sonado plausible, antes de que el movimiento por
el software libre demostrara que podemos hacer abundante
software útil sin ponerle cadenas.
Si nos resistimos a aceptar dichas presunciones, y juzgamos
acerca de estos temas sobre la base moral que nos da el
sentido común ordinario y ponemos al usuario en primer lugar,
arribaremos a conclusiones muy distintas. Los usuarios de
computadoras deben tener libertad para modificar los
programas para ajustarlos a sus necesidades, y libertad para
compartir el software, porque la base de la sociedad está en
ayudar a las otras personas.
No se dispone aquí del espacio necesario para explayarnos en el
razonamiento que hay detrás de esta conclusión, y por ese
motivo pido al lector que vea la página web
http://www.gnu.org/philosophy/why-free.es.html. Una
elección moral severa. Al desaparecer mi comunidad, se hizo
imposible continuar como antes. En lugar de ello, me enfrenté a
una elección moral severa.
La elección fácil era unirme al mundo del software propietario,
firmar los acuerdos de no revelar, y prometer que no iría en
ayuda de mi amigo hacker. Es muy probable que desarrollara
software que se entregaría bajo acuerdos de no revelar y de esa
manera incrementara también las presiones sobre otra gente
para que traicionen a sus compañeros.
Podría haber hecho dinero de esta manera, y tal vez me hubiese
divertido escribiendo código. Pero sabía que al final de mi
carrera, al mirar atrás a los años construyendo paredes para
dividir a la gente, sentiría que usé mi vida para empeorar el
mundo.
Ya había estado del lado en que se reciben los acuerdos de no
revelar, por experiencia propia, cuando alguien se negó a
entregarme, a mí y al Laboratorio de IA del MIT, el código
fuente del programa de control de nuestra impresora. (La
ausencia de ciertas características en este programa hacía que
el uso de la impresora fuera frustrante en extremo.) Así que no
podía decirme a mí mismo que los acuerdos de no revelar son
inocentes. Me enojó mucho cuando él se negó a compartir con
nosotros; no podía ahora cambiarme de lugar y hacerle lo
mismo a todos los demás.
Otra elección, fácil pero dolorosa, era abandonar el campo de la
computación. De esta manera no se usarían mis habilidades
para mal, pero aún así se desperdiciarían. Yo no sería culpable
por dividir y restringir a los usuarios de computadoras, pero
ello sucedería igual.
Así que busqué la manera en la cual un programador podría
hacer algo para bien. Me pregunté: ¿habrá algún programa o
programas que yo pueda escribir, de tal manera de otra vez
hacer posible una comunidad?
La respuesta era clara: lo primero que se necesitaba era un
sistema operativo. Este es el software crucial para empezar a
usar una computadora. Con un sistema operativo usted puede
hacer muchas cosas; sin uno, ni siquiera puede funcionar la
computadora. Con un sistema operativo libre, podríamos tener
de nuevo una comunidad de hackers cooperando--e invitar a
cualquiera a unírsenos. Y cualquiera sería capaz de utilizar una
computadora sin que de movida conspire a favor de la privación
de sus amigas o amigos.
Como desarrollador de sistema operativo, tengo las habilidades
apropiadas para esa tarea. Así que aún cuando no tenía
garantías de éxito, me dí cuenta que había sido elegido para
hacer ese trabajo. Decidí hacer que el sistema fuese compatible
con Unix pues así sería portable, y los usuarios de Unix podrían
cambiarse a él con facilidad. El nombre GNU se eligió siguiendo
una tradición hacker, como acrónimo recursivo para "GNU's Not
Unix".
Un sistema operativo es más que un núcleo, apenas suficiente
para hacer funcionar otros programas. En los 1970s, todo
sistema operativo digno de llamarse así incluía procesadores de
órdenes, ensambladores, compiladores, intérpretes,
depuradores, editores de texto, programas de correo, y muchos
otros. ITS los tenía, Multics los tenía, VMS los tenía, Unix los
tenía. El sistema operativo GNU también los incluiría.
Más adelante escuché estas palabras, atribuídas a Hillel (1):
"Si yo no me preocupo por mí mismo, ¿quién lo hará por mí?
Si sólo me preocupo por mí mismo, ¿qué es lo que soy?
Si no lo hago ahora, ¿cuándo?"
La decisión de iniciar el proyecto GNU se basó en un espíritu
similar.
(1) Como ateo que soy, no soy seguidor de ningún líder
religioso, pero algunas veces encuentro que admiro alguna cosa
que dijo uno de ellos. Libre como en libertad El término "free
software" [N. del T.: en inglés free = libre o gratis] se
malinterpreta a veces--no tiene nada que ver con el precio. El
tema es la libertad. Aquí, por lo tanto, está la definición de
software libre: un programa es software libre, para usted, un
usuario en particular, si: - Usted tiene libertad para ejecutar el
programa, con cualquier propósito. - Usted tiene la libertad
para modificar el programa para adaptarlo a sus necesidades.
(Para que esta libertad sea efectiva en la práctica, usted debe
tener acceso al código fuente, porque modificar un programa
sin disponer del código fuente es extraordinariamente
dificultoso.) - Usted tiene la libertad para redistribuir copias,
tanto gratis como por un cánon. - Usted tiene la libertad para
distribuir versiones modificadas del programa, de tal manera
que la comunidad pueda beneficiarse con sus mejoras. Como
"free" [libre] se refiere a libertad y no a precio, no existe
contradicción entre la venta de copias y el software libre. De
hecho, la libertad para vender copias es crucial: las colecciones
de software libre que se venden en CD-ROM son importantes
para la comunidad, y la venta de las mismas es una manera
importante de obtener fondos para el desarrollo de software
libre. Por lo tanto, si la gente no puede incluir un programa en
dichas colecciones, dicho programa no es software libre.
A causa de la ambigüedad de "free", la gente ha estado
buscando alternativas, pero nadie ha encontrado una
alternativa apropiada. El idioma inglés tiene más palabras y
matices que ningún otro, pero carece de una palabra simple, no
ambigüa que signifique "libre", como en libertad--"unfettered"
[sin cadenas] es la palabra que más se acerca en significado.
Otras alternativas como liberated [liberado], freedom [libertad]
y open [abierto] tienen el significado equivocado o alguna otra
desventaja. Software GNU y el sistema GNU El desarrollo de un
sistema complejo es un proyecto de gran envergadura. Para
ponerlo dentro de mi alcance, decidí adaptar y usar las piezas
existentes de software libre siempre que fuera posible. Por
ejemplo, en los mismos comienzos decidí que TeX sería el
principal compaginador de texto; unos pocos años más tarde,
decidí que usaría el sistema X Window, en lugar de escribir otro
sistema de ventanas para GNU.
A causa de esta decisión, el sistema GNU no coincide con la
suma de todo el software GNU. El sistema GNU incluye
programas que no son software GNU, programas que fueron
desarrollados por otras personas y proyectos para sus propios
propósitos, pero que nosotros podemos utilizar porque
constituyen software libre. El inicio del proyecto En enero de
1984 renuncié a mi trabajo en el MIT y comencé a escribir
software GNU. Era necesario abandonar el MIT, para que el MIT
no interfiriera con la distribución de GNU como software libre.
Si hubiese continuado como parte del staff, el MIT podría haber
reclamado propiedad sobre el trabajo, y podría haber impuesto
sus propios términos de distribución, o incluso podría haberlo
transformado en un paquete de software propietario. Yo no
tenía la intención de hacer un trabajo enorme sólo para ver que
perdía la utilidad para la cual se había realizado: crear una
nueva comunidad para compartir software.
Sin embargo, el Profesor Winston, por entonces a cargo del
Laboratorio de IA del MIT, me invitó amablemente a que
continúe utilizando las instalaciones del Laboratorio. Los
primeros pasos Poco después de comenzar en el proyecto GNU,
escuché acerca del Free University Compiler Kit [Kit de
Compilador de la Universidad Libre], también conocido como
VUCK. (La palabra alemana para free comienza con una V.) Se
trataba de un compilador diseñado para manejar múltiples
lenguajes, C y Pascal entre ellos, y para admitir múltiples
máquinas destino. Le escribí a su autor para consultarle si GNU
lo podría usar.
Él me respondió burlonamente, dejando en claro que la
universidad era libre, pero el compilador no. Por lo tanto, decidí
que mi primer programa para el proyecto GNU sería un
compilador multilenguaje, multiplataforma.
Con la esperanza de evitar tener que escribir todo el compilador
por mí mismo, obtuve el código fuente del compilador Pastel,
que era un compilador multiplataforma desarrollado en el
"Lawrence Livermore Lab". Admitía, y estaba escrito en una
versión extendida de Pascal, diseñada para usarse como
lenguaje de programación a nivel de sistema. Le agregué un
front end para C, y comencé a transportarlo a la computadora
Motorola 68000. Pero tuve que abandonar la idea al descubrir
que el compilador necesitaba varios megabytes de espacio en la
pila, y los sistemas Unix basados en 68000 sólo permitían 64
kbytes.
Fue entonces cuando me dí cuenta que el compilador Pastel
funcionaba analizando el fichero de entrada completo y
transformándolo en un árbol sintáctico, luego convertía todo el
árbol sintáctico en una cadena de "instrucciones" y luego
generaba el fichero entero de salida, y en ningún momento
liberaba el espacio ocupado. En ese momento llegué a la
conclusión de que debería escribir un nuevo compilador
partiendo desde cero. Ese nuevo compilador se conoce ahora
como GCC; no hay nada del compilador Pastel en él, pero me las
arreglé para adaptar y usar el front end que había hecho para C.
Pero eso pasó unos años más tarde; primero, trabajé sobre GNU
Emacs. GNU Emacs Comencé a trabajar sobre GNU Emacs en
setiembre de 1984, y al principio de 1985 ya empezaba a ser
usable. Esto me permitió usar sistemas Unix para las tareas de
edición; como no tenía ningún interés en aprender a usar vi o
ed, había realizado mis tareas de edición en otras clases de
máquinas hasta ese momento.
A estas alturas, la gente comenzó a querer usar Emacs, con lo
que apareció el tema de cómo distribuirlo. Por supuesto, lo
puse en el servidor de FTP anónimo de la computadora del MIT
que usaba. (Esta computadora, prep.ai.mit.edu, se transformó a
causa de ello en la sede principal de distribución a través de
FTP de GNU; cuando fue decomisada unos años después,
transferimos el nombre a nuestro nuevo servidor FTP.) Pero en
aquella época, mucha gente interesada no estaba en Internet y
no podía obtener una copia por FTP. Así que la pregunta era:
¿qué tendría que decirles a ellos?
Podría haber dicho, "Busque un amigo que esté en la red y que
haga una copia para usted". O podría haber hecho lo que hice
con el Emacs para PDP-10 original, decirles: "Envíeme por
correo una cinta y un sobre con su dirección y los sellos de
correo necesarios, y yo le devolveré la cinta con Emacs dentro".
Pero no tenía trabajo, y estaba buscando de qué manera podía
hacer dinero con el software libre. Entonces anuncié que le
enviaría la cinta a quien me la pidiera, mediante el pago de un
cánon de $150. De esta manera, inicié un negocio de
distribución de software libre, el precursor de las compañías
que en la actualidad distribuyen completos sistemas GNU
basados en Linux. ¿Es libre el programa para cualquier usuario?
Si un programa es software libre cuando abandona las manos
de su autor, esto no significa que será software libre para todos
los que tienen una copia de él. Por ejemplo, el software de
dominio público (software que no está sujeto al copyright de
nadie) es software libre; pero cualquiera puede hacer una
versión modificada propietaria a partir de él. En ese mismo
sentido, muchos programas libres están sujetos a copyright
pero se distribuyen mediante sencillas licencias permisivas que
admiten las versiones modificadas propietarias.
El ejemplo paradigmático de este problema es el X Window
System. Desarrollado en el MIT, y entregado como software
libre con un licencia permisiva, fue rápidamente adoptado por
varias compañías de computación. éstas agregaron X a sus
sistemas Unix propietarios, sólo en formato binario, y lo
cubrieron con el mismo acuerdo de no revelar. Estas copias de
X eran tanto (software) libres en cuanto lo era el Unix.
Los desarrolladores del X Window System no consideraban que
esto fuese un problema--esperaban y buscaban que esto
sucediese. Su meta no era la libertad, sólo el "éxito", definido
como "tener muchos usuarios". No les preocupaba si esos
usuarios tenían libertad, sólo que sean numerosos.
Esto nos lleva a una situación paradójica en la cual dos maneras
distintas de contabilizar la cantidad de libertad dan por
resultado dos respuestas distintas a la pregunta "¿Es libre este
programa?". Si usted juzga en base a la libertad que se
proporcionaba con los términos de distribución de la entrega
del MIT, diría que X es software libre. Pero si usted mide la
libertad del usuario promedio de X, diría que X es software
propietario. La mayoría de los usuarios de X usan las versiones
propietarias que vienen con los sistemas Unix, no la versión
libre. Copyleft y la GNU GPL La meta de GNU era dar libertad a
los usuarios, no sólo ser popular. Por lo tanto, debíamos usar
términos de distribución que impidieran que el software GNU se
transformara en software propietario. El método que utilizamos
se denomina "copyleft".(1)
El copyleft usa la ley de copyright, pero la da vuelta para servir
a lo opuesto de su propósito usual: en lugar de ser un medio de
privatizar el software, se transforma en un medio de mantener
libre al software.
La idea central del copyleft es que le damos a cualquiera el
permiso para correr el programa, copiar el programa, modificar
el programa y redistribuir versiones modificadas--pero no le
damos permiso para agregar restricciones propias. De esta
manera, las libertades cruciales que definen al "software libre"
quedan garantizadas para cualquiera que tenga una copia; se
transforman en derechos inalienables.
Para que el copyleft sea efectivo, las versiones modificadas
deben ser también libres. Esto asegura que todo trabajo basado
en el nuestro quedará disponible para nuestra comunidad si se
publica. Cuando los programadores que tienen trabajo como
programadores se ofrecen como voluntarios para mejorar un
software GNU, es el copyleft lo que impide que sus empleadores
digan: "no puede compartir esos cambios, porque los queremos
usar para hacer nuestra versión propietaria del programa".
El requerimiento de que los cambios deben ser libres es
esencial si queremos asegurar la libertad para cada usuario del
programa. Las compañías que privatizaron el X Window System
en general realizaron algunos cambios para transportarlo a sus
sistemas y hardware. Estos cambios fueron pequeños
comparados con el gran tamaño de X, pero no fueron triviales.
Si el hacer cambios fuera una excusa para negar libertad a los
usuarios, sería fácil para cualquiera tomar ventaja de la excusa.
Un tema relacionado trata la combinación de un programa libre
con código no libre. Tal combinación será inevitablemente nolibre; cualesquiera libertades que falten a la parte no-libre, le
faltarán también al todo. Si se permiten tales combinaciones se
abriría un agujero lo suficientemente grande como para hundir
el barco. Por ello, un requerimiento crucial para el copyleft es
que se tape este hoyo: cualquier cosa agregada a o combinada
con un programa bajo copyleft debe ser tal que la versión
combinada total sea también libre y bajo copyleft.
La implementación específica de copyleft que usamos para la
mayoría del software GNU es la Licencia Pública General de
GNU (GNU General Public License) o LPG GNU para abreviar.
Tenemos otras clases de copyleft que se usan en circunstancias
específicas. Los manuales GNU también están bajo copyleft,
pero utilizamos un copyleft mucho más simple, porque no es
necesaria la complejidad de la LPG GNU para los manuales.
(1) En 1984 o 1985, Don Hopkins (un compañero muy
imaginativo) me envío una carta por correo. En el sobre,
escribió varios dichos divertidos, entre ellos éste: "Copyleft--all
rights reversed" [Copyleft--todos los derechos "reversados"].
Utilicé la palabra "copyleft" para denominar al concepto de
distribución que estaba desarrollando en esa época. La
Fundación para el Software Libre A medida que el interés en el
uso de Emacs crecía, otras personas se involucraron en el
proyecto GNU, y decicimos que era el momento de buscar
fondos nuevamente. Por ello en 1985 creamos la "Free
Software Foundation" [Fundación para el Software Libre--FSL],
una organización de caridad libre de impuestos para el
desarrollo del software libre. La FSL también acaparó el negocio
de distribución en cinta de Emacs; más adelante lo extendió al
agregar otros productos de software libre (tanto GNU como noGNU) a la cinta, y con la venta de manuales libres.
La FSL acepta donaciones, pero la mayoría de sus ingresos han
provenido siempre de las ventas--de copias de software libre, y
otros servicios relacionados. En la actualidad vende CD-ROMs
de código fuente, CD-ROMs con binarios, manuales
agradablemente impresos (todos con libertad para redistribuir
y modificar), y las Distribuciones De Lujo (en las cuales
incorporamos toda la colección de software lista para usar en la
plataforma de su elección).
Los empleados de la Fundación para el Software Libre han
escrito y mantenido una cantidad de paquetes de software GNU.
Dos notables casos son la biblioteca C y el shell. La biblioteca C
de GNU es lo que usa todo programa que corre en un sistema
GNU/Linux para comunicarse con Linux. Fue desarrollada por
un miembro del staff de la Fundación para el Software Libre,
Roland McGrath. El shell que se usa en la mayoría de los
sistemas GNU/Linux es BASH, el Bourne Again SHell(1), que fue
desarrollado por Brian Fox, empleado de la FSL.
Hemos provisto los fondos para el desarrollo de esos programas
porque el proyecto GNU no se queda solamente en
herramientas o un entorno de desarrollo. Nuestra meta era
tener un sistema operativo completo, y esos programas eran
necesarios para esa meta.
(1) "Bourne again shell" es una broma sobre el nombre
"Bourne Shell", que era el shell usual en Unix. Asistencia para
el Software Libre La filosofía del software libre rechaza una
práctica específica de negocio ampliamente difundida, pero no
está contra el negocio. Cuando los negocios respetan la libertad
de los usuarios, les deseamos éxito.
La venta de copias de Emacs demostró una clase de negocio con
software libre. Cuando la FSL se apropió de ese negocio,
necesité de otro medio de vida. Lo encontré en la venta de
servicios relacionados con el software libre que había
desarrollado. Esto incluía la enseñanza, sobre temas tales como
cómo programar GNU Emacs, y cómo personalizar GCC, y
desarrollo de software, en la mayor parte transportar GCC a
otras plataformas.
En la actualidad cada una de esas clases de negocios con
software libre está puesta en práctica por una cantidad de
corporaciones. Algunas distribuyen colecciones de software
libre en CD-ROM; otras venden asistencia en niveles que van
desde responder preguntas de usuarios, reparación de errores,
hasta el agregado de nuevas características mayores. Incluso
estamos viendo compañías de software libre basadas en el
lanzamiento de nuevos productos de software libre.
Aunque, tenga cuidado--una cantidad de compañías que se
asocian a sí mismas con el término "open source" en realidad
basan su negocio en software no-libre que trabaja con software
libre. Ellas no son compañías de software libre, sino compañías
de software propietario cuyos productos tientan a los usuarios
a abandonar su libertad. Ellas usan la denominación "valor
agregado" lo que refleja los valores que desearían que
adoptemos: conveniencia por encima de libertad. Si valoramos
más la libertad, deberíamos denominarlos productos con
"libertades sustraídas". Metas técnicas La meta principal de
GNU era el software libre. Aún en el caso que GNU no tuviese
ventajas técnicas sobre Unix, tendría una ventaja social, al
permitir cooperar a los usuarios, y una ventaja ética, al
respetar la libertad de los usuarios.
Pero era natural que se apliquen los estándares conocidos de
buenas prácticas al trabajo--por ejemplo, reservar
dinámicamente las estructuras de datos para evitar límites de
tamaño fijo arbitrarios, y manejar todos lo posibles códigos de
8 bits cuando tuviese sentido.
Además, rechazamos el enfoque de Unix para pequeños
tamaños de memoria, al decidir que no trabajaríamos para
máquinas de 16 bits (era claro que las máquinas de 32 bits
serían la norma para cuando el sistema GNU estuviese
terminado), y al no hacer ningún esfuerzo para reducir el uso
de memoria, a menos que excediera el megabyte. En los
programas para los cuales no era crucial el manejo de ficheros
muy grandes, incentivamos a los programadores a leer el
fichero completo en memoria, y luego explorar su contenido,
sin tener que preocuparse por la E/S.
Estas decisiones permitieron que muchos programas GNU
sobrepasaran a sus contrapartidas UNIX en confiabilidad y
velocidad. Computadoras donadas A medida que la reputación
del proyecto GNU crecía, la gente comenzó a ofrecer al proyecto
donaciones de máquinas con UNIX corriendo. Fueron muy útiles
porque la manera más fácil de desarrollar componentes de GNU
era hacerlo en un sistema UNIX, y luego ir reemplazando los
componentes del sistema uno a uno. Pero ellas trajeron una
cuestión ética: si era correcto para nosotros siquiera tener una
copia de UNIX.
UNIX era (y es) software propietario, y la filosofía del proyecto
GNU dice que no debemos usar software propietario. Pero,
aplicando el mismo razonamiento que lleva a la conclusión que
la violencia en defensa propia está justificada, concluí que era
legítimo usar un paquete propietario cuando ello era crucial
para desarrollar un reemplazo libre que ayudaría a otros a dejar
de usar el paquete propietario.
Pero, aún cuando esto era un mal justificable, era todavía un
mal. En la actualidad ya no tenemos más copias de Unix, porque
las hemos reemplazado por sistemas operativos libres. En los
casos en que no pudimos reemplazar el sistema operativo de
una máquina por uno libre, se procedió al reemplazo de la
máquina. La lista de tareas de GNU A medida que proseguía el
proyecto GNU, se desarrollaron o encontraron una cantidad
creciente de componentes, y eventualmente se vio la utilidad de
hacer una lista con los huecos faltantes. La usamos para
reclutar desarrolladores para escribir las piezas faltantes. Esta
lista comenzó a conocerse como la lista de tareas de GNU.
Además de los componentes Unix faltantes, agregamos a la
lista otros útiles proyectos de software y documentación que,
de acuerdo a nuestra visión, debe tener un sistema
verdaderamente completo.
En la actualidad, casi ningún componente Unix queda en la lista
de tareas GNU--esos trabajos ya han sido terminados, fuera de
algunos no esenciales. Pero la lista está llena de proyectos que
algunos pueden denominar "aplicaciones". Cualquier programa
que sea atrayente a más de una estrecha franja de usuarios
sería una cosa útil para añadir a un sistema operativo.
Aún los juegos están incluídos en la lista de tareas--y han
estado desde el principio. Unix incluía juegos, así que GNU
debía incluirlos también. Pero la compatibilidad no es un
problema para los juegos, así que no seguimos la lista de
juegos que Unix tenía. En lugar de ello, listamos un espectro de
diferentes clases de juegos que les podrían gustar a los
usuarios. La LPG para Bibliotecas de GNU La biblioteca C de
GNU usa una clase especial de copyleft denominada "GNU
Library General Public License" [Licencia Pública General para
Bibliotecas de GNU] que da permiso para enlazar software
propietario con la biblioteca. ¿Porqué hacer esta excepción?
No es una cuestión de principios; no hay ningún principio que
diga que debemos incluir código de los productos de software
propietario. (¿Porqué contribuir con un proyecto que se rehusa
a compartir con nosotros?) El uso de la LPGB para la biblioteca
C, o para cualquier otra biblioteca, es un tema de estrategia.
La biblioteca C hace un trabajo genérico; todo sistema
propietario o compilador viene con una biblioteca C. Por lo
tanto, el hacer que nuestra biblioteca esté sólo disponible para
el software libre, no le daría al software libre ninguna ventaja-sólo hubiera desalentado el uso de nuestra biblioteca.
HAy un sistema que es una excepción a esto: en un sistema
GNU (y esto incluye los sistemas GNU/Linux), la biblioteca C de
GNU es la única biblioteca C. Así que los términos de
distribución de la biblioteca C de GNU determinan si es posible
compilar un programa propietario para un sistema GNU. No hay
ninguna razón ética para permitir aplicaciones propietarias en
un sistema GNU, pero estratégicamente parece que si no se
permite, ello hará más para desalentar el uso del sistema GNU
que para alentar el desarrollo de aplicaciones libres.
Por estas razones es que el uso de la LPG para Bibliotecas es
una buena estrategia para la biblioteca C. Para otras
bibliotecas, la decisión estratégica necesita considerarse en
cada caso particular. Cuando una biblioteca hace un trabajo
especial que puede ayudar a escribir cierta clase de programas,
y luego entregarla bajo la LPG, limitándola sólo a programas
libres, es una manera de ayudar a otros desarrolladores de
software libre, al proporcionarles una ventaja contra el
software propietario.
Considere la GNU Readline, una biblioteca desarrollada para
proporcionar la edición en la línea de órdenes para BASH.
Readline se entrega bajo la LPG GNU ordinaria, no bajo la LPG
para Bibliotecas. De esta manera probablemente se reduce la
cantidad de uso de Readline, pero eso no significa pérdida para
nosotros. Mientras tanto, al menos una útil aplicación se ha
transformado en software libre específicamente para poder
usar Readline, y ésa es una ganancia real para nuestra
comunidad.
Los desarrolladores de software propietario tienen las ventajas
que el dinero proporciona; los desarrolladores de software libre
necesitan crear ventajas entre sí. Tengo la esperanza de que
algún día tendremos una gran colección de bibliotecas cubiertas
por LPG que no tengan parangón entre el software propietario,
que proporcionen útiles módulos que sirvan como bloques
constructivos en nuevo software libre, y que sumen una mayor
ventaja para adelantar el desarrollo de software libre.
¿Rascarse una comezón? Eric Raymond dice que "Todo buen
trabajo de software comienza con un desarrollador rascándose
una comezón personal". Puede que ocurra algunas veces, pero
muchas de las piezas esenciales de software GNU se
desarrollaron a los fines de tener un sistema operativo libre
completo. Vinieron desde una visión y un plan, no desde el
impulso.
Por ejemplo, desarrollamos la biblioteca C de GNU porque un
sistema del estilo Unix necesita una biblioteca C, el shell
Bourne-Again (bash) porque un sistema del estilo Unix necesita
un shell, y el tar GNU porque un sistema del estilo Unix necesita
un programa tar. Lo mismo se aplica a mis propios progamas-el compilador GNU C, GNU Emacs, GDB y GNU Make.
Algunos de los programas GNU se desarrollaron para tratar
amenazas específicas a nuestra libertad. Por ello,
desarrollamos gzip para reemplazar al programa Compress,
perdido para nuestra comunidad a causa de las patentes LZW.
Proporcionamos fondos para desarrollar LessTif, y más
recientemente iniciamos GNOME y Harmony, para lidiar con los
problemas causados por cierta biblioteca propietaria (vea más
abajo). Estamos desarrollando el GNU Privacy Guard para
reemplazar un software popular de cifrado no-libre, porque los
usuarios no deben verse obligados a elegir entre privacidad y
libertad.
Por supuesto, la gente que escribe estos programas se interesa
en el trabajo, y varias personas han agregado muchas
características para satisfacer sus propias necesidades e
intereses. Pero ése no es el motivo por el cual existe el
programa. Desarrollos inesperados Al comienzo del proyecto
GNU, imaginé que desarrollaríamos el sistema GNU completo, y
luego lo entregaríamos completo. No es así como ha sucedido.
Como cada componente de un sistema GNU se implementó en
un sistema Unix, cada componente podía correr en sistemas
Unix, mucho antes de que existiera un sistema GNU completo.
Algunos de esos programas se hicieron populares, y los
usuarios comenzaron a extenderlos y transportarlos--a las
distintas versiones incompatibles de Unix, y algunas veces a
otros sistemas también.
El proceso hizo que dichos programas sean más potentes, y
atrayeran tanto fondos como contribuyentes al proyecto GNU.
Pero también demoró el completamiento de un sistema mínimo
en funciones por varios años, a medida que el tiempo de los
desarrolladores GNU se usaba para mantener esos transportes
y en agregar características a los componentes existentes, en
lugar de adelantar la escritura de los componentes faltantes. El
GNU Hurd En 1990, el sistema GNU estaba casi completo; el
único componente importante faltante era el núcleo. Decidimos
implementar nuestro núcleo como una colección de procesos
servidores corriendo sobre Mach. Mach es un micronúcleo
desarrollado en Carnegie Mellon University y luego en la
University of Utah; el GNU HURD es una colección de servidores
(o "manada de ñus") que corren sobre Mach, y se ocupan de las
tareas del núcleo Unix. El inicio del desarrollo se demoró
mientras esperábamos que Mach se entregue como software
libre, tal como se había prometido.
Una razón para elegir este diseño había sido evitar lo parecía
ser la parte más dura del trabajo: depurar el núcleo sin un
depurador a nivel de código fuente para utilizar. Esta parte del
trabajo ya había sido hecha en Mach, y esperábamos depurar
los servidores HURD como programas de usuario, con GDB.
Pero llevó un largo tiempo hacer esto posible, y los servidores
multihilo que se envían mensajes unos a otros han sido muy
difíciles de depurar. Hacer que HURD trabaje sólidamente se ha
tardado varios años. Alix El núcleo GNU no se iba a llamar
originalmente el HURD. Su nombre original era Alix-denominado así a partir de una mujer que era mi amor de
aquella época. Ella era administradora de sistema Unix y había
hecho notar que su nombre seguía el patrón de nomenclatura
común a las versiones de sistema Unix; a modo de broma, le
dijo a sus amigos, "Alguien debería darle mi nombre a un
núcleo". Yo no dije nada, pero decidí sorprenderla con un
núcleo llamado Alix.
No se dió de esa manera. Michael Bushnell (ahora Thomas), el
principal desarrollador del núcleo, prefirió el nombre HURD, y
redefinió Alix para referirse a cierta parte del núcleo--la parte
que captura las llamadas del sistema y las gestiona por medio
del envío de mensajes a los servidores HURD.
Más tarde, Alix y yo nos separamos, y ella cambió su nombre;
independientemente, el diseño de HURD se cambió para que la
biblioteca C envíe los mensajes directamente a los servidores, y
esto hizo que el componente Alix desapareciera del diseño.
Pero antes que estas cosas sucedieran, un amigo de ella
encontró el nombre Alix en el código fuente de HURD, y se lo
mencionó. Así que el nombre cumplió su objetivo. Linux y
GNU/Linux El GNU HURD no está listo para el uso en
producción. Afortunadamente, está disponible otro núcleo. En
1991, Linus Torvalds desarrolló un núcleo compatible con Unix
y lo denominó Linux. Cerca de 1992, al combinar Linux con el
sistema no tan completo de GNU, resultó en un sistema
operativo libre completo. (La combinación en sí misma dió un
considerable trabajo.) Es gracias a Linux que podemos ver
funcionar un sistema GNU en la actualidad.
Denominamos a esta versión GNU/Linux, para expresar su
composición como combinación de un sistema GNU con Linux
como núcleo. Desafíos en nuestro futuro Hemos probado
nuestra capacidad para desarrollar un amplio espectro de
software libre. Esto no significa que somos invencibles o que
nada nos puede detener. Muchos desafíos hacen que el futuro
del software libre sea incierto; estar a la altura de los mismos
requerirá esfuerzos firmes y resistencia, algunas veces durante
años. Requerirá la clase de determinación que la gente muestra
cuando valora su libertad y no deja que nadie se la quite.
Las siguientes cuatro secciones discuten dichos desafíos.
Hardware secreto Los fabricantes de hardware tienden cada vez
más a mantener las especificaciones de hardware secretas. Esto
hace difícil la escritura de controladores libres, y de esa
manera, que Linux y XFree86 puedan admitir nuevo hardware.
Tenemos sistemas libres completos por hoy, pero no los
tendremos mañana si no podemos usar las computadoras del
mañana.
Existen dos maneras de lidiar con este problema. Los
programadores pueden hacer ingeniería reversa para darse
cuenta como usar el hardware. El resto de nosotros puede
elegir el hardware que admite software libre; a medida que
nuestro número crezca, el secreto de las especificaciones se
transformará en una política contraproducente.
La ingeniería reversa es un trabajo enorme; ¿tendremos los
programadores con la suficiente determinación para realizarla?
Sí--si hemos construído un fuerte sentimiento de que el
software libre es un tema de principio, y de que los
controladores no libres son intolerables. ¿Y una gran cantidad
de nosotros estará dispuesto a gastar dinero extra, o incluso
tiempo extra, para que podamos usar controladores libres? Sí,
si se difunde la determinación para tener libertad. Bibliotecas
no libres Una biblioteca no libre que corre sobre un sistema
operativo actúa como una trampa para los desarrolladores de
software libre. Las características atractivas de la biblioteca son
el cebo; si usted usa la biblioteca, cae en la trampa, porque su
programa no puede ser parte útil de un sistema operativo libre.
(Estrictamente hablando, podemos incluir su programa, pero no
funcionará sin la biblioteca faltante.) Peor aún, si el programa
que usa la biblioteca se hace popular, puede hacer caer a otros
programadores incautos dentro de la trampa.
La primer instancia de este problema fue el kit de herramientas
Motif, allá en los 80s. Aunque aún no había sistemas operativos
libres, era claro el problema que Motif iba a causarles más
adelante. El proyecto GNU respondió de dos maneras:
solicitando a los proyectos individuales de software libre que
admitan tanto los widgets del kit libre de herramientas de X
como el de Motif, y solicitando a alguien que escriba un
reemplazo libre para Motif. El trabajo tomó varios años; LessTif,
desarrollado por Hungry Programmers [Programadores
hambrientos] tomó la potencia necesaria como para admitir la
mayoría de las aplicaciones Motif recién en 1997.
Entre 1996 y 1998, otra biblioteca kit de herramientas GUI no
libre, denominada Qt, se usó en una sustancial colección de
software libre: el escritorio KDE.
Los sistemas libres GNU/Linux no podían usar KDE, porque no
podíamos usar la biblioteca. Sin embargo, algunos
distribuidores comerciales de sistemas GNU/Linux que no eran
tan estrictos al adherirse al software libre, agregaron KDE a sus
sistemas--produciendo un sistema con más capacidades, pero
menos libertad. El grupo KDE instaba activamente a más
programadores a usar Qt, y millones de nuevos "usuarios de
Linux" nunca escucharon la idea de que había un problema con
esto. La situación se presentaba lúgubre.
La comunidad del software libre respondió a este problema de
dos maneras: GNOME y Harmony.
GNOME, el GNU Network Object Model Environment [Entorno
Modelo de Objetos en Red de GNU], es el proyecto de escritorio
de GNU. En 1997 Miguel de Icaza lo inició, y se desarrolló con
aporte de Red Hat Software, para proporcionar capacidades de
escritorio similares, pero usando sólo software libre. Tiene
también ventajas técnicas, tales como admitir una variedad de
lenguajes, no sólo C++. Pero su propósito principal fue la
libertad: evitar el uso de cualquier software no libre.
Harmony es una biblioteca de reemplazo compatible, diseñada
para poder hacer funcionar el software KDE sin usar Qt.
En noviembre de 1998, los desarrolladores de Qt anunciaron un
cambio de licencia, que cuando se lleve a cabo, hará que Qt sea
software libre. No hay manera de estar seguro, pero pienso que
esto ocurrió en parte debido a la firme respuesta de la
comunidad frente al problema que presentaba Qt cuando no era
libre. (La nueva licencia es inconveniente e injusta, así que aún
es deseable evitar su uso.)
¿Cómo responderemos a la siguiente biblioteca no libre que nos
tiente? ¿Comprenderá la totalidad de la comunidad la necesidad
de mantenerse fuera de la trampa? ¿Alguno de nosotros
entregará libertad por conveniencia, y generará un importante
problema? Nuestro futuro depende de nuestra filosofía.
Patentes de software La peor amenaza que enfrentamos
proviene de las patentes de software, que pueden colocar a
algoritmos y características fuera de los límites del software
libre hasta por veinte años. Las patentes del algoritmo de
compresión LZW se solicitaron en 1983, y hasta ahora no
podemos entregar software libre que produzca GIFs
adecuadamente comprimidos. En 1998, se tuvo que quitar de
una distribución un programa libre para producir audio
comprimido MP3 a causa de la amenaza de un juicio por
patente.
Existen maneras de tratar con las patentes: podemos buscar
evidencia de que la patente no es válida, y podemos buscar
maneras alternativas de realizar el trabajo. Pero cada uno de
estos métodos trabaja sólo ciertas veces; cuando ambos fallan,
una patente puede forzar a que todo software libre carezca de
alguna característica que los usuarios desean. ¿Qué haremos
cuando esto suceda?
Aquellos de nosotros que valoremos el software libre por la
libertad nos apegaremos al software libre de cualquier manera.
Nos las arreglaremos para tener nuestro trabajo realizado sin
las características patentadas. Pero aquellos que valoren el
software libre porque esperan que sea técnicamente superior,
cuando las patentes lo obliguen a mantenerse atrás, es más
probable que piensen que se trata de una falla. Por lo tanto, si
bien es útil hablar acerca de la efectividad práctica del modelo
"catedral" de desarrollo, y de la confiabilidad y potencia de
cierto software libre, no debemos detenernos allí. Debemos
hablar acerca de libertad y principio. Documentación libre La
mayor deficiencia en nuestro sistema operativo libre no está en
el software-- es la falta de buenos manuales libres que
podamos incluir en nuestros sistemas. La documentación es
una parte esencial de cualquier paquete de software; cuando un
paquete importante de software libre no viene con un buen
manual libre, ése es un hueco importante. Tenemos muchos de
esos huecos en la actualidad.
La documentación libre, como el software, es un tema de
libertad, no de precio. El criterio para un manual libre es muy
parecido al del software libre: es una cuestión de otorgar a los
usuarios ciertas libertades. La redistribución (incluso la venta
comercial) debe estar permitida, en línea y en papel, de tal
manera que el manual pueda acompañar a cada copia del
programa.
El permiso para modificarlo es también crucial. Como regla
general, no creo que sea esencial que las personas tengan
permiso para modificar toda clase de artículos y libros. Por
ejemplo, no creo que usted o yo estemos obligado a dar
permiso para modificar artículos como este, que describe
nuestras acciones y nuestra visión.
Pero existe una razón particular debido a la cual la libertad para
modificar la documentación es crucial para el software libre.
Cuando la gente ejercita su derecho a modificar el software, y
agrega o cambia características, si son concientes también
cambiarán el manual--así proporcionarán documentación
precisa y útil con el programa modificado. Un manual que no
permite a los programadores ser concientes y terminar el
trabajo, no satisface las necesidades de nuestra comunidad.
La existencia de algunas clases de límites acerca de cómo se
deben hacer las modificaciones no implica problemas. Por
ejemplo, el requerimiento de preservar el aviso de copyright del
autor original, los términos de distribución, o la lista de
autores, están bien. Tampoco trae problemas requerir que la
versión modificada incluya un aviso de que fue modificada, e
incluso que haya secciones completas que no puedan borrarse o
cambiarse siempre y cuando dichas secciones traten temas que
no sean de índole técnica. Estas clases de restricciones no son
un problema porque no impiden al programador conciente que
adapte el manual para ajustarlo al programa modificado. En
otras palabras, no impiden a la comunidad del software libre la
completa utilización del manual.
Sin embargo, debe ser posible modificar todo el contenido
*técnico* del manual, y luego distribuir el resultado en todos
los medios usuales, a través de todos los canales usuales; si
esto no es así, las restricciones obstruyen la comunidad, el
manual no es libre, y necesitaremos otro maual.
¿Será que loa desarrolladores de software libre tendrán la
conciencia y determinación para producir un espectro completo
de manuales? Una vez más, nuestro futuro depende de nuestra
filosofía. Debemos hablar acerca de la libertad En la actualidad
se estima que hay unos diez millones de usuarios de sistemas
GNU/Linux, tales como el Debian GNU/Linux y Red Hat Linux. El
software libre ha desarrollado ciertas ventajas prácticas que
hacen que los usuarios estén congregándose hacia allí por
razones puramente prácticas.
Las buenas consecuencias de esto son evidentes: mayor interés
en el desarrollo de software libre, más clientes para empresas
de software libre, y mayor capacidad para animar a las
compañías a que desarrollen productos de software libre, en
lugar de productos de software propietario.
Pero el interés en el software crece más rápido que la
conciencia acerca de la filosofía sobre la cual está basado, y
esto crea problemas. Nuestra capacidad de enfrentar los
desafíos y amenazas que se describieron más arriba depende
de la voluntad de mantenerse firmes del lado de la libertad.
Para asegurarnos de que nuestra comunidad tiene esta
voluntad, necesitamos esparcir la idea entre los nuevos
usuarios a medida que ellos llegan a nuestra comunidad.
Pero estamos fracasando en esto: los esfuerzos realizados para
atraer nuevos usuarios a nuestra comunidad sobrepasan por
lejos a los esfuerzos dedicados a la enseñanza cívica acerca de
nuestra comunidad. Necesitamos hacer ambas cosas, y es
necesario que mantengamos ambos esfuerzos balanceados.
"Open Source" La enseñanza acerca de la libertad a los nuevos
usuarios se hizo más difícil en 1998, cuando una parte de la
comunidad decidió dejar de usar el término "software libre" y
usar "open source software" en su lugar.
Algunos de los que favorecieron este término tenían como
objetivo evitar la confusión de "free" con "gratis"--una meta
válida. Otros, sin embargo, apuntaban a apartar el espíritu de
principio que ha motivado el movimiento por el software libre y
el proyecto GNU, y resultar así atractivos a los ejecutivos y
usuarios comerciales, muchos de los cuales sostienen una
ideología que pone las ganancias por encima de la libertad, de
la comunidad, y de los principios. Por lo tanto, la retórica de
"open source" se centra en el potencial de realización de
potente software de alta calidad, pero esquiva las ideas de
libertad, comunidad y principio.
Las revistas sobre "Linux" son un claro ejemplo de esto--están
llenas de propagandas acerca de software propietario que
funciona sobre GNU/Linux. Cuando aparezca la próxima Motif o
Qt, ¿incentivarán estas revistas a los programadores a
apartarse de ellas, o pondrán propagandas de las mismas?
El apoyo de las empresas puede contribuir a la comunidad de
varias maneras; si todo lo demás se mantiene igual, esto es útil.
Pero si ganamos su apoyo mediante el recurso de hablar menos
de libertad y principio esto puede ser desastroso; hace que
empeore el desbalance previo entre el alcance y la educación
cívica.
"Software libre" y "open source" describen la misma categoría
de software, más o menos, pero dicen diferentes cosas acerca
del software, y acerca de los valores. El proyecto GNU continúa
utilizando el término "free software" [software libre] para
expresar la idea de que la libertad, no solamente la tecnología,
es lo importante. ¡Pruébelo! La filosofía de Yoda ("No hay 'para
probar'") suena linda, pero no funciona conmigo. He realizado
la mayor parte de mi trabajo con ansiedad por saber si podría
llevarlo a cabo, y con la inseguridad de que no sería suficiente
alcanzar la meta si lo lograba. Pero lo intenté igual, porque no
había otro entre el enemigo y mi ciudad. Para mi propia
sorpresa, algunas veces he tenido éxito.
Algunas veces he fallado; algunas de mis ciudades han caído.
Luego he encontrado otra ciudad amenazada, y me preparé
para otra batalla. A lo largo del tiempo, aprendí a buscar las
amenazas y ponerme entre ellas y la ciudad, y llamar a otros
hackers para que se unan a mí.
En la actualidad, con frecuencia no soy el único. Es un consuelo
y un placer cuando veo un regimiento de hackers excavando
para mantener la trinchera, y caigo en cuenta que esta ciudad
sobrevivirá--por ahora. Pero los peligros son mayores cada año
que pasa, y ahora Microsoft tiene a nuestra comunidad como un
blanco explícito. No podemos dar por garantizado el futuro en
libertad. ¡No lo dé por garantizado! Si usted desea mantener su
libertad, debe estar preparado para defenderla.
Por favor envíe sus preguntas (en inglés) sobre FSF & GNU a
[email protected]. También hay otras maneras de contactar a la
FSF.
Por favor envíe comentarios (en inglés) sobre estas páginas a
[email protected], envíe otras preguntas (en inglés) a
[email protected].
Copyright (C) 1998 Richard Stallman
Está permitida la copia textual y distribución de este artículo en
su totalidad por cualquier medio, siempre y cuando esta nota se
preserve.
Actualizado: $Date: 2003/02/18 20:33:43 $ $Author: luferbu $
Traducción: César Ballardini (Argentina)
<[email protected]> - César
Villanueva (Venezuela) <[email protected]> Oscar Mendez Bonilla
(México) <[email protected]> Coordinación: - Hugo Gayosso
<[email protected]>
Revisión: - Ramsés Morales (Panamá)
Actualizada: 30 Nov 1999 Cesar Javier Bolaños Vizcarra (México)
<[email protected]>
Actualizada: 08 Feb 2003 Luis Bustamante
2.3 Editor de textos
Los editores o procesadores de texto son unos de los programas más
importantes y necesarios en la utilización de cualquier ordenador personal.
Elegir el más adecuado depende de la experiencia y pretensiones de los
usuarios.
La posibilidad de escribir largos o repetitivos documentos, corregirlos,
modificarlos e imprimirlos es una ventaja sustancial del PC sobre la máquina
de escribir.
Los procesadores o tratamientos de textos son programas de usuario que
permiten realizar todas las operaciones necesarias para crear, guardar,
recuperar, modificar e imprimir un texto. Al escribir con un procesador de
textos, no hay que preocuparse del final de la línea, ni tampoco del final de la
página, ya que el programa pasa automáticamente a la línea siguiente o a la
hoja siguiente cuando una esté completa. El propio procesador delimitará el
tamaño de la hoja, líneas por página.
Mediante sencillos procedimientos podemos mover, borrar, subrayar o repetir
párrafos, frases y palabras dentro de un texto. Una vez finalizada la
manipulación del documento, podemos guardarlo en un soporte magnético u
óptico, imprimirlo o ambas cosas. (Cuando se edita o crea un texto, éste reside
en la memoria interna, luego solo permanece temporalmente, perdiéndose al
desconectar el equipo. Para evitar la pérdida, antes debe guardarse en un
soporte, si deseamos conservarlo).
Los procesadores tienen acceso y comunicación con otros programas: bases de
datos, hojas de cálculo, diccionarios, otros archivos, etc, aunque esto ya no es
imprescindible en los entornos Linux o Windows, dada las facilidades que
ofrecen para la interrelación entre programas.
Todos los procesadores de textos permiten establecer cabeceras y piés de
página, definir la anchura del documento, el número de caracteres por línea,
definir longitud de páginas, marcar márgenes y tabuladores, mover, copiar o
borrar bloques de textos, definir atributos de texto (negrita, subrayado
...).También ofrecen la posibilidad de crear de forma sencilla tablas, gráficos,
dibujos e insertar incluso imágenes. Es normal la la posibilidad de visualizar el
documento en pantalla en su formato definitivo, es decir tal y como va a
imprimirse. Esta muestra previa es muy interesante para comprobar su
aspecto final sin necesidad de imprimirlo; se conoce como WYSIWYNG (se
obtiene lo que se ve).
Respecto a la seguridad, guardan automáticamente una copia del documento
anterior; otros tienen claves de acceso (PASSWORD) que protegen el texto,
permitiendo su manipulación sólamente a los usuarios que conozcan la
contraseña. Sin embargo Microsoft WORD tiene niveles de seguridad muy
deficientes.
Los procesadores de texto bajo Windows tienen la posibilidad de disponer de
los tipos de letras de Windows, aunque es el tipo de impresora la que
realmente determina la variedad que se puede utilizar.
Los procesadores actuales cuentan con programas auxiliares como los
diccionarios ortográficos, de sinónimos o bilingües. Los ortográficos sirven
para revisar el documento completo o páginas detectando los errores de
mecanografía y faltas de ortografía. Los de sinónimos (tesauros) permiten
consultar posibles alternativas a una palabra. Los diccionarios bilingües
permiten buscar la palabra en otro idioma. Otras posibilidades hasta hace
poco tiempo consideradas como avanzadas son: editores de fórmulas,
posibilidad de definir macros, sombreados de marcos, escritura en columnas.
Es también muy importante la existencia de una ayuda lo más sencilla y
completa posible que evite la consulta constante del manual. Algunos
programas incluyen discos tutores y libros de aprendizaje con ejemplos.
Otros programas interesantes son los comprobadores de estilo que comparan
los textos con una serie de reglas gramaticales. Detectan errores de
puntuación, mayúsculas, palabras repetidas, palabras en desuso. Los
procesadores de textos son programas de usurario que permiten realizar todas
las operaciones necesarias para crear, guardar, recuperar, modificar e
imprimir un texto.
Un poco de historia sobre TEX
La aparición de las computadoras ha introducido a los autores de
artículos, informes o libros científicos (o a sus secretarios/as) en el
mundo de la edición. La edición de trabajos en la mayor parte de las
disciplinas de carácter humanístico-lingüístico no presenta
dificultades importantes. Sin embargo en textos científicos de
matemáticas, física, etc. la situación es diferente debido a la
necesidad de usar fórmulas o gráficos complicados.
Hasta hace bien poco tiempo era frecuente encontrar trabajos
mecanografiados con las fórmulas escritas a mano. Con la llegada de
los ordenadores personales y el uso de sistemas que operan en un
entorno gráfico (Windows, Mac, X-Windows,...) algunos de esas
dificultades han quedado obsoletas, pero han aparecido otras:

La gran variedad de editores existentes en el mercado, con las
ventajas parciales de unos y otros o las preferencias de los
autores, dificulta el intercambio de originales, incluso aunque
los autores trabajen sobre un mismo sistema operativo. La
frenética (e interesada) carrera de las "versiones" o la
existencia (cuando están disponibles) de "conversores" que
nunca acaban de funcionar satisfactoriamente, no contribuye a
mejorar el panorama.

La posibilidad de intercambio de originales entre autores que
utilizan entornos operativos diferentes (MSDOS, OSDOS, UNIX,
VMS, MAC,..) es prácticamente inexistente. En el mejor de los
casos será posible exportar a un formato "solo texto" con el
coste de reducir las prestaciones del editor a las de una vulgar
máquina de escribir.

El hecho de la creciente globalización que en nuestro mundo se
da en todos los ámbitos de la actividad humana, requiere y
genera recursos de interconectividad, trabajo en equipo (a
veces desde lugares geográficamente alejados), etc. Pero las
enormes posibilidades que hoy existen para la
interconectividad de los ordenadores a través de las redes
locales o internacionales tiene como handicap lo expresado en
los dos puntos anteriores. Incluso en el limitado ámbito del
"sólo texto", quienes han tenido alguna experiencia conocen
bien que los caracteres con algún tipo de acento se comportan
de forma impredecible al viajar por las redes.
En los años 1970 la American Mathematical Society encargó a Donald
E. Knuth, profesor de la Universidad de Stanford, la creación de un
sistema para escribir textos científicos (especialmente matemáticos),
que fuera cómodo y transportable entre plataformas. A partir de las
ideas de Gutemberg y utilizando las computadoras como
herramientas, Knuth creó el TeX que muchos consideran ahora como
la aportación más importante habida en este campo desde la
imprenta de Gutemberg.
Prácticamente el cien por cien de los departamentos de matemáticas
en todas las universiades utilizan TeX para escribir en sus
publicaciones y trabajos científicos, buena parte de las revistas mas
importantes especializadas en matemáticas utilizan TeX (desde luego
todas las que publica la AMS) y algunas solo publican originales que
les sean remitidos en este formato. Los ficheros con formato TEX
viajan constantemente por las redes informáticas de todo el mundo
como mensajeros de investigaciones realizadas y resultados
científicos obtenidos.
Implementado inicialmente en máquinas grandes con sistema propio,
el TeX fue posteriormente compilado en los diferentes plataformas y
sistemas. Comercializado durante el tiempo necesario para amortizar
la inversión, Donald E. Knuth y la American Mathematical Society
pusieron de forma gratuita el programa fuente a disposición de la
comunidad científica internacional. Siguiendo su ejemplo, muchas
personas han contribuido (y contribuyen) desinteresadamente a
implementar módulos adicionales al programa original. Hay incluso
una asociación de usuarios de TeX la "TeX Users Group" para
intercambiar información sobre problemas comunes y soluciones. En
colaboración con ellos la AMS publica desde 1980 una revista llamada
TUGboat sobre estos temas.
Actualmente está en fase de elaboración, entre todos los usuarios
que deseen participar, la versión 3 del dialecto LaTeX , el más
extendido de los dialectos del TeX, coordinada por un equipo "The
LaTeX team" que pone libremente a disposición de la comunidad
científica, semestralmente en servidores Internet, los progresos que
se van realizando con las ideas y colaboraciones de todos. La
aproximación asintótica a esa versión 3 se llama LaTeXe.
El TeX es un compilador, no es un editor de textos. De hecho, los
autores pueden emplear para crear los textos TEX su editor preferido
y esa facilidad también ha contribuido a su difusión.
2.4 Hojas de cálculo
Las hojas de cálculo (hojas electrónicas) nacieron cuando surgió la necesidad
de adaptar los sistemas de planificación utilizados en los grandes ordenadores
a los nuevos microordenadores. Son una combinación de calculadora, lápiz y
papel, que unido a la potencia y capacidad de almacenar datos de los
ordenadores, las convierten en una herramienta de primerísima importancia
en el mundo empresarial.
La primera hoja de cálculo (Visicalc) nació en 1977 de una idea de un
estudiante, Dan Bricklin, de administración de empresas de la Universidad de
Harvard (EE.UU.).
Los cálculos empresariales manejan unas cantidades de datos que suelen
variar dependiendo de los supuestos, por lo que hasta la invención de la hoja
electrónica se había desechado aplicar la informática a ese entorno de trabajo,
donde cada caso originaría un programa distinto.
La hoja de cálculo se presenta como una tabla o matriz de dos dimensiones
(actualmente ya existen de tres) que consta de un número de filas y columnas
variable según el modelo del que se trate. (Ej. en LOTUS 123, una de las
primeras, tiene 8192 filas y 256 columnas, en total más de 2000000 de celdas).
Las filas son los datos horizontales y las columnas los verticales. El lugar
donde se produce la intersección de una fila y una columna se denomina celda.
Las columnas habitualmente se nombran con letras (A,B, ... AA, AB, ....) y las
filas desde 1 en adelante.
http://www.um.es/docencia/barzana/IATS/Iats2003_04_2.html
1.9.4 Las aplicaciones.
1.10 . Tipos de computadoras y sus dispositivos
Tipos de Computadoras:
Computadoras analogicas:
Son aquellas que representan los valores cambiantes dados por un proceso de variacion
continua.
Ejemplo: El voltaje en un circuito.
Computadoras digitales:
Son aquellas que representan los valores que han sido convertidos a digitos binarios, es
decir en 0 y 1.
La mayoria de las computadoras trabajan bajo el sistema binario.
Computadora Hibrida:
Son una combinacion entre las computadoras analogicas y las digitales.
Se utilizan sobre todo para el control de procesos y robotica.
Categorias de las computadoras:
Supercomputadora:
Son computadoras de gran procesamiento de datos en un tiempo record.
Dentro de las categorias de las computadoras, es la más costosa por lo que su
comercializacion es minima.
Son utilizados por organismos gubernamentales, industrias petroleras y organismos de
investigacion cientifica.
Mainframe:
Esta categoria de computadora permite un sistema de computo de gran tamaño y gran
velocidad.
Son utilizadas por grandes corporaciones, universidades y sirven para prestar a miles de
usuarios.
Minicomputadora:
Es como un mainframe, pero de menor coste de manutencion. Actualmente ha ido
desapareciendo del mercado.
Microcomputadora:
Son computadoras que contienen como procesador un solo chip. Dentro de estas categorias
de computadoras existen unas tan modernas y poderosas como la maxicomputadora,
ademas cuentan con la ventaja de que son de menor tamaño y más economica.
Se les conoce en el mercado como computadora personal o PC.
http://lenguajes-de-programacion.com/tipos-de-computadoras.shtml
Unidad 2. Utilización de las tecnologías de la
información y de comunicación
2.4 Las Telecomunicaciones y el trabajo distribuido y
colaborativo.
2.4.1 Datos y sus formatos de presentación (texto, gráfico,
audio, video)
Microsoft Office es la suite ofimática creada por Microsoft y la más utilizada en la actualidad.
Funciona bajo los sistemas operativos Microsoft Windows y Apple Mac OS. Ademas de
aplicaciones incluye servidores y servicios basados en Web.
Microsoft Office es considerado el estandar de facto en programas de productividad y tiene
muchas caracteristicas no presentes en otras suites. Aunque lo contrario tambien es cierto, otros
programas tienen características que Office no posee.
Microsoft Office incluye:












Microsoft Word (procesador de texto)
Microsoft Excel (planilla de cálculo)
Microsoft Powerpoint (programa de presentaciones)
Microsoft Access (programa de bases de datos)
Microsoft Outlook (agenda y cliente de correo electrónico)
Microsoft Frontpage (editor de páginas web visual)
Microsoft Photo Editor (editor fotográfico)
Microsoft InfoPath
Microsoft OneNote
Microsoft Project
Microsoft Publisher
Microsoft Visio
http://es.wikipedia.org/wiki/Microsoft_Office
OpenOffice.org (no OpenOffice, debido a una disputa de marcas), es un proyecto basado en el
código abierto para crear una suite ofimática.
Es multiplataforma, existe entre otros para Microsoft Windows, GNU/Linux, Solaris y Mac OS
X.
Deriva a su vez de una versión comercial, StarOffice de Sun Microsystems todavía existente. Las
más recientes versiones de StarOffice están basadas en el código base de OpenOffice.org; de
forma similar a la relación existente entre Netscape Navigator y Mozilla.
La primera versión fue liberada el 2 de mayo de 2002.
Competencia
Está diseñado para competir con el líder en el mercado, Microsoft Office, por lo que tiene un
cierto aire similar. Es bastante compatible con los formatos de fichero de Microsoft Office, ya
que puede leer directamente los archivos creados con dicha suite ofimática, aunque tiene su
propio formato de archivos basado en el estándar XML. La compresión tras la creación del
documento en XML es menor que los archivos equivalentes de Microsoft Office.
Writer 1.1.0
Herramientas incluidas






Writer, un procesador de texto,
Editor, para la creación de HTML,
Calc, para manejar hojas de cálculos,
Draw, para dibujos, con posibilidad de exportar al formato estándar SVG,
Impress para presentaciones visuales,
Math editor para fórmulas matemáticas.
OpenOffice.org se integra además con bases de datos como MySQL y PostgresSQL, con una
funcionalidad similar o superior a Microsoft Access.
Sun está incluyendo OpenOffice.org con GNOME, aunque este entorno gráfico intenta crear una
suite similar con Gnome Office.
http://es.wikipedia.org/wiki/OpenOffice.org
Gnome Office es una suite ofimática desarrollada por el Proyecto libre Gnome. Que la
componen las siguientes aplicaciones:




AbiWord - Procesador de textos
Gnumeric - Hoja de calculo
GnomeDB - Aplicacion gestora de base de datos
Gimp - Aplicacion para manipular graficos
Ademas de otras aplicaciones pendientes de anexionarse al proyecto como puede ser Magic Point
que es un editor de presentaciones.
El proyecto Gnome Office es un tanto expecial porque ademas de las aplicaciones desarrolladas
por ellos mismos com puede ser Gnumeric, hay otras como por ejemplo Gimp que han sido
adoptadas en el proyecto por eso es una suite un tanto hetereogenea incluso en el nombre que no
empieza con las mismas silabas com puede ser por ejemplo en la suite offimatica OpenOffice que
comienzan todas con Open. Aunque todas las que forman Gnome Office tienen un rasgo comun y
es que usan las librerias Gtk.
De un tiempo para aca (2005) el proyecto Gnome Office esta sufriendo una serie de incidencias
por la aparcion de OpenOffice que es otra suite ofimática libre, porque ademas de ser una
competidora mas, esto influye en que nuevos desarrolladores de software libre tienen mas
opciones donde unirse a un proyecto y por parte de los usuarios finales que les resulta mas
estetico una suite que tiene semejantes GUI para todas sus aplicaciones. Aunque tambien KDE el
proyecto competidor y amigo de Gnome ha sufrido tambien esta misma incidencia en su suite
ofimática Koffice. Pero todo esto es bueno porque en el campo del software libre como en otros
campos de la sociedad humana es bueno para su salud que haya competencia, y en este caso
ademas es una competencia amigable.
Pero todo no son problemas porque una de las principales caracteristicas por la que se diferencia
de sus competidoras es que es muy apta para equipos escasos de recursos porque no consume
muchos ciclos de CPU, ni de memoria. Aunque no es tan multiplataforma como pueden ser sus
competidoras, o por lo menos en parte porque debido a la hetereogenidad de las aplicaciones que
lo componen si se puede encontrar en otros sistemas fuera de Linux como puede ser por ejemplo
Gimp o Abiword que esta practicamente en todas las plataformas.
http://es.wikipedia.org/wiki/Gnome_Office
Corel es una compañía canadiense desarrolladora de software. Fundada en 1985 por Michael
Cowpland, que fue su presidente hasta el año 2000
Software Diseño Gráfico
La firma Corel es conocida internacionalmente por su programa de dibujo vectorial Corel_Draw,
y el retoque fotográfico PhotoPaint, comercializados conjuntamente. Sus competidores son
Adobe_Photoshop, Adobe_Illustrator y Macromedia_Freehand.
Ofimática: WordPerfect
También está presente en el sector de la ofimática, aunque muy por detrás en cuota de mercado
que Microsoft Office, con su Corel WordPerfect Office. Esta suite ofimática integra el procesador
de textos WordPerfect (anteriormente una compañía independiente), la hoja de cálculo
QuattroPro y la base de datos Paradox (antes perteneciente a Borland).
Corel y Linux
Durante 1999-2000 lanzó varios productos para Linux, entre ellos Corel_Draw y WordPerfect.
También creó su propia distribución de Linux, basada en Debian y actualmete comercializada por
Xandros. A partir de 2001 Corel dejó de comercializar sus productos Linux
Acuerdos con otras compañías
En 1996 compró el departamento de ofimática de Novell, es decir WordPerfect, para crear Corel
WordPerfect Office
Tras cancelarse el proyecto de fusión con Borland, firmó un acuerdo con Microsoft en 2001
En 2003 , Corel fue comprada por Vector Capital
http://es.wikipedia.org/wiki/Corel
2.4.2 Medios de transmisión (fibra óptica, microondas)
Se entienden por Medios de Transmisión los materiales físicos que son
usados para transmitir datos entre las computadoras.
Ligadas por medio de cables de los que hay 3 clases:
Trenzado
((líneas telefónicas)
Ventaja:
fácil de empalmar
de bajo precio
Desventaja: Sujeto a interferencias como la
estática y los ruidos
Coaxial
(alambre redondo aislado)
Ventaja:
No susceptible a interferencias
Transmite más rápido
Desventaja: Pesado y voluminoso
Necesidad de un reforzador según la
distancia
Línea de Fibra
óptica
(glass fibers)
Ventaja:
Más pequeña
Liviana
Rápida (velocidad de la luz!)
No hay interferencias
Desventaja: De alto precio
Difícil para instalar o modificar
Para distancias más largas entran en juego o cuándo cables no son prácticos, otros
medios de transmisión.
Para entender las comunicaciones de hoy en día, es necesario comprender algunos
aspectos de la naturaleza que nos rodea.
Si observamos la naturaleza estamos rodeados de fenómenos que involucran el
concepto de ondas, desde la simpleza de una nota musical hasta la luz de las
estrellas que llega a nuestros ojos. Como podrá adivinar, quienes realmente
dominan este campo son los físicos, a nosotros nos basta con saber que las ondas
pueden ser emitida por una fuente, que viaja a cierta velocidad (dependiendo de la
frecuencia de la onda) y que son susceptibles de ser captadas por un receptor.
Sin cable
(infrarrojo, luz, radio)
Ventaja:
Flexible
Portátil
Desventaja: Más lento
Sujeto a interferencias
Microondas (Microwave)
Ventaja:
Velocidad de la luz
Usa unos pocos lugares
Desventaja: Se propagan solamente en
la línea visual
Satélite
Ventaja:
Siempre a la vista
Desventaja: Posicionamiento y descenso
muy caros
2.4.3 Conectividad (redes locales, red. Internet.
¿Para que sirve una red local?
Básicamente para compartir información y recursos, tanto hardware como software.
Como ejemplos más concretos podemos citar el poder imprimir en una impresora que
está conectada a otro ordenador o directamente a la red como si fuera nuestra propia
impresora, o conectarnos a internet a través de un router mediante una línea RDSI sin
necesidad de tener en ninguna estación de trabajo ni modem ni línea telefónica.
También nos servirá para jugar una carrera de coches entre varios compañeros, sin
necesidad de compartir el teclado o el monitor, utilizando cada uno su própia máquina,
o para compartir información a través del correo electrónico, o compartir una base de
datos en modo multiusuario, de tal manera que varios usuarios puedan estar
modificándola al mismo tiempo.
¿Necesito un servidor para tener una red local?
No, pero debemos distinguir entre dos tipos de redes. Las "entre iguales" (peer to peer)
y las basadas en servidor.
Cada una de ellas tiene ventajas e inconvenientes. Incluso entre las basadas en
servidor podemos diferenciar si se trata de servidor dedicado o no. En el caso de
servidor dedicado, deberemos tener claro que dicho ordenador no se podrá utilizar
como una estación de trabajo más, y en muchos casos dicha máquina no contará ni
siquiera con teclado o monitor.
Evidentemente para entornos domésticos la que más nos va a interesar va a ser la
primera, ya que permite mayor flexibilidad y menor coste, y no requiere una
administración centralizada, sino distribuida. Este tipo de redes se pueden montar
simplemente con máquina que tengan instalado cualquier versión de Windows desde la
3.11 para trabajo en grupo.
En el caso de redes basadas en servidor, las estaciones de trabajo no pueden compartir
información entre sí, y todos los recursos están controlados directamente por el o los
servidores. Estas redes pueden estar basadas en Windows NT Server, Novell Netware
o Unix principalmente.
¿Que necesito para "montar" una red ?
Como ya hemos empezado a apuntar, necesitaremos pensar
primero en la parte correspondiente al hardware, y
posteriormente al software y a su configuración.
En la parte hardware necesitaremos, como mínimo de una
tarjeta de red para cada estación de trabajo y de un cable con
sus correspondientes conectores para cada uno de ellos.
En este artículo sólo vamos a tratar las redes Ethernet, ya que se han convertido en las
más utilizadas gracias a su universalidad.
En este apartado deberíamos empezar a hablar ya de topologías para ver cual es la
más adecuada a nuestro caso. Vamos a hablar sólo de las topología en bus y en
estrella que son las más utilizadas.
La topología en bus nos será bastante útil en el entorno doméstico, ya que requiere de
menos cantidad de cable y no es necesario ningún concentrador o "hub".
En este caso, el estandar más utilizado es el basado en las especificaciones 10base2,
que utiliza cable coaxial fino (thin coax) y conectores BNC. Además, necesitaremos
unos conectores en forma de "T" que permitirán unirnos por un lado a la anterior
máquina dentro del bus y por el otro a la siguiente.
Por contra, en entornos empresariales, la topología en estrella es la más conveniente,
ya que la centralización de toda la red en un único punto permite que un fallo que se
manifieste en una estación de trabajo no afecte al resto de la red, facilitándonos la labor
de detección del problema y su posterior resolución.
El tipo de red más habitual es 10base-T (10 Mbps) o 100base-TX (100 Mbps o Fast
Ethernet), utilizando conectores RJ-45 y cable de pares trenzados (UTP) de categoría
3 para el primero y categoría 5 para el segundo.
También necesitaremos de un hub con el número de "bocas" suficientes para conectar
todas las máquinas. Así pues si compramos uno de 8 salidas podremos conectar como
mucho 8 máquinas en nuestra red. Si en un futuro el numero de máquina a conectar
excede de este número, será suficiente con comprar otro y conectarlo al primero.
Si optamos por contruir una red a 100 Mbps, necesitaremos que tanto las tarjetas de
red (100base-TX) como el cableado (categoría 5) como el hub soporten tal ancho de
banda.
Un caso especial es la conexión de sólo 2 ordenadores, ya que únicamente
necesitaremos un sólo cable que los una, independientemente del tipo de red. En este
caso concreto recomendamos que utiliceis las especificaciones explicadas en la
topología en estrella. La única precacución y sólo hablando de pares trenzados será la
de tener un cable "cruzado". Por si teneis problemas en encontrar este tipo de cables
paso a detallaros como contruir uno:
Nº de Pin
Nº de Pin
(Tx+) 1 ---- 3 (Rx+)
(Tx-) 2 ---- 6 (Rx-)
(Rx+) 3 ---- 1 (Tx+)
(Rx-) 6 ---- 2 (Tx-)
Otra manera de resolver éste problema de una forma más económica es utilizando un
cable paralelo también cruzado que conecte ambas máquinas.
Para ello deberemos utilizar la "Conexión directa por cable" que viene implementada en
Windows 95 y 98 (En "Programas-accesorios-comunicaciones").
Si no la tenemos instalada, procederemos a su instalación desde "Panel de ControlAgregar o quitar programas-Instalación de Windows".
Aqui os detallamos como efectuar las conexiones para crear tal cable. Recordad que
necesitais dos conectores DB-25 machos y una manguera con por lo menos 15
cablecillos:
Nº de Pin
Nº de Pin
(Data Bit 0) 2 ---- 15 (Error)
(Data Bit 1) 3 ---- 13 (Select)
(Data Bit 2) 4 ---- 12 (Paper Out)
(Data Bit 3) 5 ---- 10 (Acknowledge)
(Data Bit 4) 6 ---- 11 (Busy)
(Acknowledge) 10 ---- 5 (Data Bit 3)
(Busy) 11 ---- 6 (Data Bit 4)
(Paper Out) 12 ---- 4 (Data Bit 2)
(Select) 13 ---- 3 (Data Bit 1)
(Error) 15 ---- 2 (Data Bit 0)
(Reset) 16 ---- 16 (Reset)
(Select) 17 ---- 17 (Select)
(Signal Ground) 25 ---- 25 (Signal Ground)
Otro aspecto a consideras es el bus a utilizar. Si nuestra máquina posee bus PCI este
es el más adecuado. Si no fuera así deberemos conformarnos con utilizar una tarjeta
ISA. En el caso de los ordenadores portátiles deberemos optar por instalar una tarjeta
PCMCIA o PC Card como se denominan ahora.
Por último será interesante que la tarjeta cuente con tecnología Plug and Play que nos
facilitará mucho la instalación.
http://pchardware.org/redes.php
¿Qué son las Redes de ordenadores?
Una red de ordenadores es un conjunto de equipos informáticos interconectados con el objeto de
poder compartir información y recursos entre ellos.
Además de ordenadores, se pueden conectar impresoras, modems, concentradores (hubs),
encaminadores (routers), interruptores (switchs), etc...
Ventajas de las Redes informáticas
Las redes de ordenadores permiten compartir recursos e información, con el objeto de abaratar
costes, facilitar el trabajo en grupo... En particular:







compartir archivos y programas
compartir impresoras
compartir un acceso a internet
enviar y recibir correo electrónico
usar bases de datos compartidas
gestionar eficazmente la seguridad de los equipos
realizar copias de seguridad centralizadas
Tipos de Redes Locales
Según el ámbito territorial que ocupe una red, podemos distinguir:

LAN: Red de área Local (Local Area Net)
Redes que abarcan una o varias salas, incluso en diferentes plantas de un mismo edificio o
en edificios cercanos.

MAN: Red de área Metropolitana (Metropolitan Area Net)
Redes que conectan equipos situados en diferentes puntos de un núcleo urbano..

WAN: Red de área Amplia (Wide Area Net)
Redes que incluyen ordenadores de diferentes provincias o incluso países.
Las LAN y MAN suelen interconectarse mediante cables de cobre (categorías 5 ó6), auqnue
también existen redes inalámbricas; se puede usar fibra óptica para conectar las centralitas, pero
de ahí hasta los domicilios de cada usuario se usa cable de cobre.
Las WAN pueden interconectarse mediante fibra óptica, cables subterráneos o submarinos,
enlaces vía satélite, etc...
Arquitecturas Cliente-Servidor y Peer To Peer

Cliente-Servidor
Se denomina Servidor al ordenador que presta servicios a los demás, es decir, el que
comparte sus recursos o gestiona la información que le piden los demás.
Clientes son los ordenadores que piden recursos o información al servidor.

Peer To Peer (P2P)
Estas redes no son centralizadas, sino que cada PC puede funcionar como cliente en unos
casos y servidor en otro.
La arquitectura cliente-servidor es más interesante en algunos casos, como la publicación de
páginas web o correo electrónico, aunque los servicios sólo se prestan mientras el servidor esté
funcionando correctamente.
Para que un ordenador pueda ofrecer sus servicios a otro, debe estar ejecutando un programa
también llamado servidor. Del mismo modo, los ordenadores ciente sólo pueden acceder a un
servidor mediante un programa cliente.
Los ordenadores que actúan como servidores deben ser más potentes, rápidos y con mejores
prestaciones que los demás, ya que deben trabajar para varios clientes simulténeamente. De lo
contrario, los servicios serían prestados muy lentamente o de forma defectuosa.
En el caso de redes P2P, si alguno de los ordenadores no funciona, los demás podrán seguir
intercambiando sus recursos.
Ambas arquitecturas pueden usarse simultáneamente en la misma red.
¿Qué se necesita para montar una red local?
Por supuesto, varios ordenadores, al menos 2. :-). Además:



Tarjetas de red (Una por cada PC)
Cables con clavijas RJ-45 (uno por cada PC)
Concentrador (hub) o Switch (uno con suficientes conexiones para todos los PCs)

Software de red (protocolos, programas clientes y servidores...)
En redes mayores, se usan pasarelas (gateways) y encaminadores (routers) para intereconectar
redes de diferente tipo, amplificadores ("repetidores") para refrescar la señal en tramos largos,
etc...
Existen 2 velocidades estándar en redes Ethernet: 10 Mbit/seg y 100 Mbit/seg; lógicamente, la
segunda es mucho más rápida. Para conseguirla, las tarjetas de red, el cable y el concentrador
deben ser de al menos dicha velocidad; de lo contrario, el rendimiento baja al del componente
más lento.
Si tenemos sólo 2 ordenadores, podemos conectarlos sin concentrador ni switch; simplemente
usaremos un cable especial ("cable cruzado") directamente de una tarjeta de red a la otra. Si
deseamos conectar un tercer ordenador, ya necesitamos un concentrador, o, al menos, colocar 2
tarjetas de red en el equipo "intermedio".
La tarjeta de red va conectada dentro del ordenador, en una de las ranuras de expansión
normalmente PCI en equipos de sobremesa (o PCMCIA en portátiles). Su coste es de unos 15-18
€.
El cable recomendado es el llamado de categoría 5 (10 Mb/s) ó 6 (100 Mb/Seg). Las clavijas son
del tipo RJ-45; ambos componentes se pueden adquirir en tiendas de informática y electrónica, si
bien para colocar los conectores se necesita una herramienta llamada "crimpadora" que cuesta
alrededor de 24 €. Si no necesitamos hacer cables a menudo, podemos comprarlos ya hechos a un
precio aceptable.
El concentrador es el aparato donde se conectan todos los cables que vienen de las tarjetas de
red; así pues, necesitará tener tantas tomas como ordenadores queramos incluir en la red. El
precio suele acercarse a unos 6 € por toma, es decir, un hub de 8 cuesta unos 48-50 €.
En vez del concentrador podemos emplear un switch; el aspecto y funcionamiento es el mismo,
pero mejora porque sólo envía a cada PC los datos que le conciernen, y no todos, como hace el
concentrador.
El software de red necesario incluye: protocolos de comunicaciones, programas cliente y
programas servidores.
Los protocolos más conocidos van incluidos en Windows (entre otros):



IPX (Novell), en desuso, es necesario para juegos en red antiguos (Quake I, Duke
NUkem 3D, etc)
NetBeui (Microsoft): basado en el NetBios de IBM, se puede usar para compartir
carpetas e impresoras si no se desea acceso a Internet.
TCP/IP: El más interesante, permite conectarse a Internet además de compartir
carpetas e impresoras, por lo que en la mayoría de los casos, no se necesita ningún
otro.
Windows también incorpora programas clientes para navegación web (Internet Explorer), correo
electrónico y grupos de noticias (Outlook Express), así como ftp (un programa en entorno de
texto).
Además, se pueden usar programas gratuitos o de libre distribución creados por otras empresas,
como Netscape Communicator (web, correo, grupos de noticias, etc), Ópera (navegador), NicoFTP o Cute-FTP para transferencia de archivos, etc...
Como programas servidores podemos usar algunos comerciales, aunque también existen buenos
programas gratuitos o de libre distribución, por ejemplo: Apache o Simple Server (servidores
web), Argo Soft Mail Server (correo), ServU FTP (ftp), etc...
El Protocolo TCP/IP
TCP/IP significa Protocolo de Transferencia de Archivos/Protocolo Internet (Transfer
Control Protocol/Internet Protocol), y es el sistema de comunicaciones básico que permite
entenderse unos ordenadores con otros.
En TCP/IP cada ordenador de uina red (local, Internet, etc), dispone de un número IP único, que
lo identifica en la red.
Los números IP constan de 4 valores, separados por puntos y cada uno de ellos en el rango de 0 a
255. Por ejemplo: 123.2.34.98, o bien 223,28,190,56, etc... El valor 255 es especial
(multidifusión -broadcast-, por lo que no se usa normalmente)
Si dos ordenadores de la misma red usaran la misma IP, no se podría distinguir el destinatario de
los mensajes dirigidos a dicho nº IP, causando un conflicto que se avisa en forma de mensaje de
windows.
Al conectarse a Internet, el proveedor (ISP) nos asigna un número de IP de entre los que haya
reservado, que puede ser diferente en cada sesión (IP dinámica) o fijo (IP fija o estática).
La ventaja de una IP fija es que podemos usar programas servidores para publicar páginas web,
montar una oficina de correo, chat, ftp, etc... Se accedería a dicho servidor desde un programa
cliente (por ejemplo,el navegador) tecleando dicha dirección IP, sin necesidad de disponer de un
nombre de dominio. Por eso, algunos proveedores cobran una cantidad adicional por asignar IPs
fijas.
En una red local, los números IP pueden elegirse a voluntad; siempre que mantengamos idénticos
los tres primeros valores, por ejemplo, podemos asignar los números:
24.13.100.1
24.13.100.2
24.13.100.3
etc..
En cambio, si la red está conectada a Internet, dichos números podrían estar siendo usados por
otros navegantes, lo que causaría conflictos; por ello, se reservan determinados rangos de
direcciones, llamadas direcciones privadas, establecidas por el documento RFC-918:
clase A
clase B
clase C
de
de
de
10.0.0.0
172.16.0.0
192.168.0.0
a
a
a
10.255.255.255
172.31.255.255
192.168.255.255
La clase C, dejando fijo también el tercer número, permite gestionar un rede de hasta 254
ordenadores, que es suficiente para redes pequeñas y medianas. Para redes más grandes, se usan
las otras dos clases, que admiten un número de PCs mucho mayor.
Estos números especiales pueden usarse en redes locales conectadas a Internet sin intereferir
entre sí, puesto que el ordenador que esté directamente conectado al modem dispone de su propia
y diferente IP para Internet, que es la que identifica a toda la red en Internet.
Es decir, a nivel de red interna, cada PC usa un números IPs dentro de dichos rangos, por
ejemplo, 192.168.0.24; pero el ordenador que tiene el modem (el "servidor de acceso a Internet")
además tiene una IP diferente para comunicarse con Internet, por ejemplo, 120.50.230.87,
asignada por su proveedor.
Otro número especial es 127.0.0.1, que representa siempre el propio ordenador (aunque debe
tener otra IP propia).
http://terra.es/personal/tamarit1/redes/introduccion.htm
Introducción
Algunos definen Internet como "La Red de Redes", y otros como "La Autopista de la
Información".
Efectivamente, Internet es una Red de Redes porque está hecha a base de unir muchas
redes locales de ordenadores, o sea de unos pocos ordenadores en un mismo edificio o
empresa. Además, ésta es "La Red de Redes" porque es la más grande. Prácticamente
todos los países del mundo tienen acceso a Internet. En algunos, como los del Tercer
Mundo, sólo acceden los multimillonarios y en otros como USA o los países más
desarrollados de Europa, no es difícil conectarse.
Por la Red Internet circulan constantemente cantidades increíbles de información. Por
este motivo se le llama también La Autopista de la Información. Hay 50 millones de
"Internautas", es decir, de personas que "navegan" por Internet en todo el Mundo. Se
dice "navegar" porque es normal el ver información que proviene de muchas partes
distintas del Mundo en una sola sesión.
Una de las ventajas de Internet es que posibilita la conexión con todo tipo de
ordenadores, desde los personales, hasta los más grandes que ocupan habitaciones
enteras. Incluso podemos ver conectados a la Red cámaras de vídeo, robots, y
máquinas de refrescos, etcétera.
2. Historia de la Red Internet
Internet nació en EE.UU. hace unos 30 años. Un proyecto militar llamado ARPANET
pretendía poner en contacto una importante cantidad de ordenadores de las
instalaciones del ejercito de EE.UU. Este proyecto gastó mucho dinero y recursos en
construir la red de ordenadores más grande en aquella época.
Al cabo del tiempo, a esta red se fueron añadiendo otras empresas. Así se logró que
creciera por todo el territorio de EE.UU. Hará unos 10 años se conectaron las
instituciones públicas como las Universidades y también algunas personas desde sus
casas. Fue entonces cuando se empezó a extender Internet por los demás países del
Mundo, abriendo un canal de comunicaciones entre Europa y EE.UU.
Referencia: Número de ordenadores conectados permanentemente a Internet, desde
1989 hasta 1997
Internet crece a un ritmo vertiginoso. Constantemente se mejoran los canales de
comunicación con el fin de aumentar la rapidez de envío y recepción de datos. Cada día
que pasa se publican en la Red miles de documentos nuevos, y se conectan por
primera vez miles de personas. Con relativa frecuencia aparecen nuevas posibilidades
de uso de Internet, y constantemente se están inventando nuevos términos para poder
entenderse en este nuevo mundo que no para de crecer.
Referencia: Los países en gris disponen de acceso a Internet en la actualidad
EE.UU. es el país que más uso hace de Internet con diferencia. Esto queda claramente
reflejado en el siguiente gráfico. Es por esto que casi toda la información que vemos en
Internet se encuentra en Inglés.
Referencia: Lugares del Mundo donde más se usa Internet
Hoy se conectan a Internet 50 millones de personas. Se estima que para el año 2000,
se conectarán 200 millones. Internet crece exponencialmente, tanto en recursos como
en usuarios.
3. Servicios de Internet
Las posibilidades que ofrece Internet se denominan servicios. Cada servicio es una
manera de sacarle provecho a la Red independiente de las demás. Una persona podría
especializarse en el manejo de sólo uno de estos servicios sin necesidad de saber nada
de los otros. Sin embargo, es conveniente conocer todo lo que puede ofrecer Internet,
para poder trabajar con lo que más nos interese.
Hoy en día, los servicios más usados en Internet son: Correo Electrónico, World Wide
Web, FTP, Grupos de Noticias, IRC y Servicios de Telefonía.
El Correo Electrónico nos permite enviar cartas escritas con el ordenador a otras
personas que tengan acceso a la Red. Las cartas quedan acumuladas en Internet hasta
el momento en que se piden. Es entonces cuando son enviadas al ordenador del
destinatario para que pueda leerlas. El correo electrónico es casi instantáneo, a
diferencia del correo normal, y además muy barato. Podemos cartearnos con cualquier
persona del Mundo que disponga de conexión a Internet.
La World Wide Web, o WWW como se suele abreviar, se inventó a finales de los 80 en
el CERN, el Laboratorio de Física de Partículas más importante del Mundo. Se trata de
un sistema de distribución de información tipo revista. En la Red quedan almacenadas
lo que se llaman Páginas Web, que no son más que páginas de texto con gráficos o
fotos. Aquellos que se conecten a Internet pueden pedir acceder a dichas páginas y
acto seguido éstas aparecen en la pantalla de su ordenador. Este sistema de
visualización de la información revolucionó el desarrollo de Internet. A partir de la
invención de la WWW, muchas personas empezaron a conectarse a la Red desde sus
domicilios, como entretenimiento. Internet recibió un gran impulso, hasta el punto de
que hoy en día casi siempre que hablamos de Internet, nos referimos a la WWW.
El FTP (File Transfer Protocol) nos permite enviar ficheros de datos por Internet. Ya no
es necesario guardar la información en disquetes para usarla en otro ordenador. Con
este servicio, muchas empresas informáticas han podido enviar sus productos a
personas de todo el mundo sin necesidad de gastar dinero en miles de disquetes ni
envíos. Muchos particulares hacen uso de este servicio para, por ejemplo, dar a
conocer sus creaciones informáticas a nivel mundial.
Los Grupos de Noticias son el servicio más apropiado para entablar debate sobre temas
técnicos. Se basa en el servicio de Correo Electrónico. Los mensajes que enviamos a
los Grupos de Noticias se hacen públicos y cualquier persona puede enviarnos una
contestación. Este servicio es de gran utilidad para resolver dudas difíciles, cuya
respuesta sólo la sepan unas pocas personas en el mundo.
El servicio IRC (Internet Relay Chat) nos permite entablar una conversación en tiempo
real con una o varias personas por medio de texto. Todo lo que escribimos en el teclado
aparece en las pantallas de los que participan de la charla. También permite el envío de
imágenes u otro tipo de ficheros mientras se dialoga.
Los Servicios de Telefonía son las últimas aplicaciones que han aparecido para
Internet. Nos permiten establecer una conexión con voz entre dos personas conectadas
a Internet desde cualquier parte del mundo sin tener que pagar el coste de una llamada
internacional. Algunos de estos servicios incorporan no sólo voz, sino también imagen.
A esto se le llama Videoconferencia.
4. Estructura de la Red Internet
En los últimos años se han desarrollado grandes redes que unían ordenadores de
empresas o de particulares. Estas redes, eran de tipo LAN o WAN. Internet es otra Red
que está por encima de éstas y que las une a todas.
Tenemos como ejemplo los conocidos "Servicios On-Line" en EE.UU. Son redes de
ordenadores a los que se podían conectar particulares con el fin de conseguir
programas o contactar con otros usuarios por correo. A estas redes se subscribían los
usuarios pagando una cuota. "America On-Line", "Compuserver" ó "The Microsoft
Network" son algunas de éstas redes. Con la llegada de Internet, los usuarios de estas
redes disponen de más alcance puesto que se les permite contactar con ordenadores
que están fuera de su Red, o sea en Internet.
La conocida "InfoVía" viene a ser uno de estos servicios en España. Su aparición, sin
embargo, fue posterior a la de Internet. InfoVía da dos servicios que es importante
diferenciar. Por un lado está InfoVía como red de ordenadores a nivel nacional, y por
otro lado está el servicio de conexión entre ordenadores de proveedores y usuarios a
través de InfoVía a precio de llamada local.
En resumen: Internet es una red de alcance mundial que une una gran cantidad de
redes grandes de ordenadores. Esto afecta al usuario de Internet, puesto que le permite
contactar con gente y ordenadores de todo el mundo desde su propia casa.
Internet funciona con la estrategia "Cliente/Servidor", lo que significa que en la Red hay
ordenadores Servidores que dan una información concreta en el momento que se
solicite, y por otro lado están los ordenadores que piden dicha información, los llamados
Clientes.
Existe una gran variedad de "lenguajes" que usan los ordenadores para comunicarse
por Internet. Estos "lenguajes" se llaman Protocolos. Se ha establecido que en Internet,
toda la información ha de ser transmitida mediante el Protocolo TCP/IP.
Protocolo TCP/IP
TCP/IP son las siglas de "Transfer Control Protocol / Internet Protocol". Éste es el
lenguaje establecido para la Red Internet.
5. Direcciones IP y Nombres de Dominio
Cada ordenador que se conecta a Internet se identifica por medio de una dirección IP.
Ésta se compone de 4 números comprendidos entre el 0 y el 255 ambos inclusive y
separados por puntos. Así, por ejemplo, una dirección IP podría ser: 155.210.13.45.
No está permitido que coexistan en la Red dos ordenadores distintos con la misma
dirección, puesto que de ser así, la información solicitada por uno de los ordenadores
no sabría a cual de ellos dirigirse.
Cada número de la dirección IP indica una sub-red de Internet. Hay 4 números en la
dirección, lo que quiere decir que hay 4 niveles de profundidad en la distribución
jerárquica de la Red Internet.
Resumiendo, los tres primeros números indican la red a la que pertenece nuestro
ordenador, y el último sirve para diferenciar nuestro ordenador de los otros que
"cuelguen" de la misma red.
Esta distribución jerárquica de la Red Internet, permite enviar y recibir rápidamente
paquetes de información entre dos ordenadores conectados en cualquier parte del
Mundo a Internet, y desde cualquier sub-red a la que pertenezcan.
Un usuario de Internet, no necesita conocer ninguna de estas direcciones IP. Las
manejan los ordenadores en sus comunicaciones por medio del Protocolo TCP/IP de
manera invisible para el usuario. Sin embargo, necesitamos nombrar de alguna manera
los ordenadores de Internet, para poder elegir a cual pedir información. Esto se logra
por medio de los Nombres de Dominio.
Los nombres de dominio, son la traducción para las personas de las direcciones IP, las
cuales son útiles sólo para los ordenadores. Así por ejemplo, yahoo.com es un nombre
de dominio.".
No todos los ordenadores conectados a Internet tienen un nombre de dominio. Sólo
suelen tenerlo, los ordenadores que reciben numerosas solicitudes de información, o
sea, los ordenadores servidor. Por contra, los ordenadores cliente, los que consultan
por Internet, no necesitan un nombre de dominio, puesto que ningún usuario de la Red
va a pedirles información.
El número de palabras en el nombre de dominio no es fijo. Pueden ser dos, tres, cuatro,
etc. Normalmente son sólo dos. La última palabra del nombre de dominio representa en
EE.UU. que tipo de organización posee el ordenador al que nos referimos:
com Empresas (Companies).
edu Instituciones de carácter Educativo, mayormente Universidades.
org Organizaciones no Gubernamentales.
gov Entidades del Gobierno.
mil Instalaciones Militares.
En el resto de los países, que se unieron a Internet posteriormente, se ha establecido
otra nomenclatura. La última palabra indica el país:
es España
fr Francia
uk Reino Unido (United Kingdom)
it Italia
jp Japón
au Australia
ch Suiza
ir Irlanda
ar Argentina
... ...
Por lo tanto, con sólo ver la última palabra del nombre de dominio, podemos averiguar
donde está localizado el ordenador al que nos referimos.
6. Conexión a la Red
Los ordenadores domésticos acceden a Internet a través de la línea telefónica.
Podemos aprovechar la línea que casi todos tenemos en casa. Normalmente, esta línea
telefónica tiene un conector en la pared, al que se suele enchufar el teléfono. Para
poder enchufar nuestro ordenador a este conector debemos disponer de un módem,
que viene con un cable de teléfono. Este aparato sirve para que el ordenador pueda
comunicarse a través del teléfono con otros ordenadores.
Con el fin de evitar enchufar y desenchufar el módem y el teléfono cada vez que
conectamos con Internet, casi todos los módems tienen dos conectores: "Phone" y
"Line-In". Tenemos que conectar el cable que viene con el módem al conector "Line-In"
(entrada de la línea), y por el otro extremo, lo conectamos a la clavija de la línea
telefónica, o sea, donde antes teníamos enchufado el teléfono. (1ª Configuración)
Así ya tenemos el módem conectado directamente a la línea telefónica. Para poder
enchufar también el teléfono a la línea telefónica, tenemos el otro conector del módem,
el que pone "Phone". Aquí enchufamos el cable del teléfono. De este modo, los dos
estarán conectados a la misma línea telefónica. No es necesario que esté encendido el
ordenador para que nos funcione el teléfono. El único inconveniente de esta
configuración es que cuando llamamos por teléfono no podemos conectarnos a Internet,
y cuando nos conectamos a la Red, no podemos llamar por teléfono.
Referencia: Representación de las dos posibles configuraciones para la conexión del
ordenador a la línea telefónica
Puede que no nos interese conectar el teléfono al ordenador, por ejemplo en el caso en
que tengamos el ordenador en una habitación y el teléfono en otra. Para estos casos,
se venden unos duplicadores de la línea telefónica, que funcionan como un enchufe
múltiple. Se conectan en la salida de la línea telefónica. El ordenador se enchufa en uno
de los conectores y el teléfono en el otro. (2ª Configuración)
En cualquiera de estas dos configuraciones, podemos usar el teléfono o el módem del
ordenador sin necesidad de enchufar o desenchufar ningún cable. Ahora bien, lo que no
podemos hacer en ninguna de las configuraciones es efectuar o recibir una llamada
telefónica mientras estamos conectados a Internet, puesto que es nuestro ordenador el
que está usando la línea de teléfono.
Para poder conectarnos a Internet necesitamos cuatro cosas: un ordenador, un módem,
un programa que efectúe la llamada telefónica, y otro programa para navegar por la
Red.
7. Proveedores de Internet
Un Proveedor Internet nos permite conectar nuestro ordenador a la Red Internet. No
podemos conectarlo directamente, puesto que las líneas de comunicaciones que
forman Internet en sí, sólo las pueden manejar las grandes empresas de la
telecomunicaciones a nivel Mundial: Telefónica, British Telecom, etc.
Los Proveedores conectan a muchos usuarios (normalmente varios miles de ellos por
proveedor) a estas grandes líneas de telecomunicaciones. Como tienen tantos clientes,
pueden permitirse el lujo de negociar las conexiones a Internet con las grandes
empresas de telecomunicaciones.
Aparte de esta principal funcionalidad, los Proveedores también ofrecen otros servicios:
instrucciones de instalación de la conexión, ayuda telefónica, ficheros de datos y
programas, servicios de conversación, etc.
Últimamente, algunos Proveedores están ofreciendo con el costo de la conexión, el
módem e incluso una segunda línea de teléfono para nuestra casa, para evitar ocupar
el teléfono cuando nos conectamos a la Red.
Referencia: Representación de la conexión entre los usuarios e Internet a través del
Proveedor
En principio las conexiones que nos vende nuestro proveedor son privadas. Para que
nadie pueda acceder a Internet por la conexión que nosotros hemos contratado, el
proveedor asigna un nombre de usuario y una clave secreta a cada cliente. Siempre
existe la posibilidad de compartir nuestra conexión con otra persona, con el único
inconveniente de que no podremos conectarnos simultáneamente.
8. Equipo necesario
Al menos necesitamos un ordenador PC 386 (aunque es recomendable usar un 486
como mínimo), bajo Windows, con 4 Mb de RAM. Quizá con ordenadores más antiguos,
286 ó 8086, también podamos conectarnos, si logramos ponerles Windows. También es
posible que con menos de 4 Mb logremos conectar. Sin embargo, para poder estar
relativamente seguro de que todo nos va a funcionar correctamente, lo recomendable
es disponer de un PC 486 33 Mhz con Windows y 4 Mb de RAM como mínimo.
En el tema de los módem, para Internet es recomendable tener un módem de 14.400
bps como mínimo. Antes de que apareciera Internet en el ámbito doméstico, ya existían
los módems de 1200, 2400, 4800 y 9600 bps, para conectar con los llamados servicios
On-Line. Estos módems también se pueden usar para Internet. Sin embargo, la
conexión será muy lenta.
También hay que diferenciar entre módems internos y externos. Los internos van
alojados dentro de la carcasa del ordenador, y para instalarlos hay que desarmarlo. Los
externos funcionan fuera del ordenador, y para instalarlos sólo hay que enchufarlos a
un puerto serie del PC (los puertos son los conectores que encontramos en la parte
trasera de la caja del ordenador). Los externos suelen ser más caros que los internos.
La velocidad de conexión es igual para ambos modelos. Sólo depende del número de
bps alcanzado: 14.400, 28.800, 33.600, etc.
9. Correo Electrónico
El correo electrónico ("E-Mail" ó "Electronic Mail" en Inglés) es el segundo servicio más
usado de la Red Internet (el primero es la navegación por la World Wide Web). Dos
personas que tengan acceso a una cuenta de correo en Internet pueden enviarse
mensajes escritos desde cualquier parte del mundo a una gran velocidad. Lo normal es
que un mensaje tarde entre unos pocos segundos y unos pocos minutos, dependiendo
de la cantidad de texto que se envíe.
Los Proveedores de Internet dan una o dos cuentas de correo a sus clientes cuando
solicitan una conexión a la Red. De este modo, es casi seguro que si podemos
conectarnos a Internet, podamos enviar y recibir correo electrónico.
Para manejar el correo electrónico, existen programas como el Eudora o el Pegasus,
que están especializados en esta tarea. Sin embargo, es más cómodo usar un
navegador como Netscape o Internet Explorer, puesto que incorporan la posibilidad de
gestionar el correo en el propio navegador. Esto ofrece la ventaja de que con un sólo
programa tienes acceso a los dos servicios más usados de la Red.
Una estadística muestra que el medio de comunicación más usado entre la gente que
maneja Internet es el correo electrónico y no el teléfono o el correo normal como cabría
esperar.
Referencia: Medios de Comunicación entre cibernautas
10. Direcciones de Correo Electrónico
En el correo convencional hay que indicar de alguna manera la persona a la que
queremos mandar una carta. Para ello, escribimos sus datos personales (Nombre y
Dirección) en el sobre que contiene el texto.
En el correo electrónico se hace algo parecido. Cada carta que se envía por correo
electrónico lleva asociada una cabecera, en la que se indican los datos necesarios para
que la carta llegue correctamente a su destino. Uno de estos datos es la dirección
electrónica de la persona a la que enviamos la carta.
Cada usuario de Internet que tenga una cuenta de correo, dispone automáticamente de
una dirección de correo. Todo el correo que envía y recibe un usuario de la Red, pasa a
través de su Proveedor Internet. Éste dispone de un ordenador dedicado a gestionar el
servicio de correo de sus clientes. En este ordenador quedan almacenados los correos
electrónicos que reciben los clientes a cualquier hora del día hasta el momento en que
el usuario se conecta a la Red y recibe en su propio ordenador el mensaje. Dicho
ordenador tiene un nombre de dominio con el que se identifica en Internet. Por ejemplo,
si nuestro Proveedor es Arrakis, el nombre de dominio será arrakis.es. Las direcciones
de correo de los clientes de Arrakis siempre terminarán por arrakis.es. De este modo
todos los correos que se envíen a estos clientes, en primer lugar viajarán hasta el
Proveedor, y luego hasta el usuario.
Para diferenciar un cliente de otro, hay que añadir un nombre de cliente a la dirección
de correo. Normalmente, este nombre es un alias, o sea, un apodo o unas siglas,
puesto que el Proveedor tiene varios miles de clientes y muchos de ellos pueden tener
el nombre repetido. Así pues, un cliente que se llame "Fulanito de Copas", podrá
escoger, por ejemplo, sus iniciales: "fdc" como alias.
La dirección de correo completa es la unión del alias y del nombre de dominio del
Proveedor, separados por una árroba: "@". Por lo tanto, la dirección de correo de
Fulanito de Copas, cliente de Arrakis será:
[email protected]
11. Contraseña
Con el fin de que nuestra correspondencia electrónica sea privada, se impone que para
recibir nuestro correo antes debemos dar un nombre de usuario y una clave secreta.
Si se le da a alguien estos datos secretos, esa persona podría leer nuestro correo
electrónico, y también enviar mensajes con nuestra dirección de correo.
Además es frecuente que el nombre de usuario y la clave secreta sean los mismos
datos que para el correo electrónico y para establecer la conexión a Internet. Por lo
tanto, es doblemente recomendable no dar estos datos
Algunos Proveedores de Internet ofrecen el servicio de poder cambiar la clave secreta
del correo o de la conexión a Internet, lo cual puede resultar interesante en caso de que
veamos que hay un intruso en nuestro correo o alguien usando nuestra conexión a la
Red.
12. Envío de un Correo Electrónico
Para enviar un correo electrónico necesitamos disponer de:



Una conexión a Internet.
Un programa cliente de correo, como el Netscape.
La dirección de correo de la persona a la que queremos enviar el mensaje.
A continuación vamos a ver cómo se envía un correo con el Navegador Netscape.
Abrimos el programa. Abrimos el menú "Ventana" y escogemos la opción "Correo
Electrónico".
Referencia: Ventana del Cliente de Correo Electrónico de Netscape
Acto seguido se abrirá una ventana, que se va a encargar de gestionar nuestro correo
electrónico: enviar, recibir mensajes, organizar cartas acumuladas, modificarlas,
reenviarlas, etc.
Referencia: Opción para crear un nuevo mensaje
Ahora ya sólo nos falta crear el mensaje y enviarlo. Para crearlo, vamos al menú
Fichero, a la opción Nuevo Mensaje.
Aparecerá una ventana que representa al mensaje.
Referencia: Composición del mensaje: dirección, tema y contenido
Tenemos que rellenar la primera celda con la dirección de correo de la persona a la que
enviamos el mensaje. La segunda celda es para poner otras direcciones de correo a las
que queramos enviar una copia del mensaje. La tercera celda se rellena con una
pequeña frase que de título a nuestro mensaje. La cuarta celda sirve para enviar
ficheros con el correo. Esto se verá con más detalle luego.
Por último, sólo falta escribir el contenido del mensaje en el gran recuadro inferior. Para
enviar el mensaje, pulsamos con el ratón el botón superior izquierdo, que pone "Enviar"
o "Send".
13. Recepción de un Correo Electrónico
En la ventana del Cliente de correo de Netscape, tenemos un botón que pone "Get
Messages" o "Coger Mensajes". Al pulsarlo, Netscape pedirá a nuestro servidor de
correo que nos envíe todos los mensajes de correo que tenga acumulados. Antes de
enviarlos, el servidor se asegurará de que somos dueños de tales mensajes, al
preguntarnos la clave de acceso a nuestra cuenta de correo.
Enganche de ficheros
El correo electrónico da una posibilidad muy interesante para transferir ficheros entre
usuarios de la Red. Añadido a un mensaje, podemos enviar uno o varios ficheros desde
nuestro disco duro hasta el ordenador del destinatario. Estos ficheros no se eliminarán
de nuestro ordenador, porque se envía una copia de ellos. El destinatario recibirá los
ficheros junto con el correo electrónico, y se le dará opción de grabarlos en su disco
duro en el lugar que él decida.
Los ficheros pueden ser de todo tipo, texto, documentos, imágenes, sonidos, video,
datos, e incluso programas o ficheros comprimidos.
En la ventana de creación del mensaje, hay una celda que se llama "Attachments" o
"Enganches". No deja que se escriba dentro de dicha celda. Para poder indicar qué
fichero quiero enviar, hay que pulsar el botón donde pone el nombre de la celda, o sea,
el que está justo a la izquierda de la celda de "Enganches".
Referencia: Ventana de gestión de ficheros enganchados al correo
Al pulsar Netscape nos dará dos opciones: enviar una página Web de Internet,
indicando su dirección URL, o bien enviar un fichero de nuestro disco duro.
Referencia: Selección del fichero que queremos enganchar
Al escoger la segunda opción, se nos permitirá escoger el fichero que queremos enviar
mediante un cuadro de diálogo de carga de ficheros.
Referencia: Lista de ficheros que vamos a enganchar al mensaje de correo electrónico
Una vez seleccionados los ficheros que vamos a enganchar al correo, volvemos a la
ventana de creación del mensaje, y vemos que en la celda de "Enganches" o
"Attachments" aparece una referencia a cada fichero enganchado.
Referencia: La ventana de creación del mensaje ya tiene definido el enganche de los
ficheros
Un mensaje con un fichero enganchado tarda más en ser enviado que un mensaje
normal, puesto que el contenido del mensaje puede ocupar 1 ó 2 Kb, mientras que el
fichero puede ocupar mucho más (entre 10 Kb y 10 Mb).
Antes de enviar un fichero muy grande conviene pensárselo dos veces. Puede llevar
mucho rato enviar un fichero de varios Mb. Hagamos un cálculo: supongamos que
queremos enviar un video de 1 Mb y tenemos un módem de los normales, o sea, de
28.800 bps. Suponiendo que el módem diera un 100% de rendimiento, podría transferir
como máximo 28.800 bps = 28.8 Kbits por segundo = 3.6 Kb (KiloBytes) por segundo. 1
Mb son 1024 Kb, por lo que tardaría 1024/3.6 segundos = 284.5 segundos = 4 minutos
y 44.5 segundos.
Navegadores
Los navegadores son los programas de ordenador que nos permiten visualizar la World
Wide Web. No hay que confundir el navegador con el programa que establece la
conexión telefónica, que en Windows 95 es el Acceso telefónico a Redes, y en el
Windows 3.x es el Trumpet Winsock. El navegador funciona correctamente sólo si antes
hemos establecido la conexión con Internet a través del módem.
Los dos navegadores más conocidos y usados en el Mundo son Netscape y Microsoft
Internet Explorer. En ambos productos, cada cierto tiempo, medio año o un año,
aparece una nueva versión con grandes mejoras respecto a la anterior.
Normalmente, la última versión oficial de los navegadores de Netscape y Microsoft está
disponible en varios idiomas. En Castellano también, por supuesto.
14. Direcciones URL
Las páginas Web que encontramos en Internet se designan mediante lo que se llama la
dirección URL (Universal Resource Locator: Localizador Universal de Recursos).
Cuando queremos cargar de la red una página, escribimos su dirección URL en la celda
dispuesta para este propósito en el navegador. Así, por ejemplo, cuando queremos ver
la página de Microsoft, escribimos la dirección http://www.microsoft.com. Ésta es
precisamente la URL de la página principal de Microsoft.
Una URL tiene tres partes:


Siglas del Protocolo: indican qué protocolo vamos a usar para la transmisión de datos. Lo normal
es usar el protocolo de hipertexto, o sea, páginas Web, que es el HTTP (HyperText Transfer Protocol:
Protocolo de Transferencia de Hipertexto). Normalmente, se pone después del protocolo los siguientes
caracteres: "://", por lo que las siglas del protocolo de páginas Web serán: "http://".
Nombre de Dominio del ordenador servidor: indica qué ordenador servidor de Internet nos va a
dar la información solicitada. Normalmente, los ordenadores servidores de páginas Web tienen por

nombre de dominio algo parecido a lo siguiente : www.nombre.es. Las tres letras "w" del principio indican
que el ordenador está destinado a servir páginas Web en Internet.
Ruta en el servidor: indica la posición del fichero que concretamente se ha solicitado dentro del
ordenador servidor. Los ficheros están en el servidor ordenados jerárquicamente en una estructura de
directorios o carpetas, como si fuera un disco duro. Una carpeta se separa de su sucesora mediante una
barra de dividir. Así, por ejemplo, la siguiente ruta: /personal/fulanito/imagen, significa que la información
que solicitamos se encuentra en la carpeta principal llamada personal, y dentro de esta en la carpeta
fulanito, y por último en la carpeta imagen que está, a su vez, dentro de la anterior. La ruta no sólo se
compone de la posición de los datos en el sistema de ficheros, como acabamos de ver, sino que también
hay que poner el nombre del fichero donde se encuentra la información que queremos visualizar. Estos
ficheros suelen tener por extensión las siglas .htm o bien .html (HTML: HyperText Mark-up Language:
Lenguaje de Hipertexto a base de Marcas: Lenguaje de descripción de páginas Web). De este modo, una
ruta completa podría ser: /personal/fulanito/imagen/galeria.htm.
Juntando estos tres elementos, formamos una URL completa. Un ejemplo, sería:
"http://www.nombre.es /personal/fulanito/imagen/galeria.htm"
¿Cómo Navegar?
Navegar por la World Wide Web es muy sencillo. Para empezar, debemos introducir
una dirección de partida en el navegador. Si la página Web que aparece a continuación
dispone de enlaces a otras páginas, no tenemos más que hacer un clic con el ratón
sobre alguno de los enlaces (que normalmente suelen ser una frases en azul
subrayada, o bien imágenes con un marco azul), y aparecerá la página correspondiente
al enlace marcado.
De esta manera vamos recorriendo una serie de páginas Web enlazadas hasta que nos
cansamos o hasta que llegamos a una sin enlaces, por lo que ya no podremos seguir
avanzando. Todos los navegadores tienen dos botones que se usan mucho en la
navegación. Son los botones de avanzar y retroceder.
El botón de retroceder nos permite volver a la página de la que provenía la actual que
estemos visualizando. De este modo, pulsando consecutivamente este botón por medio
del ratón, podemos retroceder todas las páginas por las que hemos pasado durante la
navegación hasta llegar al punto de partida.
El botón de avanzar realiza la función inversa. Cuando hemos retrocedido una página,
podemos volver a la posterior pulsando este botón. Así pues, podemos ir y volver desde
la primera página Web a la última que hayamos navegado con sólo pulsar estos dos
botones.
A la hora de navegar es conveniente tener en cuenta algunos detalles importantes.
Desde el momento que solicitamos ver una página Web hasta que ésta aparece en
nuestra pantalla, pueden transcurrir unas décimas de segundo o bien unos pocos
minutos, y esto depende de muchos factores, como son el que dicha página ya la
hayamos visitado anteriormente y esté en la memoria de nuestro ordenador, o que entre
el servidor y nuestro ordenador haya un canal rápido de transferencia de la información,
o incluso puede depender de la hora local tanto en el lugar que se encuentra nuestro
ordenador, como del lugar del servidor.
Es muy recomendable, que cuando naveguemos manejemos con precisión el ratón. Lo
que se quiere decir con esto, es que no se van a cargar las páginas Web más
rápidamente porque pulsemos repetidas veces sobre el enlace (más bien todo lo
contrario), o porque hagamos doble clic en vez de un simple clic, como debe ser.
Durante el proceso de carga de una página Web, lo cual puede llevar varios segundos,
se nos va mostrando en pantalla la información que se va recibiendo. De este modo, lo
normal es que primero nos aparezca el esqueleto de la página Web. El esqueleto es el
texto y los enlaces. Allá donde deba aparecer una imagen, primero nos aparecerá un
icono con un pequeño dibujo, indicando que todavía no se ha recibido la imagen. Al
cabo del rato, cuando el navegador consiga reunir toda la información de la imagen, se
sustituirá el icono por la imagen real.
Hay ocasiones en que una imagen no se ha podido transferir hasta nuestro ordenador
de manera correcta. Entonces, en la pantalla veremos un icono pequeño con un dibujo
roto. Esto quiere decir que si queremos ver la imagen debemos volver a intentar traerla.
Para ello, lo que podemos hacer es navegar un paso hacia atrás y otro hacia adelante.
Otra posibilidad es pulsar el botón de recargar página, pero de este modo, se volverá a
solicitar toda la información de la página Web, no sólo la que falta por recibir.
Es menos frecuente que la información del esqueleto de la página Web no llegue
correctamente, puesto que ocupa menos que las imágenes, y necesita menos tiempo
de transferencia, por lo que es más difícil que se corte la transferencia. Sin embargo, a
veces ocurre. Cuando esto suceda, aparecerá al final de la pantalla del navegador el
siguiente mensaje: "Transfer Interrupted", o sea, Transferencia Interrumpida. En estos
casos, lo mejor es volver a solicitar la página Web completa, pulsando el botón de
Recarga del navegador.
15. Buscadores Web
Existen dos modos de búsqueda por la WWW, que se explican a continuación.
Por Temas
Yahoo, es el principal representante de este modo de búsqueda. Lo podemos encontrar
en la dirección: http://www.yahoo.com/. En castellano, también disponemos de
buscadores por temas, como es Olé, en la dirección http://www.ole.es/.
Este tipo de búsqueda es ideal para cuando estamos buscando información sobre un
tema importante, como puede ser, "Revistas en Internet", o "Astronomía", o "Música
Moderna".
Por cada uno de estos temas, se nos mostrarán en el buscador muchas páginas que
hablan de dicho tema. Cada página viene indicada con un título y una pequeña
explicación, que nos puede dar una idea más concreta sobre lo que podemos encontrar
en esa página sin necesidad de entrar a verla. En caso de que realmente nos interese
ver toda la información de la página escogida, no tenemos mas que pulsar sobre su
título, y automáticamente aparecerá la información en nuestra pantalla. El tiempo que
tarde depende en gran medida de lo atascada que esté la máquina que sirve esa
página a Internet.
El buscador de temas Yahoo dispone de muchísimas más direcciones en su base de
datos que el buscador Ole. Este último es un buscador que sólo tiene en cuenta
páginas Web en Castellano, por lo que su número es muy inferior. Por lo tanto para
saber qué buscador debemos usar, tenemos que tener una idea de si lo que buscamos
puede estar o no en Castellano. Si sospechamos que no, lo mejor es ir directamente al
Yahoo, y buscar allí.
Por Palabras Clave
Hay ocasiones en que buscamos temas demasiado concretos como para que se
puedan categorizar en un buscador por temas. Por ejemplo, si queremos obtener
información sobre el edificio "Empire State Building" de Nueva York, lo mejor es
buscarlo mediante palabras clave. Uno de los mejores buscadores por palabras de
Internet es Hotbot, cuya dirección es http://www.hotbot.com/. En castellano, el propio
Olé, dispone también de este tipo de búsquedas.
Como prueba de la potencia de estos buscadores de palabras clave, podemos hacer el
siguiente experimento: Buscamos nuestro nombre en Internet. Se introduce en la celda
reservada para meter la palabra clave nuestro nombre. Si especificamos demasiado,
puede que no encontremos nada, pero si sólo ponemos un nombre y un apellido, puede
que encontremos páginas Web donde aparezcan estos nombres, refiriéndose a
personas que se llaman igual que nosotros, de las cuales puede haber varias en el
Mundo.
Este tipo de buscadores, nos permiten concretar el tipo de búsqueda a realizar. Cuando
buscamos algo con varias palabras clave, el buscador puede pensar que queremos la
páginas Web en las que aparezca alguna de esas palabras, o todas ellas en la misma
página, o todas ellas en el mismo orden en que las hemos escrito, y seguidas una
detrás de otra. Todo esto se puede especificar antes de realizar la búsqueda.
Es muy normal, que cuando realizamos una búsqueda por palabras encontremos un
resultado de 50.000 o 100.000 páginas Web que contiene dicha palabra clave. Cuando
esto ocurre podemos concretar más nuestra búsqueda, añadiendo más palabras clave
en la celda de búsqueda, de modo que podamos reducir el número de resultados a 50 ó
100 como mucho para posteriormente poder mirarlos uno por uno.
16. Descarga de Juegos
En Internet hay gran cantidad de Juegos de Ordenador algunos de calidad realmente
sorprendente. Los Juegos de Ordenador son programas que se ejecutan en nuestro PC
que lo único que pretenden es darnos entretenimiento. Tenemos desde juegos de
ajedrez, o de carreras de coches, o de cartas o de acción (disparos, explosiones,
héroes, etc.).
Al igual que los demás programas de ordenador que hay en Internet, los juegos también
pueden ser Shareware o Freeware o Demos. Los más interesantes suelen ser las
Demos, puesto que son juegos comerciales muy trabajados, con gráficos de alta calidad
y buenos efectos de sonido.
Aparte de estas tres categorías, también podemos diferenciar dos tipos distintos de
juegos: los que se ejecutan en nuestro ordenador sin más, y los que para funcionar
necesitan que estemos conectados a Internet, puesto que su desarrollo es a través de
la Red. Esto significa que podemos jugar con otras personas que estén conectadas a
Internet simultáneamente. Este tipo de juegos han aparecido junto con Internet, dado
que antes no se podía poner en contacto varios ordenadores más que con métodos
muy complejos. Sin embargo, ahora es tan sencillo, como conectarlos a la Red.
17. Crackers En España
que ocurrió el 10 de octubre de 1996?
Como muchos recordarán el 10 de octubre de 1996 España amaneció con el mayor
problema telemático que se recuerda. Los sistemas principales de TTD
(Telefónica Transmisión de Datos) no funcionaban, concretamente la llamada Red Uno.
Esto se traducía en que casi ninguna de las grandes redes corporativas o públicas
podían transmitir datos, es decir, bancos, hospitales, organismos oficiales, etc. ...
Aquel día hubo un colapso informático en España del que apenas se ocuparon los
medios de comunicación al día siguiente. Nosotros, los usuarios de Internet también
estuvimos afectados por este problema que duró mas de 24 horas. ¿Qué dijo Telefónica
al respecto? Problemas con un nodo, errores en una actualización de un programa,
etc... Pero, ¿realmente un fallo de este tipo puede colapsar la transmisión de datos en
prácticamente toda España durante más de un día?.
Hay rumores que apuntan hacia el sabotaje por parte de un hacker a raíz de las
declaraciones del Subdirector de Marketing y Desarrollo de Servicios de Telefónica:
Julio Linares. El 9 de octubre de 1996 se publicó una entrevista en el ABC de la
Informática con este directivo de telefónica en ella se le pregunto sobre los piratas
informáticos y la seguridad en InfoVía a lo que contestó:
- "Tal como esta construida la red Infovía hay aspectos que no permiten existencia de
"hackers" como sucede en el mundo Internet. En Internet un "pirata informático" puede
entrar en un router, conectarse a él y descargar toda la información que pasa por allí,
luego analizarla y quedarse con lo que le interesa. En el caso de Infovía eso no es
posible. Existe una seguridad que no puede dar Internet."
Curiosamente al día siguiente de la publicación de esta entrevista se produjo el gran
problema.
¿No es posible que un hacker entrara en un router de Red Uno y a través de este
reprogramará a los demás desconfigurando la Red casi en su totalidad?
¿Una casualidad o una advertencia?
Hacker
El más grande robo de claves
Un pirata informático decodificó 48000
Por medio del programa "John The Ripper", que puede ser descargado por Internet, un
pirata informático logró decodificar casi 48000 claves de acceso de una lista de 186000,
una cifra que los expertos en comunicación consideran la más impresionante colección
de códigos de acceso jamás robada. El intruso profesional ingresó en las cuentas de
universidades y empresas de todo el mundo.
La pirateada se detectó el 29 de junio de 1998, cuando un egresado de U. C. Berkeley
informó que alguien había ingresado en su cuenta. Aunque, aparentemente, el hacker
no buscaba información confidencial ni entrar en las cuentas gubernamentales, estaba
ávido por obtener más claves y entrar a la mayor cantidad de sitios posibles.
Las autoridades sospechan que el pirata informático opera desde algún sitio de Europa,
porque las primeras computadoras violadas pertenecían a universidades de ese
continente.
El intruso electrónico accedió a Internet a través de Telenordia, un proveedor de
servicios en Suecia, y luego dejó un rastro informático a través de Inglaterra, Dinamarca
y Corea del Sur.
Desde allí, el hacker irrumpió en las cuentas de una empresa de Silicon Valley, así
como en las de una proveedora de servicios de Internet en Indiana, el Instituto de
Tecnología de California y la Universidad de Harvard.
El restante 80% de las claves descifradas pertenece a cuentas que aun no han sido
identificadas.
Fue el Equipo de Respuestas ante Emergencias de la Universidad Carnegie Mellon,
también conocido como CERT, encargado de controlar las irrupciones ilegales dentro
de las computadoras en el ámbito nacional, quien difundió este hecho en su sitio de la
web el mes pasado.
Según CERT, el intruso había realizado una compilación de 186126 cuentas y claves
codificadas, y para el momento en que el estudiante de Berkeley lo notó, había
decodificado 47642 de ellas.
En algunos casos el intruso instaló ingresos "troyanos" o "por la puerta de atrás", lo que
le permitía un acceso inmediato a los sistemas. El pirata logró acceder a ellos con "John
The Ripper", un software descifrador de claves de acceso y programas "packet sniffers"
que interceptan los códigos tipiados por los usuarios.
Los administradores de sistemas usan programas "packet sniffers" como herramientas
clave para diagnosticar problemas en redes lentas. Pero cuando el software es usado
por piratas informáticos, torna vulnerables las claves que, teóricamente, deberían
proteger.
Lo que más llama la atención de los expertos es la cantidad de lugares a los que el
pirata logró entrar. Y lo que más los preocupa: que lo haya hecho usando un programa
que se consigue muy fácilmente, como John The Ripper.
Los expertos en sistemas reconocen que será bastante difícil identificar al pirata,
aunque no imposible. Ahora el tema está en manos de un escuadrón especializado en
delitos informáticos del FBI.
18. Cuando el Chaos hackeo a la NASA
El Chaos Computer Club es uno de los grupos de hackers más famoso del mundo.
En esta nota vemos por que su fama es merecida.
Existe mucha controversia acerca del Chaos Computer Club (CCC), el que sin duda fue
el más célebre grupo de hackers de toda la historia.
Contó entre sus miembros a los más selectos hackers de aquella generación. Su
"cuartel central" está en la ciudad de Hamburgo (Alemania), y aún continua en
actividad. Muchos de los miembros más destacados de sus épocas doradas, mediados
y fines de los '80, se han retirado de las actividades y algunos de ellos son actualmente
consultores en seguridad informática o asesores de grandes empresas en este tema. El
hecho que los destaca entre todos los distintos grupos de hackers es el haber sido
quienes pudieron ingresar más profundamente a los "supersecretos" sistemas de la
NASA.
Hay quienes los ensalzan hasta colocarlos en un nivel mítico, otros los defenestran sin
piedad. Pero en general lo que existe es un gran desconocimiento de quienes fueron
sus miembros y cuales sus actividades. Voy a tratar de ofrecer en este artículo algunos
detalles técnicos acerca de este espectacular hecho en la historia del hacking. Todo
esto sucedió en maquinas que corren bajo el sistema operativo VMS. Para quienes no
la conocen, Digital Equipment Corporation (DEC) es una empresa líder en el mercado
de las computadoras, y cuenta entre sus usuarios una gran cantidad de empresas
privadas e instituciones gubernamentales en todo el mundo. Fue a principios de 1987 o
fines de 1986, cuando DEC lanzó al mercado la versión 4.4 de su sistema operativo
VAX/VMS. Esta versión incluía algunas novedosas funciones de seguridad. Una de
estas funciones tenía un horrible agujero, a través del cuál los usuarios sin nivel de
acceso podían obtener privilegios para los que no estaban autorizados. Si bien este bug
fue corregido en las versiones posteriores del sistema operativo, no voy a dar más
precisiones ya que hay todavía algunas empresas e instituciones en muchos países del
mundo que todavía utilizan la versión 4.4.
El CCC no realizó el acceso a las computadoras de la NASA a través de un llamado
directo. Sabemos de las medidas de seguridad que tienen, que enseguida identificarían
a un usuario extraño tratando de acceder a sus sistemas. Como dice el viejo refrán, que
es ley para muchos hackers, "La cadena se corta por el eslabón más débil". Así fue que
los miembros del CCC pudieron acceder a la NASA, por medio de la red DECnet. Los
miembros del CCC consiguieron obtener privilegios en una máquina miembro de la red
que no estaba bien protegida en algún lugar de Alemania. A través de esta máquina
consiguieron introducir un gusano muy simple que se copiaba a todas las máquinas a
las que tenía acceso. Si bien el sistema de propagación era un tanto rudimentario, han
quedado algunos fragmentos del código de ataque que, por el contrario, era brillante. A
través del estudio de este código puede verse que los autores conocían a fondo la
nueva versión del sistema operativo. Demostraron también amplios conocimientos en el
uso de equipos DEC. Este fascinante código de ataque se basaba en el ya citado bug
en los servicios de seguridad, por medio del cual obtenía los privilegios. Luego
modificaba (patcheaba) varias de las imágenes del sistema y se autoeliminaba. Estos
patches son realmente interesantes. Modificaba las imágenes de los programas
MONITOR, SHOW y LOGINOUT y agregaba un nombre de usuario especial al archivo
de autorización del VMS. Los patches a MONITOR y SHOW conseguían que esos
utilitarios ignoraran el nombre de usuario especial que el código de ataque había
agregado al archivo de autorización. Esto les permitía a los miembros del CCC
permanecer invisibles mientras estaban logeados con ese nombre de usuario especial.
El patch sobre LOGINOUT servía para poder acceder con el nombre de usuario
agregado. Además, tomaba todos los passwords con los cuales los usuarios validados
se registraban, los encriptaba con un algoritmo simple y los guardaba en una porción
muy poco conocida y utilizada del registro de autorizaciones.
Una vez más vemos los profundos conocimientos que tenían los autores del código de
ataque acerca de este tipo de sistemas. Luego de un tiempo, y logeándose con el
nombre agregado, podían acceder al registro de autorizaciones, tomar los passwords
encriptados que allí había colocado el patch a LOGINOUT y desconectarse. En casa
podían desencriptar los passwords (tarea muy sencilla ya que ellos mismos habían sido
quienes los encriptaron) y a partir del próximo acceso ya podían ingresar por medio de
la red a una cuenta legítima sin despertar ningún tipo de sospechas como cualquier
usuario normal. Periódicamente se utilizaba el nombre de usuario especial para ir a
buscar los nuevos passwords que se habían recolectado en el registro de
autorizaciones. Usaban el nombre de usuario especial agregado para que esto pasara
inadvertido.
Al contar con diversos passwords, se conseguía distribuir el tiempo de uso del sistema
entre diversos usuarios sin recargar demasiado ninguna de las cuentas legítimas, ya
que si alguna cuenta aparecía demasiado utilizada podía despertar sospechas. El patch
de LOGINOUT registraba todos los passwords ingresados, así consiguieron algunos de
máxima seguridad del sistema atacado. Por otra parte, si los encargados de seguridad
cambiaban los passwords, solo había que esperar unos días para que los nuevos se
acumularan en el registro de autorizaciones
Como vemos, el circulo cerraba completamente, y el plan era prácticamente perfecto.
De hecho, por medio de este sistema los miembros del CCC pudieron utilizar gran parte
de las máquinas de la red DECnet, entre las cuales hay, como ya he señalado,
máquinas de grandes empresas privadas y también de muchas instituciones públicas.
Fueron descubiertos a principios de abril de 1987 en la NASA, tal vez por un exceso de
confianza o de ansiedad de uno de sus miembros. En vez de realizar un acceso breve
para verificar si ya había conseguido otros nuevos passwords legítimos y retirarse, este
joven miembro pasó largo tiempo husmeando los archivos secretos de la NASA con el
nombre especial agregado, en lugar de utilizar un password válido. Uno de los system
managers de los sistemas DEC de la NASA vio que se estaban consumiendo muchos
recursos de su máquina (por ejemplo ciclos de CPU), y para intentar ver que era lo que
estaba sucediendo, ejecutó los utilitarios SHOW y MONITOR (que ya estaban
patcheados). Así descubrió muy sorprendido que "nadie" estaba utilizando la máquina.
Encontrando esta situación muy extraña, este system manager, del que nunca pudo
conocerse el nombre, ejecutó un utilitario llamado SDA. El SDA (System Dump
Analyser) es un utilitario de las máquinas que corren sistemas operativos VMS que
ofrece vuelcos de memoria, es muy poco utilizado ya que son realmente pocas las
personas que pueden interpretar un dump (vuelco de memoria). Utilizando el dump, el
system manager pudo tener una idea de lo que estaba sucediendo. Si bien el ataque
fue descubierto por la imprudencia de uno de los miembros del CCC, debemos también
reconocer la calidad técnica de este system manager anónimo, que demostró conocer
muy bien su oficio, resolviendo la situación con solvencia técnica y demostrando
grandes conocimientos. El system manager informó de los hechos, y los técnicos de la
NASA, junto a especialistas de DEC, pudieron solucionar este problema rápidamente.
Se agregaron al sistema nuevos métodos de seguridad que imposibilitaron el acceso a
los miembros del CCC, y el error fue corregido.
La NASA dio informaciones ambiguas sobre este hecho. Según los voceros que las
anunciaran, a veces negándolo, a veces señalando que solo habían accedido a niveles
muy bajos, lo que no es verdad. Si bien nunca los pusieron a conocimiento público por
temor a las represalias, los miembros del CCC pudieron acceder a los proyectos más
secretos de la NASA y tuvieron los password de los más altos miembros de dicha
institución. Se dice que algunos de sus miembros y ex-miembros todavía guardan
algunos archivos de la NASA como "trofeos de guerra" de aquella legendaria acción.
Fuente
:
Revist
a Virus
Report
N° 17
A
g
o
s
t
o
d
e
1
9
9
4
19. Un hacker buscado por el FBI era uno de sus colaboradores
ataco con exito los sistemas informaticos de la nasa
Max Butler, de 27 años, quedó libre luego de pagar una fianza de 50 mil dólares. Dos
años atrás había vulnerado, además del sistema de la agencia aeroespacial, los de
varios órganos de defensa estadounidenses.
Fue una gran sorpresa. Después de dos años de arduas investigaciones, el FBI detectó
que un pirata informático que le había ocasionado un gran problema a la NASA era uno
de sus colaboradores.
Este "hacker" había atacado a más de 17 sistemas informáticos de la Administración
Nacional de la Aeronáutica y el Espacio estadounidense. Y también había afectado a
otros órganos del área de defensa de ese país.
El pirata informático acusado por la intromisión se llama Max Ray Butler. La Oficina
Federal de Investigaciones estableció que este joven de 27 años consiguió acceder,
desde su computadora, a los sistemas de varias bases aéreas y laboratorios de la
NASA.
Lo que más llamó la atención al agente que lo detectó fue que Butler era un conocido
de la casa. Aunque no formaba parte de la planta estable, colaboraba con el FBI para
combatir a personas que cometen los mismos delitos que a él ahora le descubrieron.
El caso Butler representa la contracara de algo que es bastante común en el mundo de
la informática: que los hackers, una vez descubiertos, sean captados para asesorar a
organismos oficiales o empresas.
Ese fue el caso de Julio César Ardita, un argentino que se hizo famoso cuando fue
condenado en Estados Unidos por haber entrado, desde la computadora de su casa de
Palermo, a los sistemas de la marina estadounidense. También se comprobó que Ardita
accedió a los bancos de datos de la NASA.
Su "colega" Butler fue detenido apenas lo descubrieron. Pero pagó una fianza de
50.000 dólares y quedó en libertad.
Su caso es un ejemplo de lo complicado que resulta organizar de manera eficaz una
estrategia capaz de descubrir a los "ciberdelincuentes", personajes hábiles en hacerse
de las claves de miles de tarjetas de crédito o entrar en un sistema que controla un
arma nuclear.
En Estados Unidos, Internet es un vehículo de millones de operaciones bancarias,
compras y ventas, además de un medio de comunicarse y obtener información de todo
tipo.
Los "piratas" han encontrado un medio estupendo para conseguir su objetivo sin correr
peligro. Así, crece el "robo de identidades" o la recopilación de datos personales de los
usuarios, incluidas sus cuentas bancarias y sus tarjetas de crédito.
La víctima no se da cuenta de lo que está ocurriendo hasta que el hacker comienza a
usar esa información para concretar cualquier transacción a su favor.
Maureen Mitchel, una enfermera de Ohio, sufrió el robo de sus documentos de
identidad y, además de haber perdido todos sus ahorros, tuvo que dedicar más de 400
horas de su tiempo haciendo gestiones en los bancos para que le volvieran a conceder
un crédito.
Hace poco tiempo, el FBI confirmó que se había detectado el robo de información sobre
485.000 tarjetas de crédito que estaban almacenadas en los sistemas de computación
de una empresa de comercio electrónico. El responsable del robo, que al parecer vive
en un país de la ex Unión Soviética, no usó las tarjetas. Pero las tenía todas a su
disposición.
Lo más grave fue que algunas de las firmas de crédito que se enteraron del robo de los
datos no avisaron a sus clientes, quienes no tenían ni idea del peligro que corrían sus
ahorros. El FBI pasó dos años siguiendo la pista, hasta que localizó al presunto autor.
Un ejemplo de lo difícil que es perseguir a a los "ciberdelincuentes" lo aportó el
presidente de Networks Associates, Peter Watkins, en una conferencia en la
Universidad de Stanford sobre la lucha contra el "cibercrimen".
Watkins, director de una de las mayores empresas de seguridad para sistemas
informativos y antivirus, mostró a la audiencia un disco compacto en cuyo interior se
almacenan 50.000 virus que circulan por Internet. Y apuntó que las personas que están
presas por idearlos y difundirlos se cuentan con los dedos de una mano.
Recientemente, el FBI puso en marcha el llamado Centro de Protección de la
Infraestructura Nacional, que publica advertencias sobre posibles "pirateos" y recibe
denuncias de las empresas cuyos sistemas han sufrido un ataque informático.
El centro aconseja a los empresarios que no pierdan un segundo a la hora de denunciar
los hechos y les advierte que no se contacten directamente con el sospechoso si lo
tienen localizado.
La oficina de la fiscal general de Estados Unidos, Janet Reno, se mantuvo muy activa
en los últimos años intentando construir un sistema de defensa contra el crimen
cibernético. La Asociación Americana de Tecnología de la Información (ITAA) trabaja
junto al Departamento de Justicia para difundir la adopción de medidas de seguridad y
convencerlos de que denuncien los ataques.
20. Detuvieron al responsable de los ataques informáticos
"mafiaboy", un hacker canadiense de 15 años
La policía de Canadá y el FBI detuvieron el sábado a "Mafiaboy", un canadiense de 15
años que fue identificado como el pirata informático que bloqueó, en febrero, los
principales sitios estadounidenses en Internet, entre ellos CNN, Amazon, E-Bay,
Buy.com, E-trade y Yahoo! El chico -de quien no se conoce su verdadero nombre
porque lo impide la ley canadiense- estaba a punto de convertirse en un mito de la Red.
No sólo fue capaz de poner de rodillas a los gigantes de Internet, sino que también
logró eludir durante varias semanas la búsqueda intensiva desplegada por el FBI.
Finalmente, "Mafiaboy" fue detenido en su casa el sábado, y todas sus computadoras
fueron secuestradas. El lunes se formalizó la acusación. Aunque salió bajo fianza,
tendrá que declarar por los delitos relacionados con el bloqueo de cuatro horas del sitio
de la CNN y de otros 1.200 vinculados a la cadena de noticias estadounidense.
También está sospechado de otros ataques informáticos similares, definidos como
"denial-of-service" (acceso negado).
Tal vez para este experto informático la pena de cárcel sea menor que la que se le
aplicó: nada de computadoras ni de navegar por Internet. Ni siquiera podrá ingresar a
un local que venda artículos vinculados a la informática.
Sólo podrá usar computadoras en la escuela, con fines pedagógicos y bajo la
supervisión de un docente. Su condena incluye también la prohibición de encontrarse
con tres de sus amigos identificados por las autoridades.
El castigo es similar al que se dio en Europa a un fanático violento de un equipo de
fútbol, a quien se le prohibió el ingreso a la cancha.
Infiltrándose en una computadora de la la universidad estadounidense de Stanford,
"Mafiaboy" -seguramente acompañado por otros cómplices on line- consiguió
desencadenar una crisis en las páginas de las empresas más importantes de Internet
que
llegó a colapsar el sistema.
Otras cientos de computadoras habrían sido utilizadas sin que sus propietarios lo
supieran. En la Universidad de California, días después de los ataques, el FBI encontró
los primeros rastros de "Mafiaboy". Siguiendo su pista informática, las investigaciones
apuntaron de inmediato hacia Canadá. Allí se encontró el proveedor que le permitía al
chico el acceso a Internet.
En parte, "Mafiaboy" fue traicionado por su narcisismo, ya que había participado en
varios "chats" en la Red vanagloriándose del caos que había provocado.
Los investigadores pudieron así descifrar el intercambio de bromas que circulaban por
la red entre el canadiense y otros "genios" de la informática, horas después de los
ataques.
Ahora, las autoridades canadienses y estadounidenses siguen investigando, en la
búsqueda de posibles cómplices.
21. ¿Quién creó Internet?
Por Katie Hafner
Se cumplieron treinta años de Arpanet, la predecesora de Internet. Pero la fecha exacta
no es segura... También se dice que Arpanet nació en la Universidad de California, en
Los Angeles, aunque este dato tampoco es seguro.
Este aniversario fue particularmente polémico. Hace algún tiempo, el vicepresidente de
los Estados Unidos, Al Gore declaró, en una entrevista para CNN, que él "tomó la
iniciativa" de crear Internet. Inmediatamente fue ridiculizado por todos los que tienen
algún conocimiento de los verdaderos orígenes de la red de redes.
Recientemente varios postulantes más genuinos levantaron sus voces para reclamar
sus derechos sobre alguna porción del invento, dando así origen a una serie de
disputas públicas.
Yo conozco el problema de cerca. En 1993, cuando empecé a investigar el tema,
escribir una historia de Arpanet me pareció una tarea relativamente sencilla. Y hasta me
burlé de él cuando uno de los muchos padres de Internet me dijo: "Escribas lo que
escribas, tu relato no será la verdadera historia".
Quien trate de escribir la verdadera historia de Internet se encontrará con una ciénaga
de materiales contradictorios. Los científicos que tomaron parte en su construcción
están más ocupados que nunca pero no inventando nuevas tecnologías sino contando
a los periodistas su propia versión de los hechos, actualizando sus sitios web con
anécdotas y fechas de aquel hecho y mandando mensajes por e-mail. Su objetivo no es
hacerse ricos sino asegurarse un sitio en la historia.
"Asistimos a un caso de revisión histórica en tiempo real", dice Peter J. Denning,
profesor de ciencias de la computación en la Universidad George Mason. Denning
participó en el desarrollo de Internet pero hasta ahora se ha comportado como un
observador silencioso. "Estamos observando el proceso de construcción de un mito
mientras éste se desenvuelve. Finalmente, ciertas personas emergerán del mito y a
ellas se les atribuirá gran parte de lo que se realizó, aun cuando no hayan actuado
directamente." Por su parte, Alan Brinkley, profesor de historia de la Universidad de
Columbia, cree que lo nuevo no es el revisionismo sino la presencia de Internet como
herramienta de ese proceso. El equivalente actual de mandar cartas a los diarios es
inundar el mundo con las propias opiniones valiéndose de Internet para hacerlo. Y
probablemente competirá con ventaja quien sea más activo o tenga la lista más extensa
de destinatarios de correo electrónico.
Los estudiosos del tema se preguntan si Internet hará más difícil el proceso de
investigación histórica. Neil Postman, profesor de ciencias de la comunicación en la
Universidad de Nueva York, explica que "el material impreso es más definitivo. Los
libros preservan la información. Internet, en cambio, la hace circular, la mueve. Con una
información que se desplaza, que aparece y desaparece, y sin guardianes, la
credibilidad de la información disminuye".
La version electrónica de un hecho no sólo puede entrar más rápida y velozmente en la
conciencia del público, sino que además pone en evidencia la rapidez con que otra
información puede desaparecer de los registros.
El consenso entre los padres fundadores de Internet es cada vez menor. Un
contingente pretende fijar la fecha del nacimiento de Arpanet a principios de setiembre
de 1969, cuando la red tuvo su primera computadora.
Otros, en cambio, siguen afirmando que la criatura nació a fines de octubre, cuando los
primeros bits pasaron de la UCLA a una computadora del Stanford Research Institute.
Algunos juran que inventaron la transmisión de paquetes de datos, la tecnología que
abrió el camino a todo lo que siguió. Y no faltan los que reivindican como suya la idea
misma de construir una red.
Fuente: Diario Clarín.
"coolio" se confeso ante los periodistas
El hacker de 17 años que estaba buscando el FBI
Se llama Dennis Moran (17) y los investigadores del FBI creen que es el hacker que
buscaban. Utilizaba como alias el nombre "Coolio", pero al parecer, ese nombre es
utilizado también por otros hackers. El miércoles dijo a los periodistas que había
bloqueado algunos sitios de Internet.
VENTANA DE MICROSOFT INTERNET EXPLORER
Secciones
Barra
Elementos y
subelementos
Para que sirve
Ícono de I. E. Contiene un menú
desplegable con
de
opciones que
permiten modificar la
ventana del
explorador.(Restaurar,
Mover, Tamaño,
Minimizar, Maximizar,
Cerrar)
Título
Texto
Indica tres cosas: La
ubicación (en el disco
o en la red) de lo que
se está viendo en el
área de trabajo. El
nombre del programa
que se esta usando
(Internet Explorer). Y
el estado actual del
sistema (conectado o
sin conexión a la red).
Menú de
control
Contiene tres
botones: Minimizar
(reduce la ventana a
un botón en la barra
de tareas), Restaurar
(restablece la ventana
al tamaño y ubicación
anterior), y Cerrar
(cierra la ventana del
explorador).
Área de trabajo
Ventana
mayor
Es la zona en la cual
se visualizan las
imágenes exploradas
Barra
Zona de
escritura
Alli se escribe la
dirección o la ruta de
la pagina en Internet o
el archivo que se
desee visualizar. A la
derecha de esta zona
se encuentra un botón
con una flecha hacia
abajo que al cliquear
sobre ella despliega
una lista con las
últimas direcciones
solicitadas.
de
dirección
Barra
de
Botón -Ir a-
Presionando sobre él,
el Explorador busca la
dirección escrita en la
zona de escritura.
Botón Vínculos-
Alli se encuentra un
listado con links
(acceso directo a
sitios web).
Indicador del
estado de
localización
Cuando se da la
orden de ir a un sitio
web, aquí se muestra
el estado de
busqueda y
localización de dicho
sitio.
Ícono de
conexión
Indica si se está o no
conectado a la red.
Indicador de
seguridad
Muestra (en algunas
páginas) el ícono de
un candado abierto o
cerrado, dependiendo
esto de si la página es
segura o no (se utiliza
por ejemplo para
realizar transacciónes
monetarias a través
de la red).
Indicador de
la zona de
seguridad
actual
Muestra la zona en la
que nos hallamos
trabajando (mi PC,
Red local, Intranet,
Internet, etc.), y
haciendo doble click
sobre ella se accede a
las propiedades de
seguridad de dicha
zona.
estado
Barra
de
Botón -Atrás- Muestra la última
página visitada.
Botón Adelante-
Muestra la página
siguiente.
herramientas
Botón Detener-
Detiene la carga de
una página.
Botón Actualizar-
Actualiza el contenido
de la página actual.
Botón -Inicio- Muestra la página
configurada como
inicio del explorador.
Barra
de
Botón Búsqueda-
Divide el área de
trabajo, mostrando un
buscador de páginas
web.
Botón Favoritos-
Divide el área de
trabajo, mostrando los
links de nuestra
carpeta de sitios
favoritos.
Botón Historial-
Muestra el contenido
de la carpeta Historial.
En ella se guardan las
últimas páginas
visitadas.
Botón Correo-
Presionando este
botón se despliega un
menú con el cual
podemos leer nuestro
correo, escribir un
nuevo mensaje,
enviar un vínculo o
una página y leer
nuestros grupos de
noticias.
Botón Imprimir-
Imprime el contenido
del área de trabajo.
Botón Archivo-
Contiene comandos
para trabajar con los
elementos
seleccionados.
Botón Archivo Nuevo Ventana
Abre una nueva
ventana de Internet
Explorer.
menú
Botón Archivo Nuevo Mensaje -
Crear un nuevo
mensaje de correo
electrónico.
Botón Archivo Nuevo Publicación -
Publicar un nuevo
artículo.
Botón Archivo Nuevo Contacto -
Crear un nuevo
contacto.
Botón Archivo Nuevo Llamada por
Internet -
Hacer una nueva
llamada.
Botón Archivo Abrir -
Abre un documento
en esta ventana.
Botón Archivo Guardar -
Guarda los cambios.
Botón Archivo Guardar
como -
Guarda este
documento en un
archivo.
Botón Archivo Configurar
página -
Cambia la
configuración de la
página.
Botón Archivo Imprimir -
Imprime este
documento.
Botón Archivo Enviar Página por
correo
electrónico -
Manda una página
mediante el correo
electrónico (E-mail)
Botón Archivo Enviar Vínculo por
correo
electrónico -
Manda un vínculo
mediante el correo
electrónico (E-mail)
Botón Archivo Enviar Acceso
directo a
Escritorio -
Mueve el acceso
directo hacia el
Escritorio.
Botón Archivo Propiedades
-
Muestra las
propiedades de este
documento.
Botón Muestra páginas Web
Archivo sin descargarlas.
Trabajar sin
conexión a la
red Botón Archivo Cerrar -
Cierra la ventana.
Botón Edición -
Contiene comandos
de edición.
Botón Edición Cortar -
Quita la selección
actual y la copia en el
portapapeles.
Botón Edición Copiar -
Copia la selección
actual en el
portapapeles.
Botón Edición Pegar -
Inserta los elementos
que copió o cortó en
la ubicación
seleccionada.
Botón Edición Seleccionar
todo -
Selecciona todo el
texto.
Botón Busca un texto
Edición determinado en la
Buscar en
ventana actual.
esta página Botón - Ver -
Contiene comandos
para manipular la
vista.
Botón - Ver - Muestra u oculta las
Barra de
barras de
herramientas herramientas.
Botón - Ver - Muestra los botones
Barra de
estándar de la barra
herramientas de herramientas.
- Botones
estándar Botón - Ver - Muestra la barra de
Barra de
herramientas
herramientas Dirección.
- Barra de
direcciones Botón - Ver - Muestra la barra de
Barra de
herramientas Vínculos
herramientas rápidos.
- Vínculos Botón - Ver Barra de
herramientas
- Etiquetas -
Agrega una etiqueta
de texto a los botones
de la barra de
herramientas.
Botón - Ver Barra de
estado -
Muestra u oculta la
barra de estado.
Botón - Ver Barra del
explorador -
Muestra u oculta una
de las barras del
explorador.
Botón - Ver Barra del
explorador Búsqueda -
Muestra la barra de
búsqueda.
Botón - Ver -
Muestra la barra de
Barra del
explorador Favoritos -
favoritos.
Botón - Ver Barra del
explorador Historial -
Muestra la barra del
historial.
Botón - Ver Barra del
explorador Canales -
Muestra la barra de
los canales.
Botón - Ver Barra del
explorador Ninguna -
Oculta la barra del
explorador.
Botón - Ver Fuentes -
Se despliega un menú
donde se puede
seleccionar el tamaño
de letra (mayor, más
grande, mediana, más
pequeña, menor) y el
tipo de alfabeto
(bático, occidental,
etc.).
Botón - Ver Detener -
Detiene la carga de
una página.
Botón - Ver Actualizar -
Actualiza el contenido
de la página actual.
Botón - Ver Código
fuente -
Muestra código fuente
(HTML) de esta
página.
Botón - Ver Pantalla
completa -
Mustra la pantalla en
toda su totalidad.
Botón - Ver Opciones de
Internet -
Permite cambiar la
configuración.
Botón - Ir a -
Contiene comandos
para explorar diversas
páginas.
Botón - Ir a Atrás -
Va hacia atrás un
paso.
Botón - Ir a Adelante -
Va hacia delante un
paso.
Botón - Ir a Subir un
nivel -
Sube un nivel.
Botón - Ir a Página
principal -
Abre la página de
inicio.
Botón - Ir a Channel
Guide -
Abre la página de
Channel Guide en el
web.
Botón - Ir a Buscar en el
Web -
Abre la página de
búsqueda en el web.
Botón - Ir a Correo -
Abre su programa
para lectura de correo
en internet.
Botón - Ir a Noticias -
Abre su programa
para lectura de
noticias en internet.
Botón - Ir a Mi PC -
Abre la ventana de Mi
PC.
Botón - Ir a Libreta de
direcciones -
Abre la libreta de
direcciones.
Botón - Ir a Llamada por
Internet -
Abre el programa de
llamadas y reuniones
por internet.
Botón Favoritos -
Muestra el contenido
de la carpeta
Favoritos. En
Favoritos figuran,
entre otras cosas, las
direcciones de las
páginas que el
usuario decide incluir
a su listado.
Botón Favoritos Agregar a
Favoritos -
Agrega la página
actual a la carpeta
Favoritos.
Botón Favoritos Organizar
Favoritos -
Abre la carpeta
Organizar Favoritos.
Botón Permite organizar
Favoritos todas las
Supervizar
suscripciones.
suscripciones
Botón Actualiza todas las
Favoritos suscripciones.
Actualizar
todas las
suscripciones
Botón Ayuda -
Contiene comandos
para mostrar ayuda.
Botón Ayuda Contenido e
índice -
Abre una ventana de
ayuda.
Botón Ayuda Novedades -
Abre una ventana con
todas las novedades.
Botón Ayuda Tutorial de
web -
Va a la página tutorial
de web (en internet).
Botón Ayuda Soporte
técnico en
linea -
Nos contacta con el
soporte técnico.
Botón Ayuda Acerca de
Internet
Muestra información
sobre el programa,
número de versión y
copyright.
Explorer 22. "Cuestionario"
1. ¿Qué es Internet?
Algunos definen Internet como "La Red de Redes", y otros como "La Autopista
de la Información".
Internet es La Red de Redes, porque está hecha a base de unir muchas redes
locales de ordenadores. También se la llama así porque es la más grande.
Internet es La Autopista de la Información, porque por la misma circulan
constantemente cantidades increíbles de información.
Actualmente se estima que se conectan a Internet 200 millones de internautas.
2. ¿Qué son los internautas?
Los internautas son las personas que navegan por Internet. Se dice navegar
porque es normal el ver información que proviene de muchas partes del mundo
en una sola sesión.
3. Historia de la Internet.
Internet nació en EE.UU. hace unos 30 años. Un proyecto militar llamado
ARPANET pretendía poner en contacto una importante cantidad de ordenadores
de las instalaciones del ejercito de EE.UU. Al cabo de un tiempo, a esta red se
fueron añadiendo otras empresas y hará unos 10 años se conectaron las
instituciones públicas y también algunas personas desde sus casas. Fue
entonces cuando se empezó a extender Internet por los demás países del
Mundo, abriendo un canal de comunicaciones entre Europa y EE.UU.
4. ¿Qué es un servicio de Internet?¿Cuáles son los más utilizados actualmente?
Los servicios son las posibilidades que ofrece Internet. Cada servicio es una
manera de sacarle provecho a la Red.
Hoy en día, los servicios más usados en Internet son: Correo Electrónico, World
Wide Web, FTP, Grupos de Noticias, IRC y Servicios de Telefonía.
5. ¿Qué es un protocolo TCP/IP?
TCP/IP son las siglas de "Transfer Control Protocol / Internet Protocol". Éste es el
lenguaje establecido para la Red Internet.
6. ¿Qué es una dirección IP?¿Cómo se compone?
Una dirección IP es la dirección por la que cada ordenador se conecta a Internet.
Una dirección IP se compone de 4 números comprendidos entre el 0 y el 255
ambos inclusive y separados por puntos. Así, por ejemplo, una dirección IP
podría ser: "155.210.13.45". Los 3 primeros números indican la red a la que
pertenece nuestro ordenador, y el último sirve para diferenciar nuestro ordenador
de los otros que "cuelguen" de la misma red.
Las direcciones IP son manejadas por los ordenadores, y no por los usuarios.
7. ¿Qué es un nombre de dominio? Dar ejemplos.
Los nombres de dominio son la traducción para las personas de las direcciones
IP. Así por ejemplo, "yahoo.com" es un nombre de dominio.
El número de palabras en el nombre de dominio no es fijo. Pueden ser 2, 3, 4,
etc. Normalmente son sólo 2. La última palabra del nombre de dominio
representa en EE.UU. que tipo de organización posee el ordenador al que nos
referimos:
com Empresas (Companies).
edu Instituciones de carácter Educativo, mayormente Universidades.
org Organizaciones no Gubernamentales.
gov Entidades del Gobierno.
mil Instalaciones Militares.
En el resto de los países, que se unieron a Internet posteriormente, se han
establecido otras nomenclaturas. La última palabra indica el país:
es España
fr Francia
uk Reino Unido (United Kingdom)
it Italia
jp Japón
au Australia
ch Suiza
ir Irlanda
ar Argentina
... ...
Por lo tanto, con sólo ver la última palabra del nombre de dominio, podemos
averiguar donde está localizado el ordenador al que nos referimos.
8. ¿Qué se necesita para conectarse a Internet?
Para poder conectarse a Internet se necesitan cuatro cosas:




una computadora;
un módem;
un programa que efectúe la llamada telefónica;
un programa para navegar por la Red.
1. Tipos de configuraciones para realizar la conexión desde el ordenador (computadora) hasta la
línea telefónica.
Los ordenadores (computadoras) domésticos acceden a Internet a través de la
línea telefónica. Podemos aprovechar la línea que casi todos tenemos en casa.
Normalmente, esta línea telefónica tiene un conector en la pared, al que se suele
enchufar el teléfono. Para poder enchufar nuestro ordenador a este conector
debemos disponer de un módem, que viene con un cable de teléfono. Este
aparato sirve para que el ordenador pueda comunicarse a través del teléfono con
otros ordenadores.
Con el fin de evitar enchufar y desenchufar el módem y el teléfono cada vez que
nos conectamos con Internet, casi todos los módems tienen dos conectores:
"Phone" y "Line-In". Tenemos que conectar el cable que viene con el módem al
conector "Line-In" (entrada de la línea), y por el otro extremo, lo conectamos a la
clavija de la línea telefónica, o sea, donde antes teníamos enchufado el teléfono.
(1ª Configuración).
Así ya tenemos el módem conectado directamente a la línea telefónica. Para
poder enchufar también el teléfono a la línea telefónica, tenemos el otro conector
del módem, el que pone "Phone". Aquí enchufamos el cable del teléfono. De este
modo, los dos estarán conectados a la misma línea telefónica. No es necesario
que esté encendido el ordenador para que nos funcione el teléfono. El único
inconveniente de esta configuración es que cuando llamamos por teléfono no
podemos conectarnos a Internet, y cuando nos conectamos a la Red, no
podemos llamar por teléfono.
Puede que no nos interese conectar el teléfono al ordenador, por ejemplo en el
caso en que tengamos el ordenador en una habitación y el teléfono en otra. Para
estos casos, se venden unos duplicadores de la línea telefónica, que funcionan
como un enchufe múltiple. Se conectan en la salida de la línea telefónica. El
ordenador se enchufa en uno de los conectores y el teléfono en el otro. (2ª
Configuración).
En cualquiera de estas dos configuraciones, podemos usar el teléfono o el
módem del ordenador sin necesidad de enchufar o desenchufar ningún cable.
Ahora bien, lo que no podemos hacer en ninguna de las configuraciones es
efectuar o recibir una llamada telefónica mientras estamos conectados a Internet,
puesto que es nuestro ordenador el que está usando la línea de teléfono.
(Ver gráfico)
2. ¿Qué es un proveedor de Internet?¿Cuáles son los más importantes actualmente?
Un Proveedor Internet es el que nos permite conectar nuestra computadora a la
Red Internet.
Los Proveedores conectan a muchos usuarios (normalmente varios miles de
ellos por proveedor) a estas grandes líneas de telecomunicaciones. Como tienen
tantos clientes, pueden permitirse el lujo de negociar las conexiones a Internet
con las grandes empresas de telecomunicaciones.
Aparte de esta principal funcionalidad, los Proveedores también ofrecen otros
servicios: instrucciones de instalación de la conexión, ayuda telefónica, ficheros
de datos y programas, servicios de conversación, etc.
En principio las conexiones que nos vende nuestro proveedor son privadas. Para
que nadie pueda acceder a Internet por la conexión que nosotros hemos
contratado, el proveedor asigna un nombre de usuario y una clave secreta a
cada cliente. Siempre existe la posibilidad de compartir nuestra conexión con otra
persona, con el único inconveniente de que no podremos conectarnos
simultáneamente.
Actualmente los proveedores de Internet más reconocidos, que no quiere decir
que sean los mejores son: Ciudad Internet, Infovia, Sion, Arnet, Radar, entre
otros.
3. ¿Qué es el correo electrónico?¿Qué permite hacer?
El correo electrónico ("E-Mail" o "Electronic Mail" en Inglés) es el segundo
servicio más usado de la Red Internet (el primero es la navegación por la World
Wide Web). Dos personas que tengan acceso a una cuenta de correo en Internet
pueden enviarse mensajes escritos desde cualquier parte del mundo a una gran
velocidad.
Los Proveedores de Internet dan una o dos cuentas de correo a sus clientes
cuando solicitan una conexión a la Red. De este modo, es casi seguro que si
podemos conectarnos a Internet, podamos enviar y recibir correo electrónico.
Actualmente la mayoría de los servidores ofrecen E-Mail gratuitamente a todas
las personas que lo deseen (sean o no clientes del mismo), y todos los que uno
quiera tener.
4. ¿Cómo se forman las direcciones de correo electrónico?
Cada carta que se envía por correo electrónico lleva indicada una dirección,
correspondiente al receptor, para que la carta llegue correctamente a su destino.
Cada usuario de Internet que tenga una cuenta de correo, dispone
automáticamente de una dirección de correo. Todo el correo que envía y recibe
un usuario de la Red, pasa a través de su Proveedor Internet. Éste dispone de un
ordenador dedicado a gestionar el servicio de correo de sus clientes.
Dicho ordenador tiene un nombre de dominio con el que se identifica en Internet.
Por ejemplo, si nuestro Proveedor es Arrakis, el nombre de dominio será
arrakis.es. Las direcciones de correo de los clientes de Arrakis siempre
terminarán por arrakis.es. De este modo todos los correos que se envíen a estos
clientes, en primer lugar viajarán hasta el Proveedor, y luego hasta el usuario.
Para diferenciar un cliente de otro, hay que añadir un nombre de cliente a la
dirección de correo. Normalmente, este nombre es un alias, o sea, un apodo o
unas siglas. . Así pues, un cliente que se llame "Fulanito de Copas", podrá
escoger, por ejemplo, sus iniciales: "fdc" como alias.
La dirección de correo completa es la unión del alias y del nombre de dominio del
Proveedor, separados por una arroba: "@". Por lo tanto, la dirección de correo de
Fulanito de Copas, cliente de Arrakis será:
[email protected]
5. ¿Qué son los navegadores?
Los navegadores son los programas del ordenador que nos permiten visualizar la
World Wide Web.
6. ¿Cuáles son los navegadores más utilizados actualmente?
Los navegadores más utilizados, actualmente, en el Mundo son Nestcape y
Microsoft Internet Explorer. Ambos navegadores todos los años sacan al
mercado nuevas versiones con grandes mejoras respecto de las anteriores.
7. ¿Qué es una dirección URL?¿Cuántas y cuáles son las partes de las direcciones URL?
Una dirección URL es la dirección de cada página (es la que escribimos en la barra de
direcciones). Por ejemplo; la dirección URL de Yahoo en Argentina, es
html://www.yahoo.com.ar/.
Una dirección URL se divide en 3 partes:



Siglas del Protocolo: indican qué protocolo vamos a utilizar para la transmisión de datos. Lo
normal es usar el protocolo de páginas Web, que es el "http". Normalmente se ponen después del
protocolo los siguientes caracteres: "://".
Nombre de Dominio del ordenador servidor: indica qué ordenador servidor de Internet nos va a
dar la información solicitada. Normalmente se utiliza el siguiente: "www.nombre.es".
Ruta en el servidor: indica la posición del fichero que concretamente se ha solicitado dentro del
ordenador servidor. Los ficheros están en el servidor ordenados jerárquicamente en una estructura de
directorios o carpetas, como si fuera un disco duro. Una carpeta se separa de su sucesora mediante una
barra de dividir. Por ejemplo, "/personal/fulanito/imagen". La ruta no sólo se compone de la posición de
los datos en el sistema de ficheros, como acabamos de ver, sino que también hay que poner el nombre
del fichero donde se encuentra la información que queremos visualizar. Estos ficheros suelen tener por
extensión las siglas ".htm" o bien ".html". Por ejemplo, "/personal/fulanito/imagen/galeria.htm".
Entonces una URL completa sería:
"http:/www.nombre.es/personal/fulanito/imagen/galería.htm"
1. ¿Qué es un buscador?
El buscador es uno de los principales servicios que brinda la Red Internet, y
también es uno de los más utilizados por lo internautas. Esto se debe a que este
servicio nos permite buscar las páginas y los sitios por temas, con el simple
hecho de indicar alguna palabra que tenga que ver con lo que se quiere buscar.
Por ejemplo si se busca información sobre el "petróleo", con sólo escribir dicha
palabra el buscador lanzará todas las direcciones de las páginas y los sitios que
tengan que ver con el "petróleo".
2. ¿Para qué se utiliza el signo + (más) en la búsqueda?
Se utiliza para especificar la búsqueda.
El signo + (más) se coloca frente a las palabras que deben aparecer en los
documentos resultantes.
Ejemplo: + provincias + argentinas
Los resultados de la búsqueda serán todos los sitios o páginas que tengan que
ver con las palabras "provincias" y "argentinas".
3. ¿Para qué se utiliza el signo - (menos) en la búsqueda?
Se utiliza para especificar la búsqueda.
El signo + (más) se coloca frente a las palabras que no deben aparecer en los
documentos resultantes.
Ejemplo: provincias argentinas - Mendoza
Los resultados de la búsqueda serán todos los sitios o páginas que tengan que
ver con las provincias argentinas, menos Mendoza.
4. ¿Para qué se utilizan las "..." (comillas) en la búsqueda?
Se utiliza para especificar la información que se desea encontrar.
Las " " (comillas) hacen que el resultado de la búsqueda sean todos los sitios o páginas
que contengan la frase exacta que se halla colocado.
Ejemplo: "provincias argentinas"
Los resultados de la búsqueda serán todos los sitios o páginas que contengan
"Provincias argentinas".
Referencia: Representación de las dos posibles configuraciones para la conexión del
ordenador a la línea telefónica.
http://www.monografias.com/trabajos5/queint/queint.shtml
2.4.4 Ambientes de trabajo colaborativo.
2.5 Servicios de Internet.
Los servicios de Internet son una herramienta de trabajo y el uso inapropiado tendrá como
consecuencia la pérdida de estos servicios.
Normas de Uso de Internet
La Oficina de Tecnologías de Información (O.T.I.) ofrece el servicio de Internet a todo el
personal de la Administración Pública Provincial que lo solicite. La utilización de estos
recursos por personal ajeno a la misma queda terminantemente prohibido.
El uso del servicio implica la aceptación íntegra de los términos, condiciones y avisos aquí
contenidos.
Generalidades de Uso
Deberán cumplirse todas las normas específicas dictadas por la O.T.I.. Dichas normas se
comunicarán por los diferentes medios disponibles, e incluso directamente
a los interesados.
Deberá comunicarse a la O.T.I. cualquier deficiencia o funcionamiento anómalo que se
observe.
Está estrictamente prohibido cualquier uso con fines comerciales, políticos,particulares o
cualquier otro que no sea el laboral que dio origen a la habilitación.
Todo usuario deberá comunicar a la O.T.I. cualquier incumplimiento de estas normas que
llegara a su conocimiento.
Está prohibido transmitir cualquier material en violación de cualquier regulación de la
República Argentina o de la Provincia del Neuquén. Esto incluye, derechos de autor,
amenazas o material obsceno, o información protegida por secreto comercial.
El uso para actividades comerciales no es aceptable. Esta prohibido el uso para propaganda
de productos o propaganda política.
Códigos de usuario, passwords, datos y su protección
Todo usuario registrado será responsable de proteger su nombre de usuario y datos de
cualquier acceso no autorizado.
Cualquier acceso no autorizado a un nombre de usuario será inmediatamente comunicado
por el usuario afectado a la O.T.I..
Queda estrictamente prohibido el uso, autorizado o no, de un nombre de usuario distinto al
propio.
Todo usuario respetará la naturaleza confidencial del acceso de un usuario o cualquier otra
información que pueda caer en su poder, bien como parte de su trabajo o por
accidente.
Toda responsabilidad derivada del uso de un nombre de usuario distinto al propio recaerá
sobre aquel usuario al que corresponda el nombre indebidamente utilizado.
Usos de la red
El usuario se compromete a aceptar las condiciones estipuladas en este reglamento en las
que se señala el uso de los servicios con fines puramente laborales y de investigación,
lo que excluye cualquier uso comercial de la red, así como prácticas desleales (hacking) o
cualquier otra actividad que voluntariamente tienda a afectar a otros usuarios de la red,
tanto en las prestaciones de ésta como en la privacidad de su información.
En particular quedan expresamente prohibidas las siguientes acciones:





Tratar de causar daño a sistemas o equipos conectados a la O.T.I. y otras redes a las
que se proporcione acceso.
Diseminar virus, gusanos y otros tipos de programas dañinos para sistemas de
proceso
de la información.
Utilizar los medios de la red con fines propagandísticos o comerciales.
Congestionar intencionalmente enlaces de comunicaciones o sistemas informáticos
mediante el envío de información o programas concebidos para tal fin.
Congestionar enlaces de comunicaciones o sistemas informáticos mediante la
transferencia o ejecución de archivos o programas que no son de uso propio del
trabajo.
Además se añaden como normas de uso propias de la O.T.I. las siguientes:
Se prohibe:




Intentar o realizar accesos a cuentas de usuario que no sean las propias (utilizando
cualquier protocolo, telnet, ftp etc., aunque no se consiga)
Exportar los ficheros de password o realizar cualquier manipulación sobre los mismos,
en concreto intentar averiguar los password de los usuarios
Afectar o paralizar algún servicio ofrecido por la O.T.I.
Modificación de ficheros que no sean propiedad del usuario aunque tengan permiso
de escritura

Acceder, analizar o exportar ficheros que sean accesibles a todo el mundo pero que
no sean del usuario salvo que se encuentre en una localización que admita su uso
público
Se señala:




que
que
que
que
las cuentas no son compartibles
el usuario debe preservar su contraseña
debe cambiar la contraseña regularmente.
cualquier anomalía detectada debe comunicarse inmediatamente a la O.T.I.
Todas las normas y recomendaciones anteriores son válidas independientemente de cual sea
el tipo o medio de acceso a los servicios de la O.T.I., tanto desde dentro, como en accesos
remotos a través de Proxys o mediante Modems.
Solicitud de nombre de usuario
Todo aquel que desee acceder a los recursos informáticos de la O.T.I. deberá solicitarlo por
medio de una nota dirigida al Director de la O.T.I. y deberá llenar una hoja de solicitud con
los datos personales del solicitante, así como su firma, indicando que se compromete a
acatar estas normas. La solicitud deberá ir avalada por el Director del Organismo al cual
pertenezca.
El usuario deberá comunicar a la O.T.I., con la mayor brevedad posible, cualquier cambio
que se produzca en la información contenida en su hoja de solicitud. El cambio se
comunicará usando el servicio de e-mail o por nota dirigida al Director de la O.T.I. y,
además, remitiendo a la O.T.I. una nueva hoja de solicitud con los datos actualizados, en la
que se especificará claramente que se trata de una modificación de datos de un usuario ya
existente. Si se produjera modificación en el Organismo o Servicio al que pertenece, la hoja
de modificación deberá contener el aval del nuevo Director.
Cuando el usuario deje de pertenecer al Organismo que avaló su inscripción, el director del
mismo o el usuario podrá cursar a la O.T.I. una solicitud de baja de usuario, salvo el caso en
que se tramite la migración de la cuenta de usuario a otro Organismo. En cualquier caso
deberá comunicarse también mediante el servicio e-mail o por nota dirigida al Director
de la O.T.I.
Sin perjuicio de lo establecido en el punto anterior, el director del Organismo comenzará a
recibir semestralmente de la O.T.I. una relación de los usuarios de su Organismo, la cual
deberá devolver a la O.T.I. debidamente actualizada.
Además de lo anterior aquellos usuarios que mantengan una inactividad en sus cuentas
superior a un cierto período de tiempo, que inicialmente se estipula en seis meses, serán
dados de baja, así como aquellos usuarios que habiéndoseles comunicado anomalías en la
gestión de sus cuentas por dos veces, no hayan realizado ninguna acción para corregirlas.
Propiedad Intelectual
Los programas comerciales disponibles en la O.T.I. pueden ser utilizados únicamente en los
ordenadores para los que se tiene licencia. Esta prohibido efectuar copias no autorizadas de
dichos programas.
Advertencia
En caso de infracción de alguna de las normas anteriores, u otro tipo de abuso de los
recursos de la O.T.I. que causen perjuicio a otros usuarios o a la seguridad o integridad de
los sistemas, el infractor será advertido de la situación. Si la advertencia es ignorada, la
O.T.I. pondrá en conocimiento de las autoridades del Organismo el hecho para adoptar las
medidas disciplinarias o administrativas adecuadas, además de proceder a excluir al usuario
infractor de cualquier uso posterior de los recursos de la O.T.I.
Consideraciones Finales
La operación sin tropiezos de la red informática recae sobre la conducta apropiada de los
usuarios, quienes se deben de apegar a las guías estrictas. Estas guías se dan para que los
usuarios sepan de las responsabilidades relacionadas al uso de la Internet. Con este
instrumento nuevo de aprendizaje se espera que los Empleado de la Administración
Publica de Neuquén comprendan y practiquen el uso apropiado y aceptable de Internet.
Antes de que el empleado pueda usar Internet por medio de las computadoras de su lugar
de trabajo:



Recibirá instrucción con relación al Reglamento de Uso de Servicio de Internet por el
Director del Organismo al cual pertenece.
Aprenderá sus responsabilidades como usuario
Firmará la Forma de Consentimiento y Dispensa del Usuario
Normas de Uso de Correo Electrónico
Los siguientes términos y condiciones rigen el uso del servicio de correo electrónico través
de la Oficina de Tecnologías de Información.
El uso del servicio implica la aceptación íntegra de los términos, condiciones y avisos aquí
contenidos.
Cuenta del usuario, contraseña y seguridad
Para abrir una cuenta,deberá completar el formulario de inscripción facilitándonos la
información actualizada, completa y precisa que se solicite en el mismo.
El usuario es responsable de mantener la confidencialidad de su contraseña y de su nombre
de cuenta; además, será el único responsable de todas y cada una de las actividades
relacionadas con la misma.
Deberá notificar de manera fehaciente, inmediatamente, a esta dirección cualquier uso no
autorizado de su cuenta o cualquier otra vulneración de su seguridad.
Privacidad de los usuarios
La O.T.I. respetará la privacidad de sus usuarios. No divulgará información de carácter
personal acerca de su cuenta de usuario o del uso que haga del Servicio a menos que la sea
requerido para cumplir con procedimientos legales.
Almacenamiento de mensajes, mensajes externos y otras limitaciones
La cantidad de espacio de almacenamiento de correo electrónico por usuario está limitado a
10 MB por cuenta. Algunos mensajes de correo electrónico pueden no ser procesados debido
a restricciones de espacio. El usuario acepta que la O.T.I. no es responsable de la
eliminación o interrupción en el almacenamiento de mensajes o de otro tipo de información.
Conducta de los usuarios
Como condición al uso del Servicio, el usuario garantiza a la O.T.I. que no utilizará el
Servicio para fines ilícitos o prohibidos por los presentes términos y condiciones.
El Servicio sólo se presta a agentes de la administración pública provincial y únicamente
para uso con fines de sus funciones. El usuario se compromete a usar el Servicio únicamente
para enviar y recibir mensajes con ese propósito. Se prohibe expresamente cualquier uso
personal o comercial no autorizado del Servicio.
El agente compromete a cumplir con toda la normativa local, estatal, nacional e
internacional aplicable y es único responsable de todos los actos u omisiones que sucedan
en relación con su cuenta o contraseña, incluido el contenido de sus transmisiones a través
del Servicio. A modo de ejemplo, pero sin limitarse a ello, el usuario acepta abstenerse de:








Usar el Servicio en relación con encuestas, concursos, cartas en cadena, mensajes no
deseados, correo molesto (spamming) o cualesquiera otros mensajes duplicativos o
no solicitados (comerciales o de otro tipo).
Difamar, insultar, acosar, acechar, amenazar o infringir de cualquier otra forma los
derechos de terceros (tales como el derecho a la intimidad o a la propia imagen).
Publicar, distribuir o divulgar cualquier información o material inapropiado, sacrílego,
difamatorio, ilícito, obsceno, indecente o ilegal.
Recopilar o de cualquier otro modo recabar información sobre terceros, incluidas sus
direcciones de correo electrónico, sin su consentimiento.
Transmitir o cargar archivos que contengan virus, caballos de Troya, gusanos o
cualesquiera otros programas perjudiciales o nocivos.
Interferir o interrumpir redes conectadas con el Servicio o infringir las normas,
directivas o procedimientos de dichas redes.
Intentar obtener acceso de forma no autorizada al Servicio, a otras cuentas, a
sistemas informáticos o a redes conectadas con el Servicio, a través de búsqueda
automática de contraseñas o por otros medios.
Interferir con el uso del Servicio por parte de otros usuarios u Organismos
La O.T.I. no tiene obligación de supervisar el Servicio ni el uso efectuado por un usuario ni conservar los contenidos
de ninguna sesión del usuario.
Renuncias / limitaciones de la responsabilidad
La O.T.I. puede introducir en cualquier momento mejoras y/o cambios en el Servicio.
La O.T.I. no declara ni garantiza que el Servicio sea ininterrumpido o libre de errores o que
los defectos sean corregidos.
Los usuarios aceptan expresamente que la O.T.I. no será responsable del acceso no
autorizado o alteración de sus transmisiones o datos, de cualquier material o datos enviados
o recibidos o no enviados o recibidos, ni de ninguna transacción realizada a través del
Servicio. El usuario expresamente acepta que la O.T.I. no es responsable de ninguna
conducta o contenido amenazador, difamatorio, obsceno, ofensivo o ilegal de ningún tercero
ni de ninguna infracción de derechos de terceros, ni de responsabilidad sobre algún
contenido enviado utilizando y/o incluido en el Servicio.
Terminación
La O.T.I. puede interrumpir o suspender su cuenta por inactividad, que se define como falta
de acceso al Servicio por un período de tres meses.
La O.T.I. no estará obligada a mantener ningún contenido en su cuenta ni a remitirle
mensaje no leído o no enviado al usuario o a terceros.
2.5.1 Web, correo electrónico, chat, FTP.
Los Servicios de Internet son:
Navegación en el World Wide Web.
Introducción
El World Wide Web (también conocido como WWW o W3) es un sistema que permite
visualizar, buscar y explotar el gran mundo de información digital contenida en
Internet a través de documentos corelacionados entre sí. Esto es posible gracias a
un poderoso concepto conocido como hipertexto.
El World Wide Web fue desarrollado por el Centro Europeo de Investigación en
Física de Partículas (CERN), localizado en Ginebra Suiza, como un medio para que
los científicos de diversas partes del mundo que trabajan en física de altas energías
pudieran colaborar más fácilmente, sin embargo el producto que obtuvieron resulto
tan útil que en poco tiempo se comenzó a utilizar en las más diversas áreas del
quehacer humano, tales como: el arte, el deporte, la política, la educación, el
comercio, etc.
¿ Qué es el Hipertexto ?
Cuando un texto está contenido en una computadora, las capacidades de
procesamiento de esta permiten hacerlo más accesible y pleno de significado.
Entonces el texto puede denominarse hipertexto porque las palabras, secciones e
ideas están vinculadas y el usuario puede navegar a través de él en forma no lineal,
rápida e intuitivamente.
Utilizando hipertexto el usuario puede buscar electrónicamente entre todo el texto
de un documento, localizar referencias a ciertas palabras y entonces ver la página
en donde se encuentra cierta palabra en forma inmediata, incluso pueden tenerse
referencias o ligas hacia otros documento, de tal forma que al ir consultando el
usuario va realmente brincando de un documento a otro.
Una palabra de texto se convierte entonces en palabra clave, de tal forma que si el
usuario hace click sobre esta palabra, el sistema lo llevará automáticamente a una
descripción más amplia de la misma, por ejemplo si en un texto en que se describen
la obras del museo de Louvre se hace click sobre la palabra Leonardo, aparecerá de
inmediato la biografía de Leonardo da Vinci.
Doug Englebrat (inventor del ratón) y Ted Nelson (quien acuño el termino
hipertexto en 1965) se han dedicado a promover el desarrollo de sistemas de
hipertexto útiles, con el fin de combatir la forma tradicional del procesamiento lineal
de los textos. Nelson asegura que la estructura básica del pensamiento no es lineal
ni secuencial y que por lo tanto se logra mayor eficiencia y una mejor asimilación de
la información cuando esta puede buscarse en forma no lineal.
En el caso de World Wide Web existe una característica adicional que lo hace aún
más poderoso: pueden establecerse ligas entre documentos que estén
almacenados en dos equipos localizados en sitios totalmente diferentes del planeta
y entonces al hacer click sobre la palabra de un documento el sistema se conectará
automáticamente a la máquina que contiene la información relacionada y nos
mostrará el documento ligado.
Hipermedia Sin Fronteras
La hipermedia es la extensión del hipertexto, pudiéndose relacionar entonces no
tan solo palabras, sino también imágenes, sonidos e incluso vídeo. De esta forma al
aparecer un documento con una imagen, tal vez al hacer clic sobre ella podamos
ver esta misma imagen en un tamaño mayor, algunos detalles de la misma o una
descripción de ella. Al hacer clic sobre ciertos iconos también podremos tal vez
escuchar desde una explicación verbal relacionada con dicho icono hasta una
sinfonía de Bethoven. Cuando hacemos clic en otros iconos también puede ser que
se nos presente una película.
En enero de 1992, Marc Andreessen un estudiante de la Universidad de Illinois en
Champaign-Urbana, mientras trabajaba en el Centro Nacional de Aplicaciones de
Supercomputo (NCSA), comenzó a desarrollar una herramienta que incorporará
otras herramientas de INTERNET, que fuera de fácil utilización y que pudiera
manejar hipermedia. Esta herramienta se denomino “NCSA Mosaic”. Otros
programas desarrollados por el NCSA y otros centros de investigación han incluido
varias herramientas de INTERNET, sin embargo ninguna rivaliza con Mosaic, cuya
primera versión apareció en febrero de 1993, y esto resulta evidente al darnos
cuenta que a fines de 1994 o sea a menos de dos años de su aparición existen ya
cientos de servidores Mosaic en todo el mundo, con información y para aplicaciones
de lo más variado.
Si recordamos, World Wide Web (WWW) es un sistema que permite navegar en
Internet a través de hiértexto, sin embargo ya que la hipermedia es la extensión del
hipertexto, también podemos extender WWW, para que maneje hipermedia y esto
es precisamente lo que se hizo, de tal forma que los servidores que contienen
información en hipermedia, son en realidad servidores World Wide Web y la forma
en que podemos acceder a su información depende realmente del cliente con el que
contamos, si tenemos un cliente que solo maneja hipertexto, solo podremos ver
precisamente la parte textual de la información, pero si contamos con un cliente que
maneje hipermedia, tal como Mosaic, podremos ver también la información gráfica
y/o de audio.
Entonces existen tanto servidores Mosaic como clientes, de tal suerte que estos
últimos permiten visualizar la información de hipermedia contenida en los
servidores, resulta importante señalar que al igual que en el caso del hipertexto, las
ligas entre los diferentes elementos textuales, gráficos o de audio, pueden darse
entre documentos contenidos en máquinas localizadas en lugares totalmente
diferentes del planeta, por ello decimos que este sistema nos permite manejar
hipermedia sin fronteras.
Además del Mosaic han aparecido otros clientes WWW que permiten manejar
hipermedia, entre los cuales los más famosos son: Chello y Netscape. Cabe señalar
que Netscape tiene algunas características que lo hacen incluso más versátil que
Mosaic.
Cada servidor debe de contar con su dirección INTERNET, la cual esta formada por:
el nombre del servidor y el dominio al que pertenece el mismo, por ejemplo: wwwazc.uam.mx, en donde www-azc es el nombre del servidor o sea de la máquina y
uam.mx es el dominio de la UAM.
El misterioso URL
Cada documento en el WWW tiene una dirección única que lo distingue de los
demás y permite localizarlo y consultarlo a través de un visualizador, tal como
Netscape, esta dirección se indica mendiante una notación conocida como
Localizador Uniforme de Recursos (URL = Uniform Resource Locator), la cual tiene
básicamente 4 partes:
Protocolo://Nombre del Anfitrión/Trayectoria/Nombre del
Documento
El protocolo, indica precisamente con que protocolo se va a accesar el documento,
si se trata de una página de Web, se utilizará el protocolo http y precisamente se
indicará con estas siglas, si el documento se encuentra en un servidor de ftp, se
indicará justamente con este nombre y así en cada caso.
El nombre del Anfitrión, correponde al nombre que tiene en Internet, el equipo en
que se encuentra el documento que deseamos consultar o bien su dirección IP.
La trayectoria nos indica la ruta que debemos de seguir dentro de los directorios
dentro del equipo anfitrión, en la cual se encuentra el documento.
Finalmente se debe de indicar el nombre del documento, el cual si se trata de una
página de Web, generalmente tendrá la terminacion: .html o bien .htm.
Por ejemplo:
http://www-azc.uam.mx/oe/csc/servicios/desc.htm
En este caso el protocolo que se utiliza es http, el equipo en que se encuentra el
documento se llama: www-azc.uam.mx, la trayectoria donde se encuentra el
documento es /oe/csc/servicios y el nombre del documento es desc.htm.
Cuando conocemos el URL del documento que queremos consultar, simplemente
tenemos que abrir el menú File y escoger en este la opción Open Location, entonces
aparecera una ventana en que se deberá de ingresar el URL corrspondiente y
depues oprimir Accept, con lo cual Netscape, se conectará al equipo indicado y nos
traerá el documento en cuestión.
Navegadores de Internet.
En la actualidad existen una diversidad de navegarores de Internet, pero
principalmente el mercado esta dividido en dos partes: Los usuarios del programa
Netscape Navigator y los usuarios del programa Microsoft Internet Explorer.
La instalación de estos programas no es complicada, se puede realizar facilmente.
Correo Electrónico (E-mail).
El correo electrónico, conocido como e-mail es un tipo de comunicación que permite
intercambiar mensajes entre dos usuarios de computadora localizados en diferentes
partes del mundo, en una forma rápida, versátil y económica.
Decimos que es rápido, ya que generalmente un mensaje de correo electrónico,
llega a su destino en cuestión de segundos. El tiempo que tarda el mensaje en
llegar depende de los diferentes dispositivos que se encuentran en el camino entre
las computadoras y del trafico existente en la ruta.
Resulta más versátil que por ejemplo el teléfono, ya que si llamamos a una persona
y no la encontramos, tendremos que esperar y estar reintentando la llamada hasta
que podamos localizarlo, para darle el mensaje que requerimos. En cambio en el
correo electrónico, enviamos el mensaje y cuando el receptor revise su
correspondencia electrónica, lo encontrara y podra respondernos.
No se requiere saber gran cosa acerca de computadoras para utilizar el correo
electrónico, en realidad es tan sencillo como enviar una carta por el servicio postal,
tal vez la mayor diferencia, sea que en vez de escribir el mensaje en papel, se
deberá de escribir mediante el teclado de una terminal o una microcomputadora,
pero fuera de eso, el proceso consiste en escribir el mensaje, indicar la dirección del
destinatario y enviarlo. Si la dirección no se encuentra el mensaje sera devuelto, tal
como ocurre con la correspondencia normal.
En realidad es más fácil que enviar una carta, ya que no hay que preocuparse, de
sobres, timbres ir al correo, etc. Otra característica que lo hace muy interesante, es
la posibilidad de enviar de una sola vez la misma información a un grupo de
personas.
Además de lo antes señalado el correo electrónico permite comunicar información
compleja que telefónicamente resulta imposible de transmitir adecuadamente,
además se puede adjuntar al mensaje algún archivo con más información, tal como:
un texto largo, una gráfica, un dibujo, etc..
Otra ventaja del Correo electrónico sobre el teléfono consiste en que le permite a
quien recibió un mensaje analizarlo cuidadosamente, antes de contestar, la única
desventaja consiste en que la comunicación resulta más impersonal y se pierde por
tanto la posibilidad de la retroalimantación inmediata.
Por último una gran ventaja del correo electrónico consiste en las posibilidades que
nos brinda de mantener organizada nuestra correspondencia, al poder visualizar
fácilmente la correspondencia pendiente y al poder organizarla en la forma que más
nos convenga.
¿ Cómo utilizar el correo electrónico:
Acceso a Internet:
Para poder recibir o enviar correo electrónico, primeramente deberá de tener acceso
a una computadora conectada a Internet, ya sea directamente o por vía telefónica.
Programas de Correo:
Para poder enviar su correspondencia electrónica también requerirá de un programa
de correo electrónico. Existen diversos programas, sin embargo todos ellos cuentan
con las principales funciones mismas que se describirán más adelante.
Buzón Electrónico:
Al estar conectados a la red si se cuenta en la máquina con algún software de
correo se pueden enviar mensajes, sin embargo para poder recibir correspondencia,
se requiere tener un "buzón" en alguna máquina multiusuario reconocida por
Internet, ya sea que su Institución este conectada o bien que se contrate este
servicio con alguna de las empresas que a ello se dedican.
Dirección de Correo Electrónico (E-mail address):
Su buzón tendrá cierta dirección, en forma similar a la dirección de un apartado
postal, esta contendrá toda la información necesaria para que Internet pueda hacer
llegar a su buzón los mensajes que le envíen.
Las direcciones de correo son en realidad muy simples, consisten de una parte que
define el equipo en donde reside el buzón y otra que define especificamente de que
buzón se trata dentro de dicho equipo. Estas dos partes se separan mediante un
arroba "@".
Con la cuenta que le sea asignada, un signo @ y el nombre completo de la máquina,
en donde reside su cuenta, se formará su dirección de correo electrónico, por
ejemplo: si se le asignara la cuenta qtr, en una maquina llamada panix.com su
dirección de correo electrónico sería: [email protected]. Como puede notarse esta
dirección contiene: la dirección Internet del equipo donde reside el buzón de la
persona y la clave de usuario de dicha persona.
Programas de lectura de correo
electrónico.
Existen en la actualidad una gran variedad de programas de lectura de correo
electrónico. Cada uno con su interfaz y comandos de manejo de este servicio.
Los programas de correo electrónico, más utilizados en la UAM Azcapotzalco, son
Netscape Mail, Netscape Messenger, Microsoft Internet Mail, Microsoft Outlook y
Eudora Mail.
Estos programas se encuentran disponibles en nuestro servidor FTP Anónimo, tanto
para plataforma PC y MAC.
Conexión Remota ( Telnet ).
Introducción.
En la década de los 80's se fue incrementado el uso de equipos de computo
conocidos como sistemas multiusuarios, los cuales le dan servicio a varios usuarios
a la vez por medio de terminales, utilizando la técnica de tiempo compartido la cual
consiste en que el computador atiende a los usuarios uno a la vez dedicándole
una "rebanada de tiempo", pero en una forma tan rápida que para los usuarios es
como si fueran los únicos usuarios del computador.
En esa época las terminales de los usuarios se encontraban conectadas
directamente al computador, debiéndose utilizar un cable para cada terminal con lo
cual el problema de cableado resultaba bastante complejo sobre todo cuando las
terminales se encontraban dispersas en lugares alejados del sistema.
Con el advenimiento de las redes de computadoras que toma un fuerte impulso en
los 90's, se resuelve el problema de la conexión de las terminales a los equipos
multiusuario, conectando estos en red.
El conectar los equipos a una red además de resolver el problema de cableado
permite también que un usuario pueda desde su estación de trabajo conectarse no
solo a un equipo multiusuario en particular, sino a cualquiera de los equipos
multiusuarios que se encuentren conectados a la red, permitiendo con ello desde un
solo sitio trabajar con el equipo más adecuado para una aplicación especifica.
Este concepto que permite que desde una estación de trabajo, normalmente una
microcomputadora personal, se pueda acceder a varios equipos multiusuarios es
conocido como protocolo de acceso a terminales remotas (TELNET).
¿ Cómo utilizar Telnet ?
En general para utilizar el servicio de terminales remotas, también conocido como
terminales virtuales se requiere conocer la dirección INTERNET del equipo al que
nos deseamos conectar o bien su alias en la tabla de HOSTS.
La dirección INTERNET de un equipo es un número de 32 bits que identifica en
forma única cada equipo de la red. Este tipo de direcciones son también conocidas
como direcciones IP y normalmente se dan en notación decimal separando los 32
bits en cuatro octetos separados por puntos, por ejemplo:
128.127.50.999
ó
192.25.32.6
El recordar la dirección de un equipo puede resultar difícil por ello es posible
asignar un nombre y varios alias a cada equipo de tal forma que se pueda accesar
la máquina deseada con solo dar su nombre o bien su alias. Estos nombres deben
de estar definidos en el equipo que se este utilizando como terminal en un archivo
llamado HOSTS.
En el archivo de HOSTS se incluyen las direcciones de cada uno de los equipos de
la red con su nombre y sus alias. En redes muy grandes dinamicas en cuanto a la
integración de nuevos equipos se puede utilizar también un servidor de nombres
conocido precisamente como DOMAIN NAME SERVER.
Además de conocer la dirección o el nombre del equipo al que deseamos
conectarnos se requiere también tener una cuenta en dicho equipo y conocer el
sistema operativo en cuestión.
Existen en el mercado diversos productos para realizar la conexión remota de
terminales vía la red, a continuación se describe el uso del programa Telnet que
trae el sistema operativo Windows 95.
Este software es un emulador de terminales que opera en PC's bajo sistema
operativo Windows 95, utilizando como protocolo TCP/IP.
Su función es la de permitir entrar como terminal de cualquier Host de la red desde
cualquier PC conectada a un nodo de esta.
Este paquete se provee configurado para emular una terminal VT100, aunque se
pueden configurar otro tipo de terminales.
La forma de invocar al servicio de Telnet, es la siguiente:
1. Ejecutar el programa Telnet:
Con esta ejecución, el programa abrirá una nueva ventana que corresponde al
servicio de telnet:
2. Establecer la conexión con el host remoto.
Para establecer la conexión con el host remoto, nos vamos al menú de "Conectar" y
seleccionamos la opción de "Sistema Remoto" y se desplegará la pantalla de
conexión de telnet:
Esta pantalla tiene los siguientes campos:
Nombre del Host: Corresponde al nombre del servidor al cual deseamos
conectarnos o en dado caso la dirección INTERNET de éste.
Puerto: Corresponde al puerto del servidor por el cual vamos a accesar,
generalmente esta ocpión se deja como esta por default.
Tipo de terminal: Se refiere a que tipo de configuración de terminal vamos a tener
al conectarnos, generalmete esta opción se deja como esta pro default.
Conectar: Una vez que hayamos llenado los campos anteriores con este botón
empezamos a estbalecer la conexión con el servidor.
Cancelar: Para abortar todos la configuración que hallamos introducido.
Nota Importante:
Cuando usted realice una conexión remota, es indispensable que usted
tenga cuenta en el host, asi como el conocer el sistema operativo de éste.
3. Entrar al host.
Una vez que se efectuó la conexión al hosts, este le pedirá que se identifique dando
sus claves de acceso a éste.
Y podrá usted trabajar en el sistema remoto.
4. Terminar la Conexión Remota.
Para salirse de la conexión remota, basta con salir del sistema al cual esta usted
conectado y cuando realice esto, el programa de telnet le indicará que ya se
desconecto con el siguiente mensaje.
Y podrá salirse después del progrma de telnet, o conectarse a otro host.
Tranferencia de Archivos ( FTP ). .
Introducción.
Dentro de la red internacional conocida como Internet, existe una manera de
transmitir información entre los equipos que conforman dicha red. Esta herramienta
es conocida con el nombre de FTP el cual proviene de su nombre en inglés File
Transfer Protocol ( protocolo de transferencia de archivos ).
FTP le permite transferir archivos a, y desde todas las redes anfitrionas en Internet
sin importar su sistema operativo.
Para soportar las funciones básicas de transferencia de archivos, FTP tiene una
larga lista de comandos, y opciones en los mismos. Primero discutiremos algunas
convenciones establecidas en la transferencia de archivos para después mostrar
algunos de los comandos y opciones mas usuales en el uso de FTP, por último se
mostrará la forma en que se debe de terminar una sesión típica de ftp y un breve
resumen de todo lo anterior.
Los requerimientos para el uso de FTP son los siguientes:
1.- Necesita conocer el nombre oficial del HOST, alias o dirección Internet (IP) del
HOST remoto con el cual se desea transferir archivos.
2.- Debe tener una cuenta válida de usuario en el HOST que intenta usar.
3.- Necesita estar familiarizado con la designación de nombres de archivos en el
HOST que está usando (Tal como aquellos usados en UNIX o DEC VMS).
La sintaxis del comando FTP es:
ftp host_name
Donde host_name es el nombre oficial del HOST, alias o dirección Internet.
Convenciones en la transferencia de
archivos.
Las siguientes son algunas convenciones típicas usadas durante la transferencia de
archivos.
- Interpretación de comandos.
Cuando se hace una transferencia de archivos, cada argumento en los
comandos GET o PUT, es interpretado por el sistema operativo leyendo o
escribiendo el archivo. Los nombres de archivos (formato), los caracteres usados
para indicar drivers y directorios y las características de resolución varían de host a
host.
- Escribiendo sobre archivos.
Al utilizar los comandos GET o PUT puede ocurrir una sobreescritura (esto es,
sustitución) de archivos que ya existen.
Por ejemplo, si usted manda un archivo llamado test.doc desde su HOST a un
HOST remoto que también tiene un archivo con el mismo nombre, el archivo de su
HOST será sustituido por el del HOST remoto. Si usted trae un archivo llamado
test.exe desde una HOST remoto y su HOST tiene ya un archivo llamado test.exe,
el archivo del HOST remoto sustituir al archivo de su HOST.
Tome en cuenta entonces que si inadvertidamente realiza una sobre escritura
de un archivo, no podrá recuperar la información perdida.
- Comodines.
Los comodines '*' y '?' pueden usarse en los comando de FTP, sólo si la opción
GLOB se encuentra habilitada y sólo en los comandos mget, mput y mdelete.
- Accesando archivos en drivers y directorios no corrientes.
Los sistemas operativos en todos los HOST remotos asumen que los archivos
que se mencionan en los comandos GET y PUT se encuentran en el drive y el
directorio actual. Usted debe especificar ambos, el nombre del archivo local y el
archivo remoto cuando transfiera archivos desde otro directorio.
El sistema operativo en su HOST usa el drive y el directorio donde tiene
corriendo TCP/IP como drive y directorio corriente. Si usted quiere traer un archivo
desde o mandar un archivo a un disco en un drive diferente, debe escribir antes del
nombre del archivo la letra del drive y (:).
Por ejemplo, si esta corriendo FTP desde el drive c: y quiere mandar el
archivo llamado test.doc desde el drive a: a el host remoto, debe proporcionar la
siguiente información para el nombre del archivo local:
A:test.doc
Si quiere traer un archivo desde o mandar un archivo a un directorio diferente,
debe especificar la ruta adecuada del archivo. La ruta consiste de el nombre del
directorio separado del nombre del archivo por la contradiagonal (\) o diagonal (/),
dependiendo del sistema operativo.
Por ejemplo, si quiere mandar el archivo llamado example.doc desde su
HOST, el cual se encuentra en el directorio llamado DOCUMENT, a un host UNIX
con el nombre de archivo example.doc en el directorio llamado UNIXDOC, debe
utilizar el siguiente comando:
put \document\example.doc unixdoc/example.doc
Las convenciones de otros sistemas operativos pueden usar diferentes nombres
para los drives y directorios por lo que puede diferir de estos ejemplos. Consulte al
administrador de la red para más detalles.
- Nota acerca de los nombres de archivos.
Si usted transfiere un archivo de su HOST a un HOST remoto, deberá copiar
con un nombre de archivo legal para el sistema operativo en cuestión; éste puede
ser de una longitud no mayor a ocho caracteres (letras o números), y puede tener
una extensión (separada de un punto (.)) de una longitud no mayor a tres
caracteres (Para D.O.S).
Si especifica el nombre del directorio completo en una transferencia y no especifica
el nombre del archivo destino ( en un put ), la transferencia puede resultar no
satisfactoria. Usted debe especificar el nombre del archivo remoto.
Si quiere enviar un archivo a una impresora conectada a una HOST en vez
de salvarlo en disco, puede especificar PRN como el destino para el nombre del
archivo.
Iniciando el uso deGET mediante FTP.
Esta sección consta de 3 pasos que ilustran el uso de GET. La ultima sección de éste
capítulo describe el uso de cada comando FTP en detalle.
-Desplegando la información de ayuda de FTP.
Este ejemplo muestra como iniciar FTP y como desplegar la información de ayuda.
Paso 1.- Para iniciar el programa FTP, teclee FTP :
>ftp
PathWay for DOS--user FTP ( versión 1.1 )
Copyright 1986,...1990 The Wollongong Group,
Inc.
ftp>
Paso 2.- Uno de los comandos que puede teclear en este punto es
) el cual despliega la ayuda en la pantalla :
help ( ?
ftp> ?
Commands may be abbreviated. Commands are :
!
dir
mget
quit
test
append form
mkdir
quote
trace
ascii
get
mls
recv
type
bell
glob
mode
remotehelp verbose
binary
hash
mput
rename
?
bye
help
open
rmdir
(null)
cd
lcd
prompt
send
close
ls
sendport status
delete
mdelete put
struct
debug
mdir
pwd
tenex
ftp>
El carácter '!' tecleado después del prompt de FTP ejecuta un comando del sistema
operativo en su HOST local. Por ejemplo, ftp>!dir lista los archivos y directorios en
el directorio actual de trabajo.(Si se trabaja con D.O.S)
Paso 3.- Para traer información acerca de uno de estos comandos teclee el
comando ? seguido de un espacio y a continuación el nombre del comando que se
desea. Por ejemplo :
ftp>? dir
dir list contents of remote directory
Usando los comandos OPEN, PUT, GET Y
CLOSE.
Este ejemplo muestra como iniciar FTP y como transferir un archivo usando los
comandos OPEN,GET,PUT y CLOSE.
Paso 1.- Teclee FTP sin especificar el nombre del HOST en la línea de comando.
Esto produce el prompt de FTP ( ftp> ). Los comandos de FTP pueden ahora ser
utilizados.
>ftp
PathWay for DOS--user FTP ( versión 1.1 )
Copyright 1986,...1990 The Wollongong Group,
Inc.
ftp>
Paso 2.- Para transferir un archivo desde un HOST remoto, llamado TWG, hacia el
HOST local, se deberá abrir una conexión con el HOST remoto usando el comando
OPEN, como se muestra en el siguiente ejemplo :
ftp> open twg
Connected to twg
220 twg FTP server ( Versión 1.61 Aug 25 1987 ) ready
(username)
Paso 3.- Teclee su username y presione la tecla enter, como se muestra en el
siguiente ejemplo :
(username): linda
331 Password required for user linda
Password :
Paso 4.- Teclee su password y teclee enter, como se muestra en el siguiente
ejemplo :
Password :
230 User linda logged in
ftp>
Paso 5.- Si queremos que el archivo a transferir tenga el mismo nombre en el
HOST remoto basta con que lo enviemos como lo ilustra el siguiente ejemplo:
ftp>put local_file_name
Paso 6.- Si fuera necesario que el archivo a enviar tuviera un nombre distinto podrá
usar el comando PUT de la siguiente forma:
ftp>put local_file_name remote_file_name
Usando esta alternativa, los archivos localtest y remotetest podrán
transferirse de la siguiente forma:
ftp>put localtest remotetest
Cuando la transferencia es llevada acabo ,FTP provee información de como se
efectúa la transmisión de datos como se muestra en el siguiente ejemplo:
ftp> put localtest remotetest
200 PORT command okay
150 Opening data connection for remotetest
(89.0.0.8,5320)
226 Transfer complete
105 bytes sent in 0.10 seconds
ftp>
Paso 7.- Cuando la transferencia es completada usted regresará al prompt de FTP.
Puede verificar que el archivo fue transferido usando el comando ls, el cual checa
el directorio del HOST remoto (Esto si el HOST remoto está corriendo en un sistema
operativo UNIX ) :
ftp>ls
200 PORT okay
150 Opening data connection for remotest
(89.0.0.8,3490)
22 Transfer complete
file_name
file_name
file_name
remotetest
file_name
149 bytes received in 0.25 seconds
Paso 8.- Use el comando GET para transferir un archivo desde el HOST remoto
hasta el HOST local, teclee el nombre del archivo remoto como se muestra en el
siguiente ejemplo
ftp>get remotetest
Paso 9.- Como en el caso del comando PUT; podemos poner otro nombre al
archivo que será enviado al host remoto de la siguiente forma:
ftp>get remote_file local_file_name
Usando esta alternativa, el archivo remotetest podrá ser transferido de la
siguiente forma :
ftp>get remotetest localtest
cuando se está ejecutando la transferencia, FTP provee información de como se
está efectuando, como se muestra en el siguiente ejemplo :
ftp> get remotetest localtest
200 PORT command okay
150 Opening data connection for remotetest
(89.0.0.78,6489)
226 Transfer complete
345 bytes sent in 0.13 seconds
ftp>
Paso 10.- Usted ha regresado al prompt de FTP. Para verificar que el archivo fue
transferido teclee !dir , para desplegar su directorio local. El comando ! ejecuta un
comando del sistema operativo en su HOST local.
Paso 11.- Una vez que la transferencia se completó, se debe de cerrar la conexión
con el host remoto usando el comando CLOSE :
ftp>close
221 good bye
FTP connection closed
ftp>
Paso 12.- Usted puede establecer una nueva conexión a otro HOST con el
comando OPEN. Para terminar la sesión de FTP teclee QUIT o BYE, para regresar al
prompt de su sistema operativo.
ftp>bye
Usando el comando STATUS.
De los comandos anteriormente vistos FTP proporciona dos más, que muestran el
status de la red y el progreso de la transferencia de archivo : STATUS y VERBOSE.
Con el comando STATUS, el comando FTP despliega el estado actual de las opciones
de ambiente de FTP. Ejemplo :
ftp>status
Connected to 3b20
Mode : stream; Type: ascii; Form : non-print; Structure : file;
Verbose off; Bell : off; Prompting : off; Globbing : on;
Debug : on; Hash mark printing : on; Use of port cmds : on
Un segundo modo para mostrar información acerca del procesamiento de FTP es
mediante el uso del comando verbose. El programa FTP toma el modo verbose
activado por default , FTP responde con mayor detalle a sus comandos; por
ejemplo.
Cuando usted invoca al comando put FTP le indica cuando comienza a transmitir y
cuando termina. El siguiente ejemplo muestra una sesión de FTP en la cual el
mismo archivo es transferido, primero con el modo verbose desactivado y luego
activado :
C:\WINDOWS>ftp
PathWay for DOS -- User FTP (Versión 1.1)
(C)Copyright 1986, ...1990 The Wollongong Group, Inc.
All rights reserved
ftp>open 3b20
Connected to 3b20
220 twg3b20 TCP FTP server (Versión 1.61 Aug 25 1987)
ready
(username)sam
331 Password required for sam
Password:
230 User sam logged in
ftp>put myfile yrfile
200 PORT Command OK
150 Opening data connection for yrfile
226 transfer completed
781 bytes send in 2.04 seconds (382 bytes/sec)
ftp>close 3b20
221 Goodbye
ftp>verbose
Verbose mode off
open 3b20
(username) sam
Password:
ftp>put myfile yrfile
ftp>
ftp>close 3b20
ftp>quit
Comandos de Comunicación.
open host_name
Donde host_name es el nombre oficial del host, alias, o dirección Internet del host
remoto.
Abre una conexión con el HOST remoto.
user name
Donde name es el usuario o login en un host remoto.
Sirve para intentar de nuevo el ingreso al host remoto en caso de error, al momento
de teclear su nombre de usuario.
close
Cierra la conexión con el host remoto pero no sale de FTP. Una vez desconectado,
usted puede abrir una conexión para un nuevo host con el comando open.
bye
Cierra la conexión con el host remoto y nos saca del programa FTP. El comando quit
es el mismo que el comando bye.
<Ctrl>c
Cancela cualquier operación en progreso de FTP y nos saca del mismo.
quit
Realiza lo mismo que bye.
Comandos de Transferencia de
Archivos.
En este sumario de comandos, rfile es un archivo en un host remoto, lfile es un
archivo en el host local, ldir es un directorio en el host local, rdir es un directorio en
el host remoto, y command es un comando FTP.
get rfile lfile
Regresa una copia de rfile y copia este como lfile. La transferencia es realizada en
código ASCII a menos que se haya especificado que la transferencia sea en código
binario. Si lfile es omitido, rfile es copiado con el mismo nombre en el host local. Si
lfile es el nombre de un archivo existente en el host local, FTP sobre escribe el
archivo sin mandarle a usted un mensaje de alerta avisándole que ya hay un
archivo con ese nombre.
El comando recv hace lo mismo que el comando get.
put lfile rfile
Guarda una copia de lfile como rfile. La transferencia es realizada en código ASCII a
menos que se haya especificado que la transferencia sea en código binario. Si rfile
es omitido, lfile es copiado con el mismo nombre en el host remoto. Si rfile es el
nombre de un archivo existente en el host remoto, FTP sobre escribirá ese archivo
sin mandarle un mensaje de alerta avisándole que ya hay un archivo con ese
nombre.
El comando send hace lo mismo que el comando put.
delete rfile
Borra rfile en el host remoto
append lfile rfile
Pega lfile al final de rfile. Si rfile no es especificado o si es especificado pero no
existe, FTP copia lfile a un archivo nombrado rfile en el host remoto.
rename rold rnew
Donde rold es el nombre de un archivo existente en el host remoto y rnew es el
nuevo nombre de el archivo en el host remoto.
Cambia el nombre de el archivo rold por el nombre rnew.
mget rfile1 rfile2 ...
Donde rfile1 y rfile2 son nombres de archivos en el host remoto. Regresa una copia
de los archivos rfile1 y rfile2 que se localizan en el directorio de trabajo actual del
host remoto y los coloca en el directorio actual del host local con el mismo nombre.
Cualquier número de archivos remotos puede ser listado en la línea de comando
separados por un espacio en blanco.
mput lfile1 lfile2
Donde lfile1 y lfile2 son nombres de archivos en el host local.
Envía una copia de los archivos lfile1 y lfile2 con el mismo nombre hacia el
directorio de trabajo actual del host remoto. Cualquier número de nombres de
archivo locales pueden ser listados en la línea de comando separados por un espacio
en blanco.
mdel rfile1 rfile2 ...
Donde rfile1 y rfile2 son nombres de archivos en el host remoto.
Borra los archivos rfile y rfile2 del directorio actual de trabajo en el HOST remoto.
Cualquier número de archivos puede ser listado en la línea de comando separados
por un espacio en blanco.
recv rfile lfile
Realiza lo mismo que get.
send lfile rfile
Realiza lo mismo que put.
lcd ldir
Cambia el directorio de trabajo actual en el host local a ldir. No hay un directorio
por default para este comando, usted debe especificar un directorio.
pwd
Despliega el nombre del directorio de trabajo actual del host remoto.
cd rdir
Cambia el directorio de trabajo en la máquina remota a rdir.
ls rdir lfile
Muestra una lista de los nombres de todos los archivos en el directorio rdir. El
listado es puesto en el archivo lfile en el host local. Si rdir no es especificado, el
directorio de trabajo actual es usado.
Si lfile no es especificado, el listado es desplegado en algún dispositivo estandar de
salida. El listado que este comando produce es en formato corto, es similar al
comando dir de DOS.
mkdir rdir
Crea un directorio llamado rdir en el host remoto.
rmdir rdir
Borra el directorio rdir en el host remoto.
dir rdir lfile
Regresa el listado del los nombres de los archivos en el directorio rdir, y lo escribe
en el archivo lfile. Si rdir no está especificado, el directorio actual usa el host
remoto. Si lfile no está especificado, el listado es desplegado en el dispositivo de
salida estandar. El listado que produce este comando, está en formato largo e
incluye la siguiente información:
nombres de archivo, longitud, propietario, permisos, y la fecha y el tiempo de las
ultimas modificaciones.
Comandos de Presentacion de
Archivos.
type name
Donde name es el nombre del archivo que transfiere el comando type.
Cambia el nombre del archivo transferido a name. Dos tipos de transferencia son
disponibles: binario y ASCII. El tipo de transferencia por omisión es el ASCII. Si
name no se especifica, el tipo de transferencia del archivo corriente es desplegado.
Este comando elabora la misma función que los comandos ASCII o BINARY para
cambiar el tipo de transferencia.
ascii
Cambia el tipo de transferencia a ASCII. El formato ASCII es usualmente el formato
correcto para los archivos de texto tales como los archivos de hojas de calculo, y el
código del programa fuente. FTP convierte los archivos en ASCII automáticamente
al formato correcto para el host para los cuales esta siendo transferido. El tipo de
transferencia de archivo se cambia a ASCII por default.
binary
Cambia el tipo de transferencia de archivos a binario. FTP no convierte archivos
binarios de ningún tipo; ellos son transferidos bit por bit.
Comandos de Ambiente.
glob
Cambia el status de on/off de la opción glob. Cuando glob es activado, FTP reconoce
los comodines del sistema operativo * y ? en comandos de FTP. Los únicos
comandos en los cuales los caracteres son reconocidos son mput, mget y mdel.
Si glob es desactivado, estos caracteres son tratados como parte de un nombre de
archivo.
glob es activado por default.
verbose
Cambia el status de on/off de la opción verbose. Cuando verbose es activado, todas
las respuestas del server FTP son desplegadas al usuario. Por ejemplo; será
comunicado cuando usted esta conectado a un host remoto, cuando una
transferencia de archivo está en progreso y cuando la transferencia ha concluido.
Después de la transferencia, será informado del tamaño del archivo y que tan
rápido ha sido terminado.
verbose se activa por default.
bell
Cambia el status de on/off de la opción bell. Poniendo la opción bell causa que la
terminal suene cuando la transferencia es completada, bell es no activa por default.
hash
Conmuta el status de on/off de la opción hash. Activando hash causa que el carácter
'#' sea desplegado en la salida estandar cada vez que un paquete es enviado o
recibido durante la transferencia. Hash se desactiva por default.
prompt
Conmuta el status de on/off de la opción prompt. Prompt provoca que los comandos
mput, mget, y mdel se desplieguen con los nombres de los archivos
correspondientes a los comandos.
Respondiendo con n provoca que el archivo sea brincado.
Respondiendo con cualquier carácter diferente de n provoca que el archivo sea
procesado por el comando especificado.
Si el comando prompt es apagado, múltiples comandos con o sin parámetros de
comodín se procesarán en todos los archivos. Prompt es activado por omisión.
status
Muestra el estado de la conexión en turno, el modo de transferencia, mensajes,
hash, bell, y otras opciones de la sesión FTP actual.
Comandos de Ayuda.
help command
Muestra información de ayuda acerca de command. Si command no es especificado,
FTP imprime una lista de estos comandos. El comando ? es el mismo que help.
remotehelp command
Muestra información de ayuda a cerca de command y su relación con el host
remoto. Si se omite command FTP muestra la lista de los comandos FTP que son
reconocidos por el host remoto.
? command
Hace lo mismo que help.
Sesión Típica de FTP
Una sesión típica de FTP consta de 2 pasos generales:
1.-Establecer una conexión con un host remoto
2.-transferir uno o mas archivos
Para completar una transmisión de archivos, estos pasos son subdivididos en otros
pasos más específicos; los cuales son listados más adelante.
Los parámetros encerrados en corchetes son opciones para el HOST. Si no
son especificados, FTP preguntara por la información necesaria.
PASO 1 - La forma de iniciar el programa de FTP es:
> ftp host_name
Donde host_name es el nombre oficial del host, alias o dirección internet del
host con el cual se va a transferir archivos.
Después de ejecutarse el comando de FTP, el programa responde con este
prompt: ftp>. Cuando éste prompt se presenta, puede usar el programa de FTP.
Para ayuda teclee el signo de interrogación:
ftp>?
PASO 2 - Si no especifica host_name en el paso 1, use el comando de open
para establecer la conexión.
ftp>open host_name
después de esto se le pedirá su nombre de usuario (login) y password.
PASO 3 - Para mandar un archivo al host remoto, utilice el comando:
PUT
ftp>put local_file_name remote_file_name
O, para traer un archivo desde un host remoto, use el comando:
GET
ftp>get remote_file_name local_file_name
Si el nombre del archivo remoto o local no es reconocido por el correspondiente
host, no ocurrir la transferencia del archivo.
PASO 4 - Cuando finalice, teclee QUIT o BYE. Esto rompe la conexión FTP con
el host remoto y lo regresa a DOS.
ftp>bye
221 Goodbye.
Ahora, en la actualidad, toda esta serie de comandos se engloban en programas
con interfaz gráfica, la cuál hace que todo se realice de una manera muy sencilla e
inttuitiva.
Si deseas obtener algunos de estos FTP nuevos, te recomendamos que visites el
siguiente sitio:
http://ftp.azc.uam.mx/pub/ftp
¿ Qué es el servicio FTP Anonymous ?
El FTP anonymous es un SERVICIO ESPECIAL que te permite, SIN TENER UN
'USERID' o CUENTA en un equipo, poder acceder a sus archivos.
Esta es, de hecho, la manera más comoda de permitir que todo el mundo tenga
acceso a cierta información, sin que para ello el administrador de un sistema tenga
que crear una cuenta para cada persona interesada en disponer de ella. Si una
maquina posee servicio 'FTP anonymous' solamente con teclear la palabra
"anonymous" - anónimo en ingles - cuando dicha maquina pregunte por tu
usuario, tendras acceso a ese sistema. No necesitas una palabra de paso
(contraseña) aunque, eso si, tendras menos privilegios que un usuario normal.
Normalmente solo podras leer, y por supuesto copiarte, los archivos existentes,
pero no modificarlos ni crear otros nuevos.
¿ Qué puedes encontrar en un equipo con servicio
FTP Anonymous ?
Estos equipo es que permiten que se acceda a ellos mediante 'FTP anonymous'
disponen de multitud de archivos de todo tipo, abarcan un sin fin de temas. Entre
los que podriamos comentar estos pocos:
- Software para todo tipo de equipoes, desde equipoes personales hasta
supercomputadores. Desde juegos, pasando por antivirus, hasta procesadores de
textos y utilidades para el sistema operativo. Y por supuesto software de conexion a
la red para sacarle aun mas partido.
- Archivos Graficos. Imagenes de los programas espaciales de la NASA, fotos via
satelite de muchos paises del mundo, imagenes de plantas o animales, de chicas
guapas (y de chicos!), mapas meteorologicos, etc.
- Bases de Datos con multitud de archivos accesibles. Dedicadas a veces a temas
exclusivos como: Biologia Molecular, Geologia y Geofisica, Ciencias de la Salud,
Alcoholismo, etc.
- Archivos Cientificos que tratan de encuentros, experimentos o articulos
publicados. Otros que recopilan bibliografia de publicaciones ya puedan ser de
matematicas, fisica, educacion, nutricion, etc.
- Revistas publicadas periodicamente en temas que tratan desde musica, literatura,
leyes, educacion o recetas de cocina, hasta biologia, matematicas o ciencias de la
informacion.
- Archivos sobre el propio funcionamiento de la red.
Y lo mas importante, archivos dedicados exclusivamente a informar de muchos de
los recursos que existen y surgen dia tras dia a lo largo de la red, explicando como
hacer uso de ellos. Recursos que abarcan nuevas Bases de Datos, apariciones de
revistas electronicas, accesos a Bibliotecas .Publicas, etc.
Y LO MEJOR DE TODO ELLO es que toda esa informacion es absolutamente
GRATIS. No pagas por los derechos de autor. NO PAGAS por el software que
gentilmente la gente pone a disposicion de todo el mundo. NO PAGAS por la
publicacion de las revistas en las que estas interesado, etc.
Gopher.
¿ Qué es GOPHER ?
Para el novato la palabra gopher en inglés puede significar topo, pero en Internet
un gopher es un medio para el intercambio de información en forma
cliente/servidor. Originalmente gopher fue diseñado para ser una herramienta de
recuperación de texto, pero ha evolucionado a una herramienta de recuperación de
información de multimedia. Nuevos servidores gopher nos dan la posibilidad de
recuperar texto, imágenes, sonidos y vídeo.
Usualmente el gopher es una aplicación cliente-servidor. El cliente gopher es un
programa que corre en la computadora y nos da la conexión al servidor gopher. El
servidor gopher proporciona una interfaz manejada por menús para cubrir las
vastas cantidades de información que existen en una gran diversidad de tópicos.
Clientes y servidores gopher existen en muchos sistemas, incluyendo UNIX,
NeXTStep, DOS, WINDOWS, MACINTOSH, VMS, OS/2, VM/CMS y MVS.
Usando GOPHER.
Siendo un cliente gopher se puede encontrar más información acerca de éste,
usando el gopher por sí mismo.
Para usar gopher se tiene que teclear:
gopher
Usted se conectará por default al servidor gopher, el cual está definido por un
administrador gopher ( algunas veces llamado gophermaster ) cuando el cliente
gopher se instala. La mayoría de los clientes gopher que trabajan en ambiente
windows y Mac, permiten la definición del servidor gopher por default cuando se
configura el cliente gopher en el sistema.
Si se desea conectar a un gopher diferente al asignado por default se debe teclear
gopher server-name
donde server-name es el nombre del servidor gopher al cual se desea conectar.
Si se quiere conectar al servidor gopher de la Universidad de Minnesota por
ejemplo (gopher.tc.umn.edu). Se debe teclear.
gopher gopher.tc.umn.edu
Pocos segundos después de conectarse al servidor gopher se desplegará un menú
en la pantalla estructurado de la siguiente forma.
Internet Gopher Information Client 2.0 pl8
Root gopher server: gopher.tc.umn.edu
--> 1. Information About Gopher/
2. Computer Information/
3. Discussion Groups/
4. Fun & Games/
5. Internet File Server (FTP) sites/
6. Libraries/
7. News/
8. Other Gopher and Information Servers/
9. Phone Books/
10. Search Gopher Titles at the University of Minnesota <?>
11. Search lots of places at the University of Minnesota <?>
12. University of Minnesota Campus Information/
El menú de gopher puede ser navegado, usando las flechas del teclado para
moverse al número de opción deseado, o tecleando el número que tiene asignada
dicha opción. El menú en realidad, puede variar dependiendo del cliente gopher que
se esté utilizando.
Cuando usted vea que la opción en el menú gopher este indicada con un punto (.)
después del titulo, indica que la opción del menú es un archivo; no hay más menús
de opciones debajo de esa selección. Si se selecciona esta opción se recuperará el
contenido de un archivo gopher.
Cuando se vea una opción con una diagonal (/) significa que es un directorio, en el
cual existen más opciones de información por debajo de éste.
Cuando se vea una opción con un signo de interrogación entre brakets ( <?> ),
indica que hay una pantalla de selección de búsqueda debajo de ésta.
En el ejemplo, si se selecciona la opción número 1 que dice "Information About
Gopher/ " se desplegará el siguiente menú:
Information About Gopher
--> 1. About Gopher.
2. Search Gopher News <?>
3. Gopher News Archive/
4. GopherCON '94/
5. Gopher Software Distribution/
6. Commercial Gopher Software Distribution/
7. Gopher Protocol Information/
8. University of Minnesota Gopher software licensing policy.
9. Frecuently Asked Questions About Gopher.
10. Gopher+ Example Server/
11. comp.infosystems.gopher (USENET newsgroup)/
12. Gopher T-shirt on MTV #1 <Picture>
13. Gopher T-shirt on MTV #2 <Picture>
14. How to get your Information into Gopher.
15. Reporting Problems or Feedback.
Usando la ayuda de GOPHER.
Además de la opciones de menú existen otras, presionando '?' se tiene acceso a la
ayuda del sistema gopher por ejemplo:
Quick Gopher Help
----------------Moving around Gopherspace
------------------------Press return to view a document
Uses the Arrows Keys or vi/emacs equivalent to move around
Up .........................: Move to previous line.
Down .......................: Move to next line.
Right Return ...............: "Enter"/Display current item.
Left, u ....................: "Exit" current item/Go up a level.
>, +, Pgdwn, space .........: View next page.
<, -, Pgup, b ..............: View previous page.
0-9 ........................: Go to specific line.
m ..........................: Go back to the main menu.
Bookmarks
--------a : Add current item to the bookmark list.
A : Add current directory/ search to bookmark list.
v : View bookmark list.
d : Delete a bookmark/ directory entry.
Other commands
--------------
s : Save current item to a file.
D : Download a file.
q : Quit with prompt.
Q : Quit unconditionally.
= : Display Technical Information about current items.
o : Open a new gopher server.
O : Change options.
/ : Search for a item in the menu.
n : Find next search item.
l, $ : Shell Escape (UNIX) or Spawn subprocess (VMS)
Usando búsqueda por índices.
En el siguiente ejemplo se usa una búsqueda por índices en el servidor. Oprima la
tecla enter o la tecla '->', enseguida posicionese en la opción 2, y aparecerá la
ventana de búsqueda de selección sobre el menú anterior.
Internet Gopher Information Client 2.0 p18
Information About Gopher
1. About Gopher.
--> 2. Search Gopher News <?>
3. Gopher News Archive/
4. GopherCON '94/
5. Gopher Software Distribution/
6. Commercial Gopher Software/
+-------------------------------------------------------------------------+
|
|
|
|
|
Words to search for
|
|
|
|
|
|
|
|
|
|
[Cancel: ^G] [Erase: ^U] [Accept: Enter]
|
|
|
+-------------------------------------------------------------------------+
15. Reporting Problems or Feedback.
Introduzca la palabra que desea encontrar. Deben ser palabras en inglés, y al hacer
esto aparecerá una lista en pantalla conteniendo todos los títulos de temas que
contienen dicha palabra, posteriormente, seleccione una opción de las mostradas
(de la misma forma que se ha venido realizando).
Búsqueda de un tópico en el menú.
Gopher proporciona la posibilidad de buscar un tópico en un menú multipantalla. En
el siguiente ejemplo se despliega una lista de todos los servidores gopher de los
Estados Unidos.
Internet Gopher Information Client 2.0 p18
USA
-- > 1. All/
2. General/
3. alabama/
4. arizona/
5. california/
6. colorado/
7. connecticut/
8. delaware/
9. florida/
10. georgia/
11. hawaii/
12. idaho/
13. illinois/
14. indiana/
Oprima ' / ' y se abrirá una ventana de selección:
Internet Gopher Information Client 2.0 p18
USA
-- > 1. All/
2. General/
3. alabama/
4. arizona/
5. california/
6. colorado/
+-----------------------------------USA--------------------------------+
|
|
|
Search directory titles for:
|
|
|
|
New York
|
|
|
|
[Cancel: ^G] [Erase: ^U] [Accept: Enter]
|
|
|
+--------------------------------------------------------------------------+
16. kansas/
17. kentucky/
En este ejemplo, al escribir New York Gopher posicionará el cursor a la posición 32
donde está New York:
Internet Gopher Information Client 2.0 p18
USA
20. maryland/
21. massachusetts/
22. michigan/
23. minnesota/
24. mississippi/
25. missouri/
26. montana/
27. nebraska/
28. nevada/
29. new hampshire/
30. new jersey/
31. new mexico/
--> 32. new york/
33. north carolina/
Entrando a un nuevo servidor
GOPHER
Se puede conectar directamente a un gopher a través del nombre del servidor
gopher, pero también se puede entrar a otro servidor gopher desde el actual
servidor en el cual nos encontramos. Presione "o" y se abrirá una ventana como la
siguiente:
Internet Gopher Information Client 2.0 pl8
Root gopher server: gopher.tc.umn.edu
--> 1. Information About Gopher/
2. Computer Information/
3. Discussion Groups/
+--------------------Connect to a new Gopher Server-----------------------------+
|
|
|
Hostname
panix.com
|
|
Port
70
|
|
Selector (Optional)
|
|
|
|
|
|
|
|
[Switch Fields: TAB] [Cancel: ^G] [Erase: ^U] [Accept: Enter]
|
|
|
+---------------------------------------------------------------------------------------------+
E introduzca el nombre del servidor gopher al cual se desea conectar.
WAIS.
WAIS, es una herramienta que nos permite localizar documentos sobre cierto tema
en función al texto que contiene. En este caso lo que se tiene es un conjunto de
bases de datos de documentos, contenidas en máquinas alrededor del mundo e
indexadas por el contenido de dichos documentos.
Al igual que ARCHIE, WAIS ya no es utilizado en la actualidad ya que los
buscadores sobre WWW realizan esta función.
ARCHIE.
Esta herramienta permite localizar un archivo o directorio sobre cierto tema, dentro
de los equipos que se encuentran conectados a INTERNET, con el fin de
posteriormente recuperarlo utilizando FTP.
Esta herramienta ya no es muy utilizada, debido a que en la actualidad los
buscadores, sobre el WWW ya realizan esta función.
Acceso vía PPP (Internet desde tu casa)
¿ Qué es la Cuenta PPP ?
La cuenta PPP es una cuenta que proporciona la UAM para tener acceso a Internet
vía módem, es decir el tener Internet desde su casa.
La universidad cuenta con el servicio de PPP (Point to Point Protocol), este es un
protocolo que permite realizar una conexión TCP/IP (Protocolo de Internet) vía
telefónica, convertiendo a su computadora en un nodo Internet en la conexión.
¿ Qué requiero para la Cuenta PPP ?
Los requisitos para la cuenta PPP son los siguientes:
1. Ser Personal Académico oAdministrativo de la Universidad Autónoma
Metropolitana.
2. Contar con línea Telefónica.
3. Su computadora debe tener un módem (velocidad mínima de 9600 bps).
4. Tener cuenta de e-mail (correo electrónico) por parte de la Universidad.
5. Tener cuenta de acceso vía PPP.
6. Tener el software de conexión.
¿ Para que Sistemas Operativos esta liberado el
servicio de PPP?
El acceso vía PPP esta elaborado solamente para los siguientes sistemas operativos:
1. Windows 3.xx
2. Windows 95/98
3. Windows NT
4. MAC OS.
¿Cómo obtengo mi cuenta PPP ?
Primeramente usted debe ser usuario de correo electrónico, ya la cuenta de PPP
llega por este medio.
Si usted no tiene cuenta de e-mail y/o la cuenta de acceso vía PPP, solicítela en la
Coordinación de Servicios de Cómputo - Servicios de Internet (Edificio T - 2° Piso.),
con el Ing. Juan Carlos Pedral o el Ing. David Martínez.
Los Datos requeridos son:
-
Nombre Completo.
Número Económico.
División o Coordinacción.
Departamento o Sección.
Ubicación (Edificio, Nivel, Cubículo
y No. telefonico de casa u oficina).
¿ Necesito un software especial para la
conexión vía PPP ?
Dependiendo del sistema operativo que tenga en su casa es el software que
necesita, para la plataforma Windows 3.xx se requieren tres discos de 3.5" de ata
densidad y para la platorforma Windows 95/98 se requiere un disco de 3.5" de alta
densidad; para las plataformas MAC tendrá que comunicarse con el Ing. Alfonso
Barrera Pérez a la Ext. 9259, y él le indicará los pasos a seguir para la conexión
vía PPP con plataforma MAC.
El software tanto para plataforma PC o MAC se puede obtener en el FTP Anónimo
de la Universidad Autónoma Metropolitana Azcapotzalco.
¿ Cómo instalo el software en mi
computadora ?
Para poder instalar el software y configurar la conexión PPP, usted tiene que seguir
un sencillo instructivo (sólo Windows 3.xx y Windows 95/98), donde se le indica los
pasos a seguir en la instalación, configuración y conexión de la Cuenta PPP.
Este manal de instalación se les proporciona en el juego de discos del software de la
cuenta PPP, pero si usted desea leer el manual antes existen dos formas de
consulta, estas son:
1. Obtener el instructivo de instalación de la cuenta PPP (elaborado en Word para
Windows, versión 6.0):
doc3x.exe (Instructivo de Instalación para Windows 3.1x)
doc95.exe (Instructivo de Instalación para Windows 95 y Windows 98)
Nota: Le recomendamos que guarde el archivo que contiene el instructivo
un directorio temporal.
Para esta opción se tienen que realizar los siguientes pasos:
a) Cuando ya haya bajado (grabado) el documento de instalación, cree un directorio
temporal (ejemplo: c:\> md tmp <ENTER> )
b) Coloquese dentro del directorio y ejecute desde este el archivo que bajo
anteriormente (ejemplo: c:\tmp>c:\temp\doc95.exe <ENTER>)
c) Cuando usted haya ejecurtado la instrucción anterior, podrá observar el proceso
de descompresión del manual de instalacion.
d) Una vez que haya terminado la descompresión del manual, usted ya podra borrar
el archivo que bajo (ejemplo: c:\tmp> del c:\temp\doc95.exe <ENTER> )
e) Ahora solo queda que usted cargue el instructivo de instalación con Microsoft
Word para Windows, versión 6.0 o posterior para leerlo o imprimirlo.
¿ Cuáles son los números telefónicos de acceso
para la cuenta PPP ?
La UAM cuenta con 30 líneas telefónicas para proporcionar el acceso a Internet vía
módem, estas lineas estan agrupadas en 1 número telefónico. Este número es:
Número Telefónico Lineas Vía de Comunicación
5-483-99-10
30
Rectoría General
Chat.
Este Servicio nos permite el realizar una platica remota en " tiempo real " con una
persona o un grupo de personas. Además de permitirnos mandar archivos, recibir
archivos y en algunos escuchar música.
El Chat se ha vuelto muy popular en este tiempo, ya que es una manera de
interactuar de forma real con personas que estan distantes de nosotros.
En la actualidad, existen chats que se conectan mediante el WWW, y otros en los
cuales se requiere instalar un programa de conexión al servirdor de pláticas.
Existen una gran variedad de programas para este servicio, los hay desde
programas en modo texto hasta programas con una interfaz gráfica amigable.
Todos los Servicios de proporciona servicios de Internet estan apoyados sobre la
infraestructura de la red de datos de la Universidad Autónoma Metropolitana,
TeleUAM.
¿Que es la red TeleUAM?
La red TeleUAM, es la encargada de enlazar a todas las unidades que conforman la
Universidad Autónoma Metropolitana con el resto del mundo, y proporcionar
servicios generales como son los Servicios de Internet.
2.6 Desarrollo de aplicaciones en Internet.
2.6.1 Lenguaje de marcas (HTML).
HTML, HyperText Markup Language, es un lenguaje simple utilizado para crear
documentos de hipertexto para WWW. No es un lenguaje de descripción de página
como Postcript; HTML no permite definir de forma estricta la apariencia de una
página, aunque una utilización algo desviada hace que se utilice en ocaciones como
un lenguaje de presentación. Además, la presentación de la página es muy
dependiente del browser (o programa navegador) utilizado: el mismo documento no
produce el mismo resultado en la pantalla si se visualiza con un browser en modo
línea, Mosaic o Netscape, o sea, HTML se limita a describir la estructura y el
contenido de un documento, y no el formato de la página y su apariencia.
Una de las claves del éxito de WWW, aparte de lo atractivo de su presentación es
sin duda, su organización y coherencia. Todos los documentos WWW comparten un
mismo aspecto y una única interfaz, lo que facilita enormemente su manejo por
parte de cualquier persona. Esto es posible porque el lenguaje HTML, en que están
escritos los documentos, no solo permite establecer hiperenlaces entre diferentes
documentos, sino que es un "lenguaje de descripción de página" independiente de
la plataforma en que se utilice. Es decir un documento HTML contiene toda la
información necesaria sobre su aspecto y su interacción con el usuario, y es luego el
browser que utilicemos el responsable de asegurar que el documento tenga un
aspecto coherente, independientemente del tipo de estación de trabajo desde donde
estemos efectuando la consulta.
Su simplicidad es tal que no es necesario utilizar un editor particular. Su gran
permisividad exige rigor y atención en la estructura de documentos con el fin de que
éstos se visualicen correctamente al margen del contexto y el browser utilizado.
Por tanto, como hemos visto, HTML es un lenguaje muy sencillo que nos permite
preparar documentos Web insertando en el texto de los mismos una serie de
marcas (tags) que controlan los diferentes aspectos de la presentación y
comportamiento de sus elementos.
Para escribir HTML lo único que se necesita es un editor de texto ASCII, como EDIT
del MS-DOS o el Bloc de notas de Windows. Las marcas o tags que controlan el
comportamiento del documento son fragmentos de texto encerrados entre los
signos "mayor que" y "menor que" (<marca>). Existen diferentes tipos de marcas:
algunas controlan simplemente la presentación del texto del documento; otras, la
forma en que se incluirán en él imágenes; otras, finalmente, los hiperenlaces con
documentos o con diferentes partes del mismo documento. Existen una serie de
programas que ayudan en la elaboración de documentos HTML, como HTMLED
(shareware) o HTML Assistant, ambos para Windows, pero no son imprescindibles
para escribir el código. Lo que si es necesario es un programa cliente WWW, tal
como Mosaic, o Netscape, para probar el documento a medida que lo vamos
desarrollando.
Las marcas funcionan muchas veces por parejas, una para indicar el inicio de enlace
o formato, y otra para señalar el final. La marca de inicio consiste en una letra o
una palabra (por ejemplo, estas son marcas de inicio: <B>, <TITLE>). La marca de
final es la misma letra o palabra precedida por la barra inclinada o "slash" (es
decir,</B>, </TITLE>). Existen, no obstante, algunas marcas que no requieren su
pareja de cierre, como <BR> (que fuerza un salto de línea). Es importante señalar
que las marcas, en general pueden estar indistintamente en mayúsculas o en
minúsculas.
Como todo lenguaje, está en constante evolución. La versión en curso es la versión
2.0 pero existe ya un proyecto para la versión 3.0.
Evolución del lenguaje
El lenguaje HTML nace en 1991 de manos de Tim Bernes-Lee del CERN como un
sistema hipertexto con el único objetivo de servir como medio de transmisión de
información entre físicos de alta energía como parte de la iniciativa WWW. En 1993
Dan Connelly escribe el primer DTD (Document Type Definition) de SGML
describiendo el lenguaje. En 1994 el sistema había tenido tal aceptación que la
especificación se había quedado ya obsoleta. Por aquel entonces WWW y Mosaic
eran casi sinónimos debido a que el browser Mosaic del NCSA (National Center for
Supercomputing Applications) era el más extendido debido a las mejoras que
incorporaba. Es entonces cuando nace el HTML 2.0 en un draft realizado también
por Dan Connelly. El crecimiento exponencial que comienza a sufrir el sistema lleva
a organizar la First International WWW Conference en Mayo de 1994. El principal
avance de 2.0 de HTML es la incorporación de los llamados forms, formularios que
permiten que el usuario cliente envie información al servidor y ésta sea recogida y
procesada allí. Precisamente con este fin, NCSA presenta la especificación del CGI,
Common Gateway Interface, versión 1.0 que define un interfaz entre programas
ejecutables y el sistema WWW. Con la incorporación de los forms, aparecen por
primera vez campos donde el usuario puede escribir, menús "pull-down" y los
denominados "radio-buttons" integrados en páginas WWW.
Desde entonces, el lenguaje ha seguido creciendo como algo dinámico, como una
lengua humana, algo vivo, siendo modificado sobre todo por las personas que lo
utilizan. Asi, una evolución en el lenguaje suele surgir de una propuesta que es
adoptada por algunos clientes (browsers). Con el uso se ve si es eficiente y es
adoptada y si es así, finalmente se incorpora al estándar. De este modo, a finales de
1993 se comienza a hablar de HTML+ propuesto por Dave Raggett, de HEP Labs, en
Bristol que evoluciona a un nuevo draft de Marzo de 1994 para la versión HTML 3.0
incorporando nuevas posibilidades como la realización de tablas complejas, control
de proceso de formatos e incorporación de expresiones matemáticas.
El testigo pasa del browser Mosaic al Netscape, que incorpora nuevas mejoras.
Aunque el equipo de Netscape anuncia desde el principio que su browser trata HTML
3.0, lo cierto es que no se adapta al estándar. Por el momento, el único browser de
HTML 3.0 es experimental y recibe el nombre de Arena. El lenguaje de Netscape, el
más utilizado en la actualidad, incorpora etiquetas no definidas en HTML 3.0, y tiene
algunas diferencias con algunas de las definidas, por ejemplo en la realización de
tablas. Por otra parte, hasta la versión 2.0, recién aparecida, no permitía el empleo
de expresiones matemáticas (al escribir este artículo el autor aún no ha analizado la
versión 2.0). Y como gran idea propone la incorporación de un tipo MIME
experimental que permite la actualización dinámica de documentos, del que se
hablará en el apartado dedicado a la programación de CGI. Por ello, en "los
ambientes" se ha comenzado a denominar este lenguaje de Netscape como NHTML
1.1 para diferenciarlo de la verdadera propuesta de HTML 3.0.
2.6.2 Lenguaje de scripts: JavaScript (diseño de páginas web,
encuestas, comercio electrónico)
El JavaScript permite crear aplicaciones específicamente orientadas a su
funcionamiento en la red Internet. Usando JavaScript, se pueden crear páginas
HTML dinámicas que procesen la entrada del usuario y que sean capaces de
gestionar datos persistentes usando objetos especiales, archivos y bases de datos
relacionales.
Con JavaScript se pueden construir aplicaciones que varían desde la gestión de la
información corporativa interna y su publicación en Intranets hasta la gestión
masiva de transacciones de comercio electrónico.
Aunque se trata de algo que se sale del alcance de este curso, es importante
reseñar que JavaScript puede utilizar una tecnología propietaria de Netscape,
denominada LiveConnect; con el propósito de que las aplicaciones JavaScript
puedan tener acceso a aplicaciones basadas en objetos distribuidos CORBA y Java.
En cualquier caso, es importante señalar que, pese a la similitud de nombres,
JavaScript no es Java.
Las aplicaciones cliente y servidor en JavaScript comparten el mismo núcleo de
lenguaje. Este núcleo se corresponde con ECMA-262, el lenguaje de scripts estándar
de la Oficina de Estándares de la Unión Europea, con algunos añadidos extra.
Aunque Javascript de cliente y de servidor comparten el mismo conjunto
base de funciones y características; en algunos casos se utilizan de distinta
forma. Los componentes de JavaScript son los siguientes:
-Núcleo de JavaScript (Core JavaScript).
-JavaScript para Cliente.
-JavaScript para Servidor.
JavaScript para cliente engloba el núcleo del lenguaje y algunos elementos
adicionales como, por ejemplo, una serie de objetos predefinidos que sólo son
relevantes para la ejecución de JavaScript en el contexto de un cliente Web.
Así mismo, JavaScript para servidor incluye también el núcleo de lenguaje y los
objetos predefinidos y funciones necesarias para el correcto funcionamiento en el
marco de un servidor.
El código JavaScript para cliente se integra directamente en páginas HTML y es
interpretado, en su totalidad, por el cliente Web en tiempo de ejecución.
Puesto que con frecuencia es necesario ofrecer el mayor rendimiento posible, las
aplicaciones JavaScript desarrolladas para servidores se pueden compilar antes de
instalarlas en dichos servidores.
JavaScript es el lenguaje que nos permite interactuar con el navegador de manera dinámica y
eficaz, proporcionando a las páginas web dinamismo y vida.
Conceptos básicos
Todos los que hasta ahora hayan seguido el curso de HTML, se habrán dado cuenta de una cosa:
crear un documento HTML es crear algo de caracter estático, inmutable con el paso del tiempo.
La página se carga, y ahí termina la historia. Tenemos ante nosotros la información que
buscábamos, pero no podemos INTERACTUAR con ella.
Así pues, como solución a este problema, nace JavaScript. ¿Y qué es JavaScript?
Se trata de un lenguaje de tipo script compacto, basado en objetos y guiado por eventos
diseñado específicamente para el desarrollo de aplicaciones cliente-servidor dentro del ámbito de
Internet.
Los programas JavaScript van incrustados en los documentos HMTL, y se encargan de realizar
acciones en el cliente, como pueden ser pedir datos, confirmaciones, mostrar mensajes, crear
animaciones, comprobar campos...
Versiones
El programa que va a interpretar los programas JavaScript es el propio navegador, lo que
significa que si el nuestro no soporta JavaScript, no podremos ejecutar las funciones que
programemos.
Desde luego, Netscape y Explorer lo soportan, el primero desde la versión 2 y el segundo desde
la versión 3.
Navegador
Version de JavaScript
Soporte ECMA
Nestcape 2
Javascript 1.0
--
Internet Explorer 2
No soporta JavaScript
--
Nestcape 3
Javascript 1.1
--
Internet Explorer 3
Javascript 1.0
--
Nestcape 4
Javascript 1.2 - 1.3 incompleta
ECMA-262-compliant hasta la version 4.5
Internet Explorer 4
Javascript 1.2
ECMA-262-compliant
Nestcape 6
ECMA compliant Javascript 1.4
Full ECMAScript-262
Internet Explorer 5
ECMA compliant Javascript 1.3
Full ECMAScript-262
Las diferentes versiones de JavaScript han sido finalmente integradas en un estándar denominado
ECMAScript-262. Dicho estándar ha sido realizado por la organización ECMA dedicada a la
estandarización de información y sistemas de comunicación. Las versiones actuales de los
navegadores soportan este estándar, así que basaremos el curso sobre él.
http://www.webestilo.com/javascript/js00.phtml
Dónde y cómo incluir JavaScript
Por Lola Cárdenas y Joaquin Gracia.
rinconprog.metropoli2000.com
Existen distintos modos de incluir lenguaje JavaScript en una página.
La forma mas frecuente de hacerlo es utilizando la directiva <script> en un documento HTML
(se pueden incluir tantas directivas <script> como se quiera en un documento). El formato es el
siguiente:
<script language="Javascript 1.3">
El atributo lenguaje hace referencia a la versión de JavaScript que se va a utilizar en dicho script.
Otro atributo de la directiva script es src, que puede usarse para incluir un archivo externo que
contiene JavaScript y que quiere incluirse en el código HTML.
<script language="JavaScript" src ="archivo.js"> </script>
El archivo externo simplemente es un archivo del texto que contiene código JavaScript, y cuyo
nombre acaba con la extensión js.
Puede incluirse también código JavaScript como respuesta a algún evento:
<input type="submit" onclick="alert('Acabas de hacer click');return false;"
value="Click">
Click
Nota: Los scripts pueden incluirse como comentarios para asegurar que su código no es "visto"
por navegadores viejos que no reconocen JavaScript y así evitar errores.
<script ....>
<!Código JavaScript
//-->
</script>
http://www.webestilo.com/javascript/js01.phtml
Gramática
Por Lola Cárdenas y Joaquin Gracia.
rinconprog.metropoli2000.com
Si conoce algún otro lenguaje de programación ya estará familiarizado con el uso de variables,
operadores, declaraciones... Lo que se resume en la tabla siguiente son los elementos principales
de la gramática de JavaScript. Cada uno de los elementos se verá en detalle a lo largo del manual.
Nota importante: JavaScript es sensible a mayúsculas y minúsculas, todos los elementos de
JavaScript deben referenciarse cómo se definieron, no es lo mismo "Salto" que "salto".
Variables
Etiquetas que se refieren a un valor cambiante.
Operadores
Pueden
usarse
para
calcular
o
comparar
Ejemplo: pueden sumarse dos valores, pueden compararse dos valores...
Expresiones
Cualquier combinación de variables, operadores, y declaraciones que evalúan a
algún
resultado.
Ejemplo: intTotal=100; intTotal > 100
Sentencias
Una sentencia puede incluir cualquier elemento de la grámatica de JavaScript.
Las sentencias de JavaScript pueden tomar la forma de condicional, bucle, o
manipulaciones del objeto. La forma correcta para separarlas es por punto y coma,
esto sólo es obligatorio si las declaraciones múltiples residen en la misma línea.
Aunque es recomedable que se acostumbre a terminar cada instrucción con un punto
y coma, se ahorrará problemas.
Objetos
Estructura "contenedora" de valores, procedimientos y funciones, cada valor
refleja una propiedad individual de ese objeto.
Funciones y
Métodos
Una función de JavaScript es bastante similar a un" procedimiento" o"
subprograma" en otro lenguaje de programación. Una función es un conjunto que
realizan alguna acción. Puede aceptar los valores entrantes (los parámetros), y
puede devolver un valor saliente. Un método simplemente es una función contenida
en un objeto.
http://www.webestilo.com/javascript/js02.phtml
Variables
Por Lola Cárdenas y Joaquin Gracia.
rinconprog.metropoli2000.com
valores.
Las variables almacenan y recuperan datos, también conocidos como "valores". Una variable
puede referirse a un valor que cambia o se cambia. Las variables son referenciadas por su
nombre, y el nombre que les es asignado debe ser conforme a ciertas reglas (debe empezar con
una letra o ("_"); los carácteres siguientes pueden ser números (0-9), letras mayúsculas o letras
minúsculas).
Ejemplos de definiciones erróneas:
var Mi Variable, 123Probando, $Variable, for, while;
Ejemplos de definiciones correctas:
var _Una_Variable, P123robando, _123, mi_carrooo;
Por supuesto, podemos inicializar una variable al declararla:
var Una_Variable="Esta Cadenita de texto";
Las variables en JavaScript pueden ser de alcance global o local. Una variable global es accesible
desde cualquier <script> de la página mientras que una variable local sólo lo es desde la función
en la que fue declarada.
Normalmente, usted crea una nueva variable global asignándole simplemente un valor:
globalVariable=5;
Sin embargo, si usted está codificando dentro de una función y usted quiere crear una variable
local que sólo tenga alcance dentro de esa función, debe declarar la nueva variable haciendo uso
de var:
function newFunction()
{
var localVariable=1;
globalVariable=0;
...
}
http://www.webestilo.com/javascript/js03.phtml
Tipos de datos
Por Lola Cárdenas y Joaquin Gracia.
rinconprog.metropoli2000.com
Javascript reconoce seis tipos de valores diferentes: numéricos, lógicos, objetos, cadenas, nulos e
indefinidos.
JavaScript tiene la peculiaridad de ser un lenguaje débilmente tipado, esto es, una variable puede
cambiar de tipo durante su vida, por ejemplo uno puede declarar una variable que ahora sea un
entero y más adelante una cadena.
MiVariable=4;
y después:
MiVariable="Una_Cadena";
A diferencia de otros lenguajes y como ya hemos visto, en Javascript no es necesario declarar las
variables especificando el tipo de dato que contendrán, será el propio interprete el que le asignará
el tipo apropiado. (Esto es así para seguir la filosofía de diseño de Javascript que indica que se
realizan programas pequeños y que la idea es lograr que el programador realice los scripts de la
manera más rápida posible).
Tipos de Datos:
Números
Enteros o coma flotante.
Boleanos
True o False.
Cadenas
Los tipos de datos cadena deben ir delimitados por comillas simples o dobles.
Objetos
Obj = new Object();
Nulos
Null
Indefinidos
Un valor indefinido es el que corresponde a una variable que ha sido creada pero no le
ha sido asignado un valor.
http://www.webestilo.com/javascript/js04.phtml
Operadores
Por Lola Cárdenas y Joaquin Gracia.
rinconprog.metropoli2000.com
Los operadores toman una o más variables o valores (los operando) y devuelve un nuevo valor;
por ejemplo el ' +' operador puede agregar dos números para producir un tercero. Lo operadores
están clasificados en varias clases dependiendo de la relación que ellos realizan:
Operadores Aritméticos
Los operadores aritméticos toman los valores numéricos (literales o variables) como sus
operando y devuelve un solo valor numérico. Los operadores aritméticos normales son:
Operador
Nombre
Ejemplo
Descripción
+
Suma
5 + 6
Suma dos números
-
Substracción
7 - 9
Resta dos números
*
Multiplicación
6 * 3
Multiplica dos números
/
División
4 / 8
Divide dos números
%
Módulo: el resto después
de la división
7 % 2
Devuelve el resto de dividir ambos
números, en este ejemplo el resultado es 1
++
Incremento.
a++
Suma 1 al contenido de una variable.
--
Decremento.
a--
Resta 1 al contenido de una variable.
-
Invierte el signo de un
operando.
-a
Invierte el signo de un operando.
<!-- Manual de JavaScript de WebEstilo.com -->
<html>
<head>
<title>Ejemplo de JavaScript</title>
</head>
<body>
<script language="JavaScript">
a = 8;
b = 3;
document.write(a + b);
document.write("<br>");
document.write(a - b);
document.write("<br>");
document.write( a * b);
document.write("<br>");
document.write(a / b);
document.write("<br>");
a++;
document.write(a);
document.write("<br>");
b--;
document.write(b);
</script>
</body>
</html>
http://www.webestilo.com/javascript/js05.phtml
Operadores de comparación
Por Lola Cárdenas y Joaquin Gracia.
rinconprog.metropoli2000.com
Un operador de la comparación compara sus operando y devuelve un valor lógico basado en si la
comparación es verdad o no. Los operando pueden ser numéricos o cadenas.
Operador
==
Descripción
" Igual a" devuelve true si los operandos son iguales
===
!=
!==
>
>=
<
<=
Estrictamente "igual a" (JavaScript 1.3)
" No igual a" devuelve true si los operandos no son iguales
Estrictamente " No igual a" (JavaScript 1.3)
" Mayor que" devuelve true si el operador de la izquierda es mayor que el de la
derecha.
" Mayor o igual que " devuelve true si el operador de la izquierda es mayor o igual
que el de la derecha.
" Menor que" devuelve true si el operador de la izquierda es menor que el de la
derecha.
"Menor o igual que" devuelve true si el operador de la izquierda es menor o igual
que el de la derecha.
Nota:
En JavaScript 1.3 y JavaScript 1.1 o anteriores, los operadores de comparación realizaban 'una
conversión de tipos' si era necesario. Es decir, si un operando era una cadena y el otro era un
valor numérico, JavaScript realizaba la conversión de la cadena a numérico antes de realizar la
comparación.
JavaScript 1.2 no realizaba 'conversiones de tipo', por eso si dos operadores eran de tipos
distintos no se realizaba la comparación.
Finalmente, en las últimas versiones de JavaScript se añaden los operadores de 'comparación
estricta', los cuales realizarán la comparación si los dos operandos son del mismo tipo.
<!-- Manual de JavaScript de WebEstilo.com -->
<html>
<head>
<title>Ejemplo de JavaScript</title>
</head>
<body>
<script language="JavaScript">
a = 8;
b = 3;
c = 3;
document.write(a == b);document.write("<br>");
document.write(a != b);document.write("<br>");
document.write(a < b);document.write("<br>");
document.write(a > b);document.write("<br>");
document.write(a >= c);document.write("<br>");
document.write(b <= c);document.write("<br><br>");
document.write(3 == "3");document.write("<br>");
document.write(3 === "3");document.write("<br>");
</script>
</body>
</html>
http://www.webestilo.com/javascript/js06.phtml
Operadores Lógicos
Por Lola Cárdenas y Joaquin Gracia.
rinconprog.metropoli2000.com
Los operadores Lógicos se utilizan para combinar múltiples comparaciones en una expresión
condicional. Un operador lógico toma dos operandos cada uno de los cuales es un valor true o
false y devuelve un valor true o false.
Operador
Descripción
&&
" Y " Devuelve true si ambos operadores son true.
||
" O " Devuelve true si uno de los operadores es true.
!
"No" Devuelve true si la negación del operando es true.
<!-- Manual de JavaScript de WebEstilo.com -->
<html>
<head>
<title>Ejemplo de JavaScript</title>
</head>
<body>
<script language="JavaScript">
a = 8;
b = 3;
c = 3;
document.write( (a == b) && (c > b) );document.write("<br>");
document.write( (a == b) || (b == c) );document.write("<br>");
document.write( !(b <= c) );document.write("<br>");
</script>
</body>
</html>
http://www.webestilo.com/javascript/js07.phtml
Operadores de Cadena
Por Lola Cárdenas y Joaquin Gracia.
rinconprog.metropoli2000.com
Los valores cadena pueden compararse usando los operadores de comparación. Adicionalmente,
usted puede concatenar cadenas usando el operador +
<!-- Manual de JavaScript de WebEstilo.com -->
<html>
<head>
<title>Ejemplo de JavaScript</title>
</head>
<body>
<script language="JavaScript">
Nombre = "Jose"
document.write( "Hola " + Nombre +"." );
</script>
</body>
</html>
Ejecutar ejemplo Ver código
Operadores de Asignación
El operador de asignación '=' le permite asignar un valor a una variable.
Operador
Descripción
=
Asigna el valor del operando de la derecha a la variable de la izquierda.
Ejemplo: inttotal=100;
+=
(tambien - =, * =, / =)
Añade el valor del operando de la derecha a la variable de la izquierda.
Ejemplo: inttotal +=100
&=
(también |=)
Asigna el resultado de (operando de la izquierda & operando de la derecha) al
operando de la izquierda
<!-- Manual de JavaScript de WebEstilo.com -->
<html>
<head>
<title>Ejemplo de JavaScript</title>
</head>
<body>
<script language="JavaScript">
a = 8;
b = 3;
a += 3;
document.write(a);document.write("<br>");
a -= 2;
document.write(a);document.write("<br>");
b *= 2;
document.write(b);
</script>
</body>
</html>
http://www.webestilo.com/javascript/js08.phtml
Operadores especiales
Por Lola Cárdenas y Joaquin Gracia.
rinconprog.metropoli2000.com
Varios operadores de JavaScript, es difícil clasificarlos en una categoría en particular. Estos
operadores se resumen a continuación.
Operador
Descripción
(condición) ? trueVal : falseVal
Asigna un valor especificado a una variable si la condición es true, por
otra parte asigna un valor alternativo si la condición es false.
New
El operador new crea una instancia de un objeto.
This
La palabra clave 'this' se refiere al objeto actual.
,
Delete
El operador ',' evalúa los dos operados.
El operador delete borra un objeto, una propiedad de un objeto, o un
elemento especificado de un vector.
Void
Typeof
El operador Void especifica una expresión que será evaluada sin
devolver ningún valor.
Devuelve el tipo de dato de un operando.
http://www.webestilo.com/javascript/js09.phtml
Objetos
Por Lola Cárdenas y Joaquin Gracia.
rinconprog.metropoli2000.com
Una primera clasificación del modelo de objetos lo dividiría en dos grandes grupos. Por una
parte, tendríamos los objetos directamente relacionados con el navegador y las posibilidades de
programación HTML (denominados, genéricamente, objetos del navegador) y por otra parte un
conjunto de objetos relacionados con la estructura del lenguaje, llamados genéricamente objetos
del lenguaje.
El Objeto String
Este objeto nos permite hacer diversas manipulaciones con las cadenas, para que trabajar con
ellas sea más sencillo. Cuando asignamos una cadena a una variable, JS está creando un objeto de
tipo String que es el que nos permite hacer las manipulaciones.
Propiedades


length. Valor numérico que nos indica la longitud en caracteres de la cadena dada.
prototype. Nos permite asignar nuevas propiedades al objeto String.
Métodos







anchor(nombre). Crea un enlace asignando al atributo NAME el valor de 'nombre'. Este
nombre debe estar entre comillas " "
big(). Muestra la cadena de caracteres con una fuente grande.
blink(). Muestra la cadena de texto con un efecto intermitente.
charAt(indice). Devuelve el carácter situado en la posición especificada por 'indice'.
fixed(). Muestra la cadena de caracteres con una fuente proporcional.
fontcolor(color). Cambia el color con el que se muestra la cadena. La variable color debe
ser especificada entre comillas: " ", o bien siguiendo el estilo de HTML, es decir "#RRGGBB"
donde RR, GG, BB son los valores en hexadecimal para los colores rojo, verde y azul, o bien
puede ponerse un identificador válido de color entre comillas. Algunos de estos identificadores
son "red", "blue", "yellow", "purple", "darkgray", "olive", "salmon", "black", "white", ...
fontsize(tamaño). Cambia el tamaño con el que se muestra la cadena. Los tamaños válidos
son de 1 (más pequeño) a 7 (más grande). indexOf(cadena_buscada,indice) Devuelve la
posición de la primera ocurrencia de 'cadena_buscada' dentro de la cadena actual, a partir de
la posición dada por 'indice'. Este último argumento es opcional y, si se omite, la busqueda
comienza por el primer carácter de la cadena.











italics(). Muestra la cadena en cursiva.
lastIndexOf(cadena_buscada,indice). Devuelve la posición de la última ocurrencia de
'cadena_buscada' dentro de la cadena actual, a partir de la posición dada por 'indice', y
buscando hacia atrás. Este último argumento es opcional y, si se omite, la busqueda comienza
por el último carácter de la cadena.
link(URL). Convierte la cadena en un vínculo asignando al atributo HREF el valor de URL.
small(). Muestra la cadena con una fuente pequeña.
split(separador). Parte la cadena en un array de caracteres. Si el carácter separador no se
encuentra, devuelve un array con un sólo elemento que coincide con la cadena original. A
partir de NS 3, IE 4 (JS 1.2).
strike(). Muestra la cadena de caracteres tachada.
sub(). Muestra la cadena con formato de subíndice.
substring(primer_Indice,segundo_Indice). Devuelve la subcadena que comienza en
la posición 'primer_Indice + 1' y que finaliza en la posición 'segundo_Indice'. Si 'primer_Indice'
es mayor que 'segundo_Indice', empieza por 'segundo_Indice + 1' y termina en
'primer_Indice'. Si hacemos las cuentas a partir de 0, entonces es la cadena que comienza en
'primer_Indice' y termina en 'segundo_Indice - 1' (o bien 'segundo_Indice' y 'primer_Indice 1' si el primero es mayor que el segundo).
sup(). Muestra la cadena con formato de superíndice.
toLowerCase(). Devuelve la cadena en minúsculas.
toUpperCase(). Devuelve la cadena en minúsculas.
<!-- Manual de JavaScript de WebEstilo.com -->
<HTML>
<HEAD>
<title>Ejemplo de JavaScript</title>
</HEAD>
<BODY>
<script LANGUAGE="JavaScript">
<!-var cad = "Hello World",i;
var ja = new Array();
ja = cad.split("o");
with(document) {
write("La cadena es: "+cad+"<BR>");
write("Longitud de la cadena: "+cad.length+"<BR>");
write("Haciendola ancla: "+cad.anchor("b")+"<BR>");
write("En grande: "+cad.big()+"<BR>");
write("Parpadea: "+cad.blink()+"<BR>");
write("Caracter 3 es: "+cad.charAt(3)+"<BR>");
write("Fuente FIXED: "+cad.fixed()+"<BR>");
write("De color: "+cad.fontcolor("#FF0000")+"<BR>");
write("De color: "+cad.fontcolor("salmon")+"<BR>");
write("Tamaño 7: "+cad.fontsize(7)+"<BR>");
write("<I>orl</I> esta en la posicion: "+cad.indexOf("orl"));
write("<BR>En cursiva: "+cad.italics()+"<BR>");
write("La primera <I>l</I> esta, empezando a contar por detras,");
write(" en la posicion: "+cad.lastIndexOf("l")+"<BR>");
write("Haciendola enlace: "+cad.link("doc.htm")+"<BR>");
write("En pequeño: "+cad.small()+"<BR>");
write("Tachada: "+cad.strike()+"<BR>");
write("Subindice: "+cad.sub()+"<BR>");
write("Superindice: "+cad.sup()+"<BR>");
write("Minusculas: "+cad.toLowerCase()+"<BR>");
write("Mayusculas: "+cad.toUpperCase()+"<BR>");
write("Subcadena entre los caracteres 3 y 10: ");
write(cad.substring(2,10)+"<BR>");
write("Entre los caracteres 10 y 3: "+cad.substring(10,2)+"<BR>");
write("Subcadenas resultantes de separar por las <B>o:</B><BR>");
for(i=0;i<ja.length;i++) write(ja[i]+"<BR>");
}
//-->
</script>
</BODY>
</HTML>
http://www.webestilo.com/javascript/js10.phtml
El Objeto Array
Por Lola Cárdenas y Joaquin Gracia.
rinconprog.metropoli2000.com
Este objeto nos va a dar la facilidad de construir arrays cuyos elementos pueden contener
cualquier tipo básico, y cuya longitud se modificará de forma dinámica siempre que añadamos un
nuevo elemento (y, por tanto, no tendremos que preocuparnos de esa tarea). Para poder tener un
objeto array, tendremos que crearlo con su constructor, por ejemplo, si escribimos:
a=new Array(15);
tendremos creada una variable a que contendrá 15 elementos, enumerados del 0 al 14. Para
acceder a cada elemento individual usaremos la notación a[i], donde i variará entre 0 y N-1,
siendo N el número de elementos que le pasamos al constructor.
También podemos inicializar el array a la vez que lo declaramos, pasando los valores que
queramos directamente al constructor, por ejemplo:
a=new Array(21,"cadena",true);
que nos muestra, además, que los elementos del array no tienen por qué ser del mismo tipo.
Por tanto: si ponemos un argumento al llamar al constructor, este será el número de elementos del
array (y habrá que asignarles valores posteriormente), y si ponemos más de uno, será la forma de
inicializar el array con tantos elementos como argumentos reciba el constructor.
Podríamos poner como mención especial de esto lo siguiente. Las inicializaciones que vemos a
continuación:
a=new Array("cadena");
a=new Array(false);
Inicializan el array a, en el primer caso, con un elemento cuyo contenido es la cadena cadena, y
en el segundo caso con un elemento cuyo contenido es false.
Lo comentado anteriormente sobre inicialización de arrays con varios valores, significa que si
escribimos
a=new Array(2,3);
NO vamos a tener un array con 2 filas y 3 columnas, sino un array cuyo primer elemento será el 2
y cuyo segundo elemento será el 3. Entonces, ¿cómo creamos un array bidimensional? (un array
bidimensional es una construcción bastante frecuente). Creando un array con las filas deseadas y,
después, cada elemento del array se inicializará con un array con las columnas deseadas. Por
ejemplo, si queremos crear un array con 4 filas y 7 columnas, bastará escribir:
a=new Array(4);
for(i=0;i<4;i++) a[i]=new Array(7);
y para referenciar al elemento que ocupa la posición (i,j), escribiremos a[i][j];
Propiedades

length. Esta propiedad nos dice en cada momento la longitud del array, es decir, cuántos

elementos tiene.
prototype. Nos permite asignar nuevas propiedades al objeto String.
Métodos

join(separador). Une los elementos de las cadenas de caracteres de cada elemento de un


array en un string, separando cada cadena por el separador especificado.
reverse(). Invierte el orden de los elementos del array.
sort(). Ordena los elementos del array siguiendo el orden lexicográfico.
<!-- Manual de JavaScript de WebEstilo.com -->
<HTML>
<HEAD>
<title>Ejemplo de JavaScript</title>
</HEAD>
<BODY>
<script LANGUAGE="JavaScript">
<!-var j=new Array(2),h=new Array(1), i=new Array(1,"Hola",3);
var b=new Array("Palabra","Letra","Amor","Color","Cariño");
var c=new Array("Otra cadena con palabras");
var d=new Array(false);
j[0]=new Array(3);
j[1]=new Array(2);
j[0][0]=0; j[0][1]=1; j[0][2]=2;
j[1][0]=3; j[1][1]=4; j[1][2]=5;
document.write(c);
document.write("<P>"+d+"<P>");
document.write("j[0][0]="+j[0][0]+"; j[0][1]="+j[0][1]+
"; j[0][2]="+j[0][2]+"<BR>");
document.write("j[1][0]="+j[1][0]+"; j[1][1]="+j[1][1]+
"; j[1][2]="+j[1][2]);
document.write("<P>h= "+(h[0]='Hola')+"<P>");
document.write("i[0]="+i[0]+"; i[1]="+i[1]+"; i[2]="+i[2]+"<P>");
document.write("Antes de ordenar: "+b.join(', ')+"<P>");
document.write("Ordenados: "+b.sort()+"<P>");
document.write("Ordenados en orden inverso: "+b.sort().reverse());
//-->
</script>
</BODY>
</HTML>
http://www.webestilo.com/javascript/js11.phtml
El Objeto Math
Por Lola Cárdenas y Joaquin Gracia.
rinconprog.metropoli2000.com
Este objeto se utiliza para poder realizar cálculos en nuestros scripts. Tiene la peculiaridad de que
sus propiedades no pueden modificarse, sólo consultarse. Estas propiedades son constantes
matemáticas de uso frecuente en algunas tareas, por ello es lógico que sólo pueda consultarse su
valor pero no modificarlo.
Propiedades








E. Número 'e', base de los logaritmos naturales (neperianos).
LN2. Logaritmo neperiano de 2.
LN10. Logaritmo neperiano de 10.
LOG2E. Logaritmo en base 2 de e.
LOG10E. Logaritmo en base 10 de e.
PI. Número PI.
SQRT1_2. Raíz cuadrada de 1/2.
SQRT2. Raíz cuadrada de 2.
Métodos


















abs(numero). Función valor absoluto.
acos(numero). Función arcocoseno. Devuelve un valor cuyas unidades son radianes o NaN.
'numero' debe pertenecer al rango [-1,1], en otro caso devuelve NaN.
asin(numero). Función arcoseno. Devuelve un valor cuyas unidades son radianes o NaN.
'numero' debe pertenecer al rango [-1,1], en otro caso devuelve NaN.
atan(numero). Función arcotangente. Devuelve un valor cuyas unidades son radianes o NaN.
atan2(x,y). Devuelve el ángulo formado por el vector de coordenadas (x,y) con respecto al
eje OX.
ceil(numero). Devuelve el entero obtenido de redondear 'numero' "por arriba".
cos(numero). Devuelve el coseno de 'numero' (que debe estar en radianes) o NaN.
exp(numero). Devuelve el valor enumero.
floor(numero). Devuelve el entero obtenido de redondear 'numero' "por abajo".
log(numero). Devuelve el logaritmo neperiano de 'numero'.
max(x,y). Devuelve el máximo de 'x' e 'y'.
min(x,y). Devuelve el mínimo de 'x' e 'y'.
pow(base,exp). Devuelve el valor baseexp.
random(). Devuelve un número pseudoaleatorio entre 0 y 1.
round(numero). Redondea 'numero' al entero más cercano.
sin(numero). Devuelve el seno de 'numero' (que debe estar en radianes) o NaN.
sqrt(numero). Devuelve la raíz cuadrada de número.
tan(numero). Devuelve la tangente de 'numero' (que debe estar en radianes) o NaN.
http://www.webestilo.com/javascript/js12.phtml
El Objeto Date
Por Lola Cárdenas y Joaquin Gracia.
rinconprog.metropoli2000.com
Este objeto nos va a permitir hacer manipulaciones con fechas: poner fechas, consultarlas... para
ello, debemos saber lo siguiente: JS maneja fechas en milisegundos. Los meses de Enero a
Diciembre vienen dados por un entero cuyo rango varía entre el 0 y el 11 (es decir, el mes 0 es
Enero, el mes 1 es Febrero, y así sucesivamente), los días de la semana de Domingo a Sábado
vienen dados por un entero cuyo rango varía entre 0 y 6 (el día 0 es el Domingo, el día 1 es el
Lunes, ...), los años se ponen tal cual, y las horas se especifican con el formato HH:MM:SS.
Podemos crear un objeto Date vacío, o podemos crealo dándole una fecha concreta. Si no le
damos una fecha concreta, se creará con la fecha correspondiente al momento actual en el que se
crea. Para crearlo dándole un valor, tenemos estas posibilidades:
var
var
var
var
var
Mi_Fecha
Mi_Fecha
Mi_Fecha
Mi_Fecha
Mi_Fecha
=
=
=
=
=
new
new
new
new
new
Date(año,
Date(año,
Date(año,
Date(año,
Date(año,
mes);
mes, día);
mes, día, horas);
mes, día, horas, minutos);
mes, día, horas, minutos, segundos);
En día pondremos un número del 1 al máximo de días del mes que toque. Todos los valores que
tenemos que pasar al constructor son enteros. Pasamos a continuación a estudiar los métodos de
este objeto.
Métodos














getDate(). Devuelve el día del mes actual como un entero entre 1 y 31.
getDay(). Devuelve el día de la semana actual como un entero entre 0 y 6.
getHours(). Devuelve la hora del día actual como un entero entre 0 y 23.
getMinutes(). Devuelve los minutos de la hora actual como un entero entre 0 y 59.
getMonth(). Devuelve el mes del año actual como un entero entre 0 y 11.
getSeconds(). Devuelve los segundos del minuto actual como un entero entre 0 y 59.
getTime(). Devuelve el tiempo transcurrido en milisegundos desde el 1 de enero de 1970
hasta el momento actual.
getYear(). Devuelve el año actual como un entero.
setDate(día_mes). Pone el día del mes actual en el objeto Date que estemos usando.
setDay(día_semana). Pone el día de la semana actual en el objeto Date que estemos
usando.
setHours(horas). Pone la hora del día actual en el objeto Date que estemos usando.
setMinutes(minutos). Pone los minutos de la hora actual en el objeto Date que estemos
usando.
setMonth(mes). Pone el mes del año actual en el objeto Date que estemos usando.
setSeconds(segundos). Pone los segundos del minuto actual en el objeto Date que estemos
usando.

setTime(milisegundos). Pone la fecha que dista los milisegundos que le pasemos del 1 de


enero de 1970 en el objeto Date que estemos usando.
setYear(año). Pone el año actual en el objeto Date que estemos usando.
toGMTString(). Devuelve una cadena que usa las convenciones de Internet con la zona
horaria GMT.
http://www.webestilo.com/javascript/js13.phtml
El Objeto Boolean
Por Lola Cárdenas y Joaquin Gracia.
rinconprog.metropoli2000.com
Este objeto nos permite crear booleanos, esto es, un tipo de dato que es cierto o falso, tomando
los valores true o false. Podemos crear objetos de este tipo mediante su constructor. Veamos
varios ejemplos:
a
a
a
a
a
a
=
=
=
=
=
=
new
new
new
new
new
new
Boolean(); asigna a 'a' el valor 'false'
Boolean(0); asigna a 'a' el valor 'false'
Boolean(""); asigna a 'a' el valor 'false'
Boolean(false); asigna a 'a' el valor 'false'
Boolean(numero_distinto_de_0); asigna a 'a' el valor 'true'
Boolean(true); asigna a 'a' el valor 'true'
http://www.webestilo.com/javascript/js14.phtml
El Objeto Number
Por Lola Cárdenas y Joaquin Gracia.
rinconprog.metropoli2000.com
Este objeto representa el tipo de dato número con el que JS trabaja. Podemos asignar a una
variable un número, o podemos darle valor, mediante el constructor Number, de esta forma:
a = new Number(valor);, por ejemplo, a = new Number(3.2); da a a el valor 3.2. Si no
pasamos algún valor al constructor, la variable se inicializará con el valor 0.
Propiedades




MAX_VALUE. Valor máximo que se puede manejar con un tipo numérico
MIN_VALUE. Valor mínimo que se puede manejar con un tipo numérico
NaN. Representación de un dato que no es un número
NEGATIVE_INFINITY. Representación del valor a partir del cual hay desbordamiento negativo
(underflow)

POSITIVE_INFINITY. Representación del valor a partir del cual hay desbordamiento positivo
(overflow)
Para consultar estos valores, no podemos hacer:
a = new Number(); alert(a.MAX_VALUE);
porque JS nos dirá undefined, tenemos que hacerlo directamente sobre Number, es decir,
tendremos que consultar los valores que hay en Number.MAX_VALUE, Number.MIN_VALUE, etc.
http://www.webestilo.com/javascript/js15.phtml
Jerarquía
Por Lola Cárdenas y Joaquin Gracia.
rinconprog.metropoli2000.com
Con esta entrega comienza la descripción de las propiedades y los métodos de los objetos del
navegador. No es mi intención hacer una descripción exhaustiva de todas y cada una de las
propiedades y métodos, objeto por objeto, con todo detalle. Mi intención es hacer una descripción
más o menos detallada de las propiedades y métodos que tienen más posibilidad de ser usados. Es
decir, que si me dejo alguna propiedad y/o método por comentar, siempre podeis buscarla los
manuales de referencia de los respectivos navegadores.
En este capítulo vamos a estudiar la jerarquía que presentan los objetos del navegador,
atendiendo a una relación "contenedor - contenido" que se da entre estos objetos. De forma
esquemática, esta jerarquía podemos representarla de esta manera (al lado está la directiva HTML
con que se incluyen en el documento objetos de este tipo, cuando exista esta directiva):
* window
+ history
+ location
+ document
<BODY> ... </BODY>
- anchor <A NAME="..."> ... </A>
- applet <APPLET> ... </APPLET>
- area
<MAP> ... </MAP>
- form
<FORM> ... </FORM>
+ button
<INPUT TYPE="button">
+ checkbox
<INPUT TYPE="checkbox">
+ fileUpload <INPUT TYPE="file">
+ hidden
<INPUT TYPE="hidden">
+ password
<INPUT TYPE="password">
+ radio
<INPUT TYPE="radio">
+ reset
<INPUT TYPE="reset">
+ select
<SELECT> ... </SELECT>
- options <INPUT TYPE="option">
+ submit
<INPUT TYPE="submit">
+ text
<INPUT TYPE="text">
+ textarea
<TEXTAREA> ... </TEXTAREA>
- image
<IMG SRC="...">
- link
<A HREF="..."> ... </A>
- plugin <EMBED SRC="...">
+ frame
<FRAME>
* navigator
Según esta jerarquía, podemos entender el objeto area (por poner un ejemplo) como un objeto
dentro del objeto document que a su vez está dentro del objeto window. Hay que decir que la
notación '.' también se usa para denotar a un objeto que está dentro de un objeto.
Por ejemplo, si queremos hacer referencia a una caja de texto, tendremos que escribir
ventana.documento.formulario.caja_de_texto
donde ventana es el nombre del objeto window (su nombre por defecto es window), documento
es el nombre del objeto document (cuyo nombre por defecto es document), formulario es el
nombre del objeto forms (veremos que forms es un array) y caja_de_texto es el nombre del
objeto textarea (cuyo nombre por defecto es textarea).
En la mayoría de los casos podemos ignorar la referencia a la ventana actual (window), pero será
necesaria esta referencia cuando estemos utilizando múltiples ventanas, o cuando usemos frames.
Cuando estemos usando un único frame, podemos pues ignorar explícitamente la referencia al
objeto window, ya que JS asumirá que la referencia es de la ventana actual.
También podemos utilizar la notación de array para referirnos a algún objeto, por ejemplo,
cuando los objetos a usar no tienen nombre, como en este caso:
document.forms[0].elements[1];
hace referencia al segundo elemento del primer formulario del documento; este elemento será el
segundo que se haya creado en la página HTML.
http://www.webestilo.com/javascript/js16.phtml
El objeto window
Por Lola Cárdenas y Joaquin Gracia.
rinconprog.metropoli2000.com
Se trata del objeto más alto en la jerarquía del navegador (navigator es un objeto
independiente de todos en la jerarquía), pues todos los componentes de una página web están
situados dentro de una ventana. El objeto window hace referencia a la ventana actual. Veamos a
continuación sus propiedades y sus métodos.
Propiedades

closed. Válida a partir de Netscape 3 en adelante y MSIE 4 en adelante. Es un booleano que

nos dice si la ventana está cerrada ( closed = true ) o no ( closed = false ).
defaultStatus. Cadena que contiene el texto por defecto que aparece en la barra de estado
(status bar) del navegador.











frames. Es un array: cada elemento de este array (frames[0], frames[1], ...) es uno de los
frames que contiene la ventana. Su orden se asigna según se definen en el documento HTML.
history. Se trata de un array que representa las URLS visitadas por la ventana (están
almacenadas en su historial).
length. Variable que nos indica cuántos frames tiene la ventana actual.
location. Cadena con la URL de la barra de dirección.
name. Contiene el nombre de la ventana, o del frame actual.
opener. Es una referencia al objeto window que lo abrió, si la ventana fue abierta usando el
método open() que veremos cuando estudiemos los métodos.
parent. Referencia al objeto window que contiene el frameset.
self. Es un nombre alternativo del window actual.
status. String con el mensaje que tiene la barra de estado.
top. Nombre alternativo de la ventana del nivel superior.
window. Igual que self: nombre alternativo del objeto window actual.
Métodos










alert(mensaje). Muestra el mensaje 'mensaje' en un cuadro de diálogo
blur(). Elimina el foco del objeto window actual. A partir de NS 3, IE 4.
clearInterval(id). Elimina el intervalo referenciado por 'id' (ver el método setInterval(),
también del objeto window). A partir de NS 4, IE 4.
clearTimeout(nombre). Cancela el intervalo referenciado por 'nombre' (ver el método
setTimeout(), también del objeto window).
close(). Cierra el objeto window actual.
confirm(mensaje). Muestra un cuadro de diálogo con el mensaje 'mensaje' y dos botones,
uno de aceptar y otro de cancelar. Devuelve true si se pulsa aceptar y devuelve false si se
pulsa cancelar.
focus(). Captura el foco del ratón sobre el objeto window actual. A partir de NS 3, IE 4.
moveBy(x,y). Mueve el objeto window actual el número de pixels especificados por (x,y). A
partir de NS 4.
moveTo(x,y). Mueve el objeto window actual a las coordenadas (x,y). A partir de NS 4.
open(URL,nombre,caracteristicas). Abre la URL que le pasemos como primer
parámetro en una ventana de nombre 'nombre'. Si esta ventana no existe, abrirá una ventana
nueva en la que mostrará el contenido con las características especificadas. Las características
que podemos elegir para la ventana que queramos abrir son las siguientes:
o toolbar = [yes|no|1|0]. Nos dice si la ventana tendrá barra de herramientas
(yes,1) o no la tendrá (no,0).
o location = [yes|no|1|0]. Nos dice si la ventana tendrá campo de localización o
no.
o directories = [yes|no|1|0]. Nos dice si la nueva ventana tendrá botones de
dirección o no.
o status = [yes|no|1|0]. Nos dice si la nueva ventana tendrá barra de estado o no.
o menubar = [yes|no|1|0]. Nos dice si la nueva ventana tendrá barra de menús o
no.
o scrollbars = [yes|no|1|0]. Nos dice si la nueva ventana tendrá barras de
desplazamiento o no.
o resizable = [yes|no|1|0]. Nos dice si la nueva ventana podrá ser cambiada de
tamaño (con el ratón) o no.
o width = px. Nos dice el ancho de la ventana en pixels.
o height = px. Nos dice el alto de la ventana en pixels.
o outerWidth = px. Nos dice el ancho *total* de la ventana en pixels. A partir de NS
4.
o outerHeight = px. Nos dice el alto *total* de la ventana el pixels. A partir de NS 4
o
left = px. Nos dice la distancia en pixels desde el lado izquierdo de la pantalla a la
que se debe colocar la ventana.
top = px. Nos dice la distancia en pixels desde el lado superior de la pantalla a la que
se debe colocar la ventana.
prompt(mensaje,respuesta_por_defecto). Muestra un cuadro de diálogo que contiene
una caja de texto en la cual podremos escribir una respuesta a lo que nos pregunte en
'mensaje'. El parámetro 'respuesta_por_defecto' es opcional, y mostrará la respuesta por
defecto indicada al abrirse el cuadro de diálogo. El método retorna una cadena de caracteres
con la respuesta introducida.
scroll(x,y). Desplaza el objeto window actual a las coordenadas especificadas por (x,y). A
partir de NS3, IE4.
scrollBy(x,y). Desplaza el objeto window actual el número de pixels especificado por (x,y).
A partir de NS4.
scrollTo(x,y). Desplaza el objeto window actual a las coordenadas especificadas por (x,y).
A partir de NS4.
setInterval(expresion,tiempo). Evalua la expresión especificada después de que hayan
pasado el número de milisegundos especificados en tiempo. Devuelve un valor que puede ser
usado como identificativo por clearInterval(). A partir de NS4, IE4.
setTimeout(expresion,tiempo). Evalua la expresión especificada después de que hayan
pasado el número de milisegundos especificados en tiempo. Devuelve un valor que puede ser
usado como identificativo por clearTimeout(). A partir de NS4, IE4.
o






Me dejo en el tintero otras propiedades y métodos como innerHeight, innerWidth,
outerHeight, outerWidth, pageXOffset, pageYOffset, personalbar, scrollbars,
back(), find(["cadena"],[caso,bkwd]), forward(), home(), print(), stop()... todas
ellas disponibles a partir de NS 4 y cuya explicación remito como ejercicio al lector interesado en
saber más sobre el objeto window.
<!-- Manual de JavaScript de WebEstilo.com -->
<HTML>
<HEAD>
<title>Ejemplo de JavaScript</title>
<script LANGUAGE="JavaScript">
<!-function moverVentana()
{
mi_ventana.moveBy(5,5);
i++;
if (i<20)
setTimeout('moverVentana()',100);
else
mi_ventana.close();
}
//-->
</script>
</HEAD>
<BODY>
<script LANGUAGE="JavaScript">
<!-var opciones="left=100,top=100,width=250,height=150", i= 0;
mi_ventana = window.open("","",opciones);
mi_ventana.document.write("Una prueba de abrir ventanas");
mi_ventana.moveTo(400,100);
moverVentana();
//-->
</script>
</BODY>
</HTML>
Ejecutar ejemplo Ver código
Jerarquía
El objeto frame
Aportaciones de usuarios
Añadir una aportación
jbosch(vosk)
20/12/2003
Esta es la primera aportacion que hago en el manual, y se refiere a una operacion concreta con el objeto
'window'. La idea de esta aportacion sale de una pregunta formulada por Rober (el 02/12/2003) en el foro de
JavaScript que por causas que ignoro no admite respuestas (tal vez deba reportarlo como error). La práctica
consiste en detectar si una ventana (secundaria) ha sido abierta desde otra (principal). Para ello me voy a
valer del evento 'onError' (presupongo que no hay ningun error en el codigo fuente de la página) y de la
propiedad 'opener'. El script resultante es de la forma:
<script language="JavaScript">
function A()
{
window.onerror=B
window.opener.focus();
window.focus();
alert("Esta ventana SI tiene opener");
}
function B()
{
alert("No hay ningun opener para esta ventana.");
return true;
}
</script>
Supongamos que desde una ventana principal se abre una secundaria que lleva este script y mediante un
evento 'onLoad' en la etiqueta 'body' se llama y se ejecuta la funcion A();. En esta funcion primero se define
que en caso de error (onError) se ejecute la funcion B() para evitar la alerta de error que viene por defecto
en el navegador. Esta funcion B() solo se ejecutará en caso de que se produzca un error durante la ejecución
de la funcion A(), y lleva la instruccion de no retornar y reemprender la ejecucion de la funcion desde la que
fué llamada. La funcion A() simplemente trata de acceder a un objeto de una posible ventana parental para
forzar un error conocido; en este caso trato de forzar el error accediendo a la propiedad 'opener' de la
ventana secundaria: si no existe este 'opener' se producirá el error ("'window.opener' es nulo o no es un
objeto"); si existe se continuará con la ejecucion de la función. Para evitar confusiones es necesario que esta
funcion solo esté dirigida a forzar el error en vez de hacer otras operaciones no relacionadas con la finalidad
de forzar este error conocido y que puedan originar otro error (en estos casos el evento onError se activaria
igualmente aun existiendo realmente una ventana parental); por ejemplo supongamos que hay la siguiente
funcion A():
function A()
{
window.onerror=B
window.opener.focus();
window.focus();
document.getElementById('a').style.visibility = "hidden"; //referida a un objeto inexistente
alert("Esta ventana SI tiene opener");
}
En caso que por despiste no exista realmente ningun objeto identificado como 'a' se produciría el error aun
habiendo sido abierta la página desde otra principal. para evitar estos errores es necesario utilizar esta
funcion de forma aislada y dirigida a un solo obetivo (forzar y detectar este error); tambien se puede hacer
comparando el mensaje de error esperado con el que realmente se produce, de la siguiente forma:
<script language="JavaScript">
function A()
{
window.onerror=B
window.opener.focus();
window.focus();
document.getElementById('a').style.visibility = "hidden";
alert("Esta ventana SI tiene opener");
}
function B(mensaje)
{
if (mensaje=="'window.opener' es nulo o no es un objeto")
{
alert(mensaje);
return true;
}
return true;
}
</script>
donde lo que se hace simplemente es comprobar que el error que se produce es el esperado.
Los codigos han sido probados en MS Internet Explorer versiones 5.0, 5.5 y 6.0.
Espero que sea de ayuda.
jbosch(vosk)
http://www.webestilo.com/javascript/js17.phtml
Unidad 3. Tecnologías de última generación
3.5 La sociedad de la Información.
3.5.1 Comunicación.
Proceso de intercambio de información.
En la comunicación intervienen los siguientes elementos:
Emisor: es el que elabora el mensaje codificando la idea que desea transmitir de
forma que pueda ser entendida por el receptor.
Receptor: es el destinatario de la información y deberá, por tanto, estar preparado
para recibir el mensaje y conocer el código empleado.
Canal: medio por el que se transmite el mensaje. La transmisión del mesaje puede
hacerse a través de distintos medios de comunicación (escritos, orales o gestuales)
y empleando diferentes tecnologías (computadora, teléfono, televisión, etc.).
Ruido: es cualquier cosa que impide o dificulta la comunicación. como el uso de
códigos ambiguos, una maña conexión telefónica, el ruido ambiente en la
comunicación oral, etc.
Retroalimentación: proceso y propiedad del lenjuaje por el cual cada mensaje
sirve a la vez como respuesta a la precedente, y como parte del estímulo para el
siguiente, cuya finalidad es verificar que el mensaje enviado ha sido
"correctamente" codificado, transmitido, decodificado y entendido.
La comunicación se ha convertido en los últimos tiempos en una herramienta
imprescindible para cualquier organización (por estas se entiende: empresas,
instituciones, comunidades, un estado-gobierno) para perseguir sus objetivos como
entidades sociales. Para gestionar está herramienta nació la figura del Director de
Comunicación, comunmente denominado dircom, y tambien el rol del "Planificador
comunicacional". Cada uno se encarga de gestionar la comunicación intra y extraorganización, acorde a los intereses, objetivos y la cultura donde desarrollan
actividades.
3.5.2 Educación a distancia.
La Educación a distancia es un método educativo en el que los estudiantes no
necesitan asistir físicamente a ningún aula. Normalmente, se envía al estudiante por
correo el material de estudio (textos escritos, videos, cintas de audio, CD-Roms y el
devuelve los ejercicios resueltos. Hoy en día, se utiliza también el correo electrónico
y otras posibilidades que ofrece internet. Al aprendizaje desarrollado con las nuevas
tecnologías de la comunicación se le llama e-learning. En algunos casos, los
estudiantes deben o pueden acudir a algunos despachos en determinadas ocasiones
para recibir tutorías, o bien para realizar exámenes. Existe educación a distancia
para cualquier nivel de estudios, pero lo más usual es que se imparta para estudios
universitarios.
Una de la características atractivas de esta modalidad de estudios es su flexibilidad
de horarios. El estudiante se organiza su período de estudio por sí mismo, lo cual
requiere cierto grado de autodisciplina.
Una de las universidades de educación a distancia más antiguas es la Universidad
de Sudáfrica, la cual lleva ofreciendo este servicio desde 1946. En el Reino Unido, la
más grande es la Open University que se fundó en 1969. En Alemania, la
Fernuniversität Hagen se fundó en 1974. Estas tres universidades tienen más de
100.000 alumnos, lo cual es posible gracias al bajo coste que supone la educación a
distancia. En 1999, el European Graduate School empezó su labor por internet
desde Suiza y Estados Unidos.
La educación a distancia es el desarrollo de los cursos por correspondencia, que
empezó de la necesidad de impartir enseñanza a alumnos en lugares aislados, en
los que no era posible construir un colegio. Tales cursos se ofrecen normalmente al
nivel de primaria y secundaria, y en ellos, a menudo, son los padres quienes
supervisan el progreso educativo del alumno.
En España, existe la Universidad de Educación a Distancia (UNED).
3.5.3 Diseño asistido por computadora.
Diseño Asistido por computadora (CAD).
Cualquier profesional que tiene necesidad de hacer planos requiere de una herramienta de CAD.
Podemos distinguir las herramientas de CAD, que son orientadas a satisfacer cualquier disciplina
de ingeniería, sea esta Civil, Mecánica, Arquitectura, Minas, etc. (como AutoCAD) o las
herramientas de CAD Especializadas, las cuales se orientan a una sola disciplina e incorporan
funciones especializadas que permiten aumentar la productividad dramáticamente.
AutoCAD 2004 :
Es el único producto CAD que no necesita presentación. Es el líder absoluto de CAD 2D de
múltiple propósito. Así en todo el mundo se emplea para diseñar y dibujar planos de Ingeniería
Mecánica, Civil, Arquitectura, Mapas, Catastro, etc.
http://www.semco.com.pe/SEMCOCad/Cadd_Cad.htm
Diseño Asistido por Computadora
El Programa de Diseño Asistido por Computadora (CAD) prepara a estudiantes con las habilidades
necesarias de traducir ideas de ingeniería en dibujos activos. Todo deseño es realizado por
computadoras en preparación para el mercado de empleo, aprendiendo a ser técnicos en detalles,
delineantes, o especializándose en ingenería mecánica, fabricación, arquitectura, o ingeniería civil. Los
estudiantes reciben la capacitación en varios aplicaciones de software de CAD de ultima generación
http://www.vbisd.org/techcenter/esp/programs/cad/Default.
htm
CAD (Computer-Aided Design).- Diseño asistido por computadora. El
uso de computadoras para el diseño de productos. Los sistemas CAD son
estaciones de trabajo especializadas o computadoras personales de alto
rendimiento que emplean software CADA y dispositivos de entrada tales
como tabletas gráficas y exploradores. La salida de un CAD es la entrada a
un sistema CAM (Computer Aided Manufacturing - fabricación asistida por
computadora), para integrar el diseño y la fabricación (CAD/CAM). El
software CAD está disponible para usos generales o para usos especializados
tales como el diseño arquitectónico, eléctrico y mecánico. Puede asimismo
estar altamente especializado para crear productos tales como circuitos
impresos e integrados.
Los sistemas CAD son a menudo sistemas llave en mano que son
armados por fabricantes que pueden desarrollar o integrar software con un
hardware estándar u optimizado. A excepción de unos pocos casos, los
sistemas CAD se basan en el uso extensivo de gráficos. Véase graphics,
CADD y CAE.
CAD/CAM (Computer-Aided Design/Computer-Aided
Manufacturing).- Diseño Asistido por computadora/Fabricación Asistida
por Computadora La integración del diseño asistido por computadora con la
fabricación controlada por computadora. Implica que los productos diseñados
en el sistema CAD son ingresados directamente al sistema CAM. Por ejemplo,
después de que una pieza de maquinaria es diseñada en el CAD, su imagen
electrónica es transferida a un lenguaje de programación de control
numérico, el cual genera las instrucciones para controlar la máquina que
fabrica la pieza.
http://www.itlp.edu.mx/publica/revistas/revista_isc/glosario/c.html
3.5.4 Ciencia, investigación e ingeniería.
3.6 Aplicación de tecnologías emergentes en los sectores
productivos, de servicios y de gobierno.
3.7 Aspectos éticos de la actividad profesional.
La Relacion Ciencia, Tecnica y Desarrollo Social.
Automatización
Rapidez en la búsqueda de recuperación de datos
Modificación de patrones de trabajo
Acerca recursos a mayor numero de gente
Impacto cultural
Responsabilidad del Ingeniero en Sistemas Computacionales
Asistiendo a cursos
Asistiendo a congresos
Revistas de computación
Asistiendo a seminario
Asistiendo a Exhibiciones de computación
Inscribirse a Asociciones (ACM)
El profesional informatico ante los problemas del Mexico de hoy.
Formación:
Nuestro propósito es formar profesionales capaces de diseñar y desarrollar sistemas de
software, así como especificar y evaluar configuraciones de sistemas de cómputo en todo
tipo de organizaciones.
Responsabilidad
Diseñar compiladores, sistemas operativos y demás recursos computacionales.
Instalar y evaluar redes de teleproceso y participar en la programación de dispositivos de
control digital.
Evaluar, seleccionar e instalar equipo de cómputo.
Analizar la organización y arquitectura de los equipos de cómputo.
Las habilidades anteriores se ven reforzadas con la promoción de actitudes de creatividad de
servicio, actualización ética y de liderazgo en su disciplina.
Los derechos humanos frente a la informatica.
Confidencialidad
Controles Generales: Los controles generales regulan el acceso a un sistema de
computación. Incluyen los controles de acceso, de hardware o equipo, de organización[, de
sistema, de datos y procedimientos y de peligro.
Controles de Acceso. Los controles de Acceso protegen al equipo y las instalaciones de
la computadora. Pueden requerir nada mas que colocar el equipo de la computadora detrás
de una puerta asegurada. O involucra equipo o procedimientos muy elaborados: vigilancia
con cámaras de TV de circuito cerrado, de los locales de las computadoras, cerraduras de
puerta con seguros de combinación, o verificación de tarjetas de identificación (ID) en
puntos de entrada. Los controles de acceso típicos para un ambiente de mainframe incluyen
localizar el equipo de la computadora en un cuarto sin ventadas separado de las oficinas de
la organización.
Las contraseñas frecuentemente controlan el acceso a los sistemas de red,
especialmente los que tienen terminales remotas. El usuario debe introducir la contraseña
para que se le admita. Algunos sistemas de contraseña notifican al personal de seguridad si
el usuario no proporciona la contraseña correcta en tres intentos. Esto impide que usuarios
no autorizados traten de adivinar la manera de entrar al sistema. Algunos sistemas en línea
son diseñados para sacar del sistema automáticamente al usuario que no haya introducido
datos por un determinado lapso; por ejemplo, 20 minutos. Esto evita que personas no
autorizadas utilicen una computadora o terminal no atendida.
Las organizaciones pueden restringir el acceso datos especifico de varios modos. Las
compañías que usan maxicomputadoras o mainframes frecuentemente contratan a un
encargado (bibliotecario) datos que controle quien obtiene acceso a los archivos de datos.
Un cajón de escritorio bien asegurado puede proporcionar suficiente control de acceso para
los disquetes de computadora o a otros medio removibles de almacenamiento.
Controles de equipo. Los controles de equipo están incorporados en las computadoras
para regular quien puede usarlas. Además de requerir contraseñas, las maxicomputadoras o
mainframes y las minicomputadoras pueden también estar equipadas con bitácoras de
consola (consolé logs), dispositivos que registran que acciones efectúan los usuarios en las
maquinas. Estos medios controlan incluso que cintas fueron montadas en que unidades y
por los operadores, cuales archivos han sido alterados y que respuestas dio el operador a las
indicaciones (prompts) o instrucciones de la computadora.
Controles de Organización. Los controles de organización dividen las operaciones de
procesamientos de datos entre diversos usuarios. Por ejemplo, una persona puede colectar
datos de cuentas por cobrar, mientras que otra los registra. Dicha división de labores hace
los fraudes u otros delitos más difíciles de cometer, ya que esto tiene que involucra
colaboración. Los controles de organización de una compañía pueden dirigir que la
programación y la operación de las computadoras sean ejecutadas por diferentes individuos,
que un bibliotecario controle los archivos de datos o que los operadores se turnen (roten)
cuando se estén corriendo programas importantes.
Los controles organizacionales también pueden emplearse para asegurar el
funcionamiento eficaz de la compañía. Por ejemplo, las empresas frecuentemente separan
su departamento de computación de otro departamento de modo que pueda funcionar según
los mejores intereses de la organización. En contraste, si el personal del departamento de
computación depende, por ejemplo, de un funcionario de una oficina de contraloría, puede
demandar mas atención por parte de esa oficina que otro personal de la compañía.
Controles de sistema. Los controles de sistema aseguran el desarrollo apropiado de los
sistemas de información. De suma importancia es la participación de los usuarios y la
dirección en el desarrollo de un sistema. Implementar un nuevo sistema también requiere
controles de inversión, tales como cuentas de registros y comparaciones de archivos a fin de
que todos los registros del anterior sistema sean convertidos con seguridad. La compañía
debe probar luego el nuevo sistema. Finalmente, para mantener al mínimo los errores del
sistema, una empresa debe controlar que cambios deben hacerse a un sistema y quien
puede efectuarlos.
Controles de datos y de procedimientos: Los controles de datos aseguran su ingreso
apropiado. En el procesamiento por lotes, los trabajadores frecuentemente envían volante
de control de lotes junto con los documentos que los operadores introducen a la
computadora. Estos volantes de control establecen cuantos documentos están en el lote y
proporcionan totales de control que pueden usarse para comprobar la exactitud de la
transcripción. Por ejemplo, un total de control para una aplicación de cuentas por cobrar,
podría ser el gran total de todos los cargos que corresponden a los clientes enlistados en un
archivo.
Control de programas: El control de programas verifica que los datos se introduzcan y
procesen apropiadamente y que la información resultante quede expresada correctamente
como salida. Estos controles suelen denominarse comúnmente controles de entrada de
procesamiento y de salida.
Controles de entrada: Los controles de entrada son vitales por ayudan asegurar que
los datos introducidos en el sistema sean correctos. Los controles de entrada pueden incluir
volantes de control de lotes (en sistema de lotes) y pruebas de límite, que determinan si el
valor introducidos en un campo excede de cierto máximo establecido. Por ejemplo, una
prueba de límite para una aplicación de nómina podría revisar totales semanales de tarjetas
de tiempo, para asegurarse que no haya empleado que tenga mas de, por ejemplo, 60 hrs
de trabajo. Tales pruebas también pueden ser efectuadas para comprobar si los datos de
campo son numéricos, o si un campo contiene espacios en blanco, un valor positivo o
negativo o el nombre de un empleado, o entidad para el cual los datos están siendo
registrados, existe el archivo maestro.
Al programa o módulo que contiene las diversas comprobaciones de control de
programa usualmente se le llama programa editado en un sistema de lotes y módulo de
editado en un sistema de tiempo real. Los registros de lotes que contuvieran errores se
suspenden en el procesamiento y se registran en una lista de tales registros. En el sistema
de procesamiento real, la computadora usualmente despliega el campo erróneo con un
mensaje de error, de modo que el usuario puede hacer correcciones inmediatamente.
Controles de procesamiento: Los controles de procesamiento proporcionan evidencia
están siendo procesados adecuadamente. Un control de procesamiento es el control total
que el programa general. El usuario puede comparar entonces el control total con el paso
anterior, y notar y corregir cualesquiera discrepancias en los totales.
Otros controles de procesamiento incluyen el rotulado externo en discos o cintas. La
rotulación apropiada asegura que el usuario cargue el medio de almacenamiento adecuado
para un cierto trabajo. Los controles lógicos dentro de un programa aseguran que los
valores clave en una aplicación sean razonables. Por ejemplo, no seria razonable para un
valor de inventario real que fuera negativo. Si esto ocurre, el programa debe desplegar un
mensaje de error.
Controles de salida: Los controles de salida comprenden la conciliación de los totales
del control de un paso de trabajo a otro, y el rastreo de la salida para asegurarse de que los
datos fueron procesados correctamente. Pueden implicar también el envío de la salida a una
persona autorizada.
Libertad
La protección legal primaria que tienen los fabricantes o productores de software es la
de Copyright o derechos de autor. Esta es la forma más sencilla y menos cara de protección
que uno puede obtener, pero no proporciona tanta protección como una patente. Las leyes
federales no son claras respecto a que derechos proporciona el Copyright a unos productos
de software, pero las cortes han hecho pagar hasta 100 000 dólares de indemnización por la
infracción de Copyright para cada copia pirata de un software con licencia.
Muchos fabricantes de software han tratado de colocar medios o dispositivos de
protección contra copia en sus discos de software para impedir la piratería. Sin embargo,
mucha gente objeta fuertemente los medios de protección contra copia, que creen que
penaliza injustamente a los usuarios honrados de software, haciéndoles difícil crear copias
de respaldo legitimas de software adquirido legalmente. Los medios de protección también
pueden dañar al sistema operativo de discos de una computadora. Como resultado, la
mayoría de los productores de software han dejado de instalar protección contra copias en
sus paquetes de aplicación mas conocidos.
Muchos de los desarrolladores de software no venden la programatica real a los
usuarios sino que ofrecen una forma de convenio de licencia, que especifica el derecho al
uso de un paquete particular en una computadora. Estas licencias especiales (shrink-wrap)
no proporcionan ni garantía de software ni las provisiones de compensación si el software no
funciona bien. El propósito de tales políticas es impedir al usuario comprar un programa de
software, copiarlo y luego devolver el elemento adquirido alegando que resulto defectuoso.
Eventualmente, la corte determinara si la licencia especial es valida o no. Además hay
mucha confusión acerca e como se puede usar el software. Por ejemplo, nadie puede estar
seguro de sí un usuario que adquiere un disco de software para procesamiento de palabras
con licencia para una computadora, no pueda usar el disco tanto para la oficina y el hogar, si
es para el mismo trabajo.
Las licencias especiales son particularmente problemáticas para las escuelas. Con
grupos de software que ofrecen facilidad para la información acerca de las copias ilegales,
muchas escuelas han implantado disposiciones que establecen que cualquier persona a la
que se descubra copiando software propiedad de la escuela puede ser castigada y
expulsada. La manera más sencilla de evitar problemas es no copiar software, a menos que
lo haya adquirido para usted mismo.
Privacidad
La privacia ha sido definida como la demanda de personas, grupos o instituciones para
determinar para ellos mismos cuando, como y que información personal es de comunicar a
otros. Algunas personas creen que la enorme capacidad de las computadoras de almacenar
y recuperar información hace más fácil para el gobierno o las empresas infringir nuestro
derecho a la primacía.
Las instituciones que almacenan datos sobre personas, como escuelas, bancos, oficinas
de crédito, oficinas de licencias de conducir, oficinas de rentas internas estatales y federales,
oficinas de acción legal, bibliotecas, compañías de seguros y muchas más. Tan solo el
gobierno federal tiene miles de sistemas de recolección y almacenaje de datos.
Un solicitante de un préstamo de un banco será interrogado y habrá de dar
información acerca de su lugar de trabajo, prestamos restantes, nombres y saldos actuales
de tarjetas de crédito y otras informaciones similares. Al solicitante se le pedirá también
firmar un documento que autoriza al banco a verificar el estado de crédito del solicitante.
Usualmente tales datos se usan en beneficio. De cualquier modo, también es posible que esa
información sea usada para perjuicio.
Los datos son almacenados en un sistema de información computadorizado pude
compararse con datos en otros sistemas. Por ejemplo, al cotejar un registro de computadora
de empleados del gobierno federal y una lista de computadorizada de que prestamos a
estudiantes no liquidados, el gobierno identifica a mas de 47,000 de sus propios empleados
que no realizaron el pago de prestamos otorgados a ellos como estudiantes.
En otro ejemplo de confrontación de registros, los empleados de una agencia federal,
deudores de pagos asistenciales por sostenimiento de hijos fueron sometidos a escrutinio de
datos por computadora para cumplir con las leyes de asistencia. El gobierno descubrió que
540 de sus empleados no estaban en condición legal en tales pagos.
Tal comparación puede desarrollarse con cualquier numero de sistemas de información
computadorizada. Los oponentes a tal indagación por computadora declararon el proceso
como un peligro a la primacía y demandaron su control. Los propugnantes afirmaron que tal
cotejo de registros es un método efectivo para descubrir fraudes y hacer cumplir la ley.
Los sistemas de transferencia electrónica de fondos (EFT) (TEF) también parecen
implicar un atentado a la privaría. Un sistema EFT transfiere electrónicamente un cheque de
pago de una persona a una cuenta de banco. La persona entonces pudo usar una tarjeta
débito para hacer adquisiciones de comestible, gasolina, libros, etc. El importe de cada
adquisición se rebaja automáticamente de la cuenta, y es registrada y transferida a la
cuenta apropiada del proveedor. Este sistema es muy popular entre los proveedores ya que
la mala escritura de un cheque sea cosa del pasado. El beneficio para los bancos es que el
sistema reduce los tramites (o papeleo) requeridos para procesar los cheques.
A final de mes, el banco envía a sus cuentahabientes EFT una lista detallada de todos
los lugares donde hicieron adquisiciones. De cualquier modo, dicho sistemas pintan un
detallado retrato financiero de los cuentahabientes. La pregunta es A quien le esta permitido
tener acceso a esa información? Algunas personas creen que estos sistemas imponen una
amenaza sin precedentes a la privacia y a la libertad, argumentando que el acceso del
gobierno a tal información EFT cae en una especie de control por el Bog Brother. (Hermano
Mayor, de la novela de ciencia-ficción).
La suprema corte de justicia tiene aun que revisar un caso que ha demandado una
reglamentación directa de exactamente que derechos a la privacia tiene un ciudadano bajo
la Constitución. Sin embargo, en un gran numero de casos notables, la corte ha dictaminado
que un derecho a la privacia esta implícito en las Enmiendas Primera, Tercera, Cuarta y
Novena.
Las organizaciones pueden ayudar a salvaguardar la privacia de los datos y reducir sus
oportunidades de convertirse en víctimas de delitos informáticos de computadora
instituyendo un sistema de seguridad. Un sistema de seguridad debe incluir un programa de
control interno, procedimientos organizacionales diseñados para proteger las instalaciones
de la computadora, equipo, software y bases de datos.
La información es uno de los recursos mas preciados que posee una organización. La
meta de la seguridad de las computadoras y del control interno es proteger esos recursos,
sin embargo, una compañía debe de tener un balance apropiado entre los costos de
seguridad y los costos de reemplazo de los bienes protegidos.
Antes de implementar medidas extensivas de seguridad, muchas compañías
emprenden un estudio de análisis de riesgos para determinar sus necesidades de seguridad
cuanto costara cumplir con esas necesidades.
El costo de la seguridad puede implicar mas que el precio de instalar un sistema. Los
controles internos innecesariamente estrictos pueden interferir en el flujo evadiendo
saltando, dichos controles, creando un caos con los sistemas de seguridad en el proceso.
Privacia y correo electronico
Las redes de área local han incrementado en gran cantidad el uso del software de
correo electrónico para enviar mensajes dentro de una red. Desde luego, muchos de estos
mensajes no están estrictamente relacionados con el trabajo. Algunas compañías hacen una
obligación monitorear el correo electrónico. Esto ha llevado a numerosos litigios por parte de
empleados y a algunos juicios por la violación de la privacia.
Algunos de eso actos han sido desechados por cortes menores, que rechazan cualquier
derecho a la privacia en sistemas propiedad de los patrones. Algunas de esas reglas sin
duda serán desafiadas por apelaciones.
Cuando esta utilizando un sistema de correo electrónico, tenga en mente que los
mensajes pueden ser monitoriados.
Los controles pueden ser divididos en tres categorías básicas: controles generales,
controles de programas y documentación.
Crimen y fraude computacional.
El delito en computadoras es la comisión de actos fuera de la ley usando la tecnología
de la computación o la informática.
Husmeadores destructivos
El "gang 414" fue un grupo de jóvenes "husmeadores" (hackers) de computación de
Wisconsin, que usaron las microcomputadoras para obtener acceso a sistemas de cómputo
electrónico por todo Estados Unidos. Los miembros de esa pandilla de adolescentes obtenían
o adivinaban las contraseñas de un sistema, examinaban archivos, corrían programas y
descubrían tanto como fuera posible de ese sistema. Durante sus incursiones electrónicas,
dañaron archivos clave de diversas compañías. También penetraron en el sistema de un
hospital destinado a monitores pacientes críticamente enfermos. Un médico aseveró que
varias personas podrían haber muerto si el grupo hubiera dañado el sistema. Los miembros
del "gang 414" terminaron con sus computadoras confiscadas, y algunos tuvieron que pagar
fuertes multas.
Virus informaticos
Una nueva forma de delito de computadora es la propagación de los llamados virus
informáticos, o de la s computadoras. Como sus contrapartes biológicas, esoptas virus
puede infectar muchas partes del sistema anfitrión: Programas de aplicación, archivos de
datos y sistemas operativos de discos, y son autorreproducibles. Los sistemas pueden
quedar infectados por los servicios en línea, tableros de boletines electrónicos y discos de
usuarios. Una vez en el RAM en la computadora, los virus pueden infectar a otros programas
que sean cargados para su ejecución.
Los virus informáticas hacen estragos al destruir datos, modificar información, o
sabotear la impresión. El bicho en la maquina puede hacer desplegar el mensaje "GOTCHA "
("al diablo") y volver a iniciar el sistema, haciendo que todo lo que este en la RAM se pierda;
puede destruir la tabla de asignaciones de modo que los archivos no puedan ser encontrados
por el sistema operativo; o reformatear un disco que contenga información clave,
destruyendo de este modo su contenido, un evento particularmente dañino para un usuario
de disco duro.
Los virus informáticos pueden ser creados y liberados o difundidos por programadores,
algunas veces por travesura pero más frecuentemente con propósitos malignos.
"Scores"("puntuaciones"), el virus mas ampliamente difundido que infectó a las
microcomputadoras Apple Macintosh, fue diseñado originalmente para atacar las
aplicaciones de clientes usadas por una compañía de Texas. El virus crea dificultades al
correr ciertos programas Apple, y en la impresión de aplicaciones y origina que el sistema se
embrolle o inactive cuando se inician ciertas aplicaciones.
Pirateria informatica
La piratería informática consiste en la reproducción ilegal de programas o software, un
problema continuo para la industria de la programatica. Los fabricantes de software estiman
que por cada paquete vendido de aplicaciones de microcomputadora. Los piratas ya han
hecho cuatro copias no autorizadas. La piratería informática cuesta a los desarrolladores de
software miles de millones de dólares al año, e incrementa el costo de las versiones
originales para el "honrado" consumidor típico.
El copiado ilegal puede ser efectuado por personas o compañías que desean usar
copias gratis de paquetes de software, o puede ser cometido con la intención de vender esas
reproducciones piratas. Tratando de evitar la adquisición de software, se han descubierto
empresas que han hecho hasta mas de 100 copias ilícitas de un solo programa de software.
La venta de copias pirata de software existe particularmente en países como Brasil, Taiwan y
Arabia Saudita.
La ética es el estudio de la conducta y el juicio moral
En el futuro cercano, expresan algunas organizaciones y profesionales de la educación,
toda persona que quiera (y necesite) encontrar un buen trabajo descubrirá que es muy
importante tener conocimientos de computación además de dominar las clásicas " tres R "
(en inglés, reading: leer, (w) writing: escribir, (a) arithmetic: hacer cuentas). Si esto es así,
estamos éticamente obligados a incorporar l a instrucción en el uso de computadoras en el
plan de estudios de las escuelas elementales y asegurarse de que los estudiantes son
"letrados en computación" en el momento que están listos para ingresar al campo de
trabajo.
Las definiciones de lo que es ser letrado en "computación" varían. Algunos lo definen
como ser capaz de escribir un programa que permita a la computadora desarrollar alguna
tarea. Según dicha norma, nuestro sistema educativo debe introducir a los estudiantes de la
escuela elemental a lenguajes simples como BASIC o LOGO. Otros definen al "alfabetización
en la ciencia y técnica de la computación " debe de enseñar principalmente el impacto o
influencia que tienen las computadoras en la sociedad humana actual.
3.8 Software propietario y libre.
Software propietario, tal como lo ha definido la Fundación del Software Libre, es
cualquier programa que no cumple los criterios de la Fundación para el software
libre. Propietario significa que algún individuo o compañía retiene el derecho de
autor exclusivo sobre una pieza de programación, al mismo tiempo que niega a
otras personas el acceso al código fuente del programa y el derecho a copiarlo,
modificarlo o estudiarlo.
El término "propietario" alude a que está "poseído y controlado privadamente". No
obstante, el programa puede seguir siendo propietario aunque su código fuente se
haya hecho público, si es que se mantienen restricciones sobre su uso, distribución
o modificación (p.e., la versión comercial de SSH.) Por otro lado, el programa se
puede considerar no-proprietario, una vez que se haya lanzado con una licencia que
permita a otros crear versiones del software modificadas independientemente
("forks"), sin restricciones onerosas, aun cuando los derechos de autor puedan
permanecer en manos de un individuo en particular. Al menos en teoría, se ha
cedido el control.
Software libre es el nombre por el que se le conoce a cierto tipo de rutinas, y al
movimiento que lo promueve, que se caracteriza por promover las siguientes
libertades y obligaciones al usuario final y a los desarrolladores:
Libertad de ser utilizado por cualquier persona para cualquier propósito.
Libertad de ser copiado y distribuido libremente (se le puede pasar al vecino sin
ningún problema). En este punto hay una diferencia importante entre las licencias
tipo BSD y tipo GPL.
BSD: La libertad de distribución es total. Esto incluye cambiar la licencia,
"cerrando" el código.
GPL: La redistribución de versiones modificadas ha de hacerse bajo la misma
la licencia. De este modo se impide que de programas licenciados bajo GPL
puedan derivar en programas propietarios.
Libertad de estudiarlo (para esto es indispensable contar con el código fuente)
Libertad de modificarlo. Si se redistribuyen los cambios en el caso de GPL es
obligatorio hacerlo bajo la misma licencia (por supuesto, el código fuente también
es prerrequisito de este enunciado). Si se modifica para uso interno y no se
redistribuye, no es necesario publicar los cambios. En este punto también hay
matices, por ejemplo entre la GPL y la LGPL:
GPL: Cualquier código que utilice código GPL (a través del aporte de código,
enlazamiento de librerías etc), debe ser necesariamente liberado bajo la GPL.
LGPL: Se pueden enlazar dinámicamente librerías LGPL con programas con licencias
distintas, incluso propietarios.
Unidad 4. Modelos de computadora
4.4 Elementos de circuitos digitales AND, OR, NOT.
La compuerta AND o compuerta Y
Es una de las compuertas mas simples dentro de la Electrónica Digital.
Su representación es la que se muestra en las figuras que vemos en las dos figuras del lado derecho.
Como se puede ver tiene dos entradas A y B, aunque puede tener muchas más (A,B,C, etc.) y sólo tiene
una salida X.
compuerta AND de 2 entradas
compuerta AND de 3 entradas
La compuerta AND de 2 entradas tiene la siguiente tabla de verdad
Se puede ver claramente que la salida X solamente es "1" (1 lógico, nivel alto) cuando tanto la entrada A
como la entrada B están en "1".
En otras palabras "La salida X es igual a 1 cuando la entrada A y la entrada B son 1
A
0
0
1
1
B
0
1
0
1
X
0
0
0
1
Esta situación se representa en el álgebra booleana como: X = A * B o X = AB
Una compuerta AND de 3 entradas se puede implementar con interruptores de la siguiente manera:
A
B
C
Lámpara
Abierto
Abierto
Abierto
Apagada
Abierto
Abierto
Cerrado
Apagada
Abierto
Cerrado
Abierto
Apagada
Abierto
Cerrado
Cerrado
Apagada
Cerrado
Abierto
Abierto
Apagada
Cerrado
Abierto
Cerrado
Apagada
Cerrado
Cerrado
Abierto
Apagada
Cerrado
Cerrado
Cerrado
Encendida
Una compuerta AND puede tener muchas de entradas. Una AND de múltiples entradas puede ser creada
conectando compuertas simples en serie. Si nosotros necesitamos una AND de 3 entradas y no la
tenemos disponible, sería fácil crearla con dos compuertas AND en serie o cascada como se muestra en
la siguiente figura
A
0
0
0
0
1
1
1
1
Tabla de verdad
B
C
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
X
0
0
0
0
0
0
0
1
De manera igual al gráfico de con dos compuertas en cascada anterior, se puede implementar circuitos
AND de 4 o más entradas
La compuerta OR o compuerta O
Es una de las compuertas mas simples dentro de la Electrónica Digital.. Su representación es la de la
siguiente figura
Tabla de verdad
A
B
C
0
0
0
0
1
1
1
0
1
1
1
1
Y se representa con la siguiente función booleana
X=A+B
o
X=B+A
Esta misma compuerta se puede implementar con interruptores como se muestra en la siguiente figura,
en donde se puede ver que: cerrando el interruptor A "O" el interruptor B se encenderá la luz
"1" = cerrado , "0" = abierto, "1" = luz encendida
En las siguientes figuras se muestran la representación de la compuerta "OR" de tres entradas con su
tabla de verdad y la implementación con interruptores
Representación de una compuerta OR de 3 entradas con su tabla de verdad
Compuerta "OR" de 3 entradas implementada con interruptores
Se puede ver claramente que la luz se encenderá cuando cualquiera: A o B o C este cerrada
La compuerta NOT o compuerta inversora
Dentro de la electrónica digital, no se podrían lograr muchas cosas si no existiera la compuerta NOT
(compuerta NO), también llamada compuerta inversora, que al igual que las compuertas AND y OR tiene
una importancia fundamental.
La compuerta NOT se representa con el siguiente símbolo, y su tabla de verdad es:
La salida de una compuerta "NOT" tiene el valor inverso al de su entrada. En el caso del gráfico anterior
la salida X = A’. Esto significa que si a la entrada tenemos un "1" lógico, a la salida hará un "0" lógico y si
a la entrada tenemos un "0" a la salida habrá un "1"
NOTA: ver que el apóstrofe en la siguiente expresión significa NEGADO
X = A’
La compuertas NOT se pueden conectar en cascada, logrando después de dos compuertas, la entrada
original. Ver la siguiente fig.
4.5 Álgebra de Boole
Para utilizar el análisis de los circuitos lógicos y tambien para expresar su operación matemática
se utilizan diferentes teoremas booleanos que nos permiten simplificar las expresiones y los
circuitos lógicos.
Existe un primer grupo de teoremas ( compuesta por 8 teoremas), de una sola variable en
donde x puede ser un "0" ó "1".Estos teoremas no necesitan de mucha explicación debido a su
simplicidad para entenderlos; tales teoremas son:
1.
2.
3.
4.
5.
6.
7.
8.
x*0=0
x*1=x
x*x=x
x * x' = 0
x+0=x
x+1=1
x+x= x
x + x' = 1
A continuación se presentan otros teoremas en los cuales implican ya no solo una variable sino
múltiples:
9. x * y= y * x
10. x+y = y +x
11. x + (y+z) = (x+y) +z
12. x(yz) = (xy)z = xyz
13. [x(y+z) = xy + xz]..........[(w+x)(y+z) = wy + xy + wz + xz ]
14. x + xy = x
15. x + x'y = x + y
Los teoremas 9 y 10 son leyes conmutativas, osea que el orden con que se opere una compuerta
OR ó AND no afecta el resultado.
Los teoremas 11 y 12 son las leyes asociativas, quiere decir que se puede agrupar variables en
una OR ó AND como se quiera.
Las dos reglas del teorema 13 son el de las leyes distributivas.
Teoremas de Demorgan.
Los teoremas de morgan son de gran utilidad para la simplificación de funciones en las cuales
se invierte un producto ó suma de variables:
16.
17.
( x + y) = x' * y'
(x* y) = x' + y'
El teorema 16 dice que al invertir la suma OR de dos variables, esta inversión es la misma de la
de cada variable en forma individual pero con la operación AND.
En el teorema 17 al invertir el producto de dos variable, es lo mismo que invertir cada variable
operadas con OR.
Se define como álgebra de Boole a un sistema matemático con un conjunto
de elementos B y dos operaciones binarias cerradas (·) y (+) siempre y
cuando se cumplan los siguientes postulados:
• P1.- las operaciones tienen la propiedad conmutativa.
a+b = b+a
a·b = b·a
• P2.- las operaciones son distributivas entre sí
a·(b+c) = a·b + a·c
a+(b·c) = (a+b)·(a+c)
• P3.- las operaciones tienen elementos identidad diferentes dentro de B.
Estos elementos son definidos como 0 para (+) y 1 para (·).
a+0 = a
a·1 = a
• P4.- para cada elemento, a, del conjunto B, existe otro elemento
denominado complemento, a también del conjunto B, tal que se cumple:
a+a = 1
a·a = 0
Como podemos ver, en cualquier álgebra booleana se cumple el principio
de dualidad:
Cualquier teorema o identidad algebraica deducible de los
postulados anteriores puede transformarse en un segundo teorema o
identidad válida sin mas que intercambiar las operaciones
binarias y los elementos identidad.
Como en cualquier álgebra, podemos disponer de constantes y de variables.
Así, una constante se define como cualquier elemento del conjunto
B. Mientras que una variable es un símbolo que representa un
elemento arbitrario del álgebra, ya sea una constante o una
fórmula algebraica completa.
En cualquier álgebra de Boole se pueden demostrar los siguientes teoremas:
Teorema 2.1.- El elemento a del 4º postulado (denominado complemento o
negación de a) está unívocamente determinado, es decir, es único.
Demostración.- Supongamos que existen dos complementos de a: a1 y a2.
a2 = a2·1 = a2·(a+ a1) = a2·a + a2·a1 = a·a1 + a2·a1 = (a + a2)·a1 = a1
Teorema 2.2.- (o Teorema de elementos nulos) Para cada cualquier
elemento a, se verifica
a+1 = 1 y a·0 = 0
Demostración.a+1 = 1·(a+1) = (a+a’)·(a+1) = a + a’·1 = a + a’ = 1
a·0 = a·0+0 = a·0 + a·a’ = a·(a’+0) = a·a’ = 0
Teorema 2.3.- Cada uno de los elementos identidad es el complemento del
otro, es decir, 1’ = 0
y 0’ = 1
Demostración.- Si fuese cierto, deberían cumplir el cuarto postulado del
álgebra:
1 = 0 + 0’
0 = 0 · 0’
Por ser único l complemento: 0’ = 1
1 = 1 + 1’
0 = 1 · 1’
Por ser único el complemento: 1’ = 0
Teorema 2.4.- (o Teorema de idempotencia) Para cada elemento a, se
verifica:
a+a=a
a·a=a
Demostración.-
a + a = a + a · 1 = a + a · (a + a’) = a + a · a + a · a’ = a · (1 + a) = a · 1
=a
a · a = a · a + 0 = a · a + a · a’ = a·(a + a’) = a·1 = a
Teorema 2.5.- (o Teorema de involución) Para cada elemento de a, se
verifica que el complemento del complemento de a es a, es decir, (a’)’ = a
Demostración.a’ + (a’)’ = 1 = a + a’ = a’ + a a = (a’)’
a’ · (a’)’ = 0 = a · a’ = a’ · a a = (a’)’
Teorema 2.6.- (o Teorema de absorción) Para cada par de elementos, a y
b, se verifica:
a+a·b=a
a · (a + b) = a
Demostración.a + a · b = a · 1 + a · b = a · (1 + b) = a · 1 = a
a·(a + b) = (a + 0) · (a + b) = a + 0 · b = a
Teorema 2.7.- Para cada par de elementos, a y b, se verifica:
a + a’ · b = a + b
a · (a’ + b) = a · b
Demostración.a + a’ · b = (a + a’)·(a + b) = 1·(a + b) = a + b
a · (a’ + b) = a · a’ + a · b = a · b
Teorema 2.8.- (o Leyes de DeMorgan) Para cada par de elementos, a y b,
se verifica
(a + b)’ = a’ · b’
(a · b)’ = a’ + b’
Demostración.- Se comprobará si se satisface el cuarto postulado
a + b + (a + b)’ = a + b + a’ · b’ = a + a’ · b’ + b + b’ · a’ =
= a + b’ + b + a’ = a + a’ + b + b’ = 1 + 1 = 1
(a + b) · (a’ · b’) = a · a’ · b’ + b · b’ · a’ = b’ · 0 + 0 · a’ = 0 + 0 = 0
a · b + (a · b)’ = a · b + a’ + b’ = a · b + a’ + a · b + b’ =
= a + a’ + b + b’ = 1 + 1 = 1
a · b · (a’ + b’) = a · a’ · b + a · b · b’ = 0 · b + a · 0 = 0 + 0 = 0
Teorema 2.9.- (o Leyes de DeMorgan generalizadas) Para cualquier
conjunto de elementos se verifica:
(X0 + X1 + … + Xn) = X0 · X1 · … · Xn
(X0 · X1 · … · Xn) = X0 + X1 + … + Xn
Teorema 2.10.- (o Teorema de asociatividad) Cada uno de los operadores
binarios (+) y (·) cumple la propiedad asociativa, es decir, para cada tres
elementos, a, b y c, se verifica
(a + b) + c = a + (b + c)
(a · b) · c = a · (b · c)
4.5.1 El modelo Von Neumann.
IAS
La computadora IAS fue eventualmente construída en los 50s, y su diseño ha servido
como inspiración para la mayoría de las computadoras modernas, conociéndose como
"arquitectura de von Neumann".
Von Neumann y Goldstine avanzaron en el diseño lógico de los computadores,
resolviendo los problemas asociados al almacenamiento de datos y programas en una
memoria en común, proponiendo el sistema numérico binario, que se aplicó por primera vez
en 1949 en el EDSAC de la Universidad de Cambridge y es de la base sobre la que se
asientan los computadores desde entonces. Las ideas de von Neumann encontraron su
plasmación más acabada en Princeton, el primer prototipo fue el IAS, o máquinas de Von
Neumann, a partir de la que se construyeron la AVIDAC, la ORDVAC, la ORACLE, la SILLIAC,
la ILLIAC, la MANIAC o la JOHNNIAC antes mencionada.Sobre el modelo estándar de las
IAS, la IBM introdujo el sistema de tarjetas perforadas que permitió desarrollar la IBM-701
en 1953.
El concepto central en la Arquitectura Von Neumann es el de programa almacenado,
según el cual las instrucciones y los datos tenían que almacenarse juntos en un medio
común y uniforme, en vez de separados, como hasta entonces se hacía. De esta forma, no
sólo se podían procesar cálculos, sino que también las instrucciones y los datos podían
leerse y escribirse bajo el control del programa. A partir de esta idea básica se sigue que un
elemento en la memoria tiene una calidad ambigua con respecto a su interpretación; esta
ambigüedad se resuelve, sólo temporalmente, cuando se requiere ese elemento y se ejecuta
como una instrucción, o se opera como un dato. Un beneficio de esta ambigüedad es el
hecho de que un dato, obtenido como resultado de algunas operaciones en la unidad
aritmetico-lógica del computador, podía colocarse en la memoria como si fuera cualquier
otro dato, para entonces usarlo y ejecutarlo como si fuera una instrucción.
Además la Máquina de Von Neumann presentaba como característica importante un
pequeño número de registros para mantener la instrucción del programa en curso, y el
registro de datos que se estaban procesando. La máquina operaba en un ciclo repetitivo de
pasos para localizar y ejecutar en secuencia las instrucciones del programa. Resulta evidente
que esta breve descripción puede aplicarse a casi todos los computadores que desde 1946
se han construido, por lo que la aportación de Von Neuman a las Ciencias de la Computación
es más que notable.
Tanto los computadores con gran volumen de memoria y alta velocidad de proceso
(llamados "main-frame") como los computadores personales de nuestras oficinas u hogares
("PC" o "Mac") o las máquinas de video-juegos ("flippers" electrónicos) tienen una "CPU" con
esta misma estructura y que cumple las mismas funciones básicas.
Para poder realizar su trabajo, el computador debe tener además componentes que
permitan ingresar los datos y el programa, y sería inútil sin otros destinados a entregar los
resultados solicitados: son los "periféricos" de entrada y de salida. Un periférico típico de
entrada es el teclado y uno de salida es la impresora, como lo es también el monitor de
video, el cual permite una mejor interacción del usuario con la máquina (para ver a la vez lo
que él ingresa y lo que sale).
Representación de la arquitectura básica de John Von Neumann.
4.5.2 Concepto de programa almacenado.
El concepto de programa almacenado significa que las instrucciones se
ejecutan para una función específica en un computador (conocida como
programa) y residen en la memoria, y pueden ser reemplazadas rápidamente
por otro conjunto de instrucciones para otra función o propósito diferente.
Durante esta época surgieron lenguajes de programación sofisticados tales
como COBOL y FORTRAN. Estos reemplazaron el utilizado código de
máquina.
http://www.bufoland.cl/apuntes/computacion/generaciones_computadores.p
hp
El término arquitectura, que apareció por primera vez en el documento First Draft of a Report
on the EDVAC (1945), fue acuñado por el propio John von Neumann, que propuso el concepto
de programa almacenado (software), ya que hasta entonces las computadoras se programaban
mediante un específico cableado (hardware) adecuado para la resolución de solo un determinado
problema.
http://www.programacion.com/blogs/44_diario_de_un_profesor_de_informtica/archive/409_que
_es_la_arquitectura_informtica.html
El concepto de programa almacenado en la memoria fue ideado por John Von Neumann en 1946.
Para realizar un programa hay que proponer primeramente una solución a un problema, es decir,
pensar en una estrategía para solucionarlo. Posteriormente se pasa al análisis en donde se
averigua que tipo de problema es y como le vamos a dar solución, así como selecionar el lenguaje
en el que se va a programar .
Los pasos uno a uno son:
1.-Análisis y propuesta de solución al problema: aquí se identifica el tipo de problema y el área a
la que pertenece. Se piensa también en posibles soluciones, con sus tiempos establecidos.
2.-Identificación de variables constantes y actores involucrados en el problema: se identifican, ya
que son las tres cosas que nos pueden cambiar al problema o alterar su curso.
3.-Planificación del programa: se elige el lenguaje de programación a trabajar dependiendo de la
solución y se crea el plan de trabajo el cual contiene la busqueda bibliográfia del problema y el
cronograma de cada una de las etapas de los que consta la solución al problema.
4.-Algoritmo: desarrollo de la secuencia lógica de pasos para la solución del problema (en este
paso también involucra a los diagramas de flujo).
5.- Diagramas de Flujo: seguir los pasos del Algoritmo checando que el problema se resuelva
correctamente.
6.-Desarrollo de las especificaciones: cuando se elije el lenguaje de programación, existen
variables, constantes y actores que hay que declararse antes de comenzar el programa, o si se va a
utilizar ecuaciones matemáticas o funciones, las cuales requieren de cierta de escribirse entro del
programa. Estas especificaciones involucran ciertas características del problema y ciertas
características del lenguaje seleccionado.
7.-Codificación (se requiere conocer la syntaxis del lenguaje) y Depuración: conversión del
Algoritmo en un programa escribiéndolo en un lenguaje de programación lo más eficientemente
posible. (nota: nadie programa igual ya que cada uno de nosoros no razona igual y el proceso de
llegar a una solución depende de este proceso de razonar).
8.-Ejecución y Verificaciónde errores: introducir el programa en la memoria, ejecutarlo y probar
sus resultados, corrigiendo los errores hasta su punto final de tal forma que se obtenga la solución
a su problema.
9.-Prueba Final: Se tiene la plena seguridad de que el problema quedo resuelto ya que se agotaron
todas las pruebas posibles de que el programa no falle al introducir ciertos valores o rangos de
valores.
10.-Documentación: mantenimiento y cración de los documentos descriptivos como el manual
del programador y manual del usuario.
Herramientas Empleadas
1.-Diagramas y/o Organigramas
2.-Algoritmo
1.-Es la representación gráfica de un problema dado, para la definición, análisis, o solución, es
decir, la representación gráfica de un algoritmo.
2.-Conjnto de reglas o instrucciones que indican una secuencia lógica de opraciones que
proporciona la respuesta a cualquier tipo de problema dado.
Estilos de Programación.
Se entiende por estilos de programación los métodos que existen para mejorar la calidad de los
programas de computación.
Las carcterísticas de un buen programa son:
1.-El programa debe funcionar.
2.-El programa no debe tener dificultades. Hay que anticipar las situaciones a las que los usuarios
van a poner en el programa, es decir, que este libre de errores.
3.-El programa debe estar bien documentado. La documentación puede estar de dos formas:
documentación externa, que incluye diagramas de flujo, descripciones de los algoritmos, etc. La
documentación interna o comentarios en el propio programa que va dirigido exclusivamente al
programador.
4.-El programa debe ser eficiente. Que sea un programa fácil de leer y de comprender.
http://w3.mor.itesm.mx/~lssalced/estruc.html
4.5.3 Lenguaje de máquina (instrucciones y datos).
El lenguaje de máquina de una computadora consta de cadenas de números
binarios (ceros y unos) y es el único que "entienden" directamente los
procesadores. Todas las instrucciones preparadas en cualquier lenguaje de máquina
tienen por lo menos dos partes. La primera es el comando u operación, que dice a la
computadora cuál es la función que va a realizar. Todas las computadoras tiene un
código de operación para cada una de sus funciones. La segunda parte de la
instrucción es el operando, que indica a la computadora donde hallar o almacenar
los datos y otras instrucciones que se van a manipular; el número de operandos de
una instrucción varía en las distintas computadoras.
En el principio de la computación este era el lenguaje que tenía que "hablar" el ser
humano con la computadora y consistía en insertar en un tablero miles de
conexiones y alambres y encender y apagar interruptores.
Aunque en la actualidad ya no se emplea, es importante reconocer que ya no es
necesario que nos comuniquemos en este lenguaje de "unos" y "ceros", pero es el
que internamente una computadora reconoce o "habla".
Lenguaje de máquina es el sistema de códigos directamente interpretable por una
máquina, como el microprocesador de un ordenador. Este lenguaje está compuesto
por un conjunto de instrucciones que determinan acciones a ser tomadas por la
máquina. Un programa de computadora consiste en una cadena de estas
instrucciones de lenguaje de máquina (más datos). Estas instrucciones son
normalmente ejecutadas en secuencia, con eventuales cambios de flujo causados
por el propio programa o eventos externos. El lenguaje de máquina es específico de
cada máquina o arquitectura de la máquina, aunque el conjunto de instrucciones
disponibles pueda ser similar entre ellas.
El lenguaje de máquina sólo utiliza dos signos. Y éstos se corresponden
exactamente con las únicas dos constantes del álgebra booleana, y también con los
dos estados exclusivos de un conmutador. Estos signos, constantes o estados de
conmutación son el 1 y el 0, llamados dígitos binarios.
Claude Elwood Shannon, en su Analysis of Relay and Switching Circuits, y con sus
experiencias en redes de conmutación sentó las bases para la aplicación del álgebra
de Boole a redes de conmutación.
Una red de conmutación es un circuito de interruptores eléctricos que al cumplir
ciertas combinaciones booleanas con las variables de entrada, define el estado de la
salida. Este concepto es el núcleo de las Compuertas Lógicas, las cuales son por su
parte, los ladrillos con que se construyen sistemas lógicos cada vez más complejos.
Shannon utilizaba al relay como dispositivo físico de conmutación en sus redes. El
relay, igual que el interruptor de una lámpara eléctrica, es 1 o es 0; está prendido o
está apagado.
El desarrollo tecnológico ha permitido evolucionar desde las redes de relays
electromagnéticos de Shannon, pasar a circuitos con tubos de vacío, luego a redes
transistorizadas, hasta llegar a los modernos circuitos integrados.
El microprocesador de la CPU del ordenador opera en lenguaje máquina, ya que su
repertorio de instrucciones consiste en la ejecución de conjuntos binarios. Por cierto
que Shannon fue quien aportó el término bit para los guarismos 1 y 0, abreviatura
inglesa de binary digits o "dígitos binarios").
4.5.4 Ciclo de ejecución de instrucciones.
4.6 Algoritmos numéricos.
Aqui se ven algunos de los algoritmos mas utiles para procesamiento de secuencias
de números. Actualmente existen muchos más.
Lista de algoritmos de conjuntos




accumulate()
inner_product()
partial_sum()
adjacent_difference()
accumulate()
Función
template <class InputIterator, class T>
T accumulate(InputIterator first, InputIterator last, T init)
{
for ( ; first != last; ++first)
init = init + *first;
return init;
}
template <class InputIterator, class T, class BinaryOperation>
T accumulate(InputIterator first, InputIterator last, T init,
BinaryOperation binary_op)
{
for ( ; first != last; ++first)
init = binary_op(init, *first);
return init;
}
Descripción
accumulate() incrementa el valor de init utilizando el operator+(). La version que
recibe una función como argumento aplica en cada iteracion una operacion binaria a
init y un elemento de la secuencia y lo asigna a init.
inner_product()
Función
template <class InputIterator1, class InputIterator2, class T>
T inner_product(InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, T init)
{
for ( ; first1 != last1; ++first1, ++first2)
init = init + (*first1 * *first2);
return init;
}
template <class InputIterator1, class InputIterator2, class T,
class BinaryOperation1, class BinaryOperation2>
T inner_product(InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, T init, BinaryOperation1 binary_op1,
BinaryOperation2 binary_op2)
{
for ( ; first1 != last1; ++first1, ++first2)
init = binary_op1(init, binary_op2(*first1, *first2));
return init;
}
Descripción
inner_product() calcula el pruducto vectorial de dos secuencias, es decir las
multiplica componente a componente y va acumulando los resultados.
partial_sum()
Función
template <class InputIterator, class OutputIterator>
OutputIterator partial_sum(InputIterator first, InputIterator last,
OutputIterator result)
template <class InputIterator, class OutputIterator, class BinaryOperation>
OutputIterator partial_sum(InputIterator first, InputIterator last,
OutputIterator result, BinaryOperation binary_op)
Descripción
partial_sum() suma a cada elemento de una secuencia la suma de los valores
anteriores. Podemos cambia la operacion de suma utilizando la version que permite
pasarle un objeto función.
adjacent_difference()
Función
&
template <class InputIterator, class OutputIterator>
OutputIterator adjacent_difference(InputIterator first, InputIterator last,
OutputIterator result)
template <class InputIterator, class OutputIterator, class BinaryOperation>
OutputIterator adjacent_difference(InputIterator first, InputIterator last,
OutputIterator result,
BinaryOperation binary_op)
Descripción
adjacent_difference() crea una secuencia de salida que consiste en la diferencia
existente entre cada par de elementos adjacentes. Podemos utilizar otra funcion
diferente a las resta mediante la versió nque permite utilizar un objeto función.
Descargar