• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Memoria de titulación informatica administrativa
 

Memoria de titulación informatica administrativa

on

  • 557 views

 

Statistics

Views

Total Views
557
Views on SlideShare
335
Embed Views
222

Actions

Likes
0
Downloads
5
Comments
0

1 Embed 222

http://cardenasnetworks.com 222

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Memoria de titulación informatica administrativa Memoria de titulación informatica administrativa Document Transcript

    • 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
    • iii3 Í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
    • iv 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. 2.3.2.2. EL CABLE STP ……………………….…… 28 2.3.2.3. CABLE COAXIAL ………………………..... 29 2.3.2.4. 2.4. CABLE DE PAR TRENZADO ………..….. 28 CABLE DE FIBRA ÓPTICA ………...……. 29 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
    • v 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
    • vi 6 3.6.3. ENLACES ………………….……………………………. 103 3.6.4. TABLAS ………………………………………………….. 103 CONCLUSIONES ……………………………………………………………………… 105 CONCLUSIONES GENERALES …………………………………………………….. 106 RESULTADOS…………………………….. ………………………………………….. 108 RECOMENDACIONES………………………………………………………………... 109 BIBLIOGRAFIA ………………………………………………………………..………. 111
    • 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 multisesió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 Oficialmente llamado "Herramientas personales de PHP 1.0 8 de junio de 1995 trabajo (PHP Tools)". Es el primer uso del nombre "PHP". PHP Version 2 Considerado por el creador como la "más rápida y 16 de abril de 1996 simple herramienta" para la creación de páginas webs dinámicas. (PHP/FI) Desarrollo movido de una persona a muchos PHP 3.0 6 de junio de 1998 desarrolladores. Zeev Suraski y Andi Gutmans reescriben la base para esta versión. Se añade un sistema más avanzado de análisis de PHP 4.0 22 de mayo de 2000 etiquetas en dos fases análisis/ejecución llamado el motor Zend. PHP 4.1 10 de diciembre de Introducidas las variables superglobals ($_GET, 2001 $_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 PHP 5.1 PHP 5.2 PHP Motor Zend II con un nuevo modelo de objetos. 25 de noviembre de 2005 2 de noviembre de 2006 30 de agosto de Habilitado el filtro de extensiones por defecto.
    • 88 5.2.4 2007 PHP 8 de noviembre de Versión centrada en mejorar la estabilidad (+60 5.2.5 2007 PHP 8 de diciembre de 5.2.8 2008 PHP 26 de febrero de Diversas mejoras en el ámbito de la seguridad (+50 5.2.9 2009 PHP 17 de diciembre de Diversas mejoras en el ámbito de la seguridad (+50 5.2.12 2009 errores solucionados). errores solucionados). errores solucionados). namespaces, late static binding, closures, optional PHP 5.3 30 de junio de 2009 garbage collection for cyclic references, nuevas extensiones (+140 errores solucionados). PHP 19 de noviembre de Diversas mejoras en el ámbito de la seguridad (36 5.3.1 2009 PHP 5.3.2 PHP 5.3.3 4 de marzo de 2010 22 de julio de 2010 errores solucionados). Diversas mejoras en el ámbito de la seguridad (99 errores solucionados). Diversas mejoras en el ámbito de la seguridad y estabilidad. (más de 100 errores solucionados). PHP 10 de diciembre de Diversas mejoras en el ámbito de la seguridad y 5.3.4 2010 estabilidad. (105 errores solucionados). Esta versión soluciona un problema crítico, reportado PHP 5.3.5 6 de enero de 2011 como bug # 53632 PHP y CVE-2010-4645, relacionado con las conversiones de cadena a double. Esta PHP 5.3.6 7 de marzo de 2011 versión S/D un problema crítico:#54193,#54055,#54002,#53885,#54247,Mejora la seguridad con el análisis del protocolo fastcgi con fpm SAPI. PHP 6 soluciona
    • 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 monosistema, 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&oacute;nicas y soporte t&eacute;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