View
1.202
Download
1
Embed Size (px)
Citation preview
1
SECRETARIA DE EDUCACIÓN DEL GOBIERNO DEL ESTADO
UNIVERSIDAD COMUNITARIA DE SAN LUIS POTOSÍ
COLEGIO DE EDUCACIÓN SUPERIOR DE CARDENAS.
CLAVE: C.T.T. 24ESU0033H
CARRERA:
LIC. EN INFORMÁTICA ADMINISTRATIVA
GENERACIÓN:
2003- 2007
MEMORIA DE CURSO DE TITULACIÓN.
QUE PRESENTA:
PASANTE: JOSE DAVID REYNAGA AVILA
MATRICULA: ES03241702
CARDENAS, S.L.P. 22 DE JULIO DEL 2010
2
3
ÍNDICE
DEDICATORIA …………………………………………………………………………….vii
INTRODUCCIÓN GENERAL …………………………….…………………………….. viii
MODULO I. MANTENIMIENTO DE EQUIPO DE CÓMPUTO ………………………. 10
INTRODUCCIÓN ……...……………………………….………………………………… 11
1. MANTENIMIENTO PREVENTIVO Y CORRECTIVO ………………………..…... 12
1.1. TIPOS DE MANTENIMIENTO …………………………………….…… 12
1.1.1. MANTENIMIENTO PREDICTIVO …………………………….... 12
1.1.2. MANTENIMIENTO PREVENTIVO ………………….....………. 12
1.1.3. MANTENIMIENTO CORRECTIVO …………………………….. 13
1.2. CRITERIOS PARA MANTENIMIENTO DE UNA PC ………………… 13
1.2.1. LIMPIEZA DE LA COMPUTADORA …………………………… 13
1.2.2. REQUISITOS PARA DESENSAMBLE DEL CPU …………….. 13
1.2.3. LIMPIEZA DE LAS TARJETAS DE EXPANSIÓN ……..……… 14
1.2.4. LIMPIEZA DE LA FUENTE DE PODER …………………….…. 14
1.2.5. LIMPIEZA DEL MONITOR ………………………....................... 14
1.2.6. LIMPIEZA DEL TECLADO …………………………….………… 14
1.2.7. LIMPIEZA DE LA PARTE INTERNA DEL GABINETE ……….. 15
1.3. COMPONENTES DE LA COMPUTADORA …………...………..……. 15
1.3.1. GABINETE O TORRE …………………………………………… 15
1.3.2. CPU (UNIDAD CENTRAL DE PROCESO) ……….…………… 16
1.3.3. MEMORIA RAM ……………………………………..……………. 16
1.3.4. MEMORIA ROM ……………………………………...…………… 16
1.3.5. DISCO DURO ……………………………………………………... 17
1.3.6. UNIDAD DE CD/DVD ……………………………………..……… 17
1.3.7. QUEMADOR CD/DVD ……………………………………………. 17
1.3.8. MONITOR ………………………………..………………………... 18
1.3.9. MOUSE O RATÓN …………………………………………………18
1.3.10. TECLADO ………………………………………………. 18
1.3.11. TARJETA MADRE ………………………………......... 19
iii
4
1.3.12. FUENTE DE ALIMENTACIÓN ……………………….. 19
1.3.13. PROCESO DE ARRANQUE ……...............…………. 20
CONCLUSIONES …………………………………………………………….…………… 21
MODULO II. INSTALACION DE REDES ……………………………………….……… 22
INTRODUCCIÓN …………………………………………………………………..……… 23
2. COCEPTO DE RED …………………………………………………………...…… 24
2.1. OBJETIVOS DE LAS REDES …………………………………………. 24
2.2. ALCANCE DE LAS REDES ……………………………..…………….. 24
2.2.1. RED DE ÁREA LOCAL …………………………………... 24
2.2.2. RED DE ÁREA METROPOLITANA …………………….. 24
2.2.3. RED DE ÁREA EXTENSA ……………………………….. 25
2.2.4. OTROS TIPOS DE REDES ……………………………… 25
2.3. COMPONENTES BÁSICOS DE CONECTIVIDAD ………...........…. 26
2.3.1. ADAPTADORES DE RED ………………….……………. 27
2.3.2. CABLES DE RED …………………………………………. 27
2.3.2.1. CABLE DE PAR TRENZADO ………..….. 28
2.3.2.2. EL CABLE STP ……………………….…… 28
2.3.2.3. CABLE COAXIAL ………………………..... 29
2.3.2.4. CABLE DE FIBRA ÓPTICA ………...……. 29
2.4. DISPOSITIVOS DE COMUNICACIÓN INALÁMBRICOS ……..…… 29
2.4.1. TRANSMISIÓN POR INFRARROJOS ………………..... 30
2.4.2. TRANSMISIÓN VÍA RADIO EN BANDA ESTRECHA ... 30
2.5. TOPOLOGÍAS DE RED ………………………………………………… 30
2.5.1. TOPOLOGÍA DE BUS ……………………………………. 31
2.5.2. TOPOLOGÍA EN ESTRELLA ……………………….…… 32
2.5.3. TOPOLOGÍA EN ANILLO ……………………….……….. 32
2.5.4. TOPOLOGÍA DE MALLA ………………………………… 33
2.5.5. TOPOLOGÍAS HÍBRIDAS ……………………………….. 33
2.6. TECNOLOGIAS DE REDES …………………………………………… 34
iv
5
2.7. AMPLIACIÓN DE UNA RED ………………………………..…………. 35
2.7.1. REPETIDORES ………………………………….…...…… 35
2.7.2. CONCENTRADORES (HUB) ……………………..…….. 36
2.7.3. PUENTES (BRIDGES) ……………………..…………….. 36
2.7.4. CONMUTADORES O SWITCHES ……………………… 37
2.7.5. ENRUTADORES O ROUTERS ………………………..... 37
2.7.6. PUERTAS DE ENLACE GATEWAY ……………….…… 38
2.8. PROTOCOLOS ……………………………………………………..…… 39
2.8.1. IPX/SPX ……………………………………………………. 39
2.8.2. NetBIOS ……………………………………………………. 39
2.8.3. NetBEUI …………………………………………….……… 40
2.8.4. APPLE TALK ……………………………………..……….. 40
2.8.5. TCP/IP ……………………………………………..………. 4
CONCLUSIONES ………………………………………………………………………… 43
MODULO III. PAGINAS WEB …………………………………………..………………. 44
INTRODUCCIÓN ……………………………………………….………………………… 45
3. SISTEMAS OPWERATIVOS ……………………………………………..………. 47
3.1. WINDOWS NT ……………………………………….………………….. 48
3.2. WINDOWS 2000 ………………………………………..………………. 60
3.3. UNIX ……………………………………………………………………… 65
3.4. GNU/LINUX ………………………………………….………………….. 74
3.5. LENGUAJES DE PROGRAMACIÓN ……………………………..…. 81
3.5.1. PHP ………………………………………………….…….. 82
3.5.2. JAVA ………………………………………………………. 97
3.5.3. ASP ………………………………………………………... 98
3.5.4. JAVA SCRIPT ……………………………………………. 100
3.6. EDITOR HTML ………………………………………………..………. 101
3.6.1. ATRIBUTOS DEL TEXTO ………………..…………… 101
3.6.2. IMÁGENES ……………………………………………… 102
v
6
3.6.3. ENLACES ………………….……………………………. 103
3.6.4. TABLAS ………………………………………………….. 103
CONCLUSIONES ……………………………………………………………………… 105
CONCLUSIONES GENERALES …………………………………………………….. 106
RESULTADOS…………………………….. ………………………………………….. 108
RECOMENDACIONES………………………………………………………………... 109
BIBLIOGRAFIA ………………………………………………………………..………. 111
vi
7
DEDICATORIA
Este trabajo lo dedico primeramente a mi Dios, por su gran misericordia que me ha
dado a lo largo de mi carrera universitaria, a mis padres, por estar siempre
empujándome hacia adelante para ser alguien en la vida, a mis hermanos, por su
paciencia, sus comentarios y ayuda que siempre me han brindado, a todos los que
han creído en mi persona, les dedico este humilde trabajo.
Con mucho cariño…
José David Reynaga Ávila
8
INTRODUCCION GENERAL
El presente trabajo tiene como objetivos principales presentar un panorama general
de 3 aspectos fundamentales de la informática, dando como realce fundamental
contar con los elementos básicos en el mantenimiento de una computadora, la
instalación de una red, el conocimiento de los diversos sistemas operativos y lo de
mayor impacto en la actualidad como lo son el diseño y desarrollo de páginas web.
En lo que respecta a mantenimiento de computadoras, tenemos que conocer los
diversos componentes de hardware, tales como el monitor, el teclado, el mouse,
fuente de poder, etc. Y su debido funcionamiento, esto contando con la funcionalidad
del software que estemos utilizando, es de vital importancia contar con los elementos
adecuados de trabajo al momento de empezar a trabajar con cada componente,
considerando las medidas mínimas de seguridad para evitar accidentes.
La instalación de redes es fundamental conocer los aspectos teóricos y prácticos
para contar con una conexión optima y de alto rendimiento, al momento de trabajar
con diversas computadoras en red es preciso mencionar que cada una de ellas,
cuenta con elementos internos que tienen una función específica de forma lógica, el
cableado debe apegarse a diversos protocolos, estándares establecidos por
organismos internacionales, que van a coadyuvar a una comunicación en red.
Existes diversos tipo de redes, que dependiendo de los requerimientos de cada
empresa, agrupación, etc, es la que se decida instalar,. Al mismo tiempo una red es
preciso que tenga acceso a internet ya que en la actualidad muchos sectores del
desarrollo se centran en los servicios de esta gran red mundial.
Los sistemas operativos han existido prácticamente desde que se inventó la
computadora y, en la actualidad juegan un papel de gran importancia en la
informática. Un sistema operativo es un programa gestor e intérprete entre el usuario
y la computadora, en la cual el usuario dará instrucciones y órdenes a la misma, con
9
la finalidad de obtener los resultados programados. Existen diversos sistemas
operativos que podemos implementar, desde los de paga hasta los de libre
distribución, cada uno de ellos tiene características peculiares que lo hacen diferente
y ameno al gusto de cada usuario.
Las páginas web en la actualidad, en conjunto con las redes son parte importante de
una sociedad interconectada, existiendo diversos lenguajes de programación web
tales como html, asp, java, php, los cuales han pasado de ser lenguajes de páginas
estáticas a páginas dinámicas en las cuales el usuario final puede interactuar de
forma rápida en los sitios, obteniendo resultados al instante. Los navegadores web
juegan un papel importante en este sentido, ya que la mayoría se han estandarizado
a los nuevos protocolos de compatibilidad dando con ello un mayor rendimiento al
momento de visitar las páginas web.
10
MODULO I
MANTENIMIENTO DE EQUIPOS DE CÓMPUTO
11
INTRODUCCIÓN
En la actualidad todo aparato o cosa hecha por el hombre no dura para siempre,
absolutamente todo objeto elaborado por el hombre sufre algún tipo de desgaste o
avería, es decir que tiene un índice de fallos que es proporcional a su uso, el método
de fabricación, los materiales empleados en su elaboración, etc.
En otras palabras, todos los objetos fabricados por el hombre fallarán tarde o
temprano. Y las computadoras no son la excepción. Durante el manejo regular de
una computadora con frecuencia surgen diversos problemas, estas dificultades se
deben a dos causas fundamentales el "hardware" y el "software". Sin embargo, al
igual que casi con cualquier cosa podemos mantener nuestra computadora
trabajando razonablemente bien y a veces hasta podemos mejorar su
funcionamiento haciendo pequeños ajustes. En la actualidad, tenemos muchas
opciones y herramientas para realizar un mantenimiento a nuestro equipo de
cómputo, dando con ello mayor realce a esta importante e innovadora forma de
trabajar, los tipos de mantenimiento debemos conocerlos, ya que de acuerdo al
diagnóstico que generemos podemos determinar los pasos y procedimientos a seguir
para reparar una computadora. Cada uno de los componentes físicos tiene una
función específica, la cual nos dará un rendimiento de acuerdo al uso que le damos,
esto aunado al software que tenemos instalado para definir las mejores formas de
optimización de la computadora.
12
1.- MANTENIMIENTO PREVENTIVO Y CORRECTIVO
Estos tipos de mantenimiento nos permiten tener una visión más clara de lo que un
equipo de cómputo requiere, principalmente en muchas ocasiones no realizamos
estos mantenimientos, lo cual provoca fallas a mayor escala en los equipos de
cómputo. En la actualidad no contamos con la cultura de realizar estas actividades,
solo hasta cuando nos enfrentamos a situaciones de riesgo y perdida de datos, es
entonces cuando decimos si hubiera… pero en ocasiones es demasiado tarde. Los
dos tipos de mantenimientos nos permiten contar las herramientas necesarias para
resolver problemas, y por lo general es comparado con un proceso de toma de
decisiones en el cual tenemos diversas posibles soluciones y a nosotros nos
corresponde la que más se apegue o nos convenga.
1.1. TIPOS DE MANTENIMIENTO
En la actualidad contamos con tres tipos de mantenimiento de computadoras los
cuales son aplicables en cada caso particular, teniendo especial atención a los
componentes internos de la misma. Tenemos los siguientes tipos de mantenimiento.
1.1.1. MANTENIMIENTO PREDICTIVO
Consiste en hacer revisiones periódicas para detectar cualquier condición que
pudiera impedir el uso apropiado y seguro del dispositivo y poder corregirla,
manteniendo de ésta manera cualquier herramienta o equipo en óptimas condiciones
de uso.
1.1.2. MANTENIMIENTO PREVENTIVO
Hacer los ajustes, modificaciones, cambios, limpieza y reparaciones necesarios para
mantener cualquier herramienta o equipo en condiciones seguras de uso.
13
1.1.3. MANTENIMIENTO CORRECTIVO
Reparar, cambiar o modificar cualquier herramienta, maquinaria o equipo cuando se
ha detectado algún fallo que pudiera poner en riesgo su funcionamiento.
1.2. CRITERIOS PARA EL MANTENIMIENTO DE UNA PC
Es importante considerar diversos criterios al momento de determinar practicar un
mantenimiento a una computadora, ya sea de escritorio o portátil, los mismo deben
ser tomados con la mayor seriedad y seguridad con la finalidad de que nuestro
equipo tenga un rendimiento y desempeño óptimos. Los mantenimientos deben tener
un lapso de tiempo, ya que por lo general los componentes de software y hardware
tienden a deteriorarse, incluso a fallar , dando lugar a fallas de mayor impacto.
1.2.1. LIMPIEZA DE LA COMPUTADORA
Un elemento nocivo para una computadora y que por cierto es el que mas abunda es
el polvo en el ambiente. La acumulación del polvo reduce principalmente la eficiencia
de los ventiladores de enfriamiento.
Cuando el polvo se acumula en los componentes de los circuitos integrados forma un
manto aislante el cual provoca retención de calor provocando una baja en el
rendimiento de los circuitos.
1.2.2. REQUISITOS PARA DESENSAMBLE DEL GABINETE
Debemos tener un área de trabajo despejada, libre de elementos peligrosos, de
preferencia una mesa especial donde podamos contar con la herramienta de trabajo
y con los cables, tornillos, pinzas, cinta aislante, etc. Esto con la finalidad de lograr un
mantenimiento óptimo.
14
1.2.3. LIMPIEZA DE LAS TARJETAS DE EXPANSION
Las tarjetas de expansión podemos retirarlas siempre y cuando eliminemos de
nuestro cuerpo la electricidad estática, ya que de lo contrario podemos provocar un
corto circuito en la tarjeta principal, para limpiarlas debemos utilizar una brocha con
la cual aplicaremos la limpieza, al finalizar es recomendable aplicar aire comprimido y
espuma limpiadora para dar mayor solidez y durabilidad a las tarjetas.
1.2.4. LIMPIEZA DE LA FUENTE DE PODER
La fuente de poder es el componente principal que transmite la electricidad a la
tarjeta madre, al disco duro, a la unidad de cd/dvd, y su limpieza y mantenimiento es
importante, ya que por lo general es la que recibe la mayor carga de polvo, y al
mismo tiempo genera ruido, además el voltaje debe ser el estipulado por el fabricante
de lo contrario podemos provocar un corto circuito en el equipo.
1.2.5. LIMPIEZA DEL MONITOR
El monitor acumula demasiado polvo, que por desgracia no podemos eliminar del
todo, ya que por las mismos orificios de ventilación se acumula el polvo, sim
embargo, es importante mantenerlo libre del polvo, la pantalla es principalmente
relevante mantener en optimo estado, con la finalidad de tener una mejor visibilidad.
Aunado a esto, es importante mencionar que no debemos intentar abrir el monitor ya
que es demasiado peligroso incluso hasta mortal por la radiación almacenada.
1.2.6. LIMPIEZA DEL TECLADO
El teclado es lo más fácil que podemos limpiar, sin embargo, es el componente que
más microbios adquiere, además del polvo, cabellos, incluso elementos de alimentos
provocan que el teclado funcione erróneamente, la forma más sencilla de limpiarlo es
15
voltearlo y darle golpes, aplicar aspirado con aire comprimido en los interiores de las
teclas.
1.2.7. LIMPIEZA DE LA PARTE INTERNA DEL GABINETE
Cada elemento interno de la computadora debe ser tratado con cuidado extremo,
tales como el disco duro, la RAM, tarjeta madre, unidad lectora, y periféricos internos
que dan servicio completo. Como se ha mencionado, debemos retirar el polvo lo mas
que se pueda, con ello tendremos un mejor funcionamiento del mismo.
1.3. COMPONENTES DE LA COMPUTADORA
Cuando empezamos a utilizar un equipo de cómputo es normal que nos
preguntemos de que partes se compone este mismo aun siendo novato o no. Las
partes físicas de una computadora le llamamos hardware y tenemos dos tipos de
hardware o dispositivos; de Entrada y Salida respectivamente. Como no vamos a
entrar mucho en detalles con estas variaciones, entonces aprendamos de que se
conforma nuestro equipo.
1.3.1. GABINETE O TORRE
Erróneamente le llamamos CPU, en realidad el gabinete es el cajón donde tenemos
los diferentes componentes de una computadora, como por ejemplo la tarjeta madre,
unidades de cd/dvd, tarjetas de video, audio, red etc. Podemos encontrar diferentes
tipos de gabinetes, comúnmente están conformados de plástico o acero y en
diferentes formas y gustos.
16
1.3.2. CPU (UNIDAD CENTRAL DE PROCESO)
Es uno de los componentes principales de una computadora, el cpu es un
microprocesador fabricado en un chip y este contiene millones de componentes
lógicos. Es un conjunto de circuitos electrónicos digitales encargados de recibir la
información de los dispositivos de entrada/salida, procesarla y enviarla de nuevo a
los dispositivos de entrada/salida, constituyéndose en la parte más importante de la
computadora.
1.3.3. MEMORIA RAM
La memoria RAM es un dispositivo donde se almacenan temporalmente tanto los
datos como los programas que la CPU está procesando o va a procesar en un
determinado momento. Por su función, es una amiga inseparable del
microprocesador, con el cual se comunica a través de los buses de datos. Cuando
tenemos un programa abierto en Windows este está almacenado temporalmente en
la memoria RAM por así decirlo, como no es una memoria donde se guardan datos
permanentemente, al apagar el computador se borra la información almacenada en
ella, es por eso que cuando estas usando tu pc y se apaga sin razón aparente, al
volverla a prender ya no aparecen los programas que tenías abiertos porque estaban
cargados en la memoria RAM.
1.3.4. MEMORIA ROM
Es memoria no volátil de solo lectura. Igualmente, también hay dos características a
destacar en esta definición. La memoria ROM es memoria no volátil: Los programas
almacenados en ROM no se pierden al apagar la computadora, sino que se
mantienen impresos en los chips ROM durante toda su existencia además la
memoria ROM es, como su nombre indica, memoria de solo lectura; es decir los
programas almacenados en los chips ROM son inmodificables. El usuario puede leer
17
(y ejecutar) los programas de la memoria ROM, pero nunca puede escribir en la
memoria ROM otros programas de los ya existentes. La memoria ROM es ideal para
almacenar las rutinas básicas a nivel de hardware, por ejemplo, el programa de
inicialización de arranque la computadora y realiza el chequeo de la memoria y los
dispositivos.
1.3.5. DISCO DURO
Es un dispositivo de almacenamiento no volátil, es decir, la información guardada en
él no se borra, queda de forma permanente. En el disco duro tenemos guardados
nuestros documentos, música, películas, sistema operativo, software entre otros. Tal
y como sale de fábrica, el disco duro no puede ser utilizado por un sistema operativo.
Antes tenemos que definir en él un formato de bajo nivel, una o más particiones y
luego hemos de darles un formato que pueda ser entendido por nuestro sistema.
Cada disco duro tiene diferente capacidad como lo pueden ser de 40, 80, 120, 160
Gb respectivamente, hasta otros de mayor capacidad como 800 GB por ejemplo.
1.3.6. UNIDAD DE CD/DVD
Es la unidad encargada de leer un disco óptico, es decir de lectura mediante un
rayo láser, no recargable utilizado para el almacenamiento de información en
sistemas informáticos. Dependiendo del tipo de lector, este puede soportar no solo
la lectura de Cd`s si no también en formato DVD con lo cual ya tendríamos la opción
de ver películas por ejemplo.
1.3.7. QUEMADOR CD/DVD
Un quemador de CD o DVD nos permite la lectura de discos ópticos, pero a su vez
también nos permite grabar información en ellos siempre y cuando el disco sea
18
virgen o re-grabable, utilizando un programa para grabación de discos o el mismo
asistente del sistema operativo.
1.3.8. MONITOR
Es un periférico de salida y en su superficie luminiscente es en la que se reproducen
las imágenes. El monitor es el que mantiene informado al usuario de lo que está
haciendo el computador en cada momento. Las características de un monitor
dependen de la calidad de la imagen y esta del número de píxeles que dispone y del
número de colores que pueda mostrar. Un monitor VGA muestra apenas 16 colores
y una resolución de 640 x 480 (baja resolución). Un monitor SVGA llega hasta 16
millones de colores con resolución de 1280 x 1024 (altísima resolución).
1.3.9. MOUSE O RATÓN
El ratón o Mouse es un dispositivo que controla el movimiento del cursor o indicador
en la pantalla de visualización. Un ratón es un objeto pequeño que puedes mover a
lo largo de una superficie dura, plana. Su nombre viene de su forma, que recuerda a
un ratón, el cable que conecta con la computadora sería la cola del ratón. Cuando
mueves el ratón, el indicador en la pantalla de visualización se mueve en la misma
dirección. Los ratones tienen por lo menos un botón y normalmente tres, que tienen
diversas funciones dependiendo del programa que esté en funcionamiento en la
computadora (y por tanto, en la pantalla). Algunos ratones más nuevos también
incluyen una rueda para subir y bajar a través de documentos largos.
1.3.10. TECLADO
Un teclado es un periférico que consiste en un sistema de teclas, como las de una
máquina de escribir, que permite introducir datos a una computadora o dispositivo
digital. Cuando se presiona un carácter, envía una entrada cifrada a la computadora,
19
que entonces muestra el carácter en la pantalla. El término teclado numérico se
refiere al conjunto de teclas con números que hay en el lado derecho de algunos
teclados (no a los números en la fila superior, sobre las letras). Los teclados
numéricos también se refieren a los números (y a las letras correspondientes) en los
teléfonos móviles.
1.3.11. TARJETA MADRE
Es la tarjeta de circuitos impresos de una computadora que sirve como medio de
conexión entre el microprocesador, los circuitos electrónicos de soporte, las ranuras
para conectar parte o toda la RAM del sistema, la ROM y las ranuras especiales
(slots) que permiten la conexión de tarjetas adaptadoras adicionales. Estas tarjetas
de expansión suelen realizar funciones de control de periféricos tales como
monitores, impresoras, unidades de disco, etc.
1.3.12. FUENTE DE ALIMENTACIÓN
La fuente de alimentación (Powersupply en inglés) es como su nombre indica, la
encargada de suministrar energía eléctrica a los distintos elementos que componen
nuestro sistema informático.
La electricidad que llega hasta nuestros hogares u oficinas es del tipo conocido como
―corriente alterna‖ y nos es suministrada habitualmente con una tensión (o voltaje)
que suele ser de alrededor de 115 o 230 voltios. Este tipo de corriente no es en
absoluto adecuada para alimentar equipos electrónicos, y más concretamente
dispositivos informáticos, en dónde es necesario trabajar con ―corriente continua‖ y
voltajes mucho más bajos…
Aun contamos con algunos componentes más que nuestra computadora puede
tener, un ejemplo son las tarjetas gráficas, de sonido, de red etc. Las cuales nos
permiten escuchar música, ver videos, jugar, conectarse a una red entre otras cosas.
20
Para ello hacemos uso de drivers del mismo hardware, estos drivers o controladores
son aplicaciones que nos permiten instalar este tipo de dispositivos y hacer uso de
ellos.
1.4. PROCESO DE ARRANQUE
A diario encendemos nuestra computadora y de repente sin saber el porqué, la
misma no continua su proceso normal, es entonces cuando se acude al experto en
informática, para obtener solución al problema, el cual con solo escuchar el sonido
que emite la misma, puede determinar le problema.. muchas ocasiones el problema
de arranque suele ser el sistema operativo, ya que debido a su constante uso, el
mismo va generando errores de arranque, dando como solución ultima el formateo e
instalación nueva y limpia del mismo, en otras ocasiones el problema suele ser el
arranque del BIOS, el cual puede implicar un mal funcionamiento del hardware, tal
como la RAM, algún cable o cinturón del disco duro mal conectado.
21
CONCLUSIONES
El mantenimiento de nuestra computadora es crucial, ya que en la actualidad de ella
depende la mayor parte de nuestra información, datos, y servicios con los que
podemos tener un mejor desempeño personal y profesional.
Es importante considerar cada una de las alternativas que tenemos para aplicar un
mantenimiento principalmente preventivo, el cual sea de bajo costo, ya que podemos
recurrir a elementos cotidianos que nos permitirán una optimización general de la
computadora, es importante contar con un calendario o programa de
mantenimientos, en el cual podamos ir detectando posibles amenazas internas y
externas en nuestro ambiente de trabajo, con ello podemos contar con el poder de
decisión de cual camino seguir, en caso de que el mantenimiento sea correctivo,
debemos considerar los problemas suscitados, dando lugar a soluciones emergentes
y de agilidad que nos permitan solucionar el problema en el menor tiempo posible.
Como parte primordial en un proceso de mantenimiento sea cual fuese es
indispensable aislar nuestra información del disco duro, con la finalidad de
salvaguardar toda nuestra información e inclusive el sistema operativo, aunque en
muchas ocasiones el sistema operativo pasa a segundo término, ya que nuestra
prioridad es la información personal, y/o empresarial a la cual tenemos acceso y bajo
nuestro resguardo.
22
MODULO II
INSTALACION DE REDES
23
INTRODUCCION
Las redes tienen su origen principal en las áreas académicas, sin embargo en la
actualidad han tomado una fuerza tal, que en todos los ámbitos de la vida, el
comercio, la economía, las finanzas, el gobierno, la ciencia y la tecnología, están
involucradas en las redes.
Todos los beneficios actuales de las redes nos llevan a otro concepto que es la aldea
global en donde no hay fronteras, donde todos compartimos información de una o de
otra forma dando lugar a una globalización generalizada a través de las redes
computacionales.
Las redes que actualmente operan estar organizadas por una jerarquía de redes de
área amplia, redes metropolitanas y redes locales todas interconectadas entre sí.
Una red local puede otorgar ciertos beneficios estando aislada, sin embargo, si se
conecta a otras redes podemos obtener conexiones a redes de mayor cobertura y
alcance global.
Aquí veremos las diversas topologías de redes que podemos implementar de
acuerdo a nuestros requerimientos técnicos, metodológicos, y económicos. Las
formas de configurar una red van desde una forma sencilla hasta las más complejas
y sofisticadas que podamos imaginar, por ejemplo el internet es una gran red de
computadoras que están interconectadas entre sí, donde convergen diversos
elementos tanto computadoras habilitadas como servidores, y una serie de
dispositivos especiales enfocados a llevar a cabo la interconexión.
24
2. CONCEPTO DE RED
Una red es un conjunto de computadoras y dispositivos interconectados entre sí, con
la única finalidad de compartir recursos, tales como software, hardware e información
especializada en una área específica de análisis, trabajo y estudio.
2.1. OBJETIVOS DE LAS REDES
Los objetivos principales de las redes son el compartir recursos, dando con ello un
mayor auge en las empresas, el hogar y diversas áreas del desarrollo, incluso el
económico.
2.2. ALCANCE DE LAS REDES
El tamaño de una red puede variar desde unos pocos equipos en una oficina hasta
miles de equipos conectados a grandes distancias.
2.2.1. RED DE AREA LOCAL
Una red de área local (LAN) conecta equipos conectados ubicados en un mismo
lugar. Por ejemplo, dos equipos conectados en una oficina o dos edificios conectados
mediante un cable de alta velocidad, que por lo general es cable UTP RJ-45. Una red
corporativa que incluya varios edificios también puede considerarse una red de área
local.
2.2.2. RED DE AREA METROPOLITANA
Este tipo de red, es una versión más amplia de una LAN, y que se basa en una
tecnología similar a ésta. Las redes WAN se aplican en las organizaciones, en
grupos de oficinas corporativas ubicadas en una ciudad, dicha red no contiene
25
elementos de conmutación, los cuales desvían los paquetes por una de varias líneas
de salida potenciales. Estas redes pueden ser públicas o privadas.
Este tipo de red, comprende una ubicación geográfica determinada ―ciudad,
municipio‖ y su distancia de cobertura es mayor de 4 kms. Son redes con dos buses
unidireccionales, cada uno de ellos es independiente del otro en cuanto a la
transferencia de datos.
Podemos contar con diversas características de una MAN
Son redes que se extienden sobre áreas geográficas de tipo urbano, como
una ciudad, aunque en la práctica dichas redes pueden abarcar un área de
varias ciudades.
Estos estándares soportan tasas de transferencia de varios gigabits y ofrecen
la capacidad de soportar diferentes protocolos de capa 2. Es decir, pueden
soportar trafico ATM, Ethernet, token Ring, FrameRelay.
Son redes de alto rendimiento.
2.2.3. RED DE AREA EXTENSA
Una red de área extensa (WAN) conecta varios equipos que se encuentran a gran
distancia entre sí, por ejemplo, dos o más equipos conectados en lugares opuestos
del mundo pueden formar una WAN. Una WAN puede estar formada por varias LAN
interconectadas.
2.2.4. OTROS TIPOS DE REDES
En la actualidad existen otros tipos de redes.
26
PAN (red de administración personal): Son redes pequeñas las cuales están
conformadas por un máximo de 8 equipos por ejemplo un café internet.
CAN (red de área campus): Una CAN es una colección de LAN dispersas
geográficamente dentro de un campus (universitario, oficinas de gobierno,
maquiladoras o industrias, pertenecientes a una misma entidad en un área delimitada
de kilómetros.
Red punto a punto: En una red punto a punto cada computadora puede actuar como
cliente y servidor. Este tipo de redes hacen que el compartir datos y periféricos sea
sencillo para un pequeño grupo de personas, en este ambiente la seguridad es difícil,
porque la administración no está centralizada.
Redes basadas en servidor: este tipo de redes son mejores para compartir grandes
volúmenes de recursos y datos. Un administrador supervisa la operación de la red, y
vela que la seguridad sea mantenida. Este tipo de red puede tener uno o más
servidores, dependiendo del volumen de tráfico, numero de periféricos, etc. Como
ejemplo, puede hacer un servidor de impresión, uno de comunicaciones y otro de
bases de datos y todos en una misma red.
2.3. COMPONENTES BÁSICOS DE CONECTIVIDAD
Los componentes de una red permiten enviar datos a cada equipo de la misma,
permitiendo que los equipos se comuniquen entre sí. Algunos de los componentes de
conectividad más comunes de una red son:
Adaptadores de red.
Cables de red.
Dispositivos de comunicación inalámbricos.
27
2.3.1. ADAPTADORES DE RED.
Cada adaptador de red tiene una dirección exclusiva, denominada dirección de
control de acceso al medio (media access control, MAC), incorporada en chips de la
tarjeta. La cual realiza las siguientes funciones:
Recibe datos desde el sistema operativo del equipo y los convierte en
señales eléctricas que se transmiten por el cable
Recibe señales eléctricas del cable y las traduce en datos que el
sistema operativo del equipo puede entender
Determina si los datos recibidos del cable son para el equipo
Controla el flujo de datos entre el equipo y el sistema de cable
Para garantizar la compatibilidad entre el equipo y la red, el adaptador de red debe
cumplir los siguientes criterios:
Ser apropiado en función del tipo de ranura de expansión del equipo
Utilizar el tipo de conector de cable correcto para el cableado
Estar soportado por el sistema operativo del equipo.
2.3.2. CABLES DE RED
Al conectar equipos para formar una red utilizamos cables que actúan como medio
de transmisión de la red para transportar las señales entre los equipos. Un cable que
conecta dos equipos o componentes de red se denomina segmento. Los cables se
diferencian por sus capacidades y están clasificados en función de su capacidad
28
para transmitir datos a diferentes velocidades, con diferentes índices de error. Las
tres clasificaciones principales de cables que conectan la mayoría de redes son: de
par trenzado, coaxial y fibra óptica.
2.3.2.1. CABLE DE PAR TRENZADO
El cable de par trenzado está formado por dos hebras aisladas de hilo de cobre
trenzado entre sí. Existen dos tipos de cables de par trenzado: par trenzado sin
apantallar (unshieldedtwistedpair, UTP) y par trenzado apantallado
(shieldedtwistedpair, STP). Éstos son los cables que más se utilizan en redes y
pueden transportar señales en distancias de 100 metros.
El cable UTP es el tipo de cable de par trenzado más popular y también es el cable
en una LAN más popular. Para redes Locales los colores estandarizados son:
Naranja / Blanco – Naranja.
Verde / Blanco – Verde.
Blanco / Azul – Azul
Blanco / Marrón – Marrón
2.3.2.2. EL CABLE STP
Utiliza un tejido de funda de cobre trenzado que es más protector y de mejor calidad
que la funda utilizada por UTP. STP también utiliza un envoltorio plateado alrededor
de cada par de cables. Con ello, STP dispone de una excelente protección que
protege a los datos transmitidos de interferencias exteriores, permitiendo que STP
soporte índices de transmisión más altos a través de mayores distancias que UTP.
29
2.3.2.3. CABLE COAXIAL
El cable coaxial está formado por un núcleo de hilo de cobre rodeado de un
aislamiento, una capa de metal trenzado, y una cubierta exterior. El núcleo de un
cable coaxial transporta las señales eléctricas que forman los datos. Este hilo del
núcleo puede ser sólido o hebrado.
El cableado coaxial es una buena elección cuando se transmiten datos a través de
largas distancias y para ofrecer un soporte fiable a mayores velocidades de
transferencia cuando se utiliza equipamiento menos sofisticado.
2.3.2.4. CABLE DE FIBRA ÓPTICA
El cable de fibra óptica utiliza fibras ópticas para transportar señales de datos
digitales en forma de pulsos modulados de luz. Como el cable de fibra óptica no
transporta impulsos eléctricos, la señal no puede ser intervenida y sus datos no
pueden ser robados. El cable de fibra óptica es adecuado para transmisiones de
datos de gran velocidad y capacidad ya que la señal se transmite muy rápidamente y
con muy poca interferencia. Un inconveniente del cable de fibra óptica es que se
rompe fácilmente si la instalación no se hace cuidadosamente. Es más difícil de
cortar que otros cables y requiere un equipo especial para cortarlo.
2.4. DISPOSITIVOS DE COMUNICACIÓN INALÁMBRICOS
Los componentes inalámbricos se utilizan para la conexión a redes en distancias que
hacen que el uso de adaptadores de red y opciones de cableado estándares sea
técnica o económicamente imposible. Las redes inalámbricas están formadas por
componentes inalámbricos que se comunican con LAN.
Excepto por el hecho de que no es un cable quién conecta los equipos, una red
inalámbrica típica funciona casi igual que una red con cables: se instala en cada
30
equipo un adaptador de red inalámbrico con un transceptor (un dispositivo que
transmite y recibe señales analógicas y digitales). Los usuarios se comunican con la
red igual que si estuvieran utilizando un equipo con cables.
Existen dos técnicas habituales para la transmisión inalámbrica en una LAN:
transmisión por infrarrojos y transmisión de radio en banda estrecha.
2.4.1. TRANSMISIÓN POR INFRARROJOS
Funciona utilizando un haz de luz infrarroja que transporta los datos entre diversos
dispositivos. Debe existir visibilidad directa entre los dispositivos que transmiten y los
que reciben; si hay algo que bloquee la señal infrarroja, puede impedir la
comunicación. Estos sistemas deben generar señales muy potentes, ya que las
señales de transmisión débiles son susceptibles de recibir interferencias de fuentes
de luz, como ventanas.
2.4.2. TRANSMISIÓN VÍA RADIO EN BANDA ESTRECHA
El usuario sintoniza el transmisor y el receptor a una determinada frecuencia. La
radio en banda estrecha no requiere visibilidad directa porque utiliza ondas de radio.
Sin embargo la transmisión vía radio en banda estrecha está sujeta a interferencias
de paredes de acero e influencias de carga. La radio en banda estrecha utiliza un
servicio de suscripción. Los usuarios pagan una cuota por la transmisión de radio.
2.5. TOPOLOGIAS DE RED
Una topología de red es la estructura de equipos, cables y demás componentes en
una red. Es un mapa de la red física. El tipo de topología utilizada afecta al tipo y
capacidades del hardware de red, su administración y las posibilidades de expansión
futura.
31
La topología es tanto física como lógica:
1. La topología física describe cómo están conectados los componentes físicos
de una red.
2. La topología lógica describe el modo en que los datos de la red fluyen a través
de componentes físicos.
Existen cinco topologías básicas:
2.5.1. TOPOLOGÍA DE BUS
En una topología de bus, todos los equipos de una red están unidos a un cable
continuo, o segmento, que los conecta en línea recta. En esta topología en línea
recta, el paquete se transmite a todos los adaptadores de red en ese segmento.
Importante Los dos extremos del cable deben tener terminaciones. Todos los
adaptadores de red reciben el paquete de datos.
Debido a la forma de transmisión de las señales eléctricas a través de este cable,
sus extremos deben estar terminados por dispositivos de hardware denominados
terminadores, que actúan como límites de la señal y definen el segmento.
Si se produce una rotura en cualquier parte del cable o si un extremo no está
terminado, la señal balanceará hacia adelante y hacia atrás a través de la red y la
comunicación se detendrá.
El número de equipos presentes en un bus también afecta al rendimiento de la red.
Cuantos más equipos haya en el bus, mayor será el número de equipos esperando
para insertar datos en el bus, y en consecuencia, la red irá más lenta.
32
Además, debido al modo en que los equipos se comunican en una topología de bus,
puede producirse mucho ruido. Ruido es el tráfico generado en la red cuando los
equipos intentan comunicarse entre sí simultáneamente. Un incremento del número
de equipos produce un aumento del ruido y la correspondiente reducción de la
eficacia de la red.
2.5.2. TOPOLOGÍA EN ESTRELLA
En una topología en estrella, los segmentos de cable de cada equipo en la red están
conectados a un componente centralizado, o concentrador. Un concentrador es un
dispositivo que conecta varios equipos juntos. En una topología en estrella, las
señales se transmiten desde el equipo, a través del concentrador, a todos los
equipos de la red. A mayor escala, múltiples LANs pueden estar conectadas entre sí
en una topología en estrella.
Una ventaja de la topología en estrella es que si uno de sus equipos falla,
únicamente este equipo es incapaz de enviar o recibir datos. El resto de la red
funciona normalmente.
El inconveniente de utilizar esta topología es que debido a que cada equipo está
conectado a un concentrador, si éste falla, fallará toda la red. Además, en una
topología en estrella, el ruido se crea en la red.
2.5.3. TOPOLOGÍA EN ANILLO
En una topología en anillo, los equipos están conectados con un cable de forma
circular. A diferencia de la topología de bus, no hay extremos con terminaciones. Las
señales viajan alrededor del bucle en una dirección y pasan a través de cada equipo,
que actúa como repetidor para amplificar la señal y enviarla al siguiente equipo.
33
A mayor escala, en una topología en anillo múltiples LANs pueden conectarse entre
sí utilizando el cable coaxial ThickNet o el cable de fibra óptica.
La ventaja de una topología en anillo es que cada equipo actúa como repetidor,
regenerando la señal y enviándola al siguiente equipo, conservando la potencia de la
señal.
El inconveniente de una topología en anillo es que los equipos sólo pueden enviar los
datos de uno en uno en un único Token Ring. Además, las topologías en anillo son
normalmente más caras que las tecnologías de bus.
2.5.4. TOPOLOGÍA DE MALLA
En una topología de malla, cada equipo está conectado a cada uno del resto de
equipos por un cable distinto. Esta configuración proporciona rutas redundantes a
través de la red de forma que si un cable falla, otro transporta el tráfico y la red sigue
funcionando.
A mayor escala, múltiples LANs pueden estar en estrella conectadas entre sí en una
topología de malla utilizando red telefónica conmutada, un cable coaxial ThickNet o
el cable de fibra óptica.
Una de las ventajas de las topologías de malla es su capacidad de respaldo al
proporcionar múltiples rutas a través de la red. Debido a que las rutas redundantes
requieren más cable del que se necesita en otras topologías, una topología de malla
puede resultar cara.
2.5.5. TOPOLOGÍAS HÍBRIDAS
En una topología híbrida, se combinan dos o más topologías para formar un diseño
de red completo. Raras veces, se diseñan las redes utilizando un solo tipo de
34
topología. Por ejemplo, es posible que desee combinar una topología en estrella con
una topología de bus para beneficiarse de las ventajas de ambas.
Importante: En una topología híbrida, si un solo equipo falla, no afecta al resto de la
red.
Normalmente, se utilizan dos tipos de topologías híbridas: topología en estrella-bus y
topología en estrella-anillo.
2.6. TECNOLOGÍAS DE REDES
Utilizamos diferentes tecnologías de redes para la comunicación entre equipos de
LANs y WANs. Podemos utilizar una combinación de tecnologías para obtener la
mejor relación costo-beneficio y la máxima eficacia del diseño de nuestra red. Una de
las principales diferencias entre estas tecnologías es el conjunto de reglas utilizada
por cada una para insertar datos en el cable de red y para extraer datos del mismo.
Hay muchas tecnologías de redes disponibles, entre las que se encuentran:
Ethernet
Token Ring
Modo de transferencia asíncrona ATM
Interfaz de datos distribuida por fibra FDDI
FrameRelay
35
2.7. AMPLIACIÓN DE UNA RED
Para satisfacer las necesidades de red crecientes de una organización, se necesita
ampliar el tamaño o mejorar el rendimiento de una red. No se puede hacer crecer la
red simplemente añadiendo nuevos equipos y más cable.
Cada topología o arquitectura de red tiene sus límites. Se puede, sin embargo,
instalar componentes para incrementar el tamaño de la red dentro de su entorno
existente.
Podemos utilizar repetidores y concentradores para ampliar una red añadiendo dos o
más segmentos de cableado. Estos dispositivos utilizados habitualmente son
económicos y fáciles de instalar.
2.7.1. REPETIDORES
Los repetidores reciben señales y las retransmiten a su potencia y definición
originales. Esto incrementa la longitud práctica de un cable (si un cable es muy largo,
la señal se debilita y puede ser irreconocible).
Instalar un repetidor entre segmentos de cable permite a las señales llegar más lejos.
Los repetidores son una forma económica de extender la longitud de cableado sin
sacrificar la pérdida de datos. Los concentradores permiten conectar varios equipos a
un punto central sin pérdida de datos.
Utilice un repetidor para:
Conectar dos o más segmentos con cable similar.
Regenerar la señal para incrementar la distancia transmitida.
36
Transmitir todo el tráfico en ambas direcciones.
Conectar dos segmentos del modo más rentable posible.
2.7.2. CONCENTRADORES (HUB)
Los concentradores son dispositivos de conectividad que conectan equipos en una
topología en estrella. Los concentradores contienen múltiples puertos para conectar
los componentes de red. Si utiliza un concentrador, una rotura de la red no afecta a
la red completa; sólo el segmento y el equipo adjunto al segmento falla. Un único
paquete de datos enviado a través de un concentrador fluye a todos los equipos
conectados.
Use un concentrador para:
Cambiar y expandir fácilmente los sistemas de cableado.
Utilizar diferentes puertos con una variedad de tipos de cable.
Permitir la monitorización central de la actividad y el tráfico de red.
2.7.3. PUENTES (BRIDGES)
Un puente es un dispositivo que distribuye paquetes de datos en múltiples
segmentos de red que utilizan el mismo protocolo de comunicaciones. Un puente
distribuye una señal a la vez. Si un paquete va destinado a un equipo dentro del
mismo segmento que el emisor, el puente retiene el paquete dentro de ese
segmento. Si el paquete va destinado a otro segmento, lo distribuye a ese segmento.
37
Direcciones MAC
A medida que el tráfico cruza a través del puente, la información sobre las
direcciones MAC de los equipos emisores se almacena en la memoria del puente. El
puente usa esta información para construir una tabla basada en estas direcciones.
A medida que se envían más datos, el puente construye una tabla puente que
identifica a cada equipo y su ubicación en los segmentos de red. Cuando el puente
recibe un paquete, la dirección de origen se compara a la dirección de origen listada
en la tabla. Si la dirección fuente no está presente en la tabla, se añade a la misma.
A continuación, el puente compara la dirección de destino con la dirección de destino
listada en la tabla. Si reconoce la ubicación de la dirección de destino, reenvía el
paquete a esta dirección. Si no reconoce la dirección de destino, reenvía el paquete
a todos los segmentos.
Use un puente para:
Expandir la longitud de un segmento.
Proporcionar un mayor número de equipos en la red.
Reducir cuellos de botella de tráfico resultante de un excesivo número
de equipos conectados.
Dividir una red sobrecargada en dos redes separadas, reduciendo la
cantidad de tráfico en cada segmento y haciendo cada red más
eficiente.
Enlazar cables físicos de distinto tipo, como cable de par trenzado con
cable coaxial en Ethernet.
38
2.7.4. CONMUTADORES O SWITCHES
Los conmutadores son similares a los puentes, pero ofrecen una conexión de red
más directa entre los equipos de origen y destino. Cuando un conmutador recibe un
paquete de datos, crea una conexión interna separada, entre dos de sus puertos
cualquiera y reenvía el paquete de datos al puerto apropiado del equipo de destino
únicamente, basado en la información de la cabecera de cada paquete. Esto aísla la
conexión de los demás puertos y da acceso a los equipos origen y destino a todo el
ancho de banda de una red.
A diferencia de un concentrador, los conmutadores son comparables a un sistema
telefónico con líneas privadas. En tal sistema, si una persona llama a cualquier otra,
el operador o conmutador telefónico les conecta a una línea dedicada. Esto permite
que tengan lugar más conversaciones a más en un momento dado.
Use un conmutador para:
Enviar un paquete directamente del equipo origen al destino.
Proporcionar una mayor velocidad de transmisión de datos.
2.7.5. ENRUTADORES O ROUTERS
Un enrutador es un dispositivo que actúa como un puente o conmutador, pero
proporciona funcionalidad adicional. Al mover datos entre diferentes segmentos de
red, los enrutadores examinan la cabecera del paquete para determinar la mejor ruta
posible del paquete.
Un enrutador conoce el camino a todos los segmentos de la red accediendo a
información almacenada en la tabla de rutas. Los enrutadores permiten a todos los
usuarios de una red compartir una misma conexión a Internet o a una WAN.
39
Use un enrutador para:
Enviar paquetes directamente a un equipo de destino en otras redes o
segmento. Los enrutadores usan una dirección de paquete más completa que
los puentes. Los enrutadores garantizan que los paquetes viajen por las rutas
más eficientes a sus destinos. Si un enlace entre dos enrutadores falla, el
enrutador de origen puede determinar una ruta alternativa y mantener el
tráfico en movimiento.
Reducir la carga en la red. Los enrutadores leen sólo los paquetes de red
direccionados y pasan la información sólo si la dirección de red es conocida.
De este modo, no pasan información corrupta. Esta capacidad de controlar los
datos que pasan a través del enrutador reduce la cantidad de tráfico entre
redes y permite a los enrutadores utilizar estos enlaces más eficientemente
que los puentes.
2.7.6. PUERTAS DE ENLACE GATEWAY
Las puertas de enlace permiten la comunicación entre diferentes arquitecturas de
red. Una puerta de enlace toma los datos de una red y los empaqueta de nuevo, de
modo que cada red pueda entender los datos de red de la otra.
Una puerta de enlace es cómo un intérprete. Por ejemplo, si dos grupos de personas
pueden físicamente hablar entre sí pero hablan idiomas diferentes, necesitan un
intérprete para comunicarse. De modo similar, dos redes pueden tener una conexión
física, pero necesitan una puerta de enlace para traducir la comunicación de red.
Use una puerta de enlace para enlazar dos sistemas que no utilizan:
La misma arquitectura.
Los mismos conjuntos de reglas de comunicación y regulaciones.
40
2.8. PROTOCOLOS
Podemos definir un protocolo como el conjunto de normas que regulan la
comunicación (establecimiento, mantenimiento y cancelación) entre los distintos
componentes de una red informática. Existen dos tipos de protocolos: protocolos de
bajo nivel y protocolos de red.
Los protocolos de bajo nivel controlan la forma en que las señales se transmiten por
el cable o medio físico. En la primera parte del curso se estudiaron los habitualmente
utilizados en redes locales (Ethernet y Token Ring). Aquí nos centraremos en los
protocolos de red. Los protocolos de red organizan la información (controles y datos)
para su transmisión por el medio físico a través de los protocolos de bajo nivel.
Algunos de ellos son:
2.8.1. IPX/SPX
IPX (InternetworkPacket Exchange) es un protocolo de Novell que interconecta redes
que usan clientes y servidores Novell Netware. Es un protocolo orientado a paquetes
y no orientado a conexión (esto es, no requiere que se establezca una conexión
antes de que los paquetes se envíen a su destino). Otro protocolo, el SPX
(SequencedPacketeXchange), actúa sobre IPX para asegurar la entrega de los
paquetes.
2.8.2. NetBIOS
(Network Basic Input/Output System) es un programa que permite que se
comuniquen aplicaciones en diferentes computadoras dentro de una LAN.
Desarrollado originalmente para las redes de computadoras personales IBM, fué
adoptado posteriormente por Microsoft. NetBIOS se usa en redes con topologías
Ethernet y token ring. No permite por sí mismo un mecanismo de enrutamiento por lo
que no es adecuado para redes de área extensa (MAN), en las que se deberá usar
41
otro protocolo para el transporte de los datos (por ejemplo, el TCP). NetBIOS puede
actuar como protocolo orientado a conexión o no (en sus modos respectivos sesión y
datagrama). En el modo sesión dos computadoras establecen una conexión para
establecer una conversación entre los mismos, mientras que en el modo datagrama
cada mensaje se envía independientemente. Una de las desventajas de NetBIOS es
que no proporciona un marco estándar o formato de datos para la transmisión.
2.8.3. NetBEUI
NetBIOS Extended User Interface o Interfaz de Usuario para NetBIOS es una versión
mejorada de NetBIOS que sí permite el formato o arreglo de la información en una
transmisión de datos. También desarrollado por IBM y adoptado después por
Microsoft, es actualmente el protocolo predominante en las redes Windows NT, LAN
Manager y Windows para Trabajo en Grupo.
Aunque NetBEUI es la mejor elección como protocolo para la comunicación dentro
de una LAN, el problema es que no soporta el enrutamiento de mensajes hacia otras
redes, que deberá hacerse a través de otros protocolos (por ejemplo, IPX o TCP/IP).
Un método usual es instalar tanto NetBEUI como TCP/IP en cada estación de trabajo
y configurar el servidor para usar NetBEUI para la comunicación dentro de la LAN y
TCP/IP para la comunicación hacia afuera de la LAN.
2.8.4. APPLE TALK.
Es el protocolo de comunicación para computadoras Apple Macintosh y viene
incluido en su sistema operativo, de tal forma que el usuario no necesita configurarlo.
2.8.5. TCP/IP.
Es realmente un conjunto de protocolos, donde los más conocidos son TCP
(Transmission Control Protocol o protocolo de control de transmisión) e IP (Internet
42
Protocol o protocolo Internet). Dicha conjunto o familia de protocolos es el que se
utiliza en Internet. Lo estudiaremos con detalle en el apartado siguiente.
La suite TCP/IP
Internet es un conglomerado muy amplio y extenso en el que se encuentran
computadoras con sistemas operativos incompatibles, redes más pequeñas y
distintos servicios con su propio conjunto de protocolos para la comunicación. Ante
tanta diversidad resulta necesario establecer un conjunto de reglas comunes para la
comunicación entre estos diferentes elementos y que además optimice la utilización
de recursos tan distantes. Este papel lo tiene el protocolo TCP/IP. TCP/IP también
puede usarse como protocolo de comunicación en las redes privadas intranet y
extranet.
Las siglas TCP/IP se refieren a dos protocolos de red, que son Transmission Control
Protocol (Protocolo de Control de Transmisión) e Internet Protocol (Protocolo de
Internet) respectivamente. Estos protocolos pertenecen a un conjunto mayor de
protocolos. Dicho conjunto se denomina suite TCP/IP.
Los diferentes protocolos de la suite TCP/IP trabajan conjuntamente para
proporcionar el transporte de datos dentro de Internet (o Intranet). En otras palabras,
hacen posible que accedamos a los distintos servicios de la Red. Estos servicios
incluyen: transmisión de correo electrónico, transferencia de ficheros, grupos de
noticias, acceso a la World Wide Web, etc.
Hay dos clases de protocolos dentro de la suite TCP/IP que son: protocolos a nivel
de red y protocolos a nivel de aplicación.
43
CONCLUSIONES
Podemos definir que una red es un elemento importante en la actualidad, donde
todos podemos estar interconectados entre sí, dando un auge al desarrollo en todos
los sentidos, sin embargo es de vital transcendencia que comprendamos como está
conformada una infraestructura de red, donde podemos tener acceso a muchos
recursos compartidos por miles o millones de usuarios a través de las redes de
información.
En la actualidad, la construcción de una red implica diversos elementos tales como
las topologías, los recursos, la infraestructura, inclusive las políticas establecidas
para su correcta implementación y uso final.
Como parte de este módulo es importante considerar un uso adecuado de las
diversas formas de llevar a cabo una implementación de una red, sea cual fuere la
que se decida implementar, considerando cada aspecto mencionado, como
conclusión una red es un instrumento de trabajo de comunicación que nos permite
tener agilidad al compartir datos, archivos, telecomunicaciones, etc. Los cuales
coadyuvarán al desarrollo integral de que se esté planteando.
44
MODULO III
PÁGINAS WEB
45
INTRODUCCIÓN
Una de las etapas de la evolución de los sistemas operativos fue la
multiprogramación o multitarea, esto que trajo consigo que se tuviera en cuenta un
grupo de consideraciones a la hora de concebir los mismos. Así fueron surgiendo
distintas estructuras en el diseño, cada una con sus características particulares.
Enfocados a realizar tareas específicas de acuerdo a ciertos requerimientos
solicitados por clientes, las cuales principalmente eran empresas, los ciclos de vida
de los sistemas operativos son enmarcados y establecidos básicamente por su
funcionalidad y eficiencia al momento de ser instaurados en determinada empresa, lo
cual constantemente hay cambios derivado de novedades y actualizaciones
establecidas por los fabricantes. En la actualidad podemos contar con una gran
variedad de sistemas operativos desde los comerciales hasta los de uso libre, cada
uno de ellos con sus ventajas y desventajas que de acuerdo a los gustos del usuario
final, serán objeto de uso, análisis y estudio.
Las páginas web son en la actualidad forman parte del desarrollo tecnológico, y su
implementación es de gran importancia para una empresa, o persona, ya que a
través de ellas, se puede transmitir información, anuncios, mensajes, y un sinfín de
recursos, que de otra forma seria muy difícil de comunicar por los medios
tradicionales,. Una página web, hace más de 11 años era imposible que un usuario
final tuviera acceso para compartir información o publicar datos, era algo demasiado
costoso, principalmente las empresas y en gobierno eran los únicos que
predominaban este sector del desarrollo.
Pero en la actualidad y gracias al desarrollo de la web 2.0 la cual es más colaborativa
y dinámica, todos podemos tener nuestra página web a costos más accesibles,
manejando servidores, a través de la web y ftp, lo que antes era imposible, en la
actualidad es accesible, dando con ello a toda una infraestructura colaborativa y
dinámica que incide en una comunicación más versátil. Los diversos lenguajes de
programación tales como html, java, php, etc, cada vez están más enfocados a
46
páginas dinámicas, contribuyendo a que los usuarios tengan acceso a las API de
sitios web en forma de aplicaciones, sistemas de información, tales como Facebook y
twitter que ponen a disposiciones, plataformas robustas de desarrollo, tanto para pc
como para dispositivos móviles,, con el manejo de servidores es como implementar
todo un esquema de información, desde la instalación de la base de datos hasta
subir todos los archivos al lugar deseado para echar andar nuestra página web,
principalmente php está enfocado a este tipo de sistemas de información dando
mayor vanguardia al desarrollo de las paginas dinámicas, tales como blogs, fotos,
chats, etc.
Es de gran interés que aprendamos a usar todas estas herramientas tecnológicas
con el único propósito de aprender a usar todos los recursos disponibles, y en el
ámbito profesional con mayor razón, ya que en la actualidad es lo que más se usa en
el mercado laboral.
47
3. SISTEMAS OPERATIVOS
Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la
gestión de los procesos básicos de un sistema informático, y permite la normal
ejecución del resto de las operaciones.
Nótese que es un error común muy extendido denominar al conjunto completo de
herramientas sistema operativo, es decir, la inclusión en el mismo término de
programas como el explorador de ficheros, el navegador y todo tipo de herramientas
que permiten la interacción con el sistema operativo, también llamado núcleo o kernel.
Uno de los más prominentes ejemplos de esta diferencia, es el núcleo Linux, el cual
es el núcleo del sistema operativo GNU, del cual existen las llamadas distribuciones
GNU. Este error de precisión, se debe a la modernización de la informática llevada a
cabo a finales de los 80, cuando la filosofía de estructura básica de funcionamiento
de los grandes computadores2 se rediseñó a fin de llevarla a los hogares y facilitar su
uso, cambiando el concepto de computador multiusuario, (muchos usuarios al mismo
tiempo) por un sistema monousuario (únicamente un usuario al mismo tiempo) más
sencillo de gestionar. de dicha modernización, cuando los Amiga, fueron bautizados
con el sobrenombre de Video Toasters por su capacidad para la Edición de vídeo en
entorno multitarea round robin, con gestión de miles de colores e interfaces intuitivos
para diseño en 3D.
Uno de los propósitos del sistema operativo que gestiona el núcleo intermediario
consiste en gestionar los recursos de localización y protección de acceso del
hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar
con estos detalles. Se encuentran en la mayoría de los aparatos electrónicos que
utilizan microprocesadores para funcionar. (Teléfonos móviles, reproductores de
DVD, computadoras, radios, etc.).
48
3.1. WINDOWS NT
Es una familia de sistemas operativos producidos por Microsoft, de la cual la primera
versión fue publicada en julio de 1993.
Previamente a la aparición del famoso Windows 95 la empresa Microsoft concibió
una nueva línea de sistemas operativos orientados a estaciones de trabajo y
servidores de red. Un sistema operativo con interfaz gráfica propia, estable y con
características similares a los sistemas de red UNIX. Las letras NT provienen de la
designación del producto como "Nueva Tecnología" (New Technology).
Las versiones publicadas de este sistema son: 3.1, 3.5, 3.51 y 4.0. Además,
Windows NT se distribuía en dos versiones, dependiendo de la utilidad que se le
fuera a dar: Workstation para ser utilizado como estación de trabajo y Server para ser
utilizado como servidor.
Desarrollo
Cuando el desarrollo comenzó en noviembre de 1988, Windows NT (usando modo
protegido) fue desarrollado a la vez que OS/2 3.0, la tercera versión del sistema
operativo desarrollado en conjunto entre Microsoft e IBM. Adicionalmente al trabajo
de las tres versiones de OS/2, Microsoft continuó desarrollando paralelamente un
ambiente Windows basado en DOS y con menos demanda de recursos (usando
modo real). Cuando Windows 3.0 fue liberado en mayo de 1990, tuvo tanto éxito que
Microsoft decidió cambiar la API por la todavía no liberada NT OS/2 (como era
conocida) de una API de OS/2 a una API extendida de Windows. Esta decisión causó
tensión entre Microsoft e IBM, y la colaboración se vino abajo. IBM continuó el
desarrollo de OS/2 por su cuenta, mientras Microsoft continuó trabajando en el recién
nombrado Windows NT.
Microsoft contrató a un grupo de desarrolladores de Digital Equipment Corporation
liderados por Dave Cutler para desarrollar Windows NT, y muchos elementos que
reflejan la experiencia de DEC con los VMS y RSX-11. El SO fue diseñado para
49
correr en múltiples arquitecturas, con el núcleo separado del hardware por una capa
de abstracción de hardware. Las APIs fueron implementadas como subsistemas por
encima de la indocumentada API nativa; esto permitió la futura adopción de la
Windows API. Originalmente un micronúcleo fue diseñado, subsecuentes liberaciones
han integrado más funciones para mejorar el rendimiento del núcleo. Windows NT
fue el primer sistema operativo en usar Unicode internamente.
Arquitectura
La arquitectura de la familia de sistemas operativos de Windows NT se basa en dos
capas, (modo usuario y modo núcleo), con distintos módulos dentro de éstas capas.
La familia de los sistemas operativos Windows NT de Microsoft está constituida por
versiones como Windows 7, Vista, XP, Windows Server 2003, Windows 2000 y
Windows NT. Todos tienen multitarea apropiativa y son sistemas operativos que han
sido diseñados para trabajar tanto con computadoras con un solo procesador como
con múltiples procesadores que en inglés es el Symmetrical Multi Processor o SMP.
Para procesar las peticiones de entrada/salida (en inglés Input/Output, I/O) acude a
una dirección de paquetes de E/S que utiliza peticiones (IRPs) y E/S asíncrona. A
partir de Windows 2000 Advanced Server, Microsoft comenzó a desarrollar sistemas
operativos que soportaban 64-bits. Antes sus sistemas operativos estaban basados
en un modelo de 32-bits.
La arquitectura de Windows NT es altamente modular y se basa en dos capas
principales:
Modo usuario: Cuyos programas y subsistemas están limitados a los recursos
del sistema a los que tienen acceso.
50
Modo núcleo: Tiene acceso total a la memoria del sistema y los dispositivos
externos. Los núcleos de los sistemas operativos de esta línea son todos
conocidos como núcleos híbridos, aunque hay que aclarar que este término
está en discusión ya que este núcleo es esencialmente un núcleo monolítico
que está estructurado al estilo de un micronúcleo. La arquitectura dentro del
modo núcleo1 se compone de lo siguiente:
1. Un núcleo híbrido.
2. Una capa de abstracción de hardware (en inglés Hardware Abstraction Layer
o HAL).
3. Controladores o también llamados drivers.
4. Executive: Sobre el cual son implementados todos los servicios de alto nivel.
5. Librerías dinámicas para su correcto funcionamiento, como ntoskrnl.exe
El modo núcleo de la línea de Windows NT está compuesto por subsistemas
capaces de pasar peticiones de E/S a los controladores apropiados usando el gestor
de E/S. Dos subsistemas crean la capa del modo usuario de Windows 2000: el
subsistema de Entorno (ejecuta aplicaciones escritas para distintos tipos de sistemas
operativos), y el subsistema Integral (maneja funciones específicas de sistema de
parte del subsistema de Entorno). El modo núcleo en Windows 2000 tiene acceso
total al hardware y a los recursos del sistema de la computadora. El modo núcleo
impide a los servicios del modo usuario y las aplicaciones acceder a áreas críticas
del sistema operativo a las que no deberían tener acceso.
El Executive se relaciona con todos los subsistemas del modo usuario. Se ocupa de
la entrada/salida, la gestión de objetos, la seguridad y la gestión de procesos. El
núcleo se sitúa entre la capa de abstracción de hardware y el Executive para
proporcionar sincronización multiprocesador, hilos y programación y envío de
interrupciones, y envío de excepciones.
El núcleo también es responsable de la inicialización de los controladores de
dispositivos al arrancar. Hay tres niveles de controladores en el modo núcleo:
controladores de alto nivel, controladores intermedios y controladores de bajo nivel.
51
El modelo de controladores de Windows (en inglés Windows Driver Model, WDM) se
encuentra en la capa intermedia y fue diseñado principalmente para mantener la
compatibilidad en binario y en código fuente entre Windows 98 y Windows 2000. Los
controladores de más bajo nivel también son un legado de los controladores de
dispositivos de Windows NT que controlan directamente un dispositivo o puede ser
un bus hardware PnP.
Modo usuario
El modo usuario está formado por subsistemas que pueden pasar peticiones de E/S
a los controladores apropiados del modo núcleo a través del gestor de E/S (que se
encuentra en el modo núcleo). Dos subsistemas forman la capa del modo usuario de
Windows 2000: el subsistema de Entorno y el subsistema Integral.
El subsistema de entorno fue diseñado para ejecutar aplicaciones escritas para
distintos tipos de sistemas operativos. Ninguno de los subsistemas de entorno puede
acceder directamente al hardware, y deben solicitar el acceso a los recursos de
memoria a través del Gestor de Memoria Virtual que se ejecuta en modo núcleo.
Además, las aplicaciones se ejecutan a menor prioridad que los procesos del núcleo.
Actualmente hay tres subsistemas de entorno principales: un subsistema Win32, un
subsistema OS/2 y un subsistema POSIX.
El subsistema de entorno Win32 puede ejecutar aplicaciones Windows de 32-bits.
Contiene la consola además de soporte para ventanas de texto, apagado y manejo
de errores graves para todos los demás subsistemas de entorno. También soporta
Máquinas Virtuales de DOS (en inglés, Virtual DOS Machine, VDM), lo que permite
ejecutar en Windows aplicaciones de MS-DOS y aplicaciones de 16-bits de Windows
3.x (Win16). Hay una VDM específica que se ejecuta en su propio espacio de
memoria y que emula un Intel 80486 ejecutando MS-DOS 5. Los programas Win16,
sin embargo, se ejecutan en una VDM Win16.
Cada programa, por defecto, se ejecuta en el mismo proceso, así que usa el mismo
espacio de direcciones, y el VDM de Win16 proporciona a cada programa su propio
52
hilo de ejecución para ejecutarse. Sin embargo, Windows 2000 permite a los
usuarios ejecutar programas Win16 en una VDM de Win16 separada, lo que permite
al programa ser una multitarea prioritaria cuando Windows 2000 ejecute el proceso
VDM completo, que contiene únicamente una aplicación en ejecución. El subsistema
de entorno de OS/2 soporta aplicaciones de 16-bits basadas en caracteres y emula
OS/2 1.x, pero no permite ejecutar aplicaciones de 32-bits o con entorno gráfico
como se hace en OS/2 2.x y posteriores. El subsistema de entorno de POSIX sólo
soporta aplicaciones que cumplan estrictamente el estándard POSIX.1 o los
estándards de ISO/IEC asociados.
El subsistema integral se encarga de funciones específicas del sistema operativo de
parte del subsistema de entorno. Se compone de un subsistema de seguridad, un
servicio de terminal y un servicio de servidor. El subsistema de seguridad se ocupa
de los recibos de seguridad, permite o deniega acceso a las cuentas de usuario
basándose en los permisos de los recursos, gestiona las peticiones de comienzo de
sesión e inicia la autenticación, y determina qué recursos de sistema necesitan ser
auditados por Windows 2000. También se encarga del Directorio Activo (en inglés,
Active Directory). El servicio de terminal es una API al redirector de red, que
proporciona el acceso a la red a las computadora. El servicio de servidor es una API
que permite a la computadora proporcionar servicios de red.
Modo núcleo
El modo núcleo de Windows 2000 tiene un acceso completo al hardware y a los
recursos del sistema de la computadora y ejecuta su código en un área de memoria
protegida. Controla el acceso a la planificación, priorización de hilos, gestión de
memoria y la interacción con el hardware. El modo núcleo impide que los servicios y
las aplicaciones del modo usuario accedan a áreas críticas del sistema operativo a
las que no deberían tener acceso, deben pedir al núcleo que realice esas
operaciones en su nombre.
53
El modo núcleo está formado por servicios executive, que a su vez están formados
por varios módulos que realizan tareas específicas, controladores de núcleo, un
núcleo y una Capa de Abstracción del Hardware o HAL.
Executive
El Executive se relaciona con todos los subsistemas del modo usuario. Se encarga
de la Entrada/Salida, la gestión de objetos, la seguridad y la gestión de procesos.
Está dividido informalmente en varios subsistemas, entre los que se encuentran el
Gestor de Caché, el Gestor de Configuración, el Gestor de Entrada/Salida, las
Llamadas a Procedimientos Locales, el Gestor de Memoria, el Gestor de Objetos, la
Estructura de Procesos, y el Monitor de Referencias de Seguridad. Todos juntos, los
componentes pueden ser llamados Servicios Executive (nombre interno Ex). Los
Servicios del Sistema (nombre interno Nt), por ejemplo las llamadas al sistema, se
implementan en este nivel también, excepto unas pocas que son llamadas
directamente dentro de la capa del núcleo para obtener un mejor rendimiento.
El Gestor de Objetos (nombre interno Ob) es un subsistema especial del Executive
por el cual todos los otros subsistemas del Executive, especialmente las llamadas al
sistema, deben pasar para obtener acceso a los recursos de Windows 2000. Esto
hace que sea esencialmente un servicio de infraestructuras de gestión de recursos.
El gestor de objetos se usa para evitar la duplicación de la funcionalidad de la gestión
de objetos de recursos en los otros subsistemas del executive, que potencialmente
podría llevar a errores y complicar el diseño de Windows 2000. Para el gestor de
objetos, cada recurso es un objeto, independientemente de si el recurso es un
recurso físico (como un sistema de archivos o un periférico) o un recurso lógico
(como un archivo). Cada objeto tiene una estructura o tipo de objeto que el gestor de
objetos debe conocer.
La creación de objetos es un proceso realizado en dos fases, creación e inserción.
La creación provoca la asignación de un objeto vacío y la reserva de los recursos
necesarios por el gestor de objetos, como por ejemplo un nombre (opcional) en el
54
espacio de nombres. Si la creación se realiza correctamente, el subsistema
responsable de la creación rellena los datos del objeto. Finalmente, si el subsistema
considera que la inicialización fue correcta, avisa al gestor de objetos para que
inserte el objeto, que hace que sea accesible a través de su nombre (opcional) o una
cookie llamada puntero. Desde ese momento, la vida del objeto es controlada por el
gestor de objetos, y es obligación del subsistema mantener el objeto en
funcionamiento hasta que sea marcado por el gestor de objetos para su liberación.
El propósito de los punteros es similar al de los descriptores de archivo de UNIX, en
los que cada uno representa una referencia a un recurso del núcleo a través de un
valor oscuro. De forma similar, abrir un objeto a partir de su nombre está sujeto a
comprobaciones de seguridad, pero trabajar a través de uno ya existente sólo está
limitado al nivel de acceso necesario cuando el objeto fue abierto o creado. De
manera diferente a los descriptores de archivo de UNIX, múltiples punteros de
Windows pueden referenciar al mismo objeto (mientras que los descriptores de
archivo pueden ser duplicados, los duplicados referencian al mismo nodo de archivo,
pero a una única descripción de archivo).
Los tipos de objeto definen los procedimientos de los mismos y sus datos
específicos. De esta forma, el gestor de objetos permite a Windows 2000 ser un
sistema operativo orientado a objetos, ya que los tipos de objetos pueden ser
considerados como clases polimórficas que definen objetos. Sin embargo, la mayoría
de los subsistemas, confían en la implementación por defecto para todos los tipos de
objeto de los procedimientos.
Cada uno de los objetos que se crean, guardan su nombre, los parámetros que se
pasan a la función de creación del objeto, los atributos de seguridad y un puntero a
su tipo de objeto. El objeto también contiene un procedimiento para cerrarlo y un
contador de referencias para indicar al gestor de objetos cuántos objetos lo
referencian. De esta forma, el gestor de objetos, determina si el objeto puede ser
destruido cuando se le envía una petición para borrar el objeto. Todos los objetos
nombrados se encuentran en el objeto jerárquico del espacio de nombres.
55
Otros subsistemas executive son los siguientes:
Controlador de Caché (en inglés Cache Controller, nombre interno Cc): está
estrechamente relacionado con el Gestor de Memoria, el Gestor de
Entrada/Salida y los controladores de Entrada/Salida para proporcionar una
caché común para archivos frecuentes de E/S. El Gestor de Caché de
Windows opera únicamente con bloques de archivo (más que con bloques de
dispositivo), para realizar operaciones consistentes entre archivos locales y
remotos, y asegurar un cierto grado de coherencia con las páginas en
memoria de los archivos, ya que los bloques de caché son un caso especial
de las páginas en memoria y los fallos caché son un caso especial de los
fallos de página.
Un tema pendiente, desde hace tiempo, sobre la implementación existente es,
por qué no libera explícitamente los bloques que no han sido utilizados
durante mucho tiempo, dependiendo, en cambio, del algoritmo de asignación
de páginas del gestor de memoria para que las descarte finalmente de la
memoria física. Como efecto, algunas veces la caché crece
indiscriminadamente, obligando a otra memoria a ser paginada, muchas veces
reemplazando al proceso que comenzó la E/S, que termina gastando la mayor
parte de su tiempo de ejecución atendiendo fallos de página. Esto es más
visible cuando se copian archivos grandes.
Gestor de Configuración (en inglés Configuration Manager, nombre interno
Cm): implementa el registro de Windows.
Gestor de E/S (en inglés I/O Manager, nombre interno Io): permite a los
dispositivos comunicarse con los subsistemas del modo usuario. Se ocupa de
traducir los comandos de lectura y escritura del modo usuario a IRPs de
lectura o escritura que envía a los controladores de los dispositivos. También
acepta peticiones de E/S del sistema de archivos y las traduce en llamadas
específicas a los dispositivos, puede incorporar controladores de dispositivo
de bajo nivel que manipulan directamente el hardware para leer la entrada o
56
escribir una salida. También incluye un gestor de caché para mejorar el
rendimiento del disco guardando las peticiones de lectura y escribiendo a
disco en segundo plano.
Llamada a Procedimientos Locales (en inglés Local Procedure Call (LPC),
nombre interno Lpc): proporciona comunicación entre procesos a través de
puertos con conexión semántica. Los puertos LPC son usados por los
subsistemas del modo usuario para comunicarse con sus clientes, por los
subsistemas Executive para comunicarse con los subsistemas del modo
usuario, y como base para el transporte local para MSRPC.
Gestor de Memoria (en inglés Memory Manager, nombre interno Mm):
gestiona la memoria virtual, controlando la protección de memoria y el
paginado de memoria física al almacenamiento secundario, e implementa un
gestor de memoria física de propósito general. También implementa un parser
de Ejecutables Portables (en inglés, Portable Executable, PE) que permite a
un ejecutable ser mapeado o liberado en un paso único y atómico.
Comenzando en Windows NT Server 4.0, Terminal Server Edition, el gestor de
memoria implementa el llamado espacio de sesión, un rango de la memoria
del modo núcleo que es utilizada para cambio de contexto igual que la
memoria del modo usuario. Esto permite que varias instancias del subsistema
Win32 y controladores GDI se ejecuten conjuntamente, a pesar de algunos
defectos de su diseño inicial. Cada espacio de sesión es compartido por varios
procesos, denominado conjuntamente como "sesión".
Para asegurar el nivel de aislamiento entre sesiones sin introducir un nuevo
tipo de objeto, el aislamiento entre procesos y sesiones es gestionado por el
Monitor de Referencias de Seguridad, como un atributo de un objeto de
seguridad (testigo), y sólo puede ser cambiado si se tienen privilegios
especiales.
57
La naturaleza relativamente poco sofisticada y ad-hoc de las sesiones es
debida al hecho de que no fueron parte del diseño inicial, y tuvieron que ser
desarrolladas, con mínima interrupción a la línea principal, por un tercer grupo
(Citrix) como requisito para su producto de terminal server para Windows NT,
llamado WinFrame. Comenzando con Windows Vista, las sesiones finalmente
se convirtieron en un aspecto propio de la arquitectura de Windows. A partir
de ahora un gestor de memoria que furtivamente entra en modo usuario
a través de Win32, eran expandidos en una abstracción dominante
afectando a la mayoría de los subsistemas Executive. En realidad, el uso
habitual de Windows Vista siempre da como consecuencia un entorno multi-
sesión.5
Estructura de Procesos (en inglés Process Structure, nombre interno Ps):
gestiona la creación y finalización de procesos e hilos, e implementa el
concepto de trabajo (job), un grupo de procesos que pueden ser finalizados
como un conjunto, o pueden ser puestos bajo restricciones compartidas (como
un máximo de memoria asignada, o tiempo de CPU).
Gestor de PnP (en inglés PnP Manager, nombre interno Pnp): gestiona el
servicio de Plug and Play, mantiene la detección de dispositivos y la
instalación en el momento del arranque. También tiene la responsabilidad de
parar y arrancar dispositivos bajo demanda, esto puede suceder cuando un
bus (como un USB o FireWire) detecta un nuevo dispositivo y necesita tener
cargado un controlador para acceder a él. Su mayor parte está implementada
en modo usuario, en el Servicio Plug and Play, que gestiona las tareas, a
menudo complejas, de instalación de los controladores apropiados, avisando a
los servicios y aplicaciones de la llegada de nuevos servicios, y mostrando el
GUI al usuario.
Gestor de Energía (en inglés Power Manager, nombre interno Po): se ocupa
de los eventos de energía (apagado, modo en espera, hibernación, etc.) y
notifica a los controladores afectados con IRPs especiales (IRPs de Energía).
58
Monitor de Referencias de Seguridad (en inglés Security Reference Monitor
(SRM), nombre interno Se): es la autoridad principal para hacer cumplir las
reglas del subsistema de seguridad integral.6 Determina cuándo un objeto o
recurso puede ser accedido, a través del uso de listas de control de acceso
(en inglés Access Control List, ACL), que están formadas por entradas de
control de acceso (en inglés Access Control Entries, ACE). Los ACEs
contienen un identificador de seguridad (en inglés, Security Identifier,
SID) y una lista de operaciones que el ACE proporciona a un grupo de
confianza — una cuenta de usuario, una cuenta de grupo, o comienzo de
sesión7 — permiso (permitir, denegar, o auditar) a ese recurso.8 9
Núcleo
El núcleo del sistema operativo se encuentra entre el HAL y el Executive y
proporciona sincronización multiprocesador, hilos y envío y planificación de
interrupciones, gestión de interrupciones y envío de excepciones, también es
responsable de la inicialización de controladores de dispositivos que son necesarios
en el arranque para mantener el sistema operativo funcionando. Esto es, el núcleo
realiza casi todas las tareas de un micronúcleo tradicional, la distinción estricta entre
el Executive y el núcleo son los mayores restos en este último del diseño original del
micronúcleo, y que la documentación histórica del diseño se refiere al componente
del núcleo como "el micronúcleo".
El núcleo a menudo interactúa con el gestor de procesos. El nivel de abstracción es
tal que el núcleo nunca llama al gestor de procesos, únicamente se permite al revés
(salvo para un puñado de casos, sin llegar aún hasta el punto de una dependencia
funcional).
Controladores del modo Núcleo
Windows 2000 utiliza los controladores de dispositivo del modo núcleo para permitirle
interactuar con los dispositivos hardware. Cada uno de los controladores tienen
rutinas de sistema bien definidas y rutinas internas que exporta al resto de sistemas
59
operativos. Todos los dispositivos son vistos por el modo usuario como un objeto
archivo en el gestor de Entrada/Salida, a través del gestor de E/S mismo, los
dispositivos son vistos como objetos de dispositivo, que él define tanto como objetos
archivo, dispositivo o controlador. Los controladores del modo núcleo se encuentran
en tres niveles: controladores de alto nivel, controladores intermedios y controladores
de bajo nivel. Los controladores de alto nivel, como controladores de sistemas de
archivos para FAT y NTFS, dependen de controladores intermedios. Los
controladores intermedios se componen de funciones controladores — o
controladores principales para un dispositivo — que opcionalmente son intercalados
entre filtros de controladores de bajo y alto nivel. Las funciones controlador dependen
de un controlador de bus — o un controlador que sirve a un controlador de bus,
adaptador o puente — que puede tener un filtro controlador de bus opcional que se
encuentra entre él mismo y la función controlador. El modelo de controladores de
Windows (en inglés Windows Driver Model, WDM) se encuentra en la capa
intermedia. El nivel más bajo de controladores son también herencia de los
controladores de dispositivo de Windows NT que controlan un dispositivo
directamente o que pueden ser un bus hardware PnP. Esos controladores de bajo
nivel controlan directamente el hardware y no se basan en otros.
Capa de abstracción de hardware
La capa de abstracción de hardware, o HAL (en inglés Hardware Abstraction Layer),
es una capa que se encuentra entre el hardware físico de la computadora y el resto
del sistema operativo. Fue diseñado para ocultar las diferencias de hardware y por
tanto proporciona una plataforma consistente en la cual las aplicaciones pueden
ejecutarse. La HAL incluye código dependiente del hardware que controla los
interfaces de E/S, controladores de interrupciones y múltiples procesadores.
En particular, la "abstracción hardware" no implica abstraer el conjunto de
instrucciones, que generalmente se engloba bajo el concepto más amplio de
portabilidad. La abstracción del conjunto de instrucciones, cuando es necesario
60
(como para gestionar varias revisiones del conjunto de instrucciones del x86, o la
emulación de un coprocesador matemático inexistente), es realizada por el núcleo.
A pesar de su propósito y su posición dentro del diseño de la arquitectura, el HAL no
es una capa que se encuentre completamente debajo del núcleo de la misma forma
que el núcleo se encuentra debajo del Executive: todas las implementaciones
conocidas del HAL dependen de alguna manera del núcleo, o incluso del Executive.
En la práctica, esto significa que el núcleo y las variaciones del HAL se distribuyen
conjuntamente, generados específicamente para trabajar juntos.
3.2. WINDOWS 2000
Windows 2000 es un sistema operativo de Microsoft que se puso en circulación el
17 de febrero de 2000 con un cambio de nomenclatura para su sistema NT. Así,
Windows NT 5.0 pasó a llamarse Windows 2000. Fue sucedido por Windows XP
para equipos de escritorio en octubre de 2001 y Windows Server 2003 para
servidores en abril de 2003.
Windows 2000 es un sistema operativo para empresas y es ideal para ejecutar
servidores de red o los servidores de archivo. Dentro de las tareas que puede
realizar se incluyen: crear cuentas de usuarios, asignar recursos y privilegios, actuar
como servidor web, FTP, servidor de impresión, DNS o resolución de nombres de
dominio, servidor DHCP, entre otros servicios básicos. Otra de las funciones que
tiene, es como en todo sistema Windows la opción de utilizarlo como una estación de
trabajo más de la red. Dicho sistema operativo es muy eficiente y su principal punto
fuerte es el Active Directory (Directorio Activo), herramienta desde la cual se puede
administrar toda la infraestructura de una organización.
En este sistema operativo, se introdujeron algunas modificaciones respecto a sus
predecesores como el sistema de archivos NTFS 5, con la capacidad de cifrar y
comprimir archivos. Introdujo también las mejoras en el sistema de componentes
COM, introduciendo COM+ que unificó en un solo paquete de los servicios anexados
61
y la tecnología COM y MTS de Windows NT4, con nuevas ventajas en el ámbito
empresarial.
Historia
Windows 2000 es la continuación de la familia de sistemas operativos de Microsoft,
que sustituye a Windows NT 4.0. Originalmente fue llamado Windows NT 5.0, pero
Microsoft cambió el nombre a Windows 2000 el 27 de octubre de 1998. Aunque el
nombre en clave de Windows 2000 Service Pack 1 iba ser "Asteroid" y el de
Windows 2000 64-bit iba ser "Janus" (no debe confundirse con Windows 3.1, que
tenía el mismo nombre en clave), esta es la primera versión de Windows que no
tiene nombres en clave. La primera versión beta de Windows 2000 se publicó en
septiembre de 1997 y varias betas fueron producidas hasta llegar a la Beta 3, que fue
lanzada el 29 de abril de 1999. Durante el desarrollo de Windows 2000 hubo un DEC
Alpha, una Beta que fue abandonada luego y se produjo la beta RC1, luego de
Compaq anunció que no apoyaba más a Microsoft en la construcción de Windows
2000. Desde entonces, Microsoft publicó tres candidatos entre julio y noviembre de
1999, y finalmente se liberó el sistema operativo a las empresas el 12 de diciembre
de 1999. El público en general pudo empezar a comprar la versión completa de
Windows 2000 el 17 de febrero de 2000. Tres días antes de este evento, Microsoft
anunció "un nivel alto de fiabilidad" en su sistema operativo, pero en un
memorándum filtrado desde Microsoft, Mary Jo Foley reveló que Windows 2000 tenía
"más de 63.000 defectos potenciales conocidos". Después de la publicación del
artículo de Foley, Microsoft tuvo a Foley en la lista negra por un tiempo considerable.
Microsoft anunció en su boletín semanal que "Nuestras pruebas demuestran que el
sucesor de NT 4.0 es todo lo que esperábamos que sería. Por supuesto, tampoco es
perfecto.‖ Wired News describió como "mediocre" al sistema operativo luego de que
fuera puesto en marcha en el mes de febrero. Novell criticó el Active Directory de
Microsoft, la nueva arquitectura de servicios de directorio, como menos escalable y
fiable que su propia Novell Directory Services (NDS).
62
Con Windows 2000 Microsoft preveía sustituir Windows 98 y Windows NT 4.0. Sin
embargo, eso cambió después, ya que una versión actualizada de Windows 98
llamada Windows 98 Second Edition fue lanzada en 1999 y Windows Me fue lanzado
a finales de 2000. Cerca del lanzamiento de Windows 2000 Service Pack 1, Microsoft
lanzó Windows 2000 Datacenter Server, dirigidas a grandes sistemas de
computación y con soporte para 32 procesadores, el 29 de septiembre de 2000.
Poco antes del 12 de febrero de 2004, Microsoft anunció que "partes del código
fuente de Microsoft Windows 2000 y Windows NT 4.0 están ilegalmente disponibles
en internet". El origen de la fuga no fue reportado. Microsoft publicó la siguiente
declaración:
"El Código fuente de Microsoft contiene derechos de autor y está protegido como
secreto comercial. Como tal, es ilegal ponerla a disposición de otros usuarios,
descargarlo o usarlo".
A pesar de las advertencias, el archivo que contiene el código fue difundido
ampliamente en internet. El 16 de febrero de 2004, se descubrió un exploit que fue
"supuestamente descubierto por un particular estudio del código fuente" en ciertas
versiones de Microsoft Internet Explorer se informó.
Versiones
Existen cuatro variantes de Windows 2000 que son: Professional, Server ,
Advanced Server y Datacenter Server. Estas dos últimas variantes son
ampliaciones del propio Windows 2000 Server.
Windows 2000 server
Está destinada a ser el servidor de archivos, impresión, web, FTP de una pequeña o
mediana empresa. Su antecesor es Windows NT 4.0 Server. Es ideal para cuando no
63
se requiere de un servidor dedicado a cada tarea o departamento, logrando de esta
manera mantener todo centralizado en un solo servidor.
Windows 2000 advanced server
Windows 2000 Advanced Server es el sucesor de Windows NT Server 4.0
Enterprise Edition. Este sistema está orientado a empresas de medianas a grandes
que ya tienen una mayor demanda por parte de los clientes (es decir, los usuarios de
la red) para ejecutar aplicaciones de negocios en línea como soluciones en comercio
electrónico y punto.com. Ofrece una estructura completa de clústeres para alta
disponibilidad y escalabilidad y admite el multiprocesamiento simétrico de ocho vías
(SMP), además de memoria hasta de 8 GB con la Extensión de dirección física de
Intel (PAE). Soporta hasta 8 procesadores, soporte RAID y tolerancia a fallas. Su
principal función es la de servidor de aplicaciones o de tareas crítica dentro de una
organización grande. En general en estos casos, la demanda no es toda de un
servidor sino de varios.
Windows 2000 datacenter edición
Windows 2000 Datacenter Server es una versión de primer nivel especializada para
Windows 2000 Server, que admite el multiprocesamiento simétrico (SMP) de 32
vías y hasta 64 GB de memoria física. Al igual que Windows 2000 Advanced
Server, proporciona los servicios de clústeres y equilibrio de carga al igual que las
funciones estándar. Está destinado a servidores muy potentes, pensado para, por
ejemplo simulaciones espaciales, cálculos matemáticos complejos, simulaciones de
ingeniería, etc. También se lo utiliza para manejar grandes volúmenes de datos,
como por ejemplo procesamiento de transacciones en línea, proyectos de
consolidación de servidor así como para ISP a gran escala y alojamiento de sitios
Web (de allí su nombre Datacenter Edition).
64
Por otra parte Microsoft desarrollo una versión de edición limitada de Advanced
Server Limited Edition, la cual salió al mercado en 2001 y se ejecuta sobre
procesadores Itanium 64-bit de Intel.
Estado actual
Windows 2000 fue sucedido por nuevos sistemas operativos de Microsoft. La línea
Windows 2000 Server ha sido reemplazada por Windows Server 2003, y Windows
2000 Professional con Windows XP Professional. La familia de sistemas operativos
Windows 2000 hizo su avance desde la Fase de Soporte Principal a la Fase de
Soporte Extendido el 30 de junio de 2005. Microsoft dice que esto marca la
progresión del producto a través de su Directiva de Ciclo de Vida de Productos. Bajo
la Fase de Soporte Extendido, Microsoft continuará entregando actualizaciones
críticas de seguridad mensuales y soporte telefónico pagado. Sin embargo, el
soporte técnico gratuito y cambios en el diseño del sistema no serán proporcionados.
Debido a la antigüedad de Windows 2000, Microsoft no ofrecerá componentes
actuales tales como Internet Explorer 7. La compañía dice que IE7 depende de
características de seguridad diseñadas sólo para Windows XP Service Pack 2 y
Windows Vista, y no puede ser desarrollado bajo la plataforma Windows 2000. Por
su parte, Microsoft ha recomendado a las empresas que aún mantienen como
Sistema Operativo a Windows 2000 se actualicen a Windows Server 2003 o
Windows Vista para mejorar la seguridad. Todo el soporte de Windows 2000
incluidas las actualizaciones de seguridad finalizó el 13 de julio de 2010.
A lo largo de su vida, Windows 2000 recibió 4 Service Packs y un "Update Rollup"
para el Service Pack 4, su último Service Pack. Los SP son: Service Pack 1 (SP1) el
15 de agosto de 2000, Service Pack 2 (SP2) el 16 de mayo de 2001, Service Pack 3
(SP3) el 29 de agosto de 2002 y el Service Pack 4 (SP4) el 26 de junio de 2003.
Microsoft retiró el desarrollo de la Máquina Virtual Java (JVM) de Windows 2000 en
el Service Pack 3. Muchos usuarios esperaron el Service Pack 5, pero Microsoft
canceló tempranamente este proyecto y en vez de eso presentó el "Update Rollup 1"
65
para Service Pack 4, la cual es la colección de todos los parches de seguridad y
otras cosas significativas. Sin embargo, no incluye todos los parches que no son de
seguridad y no fue probado extensivamente como se le realiza a un Service Pack.
Microsoft enfatiza que esta actualización reúne de mejor manera lo que los usuarios
necesitan en vez de un SP nuevo, y contribuirá a los clientes de Windows 2000 a
mantener seguros sus PC, reducir los costos de soporte, y permitir que sus sistemas
soporten la generación actual de hardware de computación.
3.3. UNIX
Unix (registrado oficialmente como UNIX®) es un sistema operativo portable,
multitarea y multiusuario; desarrollado, en principio, en 1969 por un grupo de
empleados de los laboratorios Bell de AT&T, entre los que figuran Ken Thompson,
Dennis Ritchie y Douglas McIlroy.
«Después de treinta años de su creación, UNIX sigue siendo un fenómeno»
Dennis Ritchie
Hasta 2009, el propietario de la marca UNIX® fue The Open Group, un consorcio de
normalización industrial. A partir de marzo de 2010 y tras una larga batalla legal, esta
ha pasado nuevamente a ser propiedad de Novell, Inc. Sólo los sistemas totalmente
compatibles y que se encuentran certificados por la especificación Single UNIX
Specification pueden ser denominados "UNIX®" (otros reciben la denominación
"similar a un sistema Unix" o "similar a Unix"). En ocasiones, suele usarse el término
"Unix tradicional" para referirse a Unix o a un sistema operativo que cuenta con las
características de UNIX Versión 7 o UNIX System V.
66
Historia
A finales de 1960, el Instituto Tecnológico de Massachusetts, los Laboratorios Bell de
AT&T y General Electric trabajaban en un sistema operativo experimental llamado
Multics (Multiplexed Information and Computing Service), desarrollado para
ejecutarse en una computadora central (mainframe) modelo GE-645. El objetivo del
proyecto era desarrollar un gran sistema operativo interactivo que contase con
muchas innovaciones, entre ellas mejoras en las políticas de seguridad. El proyecto
consiguió dar a luz versiones para producción, pero las primeras versiones contaban
con un pobre rendimiento. Los laboratorios Bell de AT&T decidieron desvincularse y
dedicar sus recursos a otros proyectos.
Uno de los programadores del equipo de los laboratorios Bell, Ken Thompson, siguió
trabajando para la computadora GE-635 y escribió un juego llamado Space Travel,
(Viaje espacial). Sin embargo, descubrió que el juego era lento en la máquina de
General Electric y resultaba realmente caro, algo así como 75 dólares de EE.UU. por
cada partida.
De este modo, Thompson escribió nuevamente el programa, con ayuda de Dennis
Ritchie, en lenguaje ensamblador, para que se ejecutase en una computadora DEC
PDP-7. Esta experiencia, junto al trabajo que desarrolló para el proyecto Multics,
condujo a Thompson a iniciar la creación de un nuevo sistema operativo para la DEC
PDP-7. Thompson y Ritchie lideraron un grupo de programadores, entre ellos a Rudd
Canaday, en los laboratorios Bell, para desarrollar tanto el sistema de ficheros como
el sistema operativo multitarea en sí. A lo anterior, agregaron un intérprete de
órdenes (o intérprete de comandos) y un pequeño conjunto de programas. El
proyecto fue bautizado UNICS, como acrónimo Uniplexed Information and
Computing System, pues sólo prestaba servicios a dos usuarios (de acuerdo con
Andrew Tanenbaum, era sólo a un usuario). La autoría de esta sigla se le atribuye a
Brian Kernighan, ya que era un hack de Multics. Dada la popularidad que tuvo un
juego de palabras que consideraba a UNICS un sistema MULTICS castrado (pues
67
eunuchs, en inglés, es un homófono de UNICS), se cambió el nombre a UNIX, dando
origen al legado que llega hasta nuestros días.
Hasta ese instante, no había existido apoyo económico por parte de los laboratorios
Bell, pero eso cambió cuando el Grupo de Investigación en Ciencias de la
Computación decidió utilizar UNIX en una máquina superior a la PDP-7. Thompson y
Ritchie lograron cumplir con la solicitud de agregar herramientas que permitieran el
procesamiento de textos a UNIX en una máquina PDP-11/20, y como consecuencia
de ello consiguieron el apoyo económico de los laboratorios Bell. Fue así como por
vez primera, en 1970, se habla oficialmente del sistema operativo UNIX ejecutado en
una PDP-11/20. Se incluía en él un programa para dar formato a textos (runoff) y un
editor de texto. Tanto el sistema operativo como los programas fueron escritos en el
lenguaje ensamblador de la PDP-11/20. Este "sistema de procesamiento de texto"
inicial, compuesto tanto por el sistema operativo como de runoff y el editor de texto,
fue utilizado en los laboratorios Bell para procesar las solicitudes de patentes que
ellos recibían. Pronto, runoff evolucionó hasta convertirse en troff, el primer programa
de edición electrónica que permitía realizar composición tipográfica. El 3 de
noviembre de 1971 Thomson y Ritchie publicaron un manual de programación de
UNIX (título original en inglés: "UNIX Programmer's Manual").
En 1972 se tomó la decisión de escribir nuevamente UNIX, pero esta vez en el
lenguaje de programación C. Este cambio significaba que UNIX podría ser fácilmente
modificado para funcionar en otras computadoras (de esta manera, se volvía
portable) y así otras variaciones podían ser desarrolladas por otros programadores.
Ahora, el código era más conciso y compacto, lo que se tradujo en un aumento en la
velocidad de desarrollo de UNIX. AT&T puso a UNIX a disposición de universidades
y compañías, también al gobierno de los Estados Unidos, a través de licencias. Una
de estas licencias fue otorgada al Departamento de Computación de la Universidad
de California, con sede en Berkeley. En 1975 esta institución desarrolló y publicó su
propio sucedáneo de UNIX, conocida como Berkeley Software Distribution (BSD),
que se convirtió en una fuerte competencia para la familia UNIX de AT&T.
68
Mientras tanto, AT&T creó una división comercial denominada Unix Systems
Laboratories para la explotación comercial del sistema operativo. El desarrollo
prosiguió, con la entrega de las versiones 4, 5 y 6 en el transcurso de 1975. Estas
versiones incluían los pipes o tuberías, lo que permitió dar al desarrollo una
orientación modular respecto a la base del código, consiguiendo aumentar aún más
la velocidad de desarrollo. Ya en 1978, cerca de 600 o más máquinas estaban
ejecutándose con alguna de las distintas encarnaciones de UNIX.
La versión 7, la última versión del UNIX original con amplia distribución, entró en
circulación en 1979. Las versiones 8, 9 y 10 se desarrollaron durante la década de
1980, pero su circulación se limitó a unas cuantas universidades, a pesar de que se
publicaron los informes que describían el nuevo trabajo. Los resultados de esta
investigación sirvieron de base para la creación de Plan 9 from Bell Labs, un nuevo
sistema operativo portable y distribuido, diseñado para ser el sucesor de UNIX en
investigación por los Laboratorios Bell.
AT&T entonces inició el desarrollo de UNIX System III, basado en la versión 7, como
una variante de tinte comercial y así vendía el producto de manera directa. La
primera versión se lanzó en 1981. A pesar de lo anterior, la empresa subsidiaria
Western Electric seguía vendiendo versiones antiguas de Unix basadas en las
distintas versiones hasta la séptima. Para finalizar con la confusión con todas las
versiones divergentes, AT&T decidió combinar varias versiones desarrolladas en
distintas universidades y empresas, dando origen en 1983 al Unix System V Release
1. Esta versión presentó características tales como el editor Vi y la biblioteca curses,
desarrolladas por Berkeley Software Distribution en la Universidad de California,
Berkeley. También contaba con compatibilidad con las máquinas VAX de la
compañía DEC.
En 1993, la compañía Novell adquirió la división Unix Systems Laboratories de AT&T
junto con su propiedad intelectual. Esto ocurrió en un momento delicado en el que
Unix Systems Laboratories disputaba una demanda en los tribunales contra BSD por
69
infracción de los derechos de copyright, revelación de secretos y violación de marca
de mercado.
BSD no solamente ganó el juicio sino que cambiaron tornas descubriendo que
grandes porciones del código de BSD habían sido copiadas ilegalmente en UNIX
System V. En realidad, la propiedad intelectual de Novell (recién adquirida de Unix
Systems Laboratories) se reducía a unos pocos ficheros fuente. La correspondiente
contra-demanda acabó en un acuerdo extrajudicial cuyos términos permanecen bajo
secreto a petición de Novell.
Aproximadamente por esa misma fecha, un estudiante de ciencias de la computación
llamado Linus Torvalds desarrolló un núcleo para computadoras con arquitectura de
procesador Intel x86 que mimetizaba muchas de las funcionalidades de UNIX y lo
lanzó en forma de código abierto en 1991, bajo el nombre de Linux. En 1992, el
Proyecto GNU comenzó a utilizar el núcleo Linux junto a sus programas.
En 1995, Novell vendió su división UNIX comercial (es decir, la antigua Unix Systems
Laboratories) a Santa Cruz Operation (SCO) reservándose, aparentemente, algunos
derechos de propiedad intelectual sobre el software. SCO continúa la
comercialización de System V en su producto UnixWare, que durante cierto tiempo
pasó a denominarse OpenUnix, aunque ha retomado de nuevo el nombre de
UnixWare.
Familias
Como se puede deducir de esta breve reseña histórica, existen varias familias del
sistema operativo UNIX, que han evolucionado de manera independiente a lo largo
de los años. Cada familia se distingue no tanto por sus diferencias técnicas como por
sus diferencias en propiedad intelectual. Se observa que todas las familias se han
visto contaminadas, directa o indirectamente, por otras familias.
70
Familias Unix más significativas
AT&T: la familia que tuvo su origen en el UNIX de AT&T. Considerada la
familia UNIX "pura" y original. Sus sistemas operativos más significativos son
UNIX System III y UNIX System V.
BSD: familia originada por el licenciamiento de UNIX a Berkely. BSD se
reescribió para no incorporar propiedad intelectual originaria de AT&T en la
versión 4. La primera implementación de los protocolos TCP/IP que dieron
origen a Internet son la pila (stack) TCP/IP BSD.
AIX: Esta familia surge por el licenciamiento de UNIX System III a IBM.
Xenix: familia derivada de la adquisición de los derechos originales de AT&T
primero por parte de Microsoft y de esta los vendió a SCO.
GNU: En 1983, Richard Stallman anunció el Proyecto GNU, un ambicioso
esfuerzo para crear un sistema similar a Unix, que pudiese ser distribuido
libremente. El software desarrollado por este proyecto -por ejemplo, GNU
Emacs y GCC - también han sido parte fundamental de otros sistemas UNIX.
Linux: En 1991, cuando Linus Torvalds empezó a proponer el núcleo Linux y a
reunir colaboradores, las herramientas GNU eran la elección perfecta. Al
combinarse ambos elementos, conformaron la base del sistema operativo
(basado en POSIX) que hoy se conoce como GNU/Linux. Las distribuciones
basadas en el núcleo, el software GNU y otros agregados entre las que se
pueden mencionar a Slackware Linux, Red Hat Linux y Debian GNU/Linux se
han hecho populares tanto entre los aficionados a la computación como en el
mundo empresarial. Obsérvese que Linux tiene un origen independiente, por
lo que se considera un 'clónico' de UNIX y no un UNIX en el sentido histórico.
71
Las interrelaciones entre estas familias son las siguientes, aproximadamente en
orden cronológico:
La familia BSD surge del licenciamiento del UNIX original de AT&T.
Xenix también surge por licenciamiento del UNIX original de AT&T, aunque
aún no era propiedad de SCO.
AIX surge por licenciamiento de UNIX System III, pero también incorpora
propiedad intelectual de BSD.
La familia original AT&T incorpora ilegalmente propiedad intelectual de BSD
en UNIX System III r3.
La familia AIX vuelve a incorporar propiedad intelectual de la familia AT&T,
esta vez procedente de UNIX System V.
Linux incorpora propiedad intelectual de BSD, gracias a que éste también se
libera con una licencia de código abierto denominada Open-source BSD.
Según SCO Group, Linux incorpora propiedad intelectual procedente de AIX,
gracias a la colaboración de IBM en la versión 2.4, más aún no está
demostrado, hay un proceso judicial al respecto: Disputas de SCO sobre
Linux.
La marca
UNIX es una marca registrada de The Open Group en Estados Unidos y otros
países. Esta marca sólo se puede aplicar a los sistemas operativos que cumplen la
"Single Unix Specification" de esta organización y han pagado las regalías
establecidas.
72
En la práctica, el término UNIX se utiliza en su acepción de familia. Se aplica también
a sistemas multiusuario basados en POSIX (tales como GNU/Linux, Mac OS X [el
cual, en su versión 10.5 ya ha alcanzado la certificación UNIX], FreeBSD, NetBSD,
OpenBSD), los cuales no buscan la certificación UNIX por resultar cara para
productos destinados al consumidor final o que se distribuyen libremente en Internet.
En estos casos, el término se suele escribir como "UN*X", "*NIX", o "*N?X".
Implementaciones más importantes
A lo largo de la historia ha surgido una gran multitud de implementaciones
comerciales de UNIX. Sin embargo, un conjunto reducido de productos han
consolidado el mercado y prevalecen gracias a un continuo esfuerzo de desarrollo
por parte de sus fabricantes. Los más importantes son:
Solaris 10, un sistema operativo derivado de la rama BSD
Solaris de Sun Microsystems. Uno de los sistemas operativos Unix más
difundidos en el entorno empresarial y conocido por su gran estabilidad. Parte
del código fuente de Solaris se ha liberado con licencia de fuentes abiertas
(OpenSolaris).
AIX de IBM. El UNIX "propietario" de IBM ha cumplido 20 años de vida en el
2006 y continúa en pleno desarrollo, con una perceptible herencia del
mainframe en campos como la virtualización o la RAS de los servicios,
heredada de sus "hermanos mayores".
HP-UX de Hewlett-Packard. Este sistema operativo también nació ligado a las
computadoras departamentales de este fabricante. También es un sistema
operativo estable que continua en desarrollo.
73
Mac OS X. Curiosamente sus propios usuarios suelen desconocer que se
trata de un UNIX completo, aprobado por The Open Group. Su diferencia
marcada es que posee una interfaz gráfica propietaria llamada Aqua, y es
principalmente desarrollada en Objective-C en lugar de C o C++.
Existen sistemas operativos basados en el núcleo Linux, y el conjunto de
aplicaciones GNU (también denominado GNU/Linux), entre las más utilizadas
encontramos:
Red Hat Enterprise Linux. Cuyo fabricante Red Hat es conocido por su amplia
gama de soluciones y aportes al desarrollo de software libre. Apoya el
proyecto Fedora del cual se beneficia y de ella se derivan distribuciones
compatibles como Oracle Enterprise Linux y CentOS, también distribuciones
como Mandriva Linux, se basó en una de sus primeras versiones.
SUSE Linux de Novell. Originalmente liberado por la compañía alemana
SuSE. Es popular por sus herramientas de administración centralizada. De
manera análoga a Fedora con RedHat, Apoya el proyecto openSUSE.
Debian GNU/Linux. Con una de las comunidades más grandes y antiguas del
movimiento de software libre, es base para distribuciones como Xandros,
Mepis, Linspire y Ubuntu.
También son populares los sistemas operativos descendientes del 4.4BSD:
FreeBSD. Quizá el sistema operativo más popular de la familia, de propósito
múltiple. Con una implementación SMP muy elaborada, es el sistema
operativo utilizado por los servidores de Yahoo. Y base de muchos sistemas
operativos entre ellos Mac OS X de Apple.
74
OpenBSD. Ampliamente reconocida por su seguridad proactiva y auditoría
permanente del código fuente. Es utilizada en ambientes donde la seguridad
prima sobre todo, es usual encontrarlo instalado en servidores que actúan
como Firewall, VPN o Proxy.
NetBSD . Se le conoce por su portabilidad, a octubre de 2008: 53
arquitecturas soportadas. La NASA lo ha utilizado para la investigación en
redes TCP/IP satelitales, al igual que para reciclar computadoras viejas con
software moderno.
Las siguientes implementaciones de UNIX tienen importancia desde el punto de vista
histórico, no obstante, actualmente están en desuso:
Tru64 UNIX actualmente de Hewlett-Packard (antes de Compaq y
originalmente de Digital Equipment Corporation).
UnixWare y SCO OpenServer anteriormente de Santa Cruz Operation y ahora
de SCO Group.
UX/4800 de NEC.
IRIX de Silicon Graphics Inc.
3.4. GNU/LINUX
GNU/Linux es uno de los términos empleados para referirse a la combinación del
núcleo o kernel libre similar a Unix denominado Linux, que es usado con
herramientas de sistema GNU. Su desarrollo es uno de los ejemplos más
prominentes de software libre; todo su código fuente puede ser utilizado, modificado
y redistribuido libremente por cualquiera bajo los términos de la GPL (Licencia
75
Pública General de GNU, en inglés: General Public License) y otra serie de licencias
libres.
A pesar de que Linux (núcleo) es, en sentido estricto, el sistema operativo,2 parte
fundamental de la interacción entre el núcleo y el usuario (o los programas de
aplicación) se maneja usualmente con las herramientas del proyecto GNU o de otros
proyectos como GNOME. Sin embargo, una parte significativa de la comunidad, así
como muchos medios generales y especializados, prefieren utilizar el término Linux
para referirse a la unión de ambos proyectos. Para más información consulte la
sección "Denominación GNU/Linux" o el artículo "Controversia por la denominación
GNU/Linux".
A las variantes de esta unión de programas y tecnologías, a las que se les adicionan
diversos programas de aplicación de propósitos específicos o generales se las
denomina distribuciones. Su objetivo consiste en ofrecer ediciones que cumplan con
las necesidades de un determinado grupo de usuarios. Algunas de ellas son
especialmente conocidas por su uso en servidores y supercomputadoras. Donde
tiene la cuota más importante del mercado. Según un informe de IDC, GNU/Linux es
utilizado por el 78% de los principales 500 servidores del mundo,4 otro informe le da
una cuota de mercado de % 89 en los 500 mayores supercomputadores. Con menor
cuota de mercado el sistema GNU/Linux también es usado en el segmento de las
computadoras de escritorio, portátiles, computadoras de bolsillo, teléfonos móviles,
sistemas embebidos, videoconsolas y otros dispositivos.
Etimología
El nombre GNU, GNU's Not Unix (GNU no es Unix), viene de las herramientas
básicas de sistema operativo creadas por el proyecto GNU, iniciado por Richard
Stallman en 1983 y mantenido por la FSF. El nombre Linux viene del núcleo Linux,
inicialmente escrito por Linus Torvalds en 1991.
76
La contribución de GNU es la razón por la que existe controversia a la hora de utilizar
Linux o GNU/Linux para referirse al sistema operativo formado por las herramientas
de GNU y el núcleo Linux en su conjunto.
Historia
El proyecto GNU, que fue iniciado en 1983 por ,Richard Stallman; tiene como
objetivo el desarrollo de un sistema operativo Unix completo y compuesto
enteramente de software libre. La historia del núcleo Linux está fuertemente
vinculada a la del proyecto GNU. En 1991 Linus Torvalds empezó a trabajar en un
reemplazo no comercial para MINIX que más adelante acabaría siendo Linux.
Cuando Torvalds liberó la primera versión de Linux, el proyecto GNU ya había
producido varias de las herramientas fundamentales para el manejo del sistema
operativo, incluyendo un intérprete de comandos, una biblioteca C y un compilador,
pero como el proyecto contaba con una infraestructura para crear su propio sistema
operativo, el llamado Hurd, y este aún no era lo suficiente maduro para usarse,
comenzaron a usar a Linux a modo de continuar desarrollando el proyecto GNU,
siguiendo la tradicional filosofía de mantener cooperatividad entre desarrolladores. El
día en que se estime que Hurd es suficiente maduro y estable, será llamado a
reemplazar a Linux.
Entonces, el núcleo creado por Linus Torvalds, quien se encontraba por entonces
estudiando en la Universidad de Helsinki, llenó el "espacio" final que había en el
sistema operativo de GNU.
Entorno grafico
Linux puede funcionar tanto en entorno gráfico como en modo consola. La consola
es común en distribuciones para servidores, mientras que la interfaz gráfica está
orientada al usuario final tanto de hogar como empresarial. Un escritorio es un
77
conjunto de elementos conformado por ventanas, iconos y similares que facilitan la
utilización del computador. Los escritorios más populares en Linux, en orden
alfabético son GNOME, KDE, LXDE, Xfce y Xf.
Como sistema de programación
La colección de utilidades para la programación de GNU es con diferencia la familia
de compiladores más utilizada en este sistema operativo. Tiene capacidad para
compilar C, C++, Java, Ada, entre otros muchos lenguajes. Además soporta diversas
arquitecturas mediante la compilación cruzada, lo que hace que sea un entorno
adecuado para desarrollos heterogéneos.
Hay varios entornos de desarrollo integrados disponibles para GNU/Linux incluyendo,
Anjuta, KDevelop, Ultimate++, Code::Blocks, NetBeans IDE y Eclipse. También
existen editores extensibles como Emacs o Vim. GNU/Linux también dispone de
capacidades para lenguajes de guión (script), aparte de los clásicos lenguajes de
programación de shell, o el de procesador de textos por patrones y expresiones
regulares llamado awk, la mayoría de las distribuciones tienen instalado Python, Perl,
PHP y Ruby.
Aplicaciones de usuario
Las aplicaciones para Linux se distribuyen principalmente en los formatos
principalmente .deb y .rpm, los cuales fueron creados por los desarrolladores de
Debian y Red Hat respectivamente. También existe la probabilidad de instalar
aplicaciones a partir de código fuente en todas las distribuciones.
Software de código cerrado para GNU/LINUX
Durante la etapa temprana había pocas aplicaciones de código cerrado para
GNU/Linux. Con el tiempo se fueron portando programas no libres al sistema
78
GNU/Linux, entre ellos Adobe Reader, Adobe Flash, Google Picasa, Opera, entre
otros.
Empresas que patrocinan su uso
Con la adopción por numerosas empresas fabricantes, un buen número de
computadoras se venden con distribuciones pre-instaladas, y GNU/Linux ha
comenzado a tomar su lugar en el vasto mercado de las computadoras de escritorio.
Algunas de las empresas que colaboran en la difusión de este sistema operativo ya
sea trabajando en el núcleo Linux, proporcionando soluciones de software o
preinstalando el sistema operativo, son: Intel, Google, IBM, AMD, Sun Microsystems,
Dell, Lenovo, Asus, Hewlett-Packard (HP), Silicon Graphics International (SGI),
Renesas Technology, Fujitsu, Analog Devices, Freescale, VIA Technologies, Oracle,
Novell y RedHat, entre otras.
El respaldo de compañías de software también está presente, ya que, entre otras
aplicaciones, Nero, Java, Google Earth, Google Desktop, Adobe Reader, Adobe
Flash, RealPlayer y Yahoo! Messenger están disponibles para GNU/Linux.
Cuota de mercado
Numerosos estudios cuantitativos sobre software de código abierto están orientados
a tópicos como la cuota de mercado y la fiabilidad, y ciertamente muchos de estos
estudios examinan específicamente a GNU/Linux.
Argumentos a favor de GNU/LINUX
La creciente popularidad de GNU/Linux se debe, entre otras razones, a su
estabilidad, al acceso al código fuente (lo que permite personalizar el funcionamiento
y auditar la seguridad y privacidad de los datos tratados), a la independencia de
79
proveedor, a la seguridad, a la rapidez con que incorpora los nuevos adelantos
tecnológicos (IPv6, microprocesadores de 64 bits), a la escalabilidad (se pueden
crear clusters de cientos de computadoras), a la activa comunidad de desarrollo que
hay a su alrededor, a su interoperatibilidad y a la abundancia de documentación
relativa a los procedimientos.
Hay varias empresas que comercializan soluciones basadas en GNU/Linux: IBM,
Novell (SuSE), Red Hat (RHEL), Mandriva (Mandriva Linux), Rxart, Canonical Ltd.
(Ubuntu), así como miles de PYMES que ofrecen productos o servicios basados en
esta tecnología.
Supercomputadoras
Dentro del segmento de supercomputadoras, a noviembre de 2009, el uso de este
sistema ascendió al 89,2% de las computadoras más potentes del mundo por su
confiabilidad, seguridad y libertad para modificar el código. De acuerdo con
TOP500.org, que lleva estadísticas sobre las 500 principales supercomputadoras del
mundo, a noviembre de 2009: 446 usaban una distribución basada en GNU/Linux, 25
Unix, 23 mezclas, 1 BSD y 5 Windows.
Las primeras 19 supercomputadoras, incluidas la número 1 la Jaguar, Cray XT5-HE
con 224,162 procesadores utilizan distribuciones basadas en GNU/Linux.
GNU/Linux, además de liderar el mercado de servidores de Internet debido, entre
otras cosas, a la gran cantidad de soluciones que tiene para este segmento, tiene un
crecimiento progresivo en computadoras de escritorio y portátiles. Además, es el
sistema base que se ha elegido para el proyecto OLPC: One Laptop Per Child.
80
Administración publica
Hay una serie de administraciones públicas que han mostrado su apoyo al software
libre, sea migrando total o parcialmente sus servidores y sistemas de escritorio, sea
subvencionándolo. Como ejemplos se tiene a Alemania, Argentina, Australia, Brasil,
España, Chile, China, Cuba, México, Perú, República Dominicana, Ecuador, El
Salvador, Uruguay o Venezuela.
Denominación GNU/LINUX
Parte de la comunidad y numerosos medios prefieren denominar a esta combinación
como Linux, aunque GNU/Linux (con las variantes GNU con Linux y GNU+Linux) es
la denominación defendida por el Proyecto GNU y la FSF junto con otros
desarrolladores y usuarios para el conjunto que utiliza el sistema operativo Linux en
conjunto con las aplicaciones de sistema creadas por el proyecto GNU y por muchos
otros proyectos de software.
Desde 1984, Richard Stallman y muchos voluntarios están intentando crear un
sistema operativo libre con un funcionamiento similar al UNIX, recreando todos los
componentes necesarios para tener un sistema operativo funcional. A comienzos de
los años 90, unos seis años desde el inicio del proyecto, GNU tenía muchas
herramientas importantes listas, como editores de texto, compiladores, depuradores,
intérpretes de comandos de órdenes etc., excepto por el componente central: el
núcleo.
GNU tenía su propio proyecto de núcleo, llamado Hurd. Sin embargo, su desarrollo
no continuó como se esperaba al aparecer el núcleo Linux. De esta forma se
completaron los requisitos mínimos y surgió el sistema operativo GNU que utilizaba
el núcleo Linux.
81
El principal argumento de los defensores de la denominación GNU/Linux es resolver
la posible confusión que se puede dar entre el núcleo (Linux) y gran parte de las
herramientas básicas del resto del sistema operativo (GNU). Además, también se
espera que, con el uso del nombre GNU, se dé al proyecto GNU el reconocimiento
por haber creado las herramientas de sistema imprescindibles para ser un sistema
operativo compatible con UNIX, y se destaque la cualidad de estar compuesto sólo
por software libre. La primera distribución que incluyó el GNU en su nombre fue
Yggdrasyl en 1992, donde aparecía como Linux/GNU/X. La FSF denominó a este
sistema "Linux" hasta al menos junio de 1994 y recién a partir de enero de 1995
empezó a llamarlo "GNU/Linux" (también GNU+Linux y lignux, términos que han
caído en desuso a instancias del propio Stallman).
Algunas distribuciones apoyan esta denominación, e incluyen GNU/Linux en sus
nombres, como Debian GNU/Linux o GNU/LinEx, mientras que otras, como
Slackware, Gentoo o Ubuntu, eligen denominarse basadas en Linux.
En ocasiones, el proyecto KDE ha utilizado una tercera denominación: GNU/Linux/X
para enfatizar los tres proyectos sobre los que se apoya su entorno de escritorio.
3.5. LENGUAJES DE PROGRAMACION
Actualmente existen diferentes lenguajes de programación para desarrollar en la
web, estos han ido surgiendo debido a las tendencias y necesidades de las
plataformas. En el presente artículo pretende mostrar las ventajas y desventajas de
los lenguajes más conocidos.
Desde los inicios de Internet, fueron surgiendo diferentes demandas por los usuarios
y se dieron soluciones mediante lenguajes estáticos. A medida que paso el tiempo,
las tecnologías fueron desarrollándose y surgieron nuevos problemas a dar solución.
Esto dio lugar a desarrollar lenguajes de programación para la web dinámica, que
82
permitieran interactuar con los usuarios y utilizaran sistemas de Bases de Datos. A
continuación daremos una introducción a los diferentes lenguajes de programación
para la web.
3.5.1. PHP
Es un lenguaje de programación interpretado, diseñado originalmente para la
creación de páginas web dinámicas. Es usado principalmente en interpretación del
lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde
una interfaz de línea de comandos o en la creación de otros tipos de programas
incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+.
Visión general
PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor
(inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado originalmente
por Rasmus Lerdorf en 1994; sin embargo la implementación principal de PHP es
producida ahora por The PHP Group y sirve como el estándar de facto para PHP al
no haber una especificación formal. Publicado bajo la PHP License, la Free Software
Foundation considera esta licencia como software libre.
Puede ser desplegado en la mayoría de los servidores web y en casi todos los
sistemas operativos y plataformas sin costo alguno. El lenguaje PHP se encuentra
instalado en más de 20 millones de sitios web y en un millón de servidores, el
número de sitios en PHP ha compartido algo de su preponderante sitio con otros
nuevos lenguajes no tan poderosos desde agosto de 2005. Este mismo sitio web de
Wikipedia está desarrollado en PHP. Es también el módulo Apache más popular
entre las computadoras que utilizan Apache como servidor web. La versión más
reciente de PHP es la 5.3.5, del 6 de enero de 2011.
El gran parecido que posee PHP con los lenguajes más comunes de programación
estructurada, como C y Perl, permiten a la mayoría de los programadores crear
83
aplicaciones complejas con una curva de aprendizaje muy corta. También les permite
involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un
nuevo grupo de funciones.
Aunque todo en su diseño está orientado a facilitar la creación de sitios webs, es
posible crear aplicaciones con una interfaz gráfica para el usuario, utilizando la
extensión PHP-Qt o PHP-GTK. También puede ser usado desde la línea de órdenes,
de la misma manera como Perl o Python pueden hacerlo; a esta versión de PHP se
la llama PHP-CLI (Command Line Interface).
Cuando el cliente hace una petición al servidor para que le envíe una página web, el
servidor ejecuta el intérprete de PHP. Éste procesa el script solicitado que generará
el contenido de manera dinámica (por ejemplo obteniendo información de una base
de datos). El resultado es enviado por el intérprete al servidor, quien a su vez se lo
envía al cliente. Mediante extensiones es también posible la generación de archivos
PDF, Flash, así como imágenes en diferentes formatos.
Permite la conexión a diferentes tipos de servidores de bases de datos tales como
MySQL, Postgres, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite.
XAMPP es un servidor independiente de plataforma, software libre, que consiste
principalmente en la base de datos MySQL, el servidor Web Apache y los intérpretes
para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para
cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El
programa está liberado bajo la licencia GNU y actúa como un servidor Web libre, fácil
de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP está
disponible para Microsoft Windows, GNU/Linux, Solaris, y MacOS X.
PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas
operativos, tales como UNIX (y de ese tipo, como Linux o Mac OS X) y Windows, y
84
puede interactuar con los servidores de web más populares ya que existe en versión
CGI, módulo para Apache, e ISAPI.
PHP es una alternativa a las tecnologías de Microsoft ASP y ASP.NET (que utiliza
C# VB.NET como lenguajes), a ColdFusion de la compañía Adobe (antes
Macromedia), a JSP/Java de Oracle, y a CGI/Perl. Aunque su creación y desarrollo
se da en el ámbito de los sistemas libres, bajo la licencia GNU, existe además un IDE
(entorno de desarrollo integrado) comercial llamado Zend Studio. Recientemente,
CodeGear (la división de lenguajes de programación de Borland) ha sacado al
mercado un entorno integrado de desarrollo para PHP, denominado Delphi for PHP.
También existen al menos un par de módulos para Eclipse, uno de los IDE más
populares.
Historia
Fue originalmente diseñado en Perl, con base en la escritura de un grupo de CGI
binarios escritos en el lenguaje C por el programador danés-canadiense Rasmus
Lerdorf en el año 1994 para mostrar su currículum vítae y guardar ciertos datos,
como la cantidad de tráfico que su página web recibía. El 8 de junio de 1995 fue
publicado "Personal Home Page Tools" después de que Lerdorf lo combinara con su
propio Form Interpreter para crear PHP/FI.
PHP 3
Dos programadores israelíes del Technion, Zeev Suraski y Andi Gutmans,
reescribieron el analizador sintáctico (parser en inglés) en el año 1997 y crearon la
base del PHP3, cambiando el nombre del lenguaje a la forma actual. Inmediatamente
comenzaron experimentaciones públicas de PHP3 y fue publicado oficialmente en
junio del 1998.
85
Para 1999, Suraski y Gutmans reescribieron el código de PHP, produciendo lo que
hoy se conoce como motor Zend. También fundaron Zend Technologies en Ramat
Gan, Israel.
PHP 4
En mayo de 2000 PHP 4 fue lanzado bajo el poder del motor Zend Engine 1.0. El día
13 de julio de 2007 se anunció la suspensión del soporte y desarrollo de la versión 4
de PHP, a pesar de lo anunciado se ha liberado una nueva versión con mejoras de
seguridad, la 4.4.8 publicada el 13 de enero del 2008 y posteriormente la versión
4.4.9 publicada el 7 de agosto de 2008.3 Según esta noticia se dará soporte a fallos
críticos hasta el 2008-08-09,......
PHP 5
El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor Zend Engine 2.0 (o
Zend Engine 2). La versión más reciente de PHP es la 5.3.6 (17 de marzo de 2011),
que incluye todas las ventajas que provee el nuevo Zend Engine 2 como:
Mejor soporte para la Programación Orientada a Objetos, que en versiones
anteriores era extremadamente rudimentario.
Mejoras de rendimiento.
Mejor soporte para MySQL con extensión completamente reescrita.
Mejor soporte a XML ( XPath, DOM, etc. ).
Soporte nativo para SQLite.
86
Soporte integrado para SOAP.
Iteradores de datos.
Manejo de excepciones.
Mejoras con la implementación con Oracle.
Aún se siguen publicando versiones de la rama 5.2.X, siendo publicada la versión
5.2.14 el 22 de Julio de 2010, aunque la mayoría son actualizaciones de seguridad
PHP 6
Está previsto el lanzamiento en breve de la rama 6 de PHP. Cuando se lance esta
nueva versión quedarán solo dos ramas activas en desarrollo (PHP 5 y 6), pues se
abandonó el desarrollo y soporte de PHP 4 el 13 de julio de 2007.
Las diferencias que encontraremos frente a PHP 5.* son:
Soportará Unicode;
limpieza de funcionalidades obsoletas como register_globals, safe_mode, etc;
PECL y eliminación de soporte ereg;
mejoras en orientación a objetos;
inclusión en el núcleo de xmlReader y xmlWriter así como Fileinfo;
return por referencia devolverá un error;
87
se retira el soporte de las bibliotecas FreeType1 y GD1;
Tabla resumen
Versión Fecha Cambios más importantes
PHP 1.0 8 de junio de 1995
Oficialmente llamado "Herramientas personales de
trabajo (PHP Tools)". Es el primer uso del nombre
"PHP".
PHP
Version
2
(PHP/FI)
16 de abril de 1996
Considerado por el creador como la "más rápida y
simple herramienta" para la creación de páginas
webs dinámicas.
PHP 3.0 6 de junio de 1998
Desarrollo movido de una persona a muchos
desarrolladores. Zeev Suraski y Andi Gutmans
reescriben la base para esta versión.
PHP 4.0 22 de mayo de 2000
Se añade un sistema más avanzado de análisis de
etiquetas en dos fases análisis/ejecución llamado el
motor Zend.
PHP 4.1 10 de diciembre de
2001
Introducidas las variables superglobals ($_GET,
$_SESSION, etc.).
PHP 4.2 22 de abril de 2002 Se deshabilitan register_globals por defecto.
PHP 4.3 27 de diciembre de
2002 Introducido la CLI, en adición a la CGI.
PHP 4.4 11 de julio de 2005
PHP 5.0 13 de julio de 2004 Motor Zend II con un nuevo modelo de objetos.
PHP 5.1 25 de noviembre de
2005
PHP 5.2 2 de noviembre de
2006 Habilitado el filtro de extensiones por defecto.
PHP 30 de agosto de
88
5.2.4 2007
PHP
5.2.5
8 de noviembre de
2007
Versión centrada en mejorar la estabilidad (+60
errores solucionados).
PHP
5.2.8
8 de diciembre de
2008
PHP
5.2.9
26 de febrero de
2009
Diversas mejoras en el ámbito de la seguridad (+50
errores solucionados).
PHP
5.2.12
17 de diciembre de
2009
Diversas mejoras en el ámbito de la seguridad (+50
errores solucionados).
PHP 5.3 30 de junio de 2009
namespaces, late static binding, closures, optional
garbage collection for cyclic references, nuevas
extensiones (+140 errores solucionados).
PHP
5.3.1
19 de noviembre de
2009
Diversas mejoras en el ámbito de la seguridad (36
errores solucionados).
PHP
5.3.2 4 de marzo de 2010
Diversas mejoras en el ámbito de la seguridad (99
errores solucionados).
PHP
5.3.3 22 de julio de 2010
Diversas mejoras en el ámbito de la seguridad y
estabilidad. (más de 100 errores solucionados).
PHP
5.3.4
10 de diciembre de
2010
Diversas mejoras en el ámbito de la seguridad y
estabilidad. (105 errores solucionados).
PHP
5.3.5 6 de enero de 2011
Esta versión soluciona un problema crítico, reportado
como bug # 53632 PHP y CVE-2010-4645,
relacionado con las conversiones de cadena a
double.
PHP
5.3.6 7 de marzo de 2011
Esta versión soluciona un problema
crítico:#54193,#54055,#54002,#53885,#54247,Mejora
la seguridad con el análisis del protocolo fastcgi con
fpm SAPI.
PHP 6 S/D
89
Características de PHP
Ventajas
Es un lenguaje multiplataforma.
Completamente orientado al desarrollo de aplicaciones web dinámicas con
acceso a información almacenada en una Base de Datos.
El código fuente escrito en PHP es invisible al navegador y al cliente ya que es
el servidor el que se encarga de ejecutar el código y enviar su resultado HTML
al navegador. Esto hace que la programación en PHP sea segura y confiable.
Capacidad de conexión con la mayoría de los motores de base de datos que
se utilizan en la actualidad, destaca su conectividad con MySQL y
PostgreSQL.
Capacidad de expandir su potencial utilizando la enorme cantidad de módulos
(llamados ext's o extensiones).
Posee una amplia documentación en su página oficial, entre la cual se
destaca que todas las funciones del sistema están explicadas y ejemplificadas
en un único archivo de ayuda.
Es libre, por lo que se presenta como una alternativa de fácil acceso para
todos.
Permite aplicar técnicas de programación orientada a objetos.
Biblioteca nativa de funciones sumamente amplia e incluida.
90
No requiere definición de tipos de variables aunque sus variables se pueden
evaluar también por el tipo que estén manejando en tiempo de ejecución.
Tiene manejo de excepciones (desde PHP5).
Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a
la hora de programar (muchos otros lenguajes tampoco lo hacen), aun
estando dirigido a alguna en particular, el programador puede aplicar en su
trabajo cualquier técnica de programación y/o desarrollo que le permita
escribir código ordenado, estructurado y manejable. Un ejemplo de esto son
los desarrollos que en PHP se han hecho del patrón de diseño Modelo Vista
Controlador (o MVC), que permiten separar el tratamiento y acceso a los
datos, la lógica de control y la interfaz de usuario en tres componentes
independientes (ver más abajo Frameworks en PHP).
Inconvenientes
Como es un lenguaje que se interpreta en ejecución para ciertos usos puede
resultar un inconveniente que el código fuente no pueda ser ocultado. La
ofuscación es una técnica que puede dificultar la lectura del código pero no la
impide y, en ciertos casos, representa un costo en tiempos de ejecución.
Ejemplo de código PHP
En el siguiente ejemplo se muestra el típico Hola Mundo, que es una simple
impresión por pantalla del mismo mensaje:
<?php
$a = 'Hola Mundo';
echo $a;
?>
91
El ejemplo anterior escribiría simplemente "Hola Mundo" (sin comillas) en la página
web. Es importante recordar que todo bloque de código PHP debe estar dentro de
<?php(para abrir) y ?>(para cerrar) o simplemente de una forma más corta <?
<CÓDIGO_PHP> ?> -siempre que la directiva short_open_tag esté activada-, muy
parecido a las etiquetas en ASP <% <CÓDIGO_ASP> %>. Ahora bien, el resultado
que tendríamos en el navegador sería el siguiente:
Hola Mundo
A continuación un ejemplo de envío y recepción de datos en una misma página con
PHP:
<html>
<head>
<title>Ejemplo de uso simple en envío y recepción de parámetros con PHP</title>
</head>
<body>
<?php
// Si existe la variable $_POST['comida'], entonces muestra la comida favorita
if (isset($_POST['comida']))
{
echo 'Hola, '.$_POST['nombre'].', tu comida favorita es: '. $_POST['comida'];
} else {
// Si no, muestra un formulario solicitando la comida favorita
?>
<form method="POST" action="<?php echo $_SERVER['PHP_SELF'];?>">
¿Cuál es tu nombre?
<input type="text" name="nombre" />
¿Cuál es tu comida favorita?
<select name="comida">
<option value="Spaguetis">Spaguetis</option>
<option value="Asado">Asado</option>
<option value="Pizza">Pizza</option>
</select>
92
<input type="submit" name="muestra" value="Seguir" />
</form>
<?php
} //Fin del bloque else
?>
</body>
</html>
En este código es posible observar las siguientes características:
Las variables enviadas por un formulario utilizando el método POST, son
recibidas en el lenguaje dentro de la matriz $_POST, lo cual facilita la
obtención de este tipo de datos. Este mismo método es utilizado por el
lenguaje para todas las fuentes de información en una aplicación web, tales
como cookies en la matriz $_COOKIES, variables de URL en $_GET (que en
formularios puede servir para guardar los datos), variables de sesión utilizando
$_SESSION, y variables del servidor y del cliente por medio de la matriz
$_SERVER.
Las variables que están dentro de las cadenas $_POST, $_GET y $_COOKIE
pueden encontrarse en la cadena $_REQUEST, ya que ésta resume las 3
anteriores.
El código PHP está incrustado dentro del HTML e interactúa con el mismo, lo
que permite diseñar la página Web en un editor común de HTML y añadir el
código dinámico dentro de las etiquetas <?php ?>.
El resultado muestra y oculta ciertas porciones del código HTML en forma
condicional.
93
Es posible utilizar funciones propias del lenguaje para aplicaciones Web como
htmlentitites(), que convierte los caracteres que tienen algún significado
especial en el código HTML o que podrían desplegarse erróneamente en el
navegador como acentos o diéresis, en sus equivalentes en formato HTML..
Todas las variables en PHP llevan el símbolo de dólar como prefijo (ejemplo:
$variable1, $variable2, $variable3...,$variableN), los tipos de variable no es necesario
declararlas, ya que a medida que se usan en la aplicación el servidor reconoce de
que tipo son. Para mostrar una cadena (en inglés string) debe estar dentro de
comillas dobles o simples (ejemplo: "Hola Mundo", 'Lo que quiero mostrar'). Cabe
destacar que si se desea mostrar el símbolo " o ' debe encerrarse en el otro tipo de
comillas ("...'...", '..."...') o usarse un escape (\', \").
Toda línea de instrucción siempre termina en un punto y coma (;), al igual que el
lenguaje C.
Para insertar un comentario de una sola línea, debe empezar por // o por #. El resto
de la línea es tratado entonces como un comentario. Para insertar un bloque de
comentario, de una o más líneas, se utiliza la combinación /* y */, por ejemplo: /*
<COMENTARIOS> */
Programación orientada a objetos en PHP
PHP no es en sí un lenguaje de programación orientada a objetos, pero desde hace
ya unas versiones se ha implementado el uso de clases y objetos. Aquí tenemos un
ejemplo de una clase sencilla en PHP:
class Clase {
var $Una_variable; //Creamos las variables
var $Otra_variable;
94
function Clase($var1, $var2){ //Creamos un constructor que defina las variables
"Una_variable" y "Otra_variable" dentro de la clase.
$this->Una_variable = $var1;
$this->Otra_variable = $var2;
}
}
Ahora veremos cómo se llama a la clase previamente creada:
$clase = new Clase("Esta es la variable 1", "Esta es la variable 2");
El ejemplo anterior es válido para php4, el mismo ejemplo escrito php5, varía en el
nombre del constructor y en la forma en cómo se declara la variable.
<?php
class Clase {
public $Una_variable; //Creamos las variables para php5
public $Otra_variable;
function __construct($var1, $var2){ //Creamos un constructor que defina las
variables "Una_variable" y "Otra_variable" dentro de la clase.
$this->Una_variable = $var1;
$this->Otra_variable = $var2;
}
}
$instancia = new Clase('rojo','blanco');
echo "El color de la variable \$Una_variable es : ". $instancia->Una_variable . " El
color de la otra variable \$Otra_variable es: " .
$instancia->Otra_variable;
?>
95
El valor public indica que la propiedad o el método están disponibles para todo
código que desee acceder a los mismos. PHP 5 ofrece tres niveles de visibilidad para
utilizar en clases: public, private, protected. A la vez, cambia la forma en la que se
declara el constructor de la clase, ya que en PHP 4 se usaba el mismo nombre de
esta, y en PHP 5 se crea el método especial __construct
Ejemplos de aplicaciones desarrolladas con PHP
Magento, OsCommerce, PrestaShop, WordPress, Burning Board, CMSformE,
Dokuwiki, Drupal, Gallery Project, Mambo Open Source, MediaWiki
(desarrollado para Wikipedia), Moodle, Phorum, phpMyAdmin, PHP-Nuke,
phpPgAdmin, PhpWiki, PmWiki, Zikula (anteriormente llamado PostNuke),
Smarty, SPIP, SugarCRM, vBulletin, Xaraya, Xoops, Joomla, MODx, SMF,
phpBB, UVG SCADA, PhpCollab, Facebook,
Entornos de desarrollo integrado para PHP
Algunos de los entornos de desarrolo integrado para PHP más conocidos o
habituales son:
Dreamweaver, comercial, de la casa Adobe actualmente en la versión CS5
(11.0.4909)
PDT, plugin de Eclipse: GPL - (Sun).
PHPEclipse, otro plugin de Eclipse
NetBeans , libre, multiplataforma, utiliza Symfony, auto-completado de código,
auto-identador..
Zend Studio: Comercial - (Zend).
96
Aptana Studio: GPL, existe una versión comercial. Debe instalarse el plugin
para PHP. Está basado en Eclipse, pero posee características que lo hacen
más deseable que el Eclipse PDT; entre ellas: auto-completado de código,
auto-identador.
Komodo IDE: Komodo Edit, libre y gratuito, el IDE es licencia comercial -
(Mozilla).
NuSphere PhpED: Comercial, para linux y windows.
Quanta: GPL y gratuito, para GNU/linux con QT.
Bluefish: GPL y gratuito, para GNU/linux con GTK.
gEdit: Editor de texto por defecto en Gnome - (Linux).
Geany:GPL, para linux y Windows. Sumamente liviano. Incluye
autocompletado, autoidentador, soporte para numerosos lenguajes.
phpDesigner: Comercial y Freeware, para linux y windows. Incluye integración
con el manual, autocompletado en código y viene en varios idiomas.
Rapid PHP: Comercial, para windows.
AJAX PHP IDE: Entorno de desarrollo para PHP que utiliza funcionalidad
AJAX en los eventos de los formularios diseñados. Separación de la lógica y
el html.
97
3.5.2. JAVA
Es un lenguaje de programación orientado a objetos, desarrollado por Sun
Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su
sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina
herramientas de bajo nivel, que suelen inducir a muchos errores, como la
manipulación directa de punteros o memoria.
Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la
compilación en código máquina nativo también es posible. En el tiempo de ejecución,
el bytecode es normalmente interpretado o compilado a código nativo para la
ejecución, aunque la ejecución directa por hardware del bytecode por un procesador
Java también es posible.
La implementación original y de referencia del compilador, la máquina virtual y las
bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995.
Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolución del
lenguaje a través del Java Community Process, si bien otros han desarrollado
también implementaciones alternativas de estas tecnologías de Sun, algunas incluso
bajo licencias de software libre.
Entre diciembre de 2006 y mayo de 2007, Sun Microsystems liberó la mayor parte de
sus tecnologías Java bajo la licencia GNU GPL, de acuerdo con las especificaciones
del Java Community Process, de tal forma que prácticamente todo el Java de Sun es
ahora software libre (aunque la biblioteca de clases de Sun que se requiere para
ejecutar los programas Java aún no lo es).
98
3.5.3. ASP (ACTIVE SERVER PAGES)
Con ASP se pueden realizar fácilmente páginas de consulta de bases de datos,
funciones sencillas como obtener la fecha y la hora actual del sistema servidor,
cálculos matemáticos simples, etc.
De ahí la importancia de incluir en nuestro código HTML dinamismo y interactividad a
nuestras páginas.
Active Server Pages (ASP), es una tecnología propietaria de Microsoft. Se trata
básicamente de un lenguaje de tratamiento de textos (scripts), basado en Basic, y
que se denomina VBScript (Visual Basic Script). Se utiliza casi exclusivamente en los
servidores Web de Microsoft (Internet Information Server y Personal Web Server).
Los scripts ASP se ejecutan, por lo tanto, en el servidor y puede utilizarse
conjuntamente con HTML y Javascript para realizar tareas interactivas y en tiempo
real con el cliente.
Con ASP se pueden realizar fácilmente páginas de consulta de bases de datos,
funciones sencillas como obtener la fecha y la hora actual del sistema servidor,
cálculos matemáticos simples, etc.
Predisposición
Desde que accedí por la red a una página con un tutorial on-line, pensé que afrontar
el reto de aprender algo a través de aquel sistema era una tarea de titanes. Estaba
en inglés, se le cansa a uno la vista tanto rato delante de la pantalla, no había un
archivo con los fuentes comprimidos que pudiera bajarme (para poder mejorar la
dinamicidad y minimizar la cuantía de la factura de la compañía telefónica), tardaba
mucho, tenía publicidad por todas partes,... un rollo. Lo que me hizo desistir en pocos
minutos de mi intento por culminar aquella gesta.
Ahora que yo sé algo que algunos otros todavía no saben, me llaman personas que
quieren saber lo que yo sé, y aunque me esfuerzo en advertirles que es muy poco,
99
todos quieren saber, aunque sea, ese poco. Con ese afán surgió este trabajo.
Si no sabes nada de ASP y te gustaría aprender un poco, mi recomendación es que
sigas leyendo estas páginas (para que este trabajo tenga algún sentido). Si estás
leyendo este párrafo es que o bien no haces caso a las advertencias, o sufres un
repentino ataque de interés inusitado, en un área cuasi mono-plataforma y mono-
sistema, o tienes otras razones personales que no soy quien para juzgar. En
cualquier caso estás aquí y ahora, y pretendes pasar algo de tiempo ampliando
conocimientos o criticando este trabajo (tan loable la primera como la segunda).
Requisitos previos
Para no hacer de este tutorial un trabajo largo y pesado, supondremos que el/la
hábido lector/a tiene conocimientos las áreas más comunes relacionadas con las
tecnologías para la Web: HTML y Javascript; algo de lenguajes de programación,
sobre todo Basic (MS Basic), y otro poco de SQL, para las consultas de base de
datos.
Además es totalmente necesario tener algo de tiempo para leer el manual y entender
los ejemplos. Para llevar a cabo pruebas de programas es necesario tener acceso a
un servidor con soporte para ASP, como pueden ser los anteriormente mencionados
Internet Information Server o Personal Web Server.
Para el manejo de bases de datos, dado que estamos en un entorno cuasi totalmente
Microsoft, en estas páginas se explicará las bases de datos Access, aunque la
dinámica es muy similar en otras.
Herramientas
ASP, VBScript y Javascript son lenguajes de programación comunes, luego su
sintaxis es implementada en código ASCII, por lo que para poder crear, editar y
modificar dicho código, sólo es necesario utilizar un simple y común editor de textos,
100
como puede ser el "edit" del DOS, el "Notepad" o el "Wordpad" de los entornos
Windows, o cualquiera de los múltiples editores de texto que existen en los entornos
*IX (Emacs, vi, joe, jed,...), así como en los Mac.
Microsoft ha tenido la diferencia de crear, dentro de su suite de desarrollo DevStudio,
una aplicación específica para administración y creación de proyectos Web,
denominados Visual InterDev.
3.5.4. JAVASCRIPT
Es un lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se
define como orientado a objetos,3 basado en prototipos, imperativo, débilmente
tipado y dinámico.
Se utiliza principalmente en su forma del lado del cliente (client-side), implementado
como parte de un navegador web permitiendo mejoras en la interfaz de usuario y
páginas web dinámicas, aunque existe una forma de JavaScript del lado del servidor
(Server-side JavaScript o SSJS). Su uso en aplicaciones externas a la web, por
ejemplo en documentos PDF, aplicaciones de escritorio (mayoritariamente widgets)
es también significativo.
JavaScript se diseñó con una sintaxis similar al C, aunque adopta nombres y
convenciones del lenguaje de programación Java. Sin embargo Java y JavaScript no
están relacionados y tienen semánticas y propósitos diferentes.
Todos los navegadores modernos interpretan el código JavaScript integrado en las
páginas web. Para interactuar con una página web se provee al lenguaje JavaScript
de una implementación del Document Object Model (DOM).
Tradicionalmente se venía utilizando en páginas web HTML para realizar
operaciones y únicamente en el marco de la aplicación cliente, sin acceso a
funciones del servidor. JavaScript se interpreta en el agente de usuario, al mismo
tiempo que las sentencias van descargándose junto con el código HTML.
101
3.6. EDITOR HTML
HTML, siglas de HyperText Markup Language (Lenguaje de Marcado de
Hipertexto), es el lenguaje de marcado predominante para la elaboración de páginas
web. Es usado para describir la estructura y el contenido en forma de texto, así como
para complementar el texto con objetos tales como imágenes. HTML se escribe en
forma de «etiquetas», rodeadas por corchetes angulares (<,>). HTML también puede
describir, hasta un cierto punto, la apariencia de un documento, y puede incluir un
script (por ejemplo Javascript), el cual puede afectar el comportamiento de
navegadores web y otros procesadores de HTML.
HTML también es usado para referirse al contenido del tipo de MIME text/html o
todavía más ampliamente como un término genérico para el HTML, ya sea en forma
descendida del XML (como XHTML 1.0 y posteriores) o en forma descendida
directamente de SGML (como HTML 4.01 y anteriores).
3.6.1. ATRIBUTOS DE TEXTO
En HTML podemos utilizar atributos de texto, los cuales nos proporcionan mayor y
mejor presentación de nuestra página web. Tenemos varias etiquetas, algunas no
son reconocidas por algunos navegadores, lo cual se obtendrá diversas visibilidad de
la misma, aunque actualmente la mayoría de los navegadores pueden interpretar
todos los atributos disponibles, esto gracias a la compatibilidad entre los mismos.
A continuación tenemos ejemplo de atributos:
Negrita <B></B>
Cursiva <I></I>
Subrayado <U></U>
Tachado <S></S>
102
Parpadeo <BLINK></BLINK>
Superíndice <SUP></SUP>
Centrado <CENTER></CENTER>
La etiqueta <FONT></FONT> nos permite varia el tamaño el color y el tipo de letra
de un texto determinado, utiliza para ello los parámetros size, bgcolor y face.
3.6.2. IMAGENES
Para incluir una imagen en nuestra página web, utilizamos la etiqueta <IMG>. Hay
dos formatos de imágenes que todos los navegadores modernos reconocen. Son las
imágenes GIF y JPEG. Cualquier otro tipo de archivo gráfico es posible que no
pueda ser mostrado pro el navegador, a no ser que se disponga de un programa
externo que permita su correcta visualización.
Parámetros de uso de la etiqueta <IMG>
Scr= ‖imagen‖ indica el nombre del archivo a mostrar.
Alt= ‖texto‖ muestra el texto indicado en el caso de que el navegador utilizado
para ver la página no sea capaz de visualizar la imagen.
Border= tamaño indica el tamaño del ―borde‖ de la imagen. A toda imagen se
le asigna un borde que será visible cuando la imagen forme parte de un
hiperenlace.
Height= tamaño indica el alto de la imagen en puntos o en porcentaje. Se usa
para variar el tamaño de la imagen original.
Witdh= tamaño indica el ancho de la imagen en puntos o en porcentaje. Se
usa para variar el tamaño de la imagen original.
Hspace= margen indica el número de espacios horizontales, en puntos, que
separaran la imagen del texto que la siga y la anteceda.
Vspace= margen indica el número de puntos verticales que separaran la
imagen del texto que le siga y la anteceda.
103
3.6.3. ENLACES
Una de las funciones principales de un sitio web es que podemos incluir enlaces ya
sea internos y externos, los cuales nos dirigirán a otros sitios en un navegador
accediendo a archivos, imágenes, micrisitios, etc.
Un enlace utiliza la etiqueta <A></A> el texto o imagen que se encuentre dentro de
los límites de esta etiqueta además será sensible, esto quiere decir que si damos
click sobre el mismo se realizara la función de hiperenlace indicada por la etiqueta
<A></A> si el enlace está indicado pro un texto, este aparecerá subrayado y en
distinto color.
3.6.4. TABLAS
Las tablas nos permiten representar cualquier elemento de nuestra página (texto,
listas, imágenes, etc) en diferentes filas y columnas separadas enrte sí. Es una
herramienta muy útil para ordenar contenidos de distintas partes de nuestra página.
La tabla se define mediante la etiqueta <TABLE></TABLE>. Los parámetros
opcionales de esta etiqueta son: el tipo de borde, el ancho de la tabla, el color, la
alineación y demás elementos.
Ejemplo de código de un sitio en html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>Desarrollo web, recargas electrónicas y
soporte técnico</title>
104
</head>
<body>
<br>
<br>
<div style="text-align: center;"><big style="font-family: Arial
Narrow;"><big><big><big><big><span style="font-weight: bold;">
Bienvenido a:
</span></big></big></big></big></big><br>
</div>
<br>
<br>
<hr style="width: 100%; height: 2px;"><br>
<br>
<br>
<div style="text-align: center;"><a href="menu.html"><img alt="" style="border: 0px
solid ; width: 978px; height: 156px;" src="bcn.jpg" align="middle"></a></div>
</body> </html>
105
CONCLUSIONES
Los sistemas operativos forman parte del desarrollo tecnológico en la actualidad y
aunado a ello está el diseño de páginas web, que sin lugar a dudas han venido a
revolucionar todo el concepto de la informática. Dichos sistemas dan forma a una
amplia gama de desarrollo de plataformas que permiten a los usuarios un ambiente
de interacción entre el usuario y la máquina, de los cuales podemos tener de índole
comercial hasta de libre distribución, un sistema operativo es un conjunto de
instrucciones que nos darán un entorno amigable y sofisticado de comunicación.
El desarrollo de páginas de internet (web) en la actualidad forman parte del amplio
desarrollo de la red de redes, teniendo una gran gama de lenguajes de programación
de sitios web, aunado a ello el elemento básico el hospedaje de los mismos, en lo
que se refiere a la programación tenemos el html, asp, java, javascript, php, Ajax y
muchos más, los cuales nos dan un énfasis en la interacción inmediata enfocada a la
web 2.0. es importante reafirmar que cada día encontraremos nuevas tecnologías en
las cuales es importante estar actualizados en el entorno de la web actual, la cual se
torna aún más semántica.
106
CONCLUSIONES GENERALES
En la actualidad con los grandes avances tecnológicos principalmente en la
computación e informática, en la cual todas las áreas de la vida profesional, personal,
cultural, etc, están involucradas, es importante considerar los 3 aspectos de la
misma, ya que con ella tendremos un mejor desarrollo como sociedad moderna en la
cual nos podemos desenvolver día a día.
El mantenimiento de una computadora antes, era toda una odisea ya que teníamos
que acudir a un especialista en la materia, sin embargo en la actualidad esto ya no
es muy necesario ya que cada usuario podemos adquirir las destrezas y
conocimientos básicos para reparar nuestros propios equipos, y con la ayuda del
internet accedemos a recursos (video, libros, textos, imágenes) que nos ayudan a
resolver un problema determinado.
Actualmente las redes de computadoras están en su mayor auge, en un principio las
redes alámbricas, pero en la actualidad las redes inalámbricas están reinando por
todas partes llegando a un mayor auge con las tecnologías móviles dando paso a
una nueva era en las telecomunicaciones. Existen empresas y entidades
gubernamentales que aun cuentan redes tradicionales, esto se debe a su
infraestructura de datos y servidores, que son enfocados a tareas específicas. Por el
contrario el usuario común esta adquiriendo conocimientos de tecnologías móviles
que lo están llevando a un nivel de experiencia diferente y de mayor movilidad.
Los sistemas operativos en la actualidad son los motores principales de una
computadora, y aunado a estos están llegando los sistemas operativos móviles, con
ello tenemos las páginas web las cuales podemos acceder desde nuestro navegador
web. Dando un mayor impulso a la supercarretera de la información en donde
podemos obtener grandes beneficios de todo tipo, desde el comercio electrónico,
servicios bancarios, música, televisión y mucho más. Los lenguajes de internet son
cada vez más potentes, sin dejar atrás los fundamentos de la programación básica,
107
sin embargo, los mismos lenguajes están migrando a un concepto mejorado que da
lugar a la interacción e integración más amplia de recursos tecnológicos.
Por ello es elemental que seamos profesionales y enfocados al desarrollo y estudios
de las nuevas tecnologías, con la finalidad de estar a la vanguardia en el quehacer
tecnológico actual.
108
RESULTADOS
Como resultado final se obtuvo la experiencia teórica y práctica en los que concierne
a mantenimiento correctivo y preventivo de una computadora, dando como resultado
una amplia gama de acciones de uso de la misma, al mismo tiempo en lo que
conciernen al área de redes se realizó la instalación de la red de área local de la
escuela, equipando con los elementos de comunicación el centro de cómputo, y en
cuanto a sistemas operativos y lenguajes de programación de páginas web
realmente fue poco, donde se tuvo el conocimiento práctico de cómo elaborar un sitio
de internet y al mismo tiempo subirlo a un servidor web remoto. A través de FTP.
Se recomienda dar mayor agilidad e importancia que se requiere a estas áreas de la
informática, ya que es lo más actual que podemos tener y que en el campo laboral es
indispensable para un amplio desarrollo profesional.
En el ámbito de acción de las redes tenemos grandes retos, ya que en la actualidad
las redes tradicionales tienen tendencia a migrar a la movilidad, dando mayor margen
de acción en las infraestructuras tecnológicas quedando como punto de acción la
posibilidad de la interconexión entre diversos dispositivos, tales como computadoras
tradicionales y nuevas tecnologías y dispositivos que día a día salen al mercado
tecnológico.
En este curso, se tuvo la oportunidad de contar con algunos elementos que se logró
emprender, dando lugar a un mayor conocimiento. Practico en en los 3 módulos de
mantenimiento, redes y creación de páginas web.
Es de tal relevancia contar con las habilidades y experiencia necesaria en dichas
áreas, y principalmente es recomendable a los estudiantes universitarios emprender
acciones de conocimiento práctico y autodidacta con el propósito de aportar ideas,
experiencias y habilidades tecnológicas para el desarrollo de una sociedad más
moderna
109
RECOMENDACIONES
En la actualidad es de suma importancia contar con los conocimientos
fundamentales y prácticos de lo que viene siendo toda el área de la informática y
aplicarla a las actividades cotidianas en el desempeño laboral, personal y profesional
dando un mayor auge al conocimiento práctico y así lograr un desarrollo integral de
la sociedad actual.
Así mismo, es importante hacer ciertas recomendaciones importantes respecto a que
las instituciones de nivel superior impulsen una mayor implementación de cursos y
asesorías en mantenimiento preventivo y correctivo de computadoras, ya que suele
ser algo a lo que diariamente nos enfrentamos cuando una computadora tiene algún
desperfecto, contar con los conocimientos teóricos y prácticos que nos apoyen a
resolver problemas en momentos críticos considerando el cuidado y resguardo de la
información que se nos ha confiado, teniendo la responsabilidad de facilitar
soluciones acertadas a determinada situación o problemática que enfrentamos.
Relacionado a la instalación de redes de computadoras el conocimiento práctico es
primordial al momento de hacer una instalación física y lógica de la misma, teniendo
las nociones del conocimiento de los tipos de redes, topologías, configuraciones del
cable de red y la configuración en los sistemas operativos, se recomienda que los
cursos sean más amenos en el sentido de contar con los recursos necesarios para
una adecuada instalación de una red de área local, que es la más común en nuestros
medio informáticos.
Los sistemas operativos y las páginas web son en la actualidad el punto medular de
gran importancia y de realce en la informática, los sistemas operativos en si han
estado evolucionado de forma rápida y el conocimiento debe ir a la par del desarrollo,
por eso es importante recomendar un estudio profundo de los sistemas operativos
más modernos con la finalidad de estar a la vanguardia tecnología actual. Las
páginas y sitios web son el platillo fuerte de la informática, la cual en los últimos años
se ha caracterizado por contar con nuevas tecnologías que hacen más accesibles los
sitios dándoles mayor dinamismo e interacción con los usuarios finales, las páginas
110
web han pasado de ser sitios estáticos a tener contenidos dinámicos en los cuales
podemos obtener recursos al instante hacer trámites, compras, etc, dando mayor
funcionalidad a los mismos, los diversos lenguajes de programación web han
permitido este empuje tecnológico que antes era difícil de imaginar. Se recomienda la
implementación de cursos de lenguajes de programación web, manejo de servidores,
accesos remotos a archivos y documentos, ya que con ello estaremos en
posibilidades de conocer mas ampliamente el funcionamiento de una página web en
donde podemos tener recursos tecnológicos y de vanguardia innovadora.
Estas tres aspectos deben ser considerados y darles mayor importancia en los
cursos regulares de las carreras universitarias, con la finalidad de dotar a los nuevos
profesionistas con los elementos necesarios para su desarrollo profesional.
111
BIBLIOGRAFIA
Introducción al lenguaje ASP Webnova Recursos para Diseñadores Artículos
Webmaster. Extraído el 20 de mayo de 2010 desde
http://www.webnova.com.ar/articulo.php?recurso=95
JavaScript – Wikipedia, la enciclopedia libre. Extraido el 20 de mayo de 2010 desde
http://es.wikipedia.org/wiki/JavaScript
Unix – Wikipedia, la enciclopedia libre. Extraído el 20 de mayo de 2010 desde
http://es.wikipedia.org/wiki/Unix
Windows 2000 - Wikipedia, la enciclopedia libre. Extraído el 20 de mayo de 2010
desde
http://es.wikipedia.org/wiki/Windows_2000
Windows NT - Wikipedia, la enciclopedia libre. Extraído el 20 de mayo de 2010 desde
http://es.wikipedia.org/wiki/Windows_NT