URL 
Un localizador uniforme de recursos, más comúnmente denominado URL (sigla en inglés de uniform resource locator), es una secuencia de caracteres, de acuerdo a un formato modélico y estándar, que se usa para nombrar recursos en Internet para su localización o identificación, como por ejemplo documentos textuales, imágenes, videos, presentaciones digitales, etc.
Fueron usadas por primera vez por Tim Berners-Lee en 1991, para permitir a los autores de documentos establecer hiperenlaces en la World Wide Web. Desde 1994, en los estándares de la Internet, el concepto de URL ha sido incorporado dentro del más general de URI (uniform resource identifier, en español identificador uniforme de recurso), pero el término URL aún se utiliza ampliamente.
Sintaxis genérica URL
Todos los URL, independientemente del esquema, deben seguir una sintaxis  general. Cada esquema puede determinar sus propios requisitos de  sintaxis para su parte específica, pero el URL completo debe seguir la  sintaxis general.
Usando un conjunto limitado de caracteres, compatible con el subconjunto imprimible de ASCII,  la sintaxis genérica permite a los URL representar la dirección de un  recurso, independientemente de la forma original de los componentes de  la dirección.
Los esquemas que usan protocolos típicos basados en conexión usan una  sintaxis común para "URI genéricos", definida a continuación:
esquema://autoridad/ruta?consulta#fragmento
La autoridad consiste usualmente en el nombre o Dirección IP de un servidor, seguido a veces de dos puntos (":") y un número de Puerto TCP. También puede incluir un nombre de usuario y una clave, para autenticarse ante el servidor.
La ruta es la especificación de una ubicación en alguna  estructura jerárquica, usando una barra diagonal ("/") como delimitador  entre componentes.
La consulta habitualmente indica parámetros de una consulta dinámica a alguna base de datos o proceso residente en el servidor.
El fragmento identifica a una porción de un recurso, habitualmente una ubicación en un documento.
Ejemplo: URL en HTTP
Los URL empleados por HTTP,  el protocolo usado para transmitir páginas web, es el tipo más popular  de URL y puede ser usado para mostrarse como ejemplo. La sintaxis de un  URL HTTP es:
esquema://anfitrión:puerto/ruta?parámetro=valor#enlace
esquema, en el caso de HTTP, en la mayoría de las veces equivale a http, pero también puede ser https cuando se trata de HTTP sobre una conexión TLS (para hacer más segura la conexión). 
- Muchos navegadores web permiten el uso de 
esquema://usuario:contraseña@anfitrión:puerto/...  para autenticación en HTTP. Este formato ha sido usado como una  "hazaña" para hacer difícil el identificar correctamente al servidor  involucrado. En consecuencia, el soporte para este formato ha sido  dejado de lado por algunos navegadores. La sección 3.2.1 de RFC 3986  recomienda que los navegadores deben mostrar el usuario / contraseña de  otra forma que no sea en la barra de direcciones, a causa de los  problemas de seguridad mencionados y porque las contraseñas no deben  mostrarse nunca como texto claro. 
anfitrión, la cual es probablemente la parte que más sobresale de un URL, es en casi todos los casos el nombre de dominio de un servidor, p.ej.: www.wikipedia.org, google.com, etc. 
- La porción 
:puerto especifica un número de puerto TCP. Usualmente es omitido (en este caso, su valor por omisión es80) y probablemente, para el usuario es lo que tiene menor relevancia en todo el URL. 
- La porción 
ruta es usada por el servidor (especificado en anfitrión)  de cualquier forma en la que su software lo establezca, pero en muchos  casos se usa para especificar un nombre de archivo, posiblemente  precedido por nombres de directorio. Por ejemplo, en la ruta /wiki/Vaca, wiki sería un (seudo-)directorio y Vaca sería un (seudo-)nombre de archivo. 
- La parte mostrada arriba como 
?parámetro=valor se conoce como porción de consulta (o también, porción de búsqueda).  Puede omitirse, puede haber una sola pareja parámetro-valor como en el  ejemplo, o pueden haber muchas de ellas, lo cual se expresa como ?param=valor&otroParam=valor&....  Las parejas parámetro-valor únicamente son relevantes si el archivo  especificado por la ruta no es una página web simple y estática, sino  algún tipo de página automáticamente generada. El software generador usa  las parejas parámetro-valor de cualquier forma en que se establezca; en  su mayoría transportan información específica a un usuario y un momento  en el uso del sitio, como términos concretos de búsqueda,  nombres de usuario, etc. (Observe, por ejemplo, de qué forma se comporta  el URL en la barra de direcciones de su navegador durante una búsqueda Google:  su término de búsqueda es pasado a algún programa sofisticado en  google.com como un parámetro, y el programa de Google devuelve una  página con los resultados de la búsqueda.) 
- La parte 
#enlace, por último, es conocida como identificador de fragmento  y se refiere a ciertos lugares significativos dentro de una página; por  ejemplo, esta página tiene enlaces internos hacia cada cabecera de  sección a la cual se puede dirigir usando el ID de fragmento. Esto es  relevante cuando un URL de una página ya cargada en un navegador permite  saltar a cierto punto en una página extensa. Un ejemplo sería este enlace,  que conduce a esta misma página y al comienzo de esta sección. (Observe  cómo cambia el URL en la barra de dirección de su navegador cuando hace  clic en el enlace). 
SQL
(siglas en inglés structured query language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en éstas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo efectuar consultas con el fin de recuperar -de una forma sencilla- información de interés de una base de datos, así como también hacer cambios sobre ella. Es un lenguaje informático de cuarta generación (4GL). 
Lenguaje de definición de datos (DDL)
El lenguaje de definición de datos (en inglés Data Definition Language, o DDL),  es el que se encarga de la modificación de la estructura de los objetos  de la base de datos. Existen cuatro operaciones básicas: CREATE, ALTER,  DROP y TRUNCATE.
CREATE
Este comando crea un objeto dentro de la base de datos. Puede ser una tabla, vista, índice, trigger, función, procedimiento o cualquier otro objeto que el motor de la base de datos soporte.
Ejemplo (crear una tabla)
CREATE TABLE 'TABLA_NOMBRE' (
   'CAMPO_1' INT,
   'CAMPO_2' STRING
For Example:
If you don't eat..you well be eating.
)
 Ejemplo (crear una función)
CREATE OR REPLACE FUNCTION 'NOMBRE FUNCION'('PARAMETROS')
  RETURNS 'TIPO RETORNO' AS
$BODY$
begin
'INSTRUCCIÓN SQL'
--por Ejemplo:
DELETE FROM con_empleado WHERE id_empleado = ANY (ids);
end;
$BODY$
LANGUAGE 'plpgsql'; 
 ALTER
Este comando permite modificar la estructura de un objeto. Se pueden  agregar/quitar campos a una tabla, modificar el tipo de un campo,  agregar/quitar índices a una tabla, modificar un trigger, etc.
Ejemplo (agregar columna a una tabla) 
ALTER TABLE 'TABLA_NOMBRE' (
   ADD NUEVO_CAMPO INT UNSIGNED meel
) 
DROP
Este comando elimina un objeto de la base de datos. Puede ser una tabla, vista, índice, trigger,  función, procedimiento o cualquier otro objeto que el motor de la base  de datos soporte. Se puede combinar con la sentencia ALTER.
Ejemplo
  ALTER TABLE ''TABLA_NOMBRE''
 (
    DROP COLUMN ''CAMPO_NOMBRE1''
 )
TRUNCATE
Este comando trunca todo el contenido de una tabla. La ventaja sobre  el comando DROP, es que si se quiere borrar todo el contenido de la  tabla, es mucho más rápido, especialmente si la tabla es muy grande. La  desventaja es que TRUNCATE sólo sirve cuando se quiere eliminar  absolutamente todos los registros, ya que no se permite la cláusula  WHERE. Si bien, en un principio, esta sentencia parecería ser DML  (Lenguaje de Manipulación de Datos), es en realidad una DDL, ya que  internamente, el comando TRUNCATE borra la tabla y la vuelve a crear y  no ejecuta ninguna transacción.
 TRUNCATE TABLE ''TABLA_NOMBRE1'' 
PLATAFORMA MULTIUSUARIO
 La palabra multiusuario se refiere a un concepto de sistemas operativos, pero en ocasiones también puede aplicarse a programas de ordenador de otro tipo (e.j. aplicaciones de base de datos).  En general se le llama multiusuario a la característica de un sistema  operativo o programa que permite proveer servicio y procesamiento a  múltiples usuarios simultáneamente (tanto en paralelismo real como  simulado).
MONOUSUARIO
Un sistema operativo monousuario (de mono: 'uno'; y usuario) es un sistema operativo  que sólo puede ser ocupado por un único usuario en un determinado  tiempo. Ejemplo de sistemas monousuario son las versiones domésticas de Windows.Administra recursos de memoria procesos y dispositivos de las PC'S
Es un sistema en el cual el tipo de usuario no está definido y, por  lo tanto, los datos que tiene el sistema son accesibles para cualquiera  que pueda conectarse.
En algunos sistemas operativos se accede al sistema por medio de un  usuario único que tiene permiso para realizar cualquier operación. Este  es el caso de los sistemas operativos más antiguos como MS-DOS y algunos  más recientes como la serie Windows 95/98/Me de Microsoft o MacOS  (antes de MacOS X) de Macintosh. En estos sistemas no existe una  diferenciación clara entre las tareas que realiza un administrador del  sistema y las tareas que realizan los usuarios habituales, no  disponiendo del concepto de multiusuario, un usuario común tiene acceso a  todas las capacidades del sistema, pudiendo borrar, incluso,  información vital para su funcionamiento. Un usuario malicioso (remoto o  no) que obtenga acceso al sistema podrá realizar todo lo que desee por  no existir dichas limitaciones.
SISTEMA DISTRIBUIDO
  
"Sistemas cuyos componentes hardware y software, que están   en ordenadores conectados en red, se comunican y   coordinan sus acciones   mediante el paso de mensajes, para el logro de un objetivo. Se   establece la    comunicación mediante un protocolo   prefijado por un esquema cliente-servidor".
Características:
-         
 
- Concurrencia.- Esta     característica de los sistemas distribuidos permite que     los  recursos     disponibles en la red puedan ser utilizados     simultáneamente por los usuarios y/o agentes que     interactúan en la red.
 
- Carencia de reloj global.- Las coordinaciones     para la  transferencia de mensajes entre los diferentes     componentes para la  realización de una tarea, no tienen     una temporización general, esta más bien     distribuida a los componentes. 
 
- Fallos independientes de los componentes.-      Cada componente del sistema puede     fallar independientemente, con lo cual los demás pueden     continuar ejecutando sus acciones. Esto permite el logro de las     tareas con mayor efectividad, pues el sistema en su conjunto     continua trabajando. 
 
SISTEMA CENTRALIZADO
Un sistema se dice centralizado cuando tiene un núcleo   que comanda a todos los demás, y estos dependen para su   activación del primero, ya que por sí solos no son   capaces de generar ningún proceso.
Por el contrario los sistemas descentralizados son aquellos   donde  el núcleo de comando y decisión está   formado por varios subsistemas.  En dicho caso el sistema no es   tan dependiente, sino que puede llegar a  contar con subsistemas   que actúan de reserva y que sólo se ponen en   funcionamiento cuando falla el sistema que debería actuar   en dicho caso.   
Los sistemas centralizados se controlan más   fácilmente que los descentralizados, son más   sumisos, requieren menos recursos, pero son más lentos en   su adaptación al contexto. Por el contrario los sistemas   descentralizados tienen una mayor velocidad de   respuesta al medio ambiente   pero requieren mayor cantidad de recursos y métodos de   coordinación y de control más elaborados y   complejos.
  
 SISTEMA OPERATIVO DE 32BITS Y 64BITS
Lo primero que hay que tener muy en cuenta es que para instalar un  sistema operativo de 64 bits hay que tener un procesador de 64 bits y  una placa base que lo admita de forma nativa. Actualmente quedan en el  mercado muy pocos procesadores que sean de 32 bits (solo algunos de gama  baja, normalmente para RMA o equipos de muy bajo precio) y la practica  totalidad de las placas base son de 64 bits, pero los equipos algo más  antiguos (por ejemplo, P4 478) si que son de 32 bits. 
En primer lugar vamos a ver que ventajas tienen las versiones de 64 bits. 
La principal de todas es que las versiones de 64 bits suportan mucha  más memoria (tanto RAM como virtual) que las versiones de 32 bits. 
Todos los sistemas operativos de 32 bits tienen un límite en la  memoria RAM de 4Gb (que además, en el caso de Windows, no suelen  aprovecharse completos). Esto en realidad para uso doméstico no es un  gran obstáculo, ya que no es habitual instalar esa cantidad de memoria. 
Las versiones de 64 bits no tienen ese límite, por lo que podemos instalar bastante más memoria. 
La cantidad máxima de RAM soportada por las versiones de 64 bits de Windows son las siguientes: 
Windows XP Profesional 64 bits.- 16Gb de memoria RAM. 
Windows Vista Home Basic 64 bits.- 8Gb de memoria RAM. 
Windows Vista Home Premiun 64 bits.- 16Gb de memoria RAM. 
Windows Vista (Resto de versiones) de 64 bits.- - 128Gb de memoria RAM. 
Como podemos ver, las cantidades de RAM son bastante mayores. 
Además de esta ventaja en la RAM, los sistemas operativos de 64 bits  son algo más rápidos que los de 32 bits, más estables y más seguros. 
¿Quiere decir esto que sea mucho mejor instalar Windows 64 bits que Windows 32 bits?. 
Pues hasta cierto punto no. Los SO de 64 bits están diseñados más para un uso profesional que doméstico. 
Estos sistemas tienen también tienen una serie de inconvenientes para uso doméstico. 
En primer lugar, decir que en el caso del Windows XP 64 bits, le pasa exactamente lo mismo que al XP Media Center.  
Es la versión inglesa (EEUU) con MUI en español, lo que suele dar algunos problemas con actualizaciones y con algunos programas. 
Esto está solucionado en las versiones de 64 bits de Windows Vista, que si son en el idioma correspondiente. 
Además de este problema, las versiones de 64 bits tienen una serie de inconvenientes: 
- No son compatibles con programas de 16 bits o inferiores. 
- Algunos programas (como algunos antivirus, algunos programas de  grabación y similares), aunque son programas de 32 bits no son  compatibles con Windows Vista 64 bits. 
- Hay problemas de drivers para 64 bits. 
- Los SO de 64 bits son más caros que los de 32 bits (aunque la diferencia de precio no es muy grande). 
En cuanto al sistema en sí (manejo, utilidades, etc.) son exactamente iguales a las versiones de 32 bits correspondientes. 
Hay que dejar bien claro otro punto: 
Un programa de 32 bits va a correr EXACTAMENTE IGUAL en un sistema operativo de 64 bits que en uno de 32 bits, por lo que en este aspecto no vamos a notar ninguna mejora. 
Hay algunos programas desarrollados para 64 bits, pero son programas  profesionales que un usuario doméstico no va a utilizar normalmente. 



PROTOCOLO DE COMUNICACIONES 
En el campo de las telecomunicaciones, un protocolo de comunicaciones  es el conjunto de reglas normalizadas para la representación,  señalización, autenticación y detección de errores necesario para enviar  información a través de un canal de comunicación. Un ejemplo de un  protocolo de comunicaciones simple adaptado a la comunicación por voz es el caso de un locutor de radio hablando a sus radioyentes.
Los protocolos de comunicación para la comunicación digital por redes de computadoras  tienen características destinadas a asegurar un intercambio de datos  fiable a través de un canal de comunicación imperfecto. Los protocolos  de comunicación siguen ciertas reglas para que el sistema funcione  apropiadamente.
Especificación de protocolo 
- Sintaxis: se especifica como son y como se construyen.
 
- Semántica: que significa cada comando o respuesta del protocolo respecto a sus parámetros/datos.
 
- Procedimientos de uso de esos mensajes: es lo que hay que programar realmente (los errores, como tratarlos).
 
SWITCH 
Es un dispositivo digital de lógica de interconexión de redes de computadores que opera en la capa 2 (nivel de enlace de datos) del modelo OSI. Su función es interconectar dos o más segmentos de red, de manera similar a los puentes (bridges), pasando datos de un segmento a otro de acuerdo con la dirección MAC de destino de las tramas en la red.
 INGENIERIA DEL SOFTWARE  
Ofrece métodos y técnicas para desarrollar y mantener software.  La creación del software es un proceso intrínsecamente creativo y la  Ingeniería del Software trata de sistematizar este proceso con el fin de  acotar el riesgo del fracaso en la consecución del objetivo creativo  por medio de diversas técnicas que se han demostrado adecuadas en base a  la experiencia previa. Esta ingeniería trata con áreas muy diversas de  la informática y de las ciencias de la computación,  tales como construcción de compiladores, sistemas operativos, o  desarrollos Intranet/Internet, abordando todas las fases del ciclo de  vida del desarrollo de cualquier tipo de sistemas de información y  aplicables a infinidad de áreas: negocios, investigación científica,  medicina, producción, logística, banca, control de tráfico,  meteorología, derecho, Internet, Intranet, etc.
METODOLOGIAS DE DESARROLLO(Ciclo de vida clasico, iterativo, incremental, Cascada, RAD, Case,XP,RUP,otros) 
Ingeniería de software es un marco de trabajo usado para estructurar, planificar y controlar el proceso de desarrollo en sistemas de información.
Cada metodología de desarrollo de software tiene más o menos su propio enfoque para el desarrollo de software.  Estos son los enfoques más generales, que se desarrollan en varias  metodologías específicas. Estos enfoques son los siguientes:
- Modelo en cascada: Framework lineal.
 
- Prototipado: Framework iterativo.
 
- Incremental: Combinación de framework lineal e iterativo.
 
- Espiral: Combinación de framework lineal e iterativo.
 
- RAD: Rapid Application Development, framework iterativo.
 
Modelo en cascada
Es un proceso secuencial de desarrollo en el que los pasos de  desarrollo son vistos hacia abajo (como en una cascada de agua) a través  de las fases de análisis de las necesidades, el diseño, implementación,  pruebas (validación), la integración, y mantenimiento. La primera  descripción formal del modelo de cascada se cita a menudo a un artículo  publicado por Winston Royce W. en 1970, aunque Royce no utiliza el término "cascada" de este artículo.
Los principios básicos del modelo de cascada son los siguientes:
- El proyecto está dividido en fases secuenciales, con cierta superposición y splashback aceptable entre fases.
 
- Se hace hincapié en la planificación, los horarios, fechas, presupuestos y ejecución de todo un sistema de una sola vez.
 
- Un estricto control se mantiene durante la vida del proyecto a  través de la utilización de una amplia documentación escrita, así como a  través de comentarios y aprobación / signoff por el usuario y la  tecnología de la información de gestión al final de la mayoría de las  fases antes de comenzar la próxima fase.
 
Prototipado
El prototipado es el framework de actividades dedicada al desarrollo  de software prototipo, es decir, versiones incompletas del software a  desarrollar.
Incremental
Provee una estrategia para controlar la complejidad y los riesgos,  desarrollando una parte del producto software reservando el resto de  aspectos para el futuro.
Los principios básicos son:
- Una serie de mini-Cascadas se llevan a cabo, donde todas las fases  de la cascada modelo de desarrollo se han completado para una pequeña  parte de los sistemas, antes de proceder a la próxima incremental
 
- Se definen los requisitos antes de proceder con la evolutivo, se  realiza un mini-Cascada de desarrollo de cada uno de los incrementos del  sistema
 
- El concepto inicial de software, análisis de las necesidades, y el  diseño de la arquitectura y colectiva básicas se definen utilizando el  enfoque de cascada, seguida por iterativo de prototipos, que culmina en  la instalación del prototipo final.
 
Espiral
Los principios básicos son:
- La atención se centra en la evaluación y reducción del riesgo del  proyecto dividiendo el proyecto en segmentos más pequeños y proporcionar  más facilidad de cambio durante el proceso de desarrollo, así como  ofrecer la oportunidad de evaluar los riesgos y con un peso de la  consideración de la continuación del proyecto durante todo el ciclo de  vida.
 
- Cada viaje alrededor de la espiral atraviesa cuatro cuadrantes  básicos: (1) determinar objetivos, alternativas, y desencadenantes de la  iteración; (2) Evaluar alternativas; Identificar y resolver los  riesgos; (3) desarrollar y verificar los resultados de la iteración, y  (4) plan de la próxima iteración.
 
- Cada ciclo comienza con la identificación de los interesados y sus  condiciones de ganancia, y termina con la revisión y examinación.
 
Rapid Application Development (RAD)
El desarrollo rápido de aplicaciones (RAD) es una metodología  de desarrollo de software, que implica el desarrollo iterativo y la  construcción de prototipos. El desarrollo rápido de aplicaciones es un  término originalmente utilizado para describir un proceso de desarrollo de software introducido por James Martin en 1991.
Principios básicos:
- Objetivo clave es para un rápido desarrollo y entrega de una alta  calidad en un sistema de relativamente bajo coste de inversión.
 
- Intenta reducir el riesgos inherente del proyecto partiéndolo en  segmentos más pequeños y proporcionar más facilidad de cambio durante el  proceso de desarrollo.
 
- Orientación dedicada a producir sistemas de alta calidad con  rapidez, principalmente mediante el uso de iteración por prototipos (en  cualquier etapa de desarrollo), promueve la participación de los  usuarios y el uso de herramientas de desarrollo computarizadas. Estas  herramientas pueden incluir constructores de Interfaz gráfica de usuario (GUI), Computer Aided Software Engineering (CASE) las herramientas, los sistemas de gestión de bases de datos (DBMS), lenguajes de programación de cuarta generación, generadores de código, y técnicas orientada a objetos.
 
- Hace especial hincapié en el cumplimiento de la necesidad comercial,  mientras que la ingeniería tecnológica o la excelencia es de menor  importancia.
 
- Control de proyecto implica el desarrollo de prioridades y la  definición de los plazos de entrega. Si el proyecto empieza a aplazarse,  se hace hincapié en la reducción de requisitos para el ajuste, no en el  aumento de la fecha límite.
 
- En general incluye Joint application development  (JAD), donde los usuarios están intensamente participando en el diseño  del sistema, ya sea a través de la creación de consenso estructurado en  talleres, o por vía electrónica.
 
- La participación activa de los usuarios es imprescindible.
 
- Iterativamente realiza la producción de software, en lugar de colgarse de un prototipo.
 
- Produce la documentación necesaria para facilitar el futuro desarrollo y mantenimiento.
 
PROGRAMACION ESTRUCTURADA
Es una forma de escribir programas de ordenador (programación de computadora) de manera clara.  Para ello utiliza únicamente tres estructuras: secuencia, selección e  iteración; siendo innecesario el uso de la instrucción o instrucciones  de transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o múltiples RETURN).
Estructura secuencial
Una estructura de programa es secuencial si se ejecutan una tras otra  a modo de secuencia, es decir que una instrucción no se ejecuta hasta  que finaliza la anterior.
Ejemplo:
 INPUT x
   INPUT y
   auxiliar= x
   x= y
   y= auxiliar
   PRINT x
   PRINT y
- Esta secuencia de instrucciones permuta los valores de x e y, con ayuda de una variable auxiliar, intermedia.
 
- 1º Guardamos una copia del valor de x en auxiliar.
 
- 2º Guardamos el valor de y en x, se pierde el valor anterior de x pero no importa porque tenemos una copia en auxiliar.
 
- 3º Guardamos en y el valor de auxiliar, que es el valor inicial de x.
 
- El resultado es el intercambio de los valores de x e y, en tres operaciones secuenciales.
 
Estructura selectiva o de selección
La estructura selectiva permite la realización de una instrucción u  otra según un criterio, solo una de estas instrucciones se ejecutara.
Ejemplo:
   IF a > b THEN
      PRINT a ; " es mayor que " ; b
   ELSE
      PRINT a ; " no es mayor que " ; b
   END IF 
Estructura iterativa
Un bucle iterativo o iteración de una secuencia de instrucciones,  hace que se repitan mientras se cumpla una condición, en un principio el  número de iteraciones no tiene porque estar determinado.
Ejemplo:
   a= 0
   b= 7
   WHILE b > a DO
      PRINT a
      a= a + 1
   WEND
Esta instrucción tiene tres palabras reservadas WHILE, DO y WEND.
- WHILE: señala el comienzo del bucle y después de esta palabra  se espera la condición de repetición, si la condición es cierta se pasa  al cuerpo del bucle, si no al final de la instrucción mientras.
 
- DO: señala el final de la condición, lo que esté después será el cuerpo del bucle.
 
- WEND: señala el final del cuerpo del bucle y de la instrucción WHILE.
 
El bucle mientras, se repite mientras la condición sea cierta,  esta condición se comprueba al principio por lo que el cuerpo del bucle  puede que no se ejecute nunca, cuando la condición es falsa en un  principio, o que se repita tantas veces como sea necesario, mientras la  condición sea cierta.
En el ejemplo tenemos dos variables a y b que al iniciarse el bucle tienen los valores a=0 y b=7.
La condición del bucle es b > a.
- Cuando a=0 y b=7. la condición es cierta, en el cuerpo del bucle se escribe el valor de a en pantalla y se incrementa a en una unidad. Entonces a=1 y b=7.
 - ...
 - ...
 - Cuando a=6 y b=7. la condición es cierta, se escribe el valor de a en pantalla y se incrementa en una unidad.
 - Resultando que a=7 y b=7. Entonces la condición es falsa y la instrucción WHILE finaliza.
 - La salida por pantalla de este ejemplo seria 0 1 2 3 4 5 6
 
Esta instrucción selectiva puede presentar dos mensajes, uno a es mayor que b, y el otro a no es mayor que b, solo uno de ellos será presentado, según el resultado de la comparación de a y b, si el resultado de a > b es cierto, se presenta el primer mensaje, si es falso el segundo, las palabras IF, THEN, ELSE, END IF;  son propias de la instrucción (palabra reservadas) que tienen un  significado en el lenguaje, sirven de separadores, y el usuario no debe  utilizarlas salvo para este fin.
- IF señala el comienzo de la instrucción condicional, y se espera que después esté la condición de control de la instrucción.
 
- THEN señala el fin de la condición, y después estará la instrucción a realizar si la condición es cierta.
 
- ELSE separa la instrucción que se ejecutará si la condición es cierta de la que se ejecutará si es falsa.
 
- END IF indica que la instrucción condicional finaliza y el programa seguirá su curso.
 
Anidamiento
El cuerpo de cualquier estructura puede ser una instrucción simple u otra estructura, que a su vez puede anidar a otra.
Ejemplo:
 IF a > b THEN
      auxiliar= a
      a= b
      b= auxiliar
   ELSE
      REM nada
   END IF
   PRINT a ; b 
PROGRAMACION ORIENTADA A OBJETOS 
La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y encapsulamiento.  Su uso se popularizó a principios de la década de los años 1990. En la  actualidad, existe variedad de lenguajes de programación que soportan la  orientación a objetos.
Conceptos Fundamentales 
La programación orientada a objetos es una forma de programar que  trata de encontrar una solución a estos problemas. Introduce nuevos  conceptos, que superan y amplían conceptos antiguos ya conocidos. Entre  ellos destacan los siguientes:
- Clase:  definiciones de las propiedades y comportamiento de un tipo de objeto  concreto. La instanciación es la lectura de estas definiciones y la  creación de un objeto a partir de ellas.
 
- Herencia:  (por ejemplo, herencia de la clase C a la clase D) Es la facilidad  mediante la cual la clase D hereda en ella cada uno de los atributos y  operaciones de C, como si esos atributos y operaciones hubiesen sido  definidos por la misma D. Por lo tanto, puede usar los mismos métodos y  variables publicas declaradas en C. Los componentes registrados como  "privados" (private) también se heredan, pero como no pertenecen a la  clase, se mantienen escondidos al programador y sólo pueden ser  accedidos a través de otros métodos públicos. Esto es así para mantener  hegemónico el ideal de OOP.
 
- Objeto:  entidad provista de un conjunto de propiedades o atributos (datos) y de  comportamiento o funcionalidad (métodos) los mismos que  consecuentemente reaccionan a eventos. Se corresponde con los objetos  reales del mundo que nos rodea, o a objetos internos del sistema (del  programa). Es una instancia a una clase.
 
- Método:  Algoritmo asociado a un objeto (o a una clase de objetos), cuya  ejecución se desencadena tras la recepción de un "mensaje". Desde el  punto de vista del comportamiento, es lo que el objeto puede hacer. Un  método puede producir un cambio en las propiedades del objeto, o la  generación de un "evento" con un nuevo mensaje para otro objeto del  sistema.
 
- Evento: Es un suceso en el sistema (tal como una interacción  del usuario con la máquina, o un mensaje enviado por un objeto). El  sistema maneja el evento enviando el mensaje adecuado al objeto  pertinente. También se puede definir como evento, a la reacción que  puede desencadenar un objeto, es decir la acción que genera.
 
- Mensaje: una comunicación dirigida a un objeto, que le ordena  que ejecute uno de sus métodos con ciertos parámetros asociados al  evento que lo generó.
 
- Propiedad o atributo: contenedor de un tipo de datos  asociados a un objeto (o a una clase de objetos), que hace los datos  visibles desde fuera del objeto y esto se define como sus  características predeterminadas, y cuyo valor puede ser alterado por la  ejecución de algún método.
 
- Estado interno: es una variable que se declara privada, que  puede ser únicamente accedida y alterada por un método del objeto, y que  se utiliza para indicar distintas situaciones posibles para el objeto  (o clase de objetos). No es visible al programador que maneja una  instancia de la clase.
 
- Componentes de un objeto: atributos, identidad, relaciones y métodos.
 
- Identificación de un objeto: un objeto se representa por medio de una tabla o entidad que esté compuesta por sus atributos y funciones correspondientes.
 
En comparación con un lenguaje imperativo, una "variable", no es más  que un contenedor interno del atributo del objeto o de un estado  interno, así como la "función" es un procedimiento interno del método  del objeto.
PATRONES DE DESARROLLO 
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).
CSS 
Es un lenguaje de hojas de estilo usado para describir la semántica de la presentación (la apariencia y formato) de un documento escrito en un lenguaje de marcas .Su aplicación más común es el estilo de las páginas web escritas en HTML y XHTML , pero el lenguaje también se puede aplicar a cualquier tipo de XML documento, incluyendo SVG y XUL .
CONTROLES DE VERSIONES
Una versión, revisión o edición de un producto, es el estado en el  que se encuentra dicho producto en un momento dado de su desarrollo o  modificación. Se llama control de versiones a la gestión de los  diversos cambios que se realizan sobre los elementos de algún producto o  una configuración del mismo. Los sistemas de control de versiones  facilitan la administración de las distintas versiones de cada producto  desarrollado, así como las posibles especializaciones realizadas (por  ejemplo, para algún cliente específico).
El control de versiones se realiza principalmente en la industria informática para controlar las distintas versiones del código fuente. Sin embargo, los mismos conceptos son aplicables a otros ámbitos como documentos, imágenes, sitios web, etcétera.
Aunque un sistema de control de versiones puede realizarse de forma  manual, es muy aconsejable disponer de herramientas que faciliten esta  gestión (CVS, Subversion, SourceSafe, ClearCase, Darcs, Bazaar, Plastic SCM, Git, Mercurial, etc.).
Características
Un sistema de control de versiones debe proporcionar:
- Mecanismo de almacenaje de los elementos que deba gestionar (ej. archivos de texto, imágenes, documentación...)
 
- Posibilidad de realizar cambios sobre los elementos almacenados (ej.  modificaciones parciales, añadir, borrar, renombrar o mover elementos)
 
- Registro histórico de las acciones realizadas con cada elemento o  conjunto de elementos (normalmente pudiendo volver o extraer un estado  anterior del producto)
 
Aunque no es estrictamente necesario, suele ser muy útil la  generación de informes con los cambios introducidos entre dos versiones,  informes de estado, marcado con nombre identificativo de la versión de  un conjunto de ficheros, etcétera.
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 Pública General de GNU) y otra serie de licencias libres.
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.
KERNEL
(de la raíz germánica Kern) es un software que actúa de sistema operativo.Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora  o en forma más básica, es el encargado de gestionar recursos, a través  de servicios de llamada al sistema. Como hay muchos programas y el  acceso al hardware es limitado, también se encarga de decidir qué  programa podrá hacer uso de un dispositivo de hardware y durante cuánto  tiempo, lo que se conoce como multiplexado. Acceder al hardware directamente puede ser realmente complejo, por lo que los núcleos suelen implementar una serie de abstracciones del hardware.  Esto permite esconder la complejidad, y proporciona una interfaz limpia  y uniforme al hardware subyacente, lo que facilita su uso al programador.
DEMONIO 
Es un script, un proceso que normalmente esta cargado en memoria esperando una señal para ser ejecutado.
Que estén cargados en memoria no significan que ocupan CPU por lo que  por muchos que tengamos, podremos trabajar sin problemas con el  ordenador.
Los daemons son procesos que se ejecutan en modo background.
Normalmente cada daemon tiene asociado un shell script situado en la  carpeta /etc/init.d/ que nos permite iniciarlo, pararlo o ver su estado.
Esta carpeta puede variar dependiendo de la distribución, ya que por ejemplo en red hat están en /etc/rc.d/
Para arrancar, lanzar un daemon tenemos que utilizar el comando start.
Para pararlo tendremos que utilizar el comando stop. 
El comando restart reinicia el daemon haciendo que se vuelvan a leer los archivos de configuración del mismo.
Para ejecutar un daemon debemos llamarlo con su ruta completa y pasarle el parámetro que nos interese.
NOMBRE DE DISTRIBUCIONES
a distribución Linux (coloquialmente llamada distro) es una distribución de software basada en el núcleo Linux que incluye determinados paquetes de software  para satisfacer las necesidades de un grupo específico de usuarios,  dando así origen a ediciones domésticas, empresariales y para  servidores. Por lo general están compuestas, total o mayoritariamente,  de software libre, aunque a menudo incorporan aplicaciones o controladores propietarios. Además del núcleo Linux, las distribuciones incluyen habitualmente las bibliotecas y herramientas del proyecto GNU y el sistema de ventanas X Window System.  Dependiendo del tipo de usuarios a los que la distribución esté  dirigida se incluye también otro tipo de software como procesadores de  texto, hoja de cálculo, reproductores multimedia, herramientas  administrativas, etcétera. En el caso de incluir herramientas del  proyecto GNU, también se utiliza el término distribución GNU/Linux.
Existen distribuciones que están soportadas comercialmente, como Fedora (Red Hat), openSUSE (Novell), Ubuntu (Canonical Ltd.), Mandriva, y distribuciones mantenidas por la comunidad como Debian y Gentoo. Aunque hay otras distribuciones que no están relacionadas con alguna empresa o comunidad, como es el caso de Slackware.
GNU 
El proyecto GNU fue iniciado por Richard Stallman con el objetivo de crear un sistema operativo completamente libre: el sistema GNU.
El 27 de septiembre de 1983 se anunció públicamente el proyecto por primera vez en el grupo de noticias net.unix-wizards. Al anuncio original, siguieron otros ensayos escritos por Richard Stallman como el "Manifiesto GNU",  que establecieron sus motivaciones para realizar el proyecto GNU, entre  las que destaca "volver al espíritu de cooperación que prevaleció en  los tiempos iniciales de la comunidad de usuarios de computadoras".Etimología
GNU es un acrónimo recursivo que significa GNU No es Unix (GNU is Not Unix). Puesto que en inglés "gnu" (en español "ñu") se pronuncia igual que "new", Richard Stallman recomienda pronunciarlo "guh-noo". En español, se recomienda pronunciarlo ñu como el antílope africano o fonéticamente;  por ello, el término mayoritariamente se deletrea (G-N-U) para su mejor  comprensión. En sus charlas Richard Stallman finalmente dice siempre  «Se puede pronunciar de cualquier forma, la única pronunciación errónea  es decirle 'linux'».
GPL 
La Licencia Pública General de GNU o más conocida por su nombre en inglés GNU General Public License o simplemente sus siglas del inglés GNU GPL, es una licencia creada por la Free Software Foundation en 1989 (la primera versión), y está orientada principalmente a proteger la libre distribución, modificación y uso de software. Su propósito es declarar que el software cubierto por esta licencia es software libre y protegerlo de intentos de apropiación que restrinjan esas libertades a los usuarios.
Existen varias licencias "hermanas" de la GPL, como la licencia de documentación libre de GNU (GFDL), la Open Audio License, para trabajos musicales, etcétera, y otras menos restrictivas, como la MGPL, o la LGPL (Lesser General Publical License, antes Library General Publical License), que permiten el enlace dinámico de aplicaciones libres a aplicaciones no libres.
Validez legal
La licencia GPL, al ser un documento que cede ciertos derechos al  usuario, asume la forma de un contrato, por lo que usualmente se la  denomina contrato de licencia o acuerdo de licencia.En los países de tradición anglosajona existe una distinción doctrinal  entre licencias y contratos, pero esto no ocurre en los países de  tradición civil o continental. Como contrato, la GPL debe cumplir los  requisitos legales de formación contractual en cada jurisdicción.
La licencia ha sido reconocida por juzgados en Alemania, particularmente en el caso de una sentencia en un tribunal de Múnich,lo que indica positivamente su validez en jurisdicciones de derecho civil.
CONSOLA 
Se trata de uno o varios terminales conectados al ordenador central, que  permiten monitorizar su funcionamiento, controlar las operaciones que  realiza, regular las aplicaciones que deben ejecutarse, etc.
SAMBA 
Samba es un software libre, reimplementación del protocolo de red Microsoft Windows Network (antes llamado SMB/CIFS), realizado bajo licencia GNU GPL. El nombre "samba", proviene de la inserción de dos vocales en el nombre original del protocolo "SMB".
Para la versión 3, Samba, además proveer servicios de archivo e impresión, también puede integrarse al dominio Windows Server. También puede ser parte de dominio Active Directory.
Samba permite que un servidor no-Windows se comunique con los mismos protocolos de red que los productos para Windows.
Samba se ejecuta en la mayoría de los sistemas Unix y basados en Unix, como Linux, Solaris y los BSD, incluyendo el Mac OS X Server de Apple.
ESTRUCTURA DE DIRECTORIOS Y PARA QUE SIRVEN 
Estructuran la información guardada en una unidad de almacenamiento (normalmente un disco duro de una computadora), que luego será representada ya sea textual o gráficamente utilizando un gestor de archivos. La mayoría de los sistemas operativos manejan su propio sistema de archivos. Lo habitual es utilizar dispositivos de almacenamiento de datos que  permiten el acceso a los datos como una cadena de bloques de un mismo  tamaño, a veces llamados sectores, usualmente de 512 bytes de longitud. El software  del sistema de archivos es responsable de la organización de estos  sectores en archivos y directorios y mantiene un registro de qué  sectores pertenecen a qué archivos y cuáles no han sido utilizados. En  la práctica, un sistema de archivos también puede ser utilizado para  acceder a datos generados dinámicamente, como los recibidos a través de  una conexión de red (sin la intervención de un dispositivo de almacenamiento).
Ejemplo de 'ruta' en un sistema Unix
Así, por ejemplo, en un sistema tipo Unix como GNU/Linux, la ruta para la canción llamada "canción.ogg" del usuario "pedro" sería algo como:
/home/pedro/musica/cancion.ogg
donde:
- '/' representa el directorio raíz donde está montado todo el sistema de archivos.
 
- 'home/pedro/musica/' es la ruta del archivo.
 
- 'canción.ogg' es el nombre del archivo.
 
que se establece como único.
Ejemplo de 'ruta' en un sistema Windows
Un ejemplo análogo en un sistema de archivos de Windows (específicamente en Windows XP) se vería como:
C:\Documents and Settings\pedro\Mis Documentos\Mi Música\canción.ogg
donde:
- 'C:' es la unidad de almacenamiento en la que se encuentra el archivo.
 
- '\Documents and Settings\pedro\Mis Documentos\Mi Música\' es la ruta del archivo.
 
- 'canción' es el nombre del archivo.
 
- '.ogg' es la extensión del archivo, este elemento, parte del nombre, es especialmente relevante en los sistemas Windows,  ya que sirve para identificar qué aplicación está asociada con el  archivo en cuestión, es decir, con qué programa se puede editar o  reproducir el archivo.
 
NOMBRE DE ADMINISTRADOR DE ARCHIVOS
 
El Administrador de archivos es el área  central de almacenamiento de los archivos que constituyen un curso de  WebCT. Esta área se encuentra en un servidor remoto, que es un ordenador  conectado en red donde se ejecuta el software del servidor de WebCT.  Este servidor puede estar situado en la red de su institución o en un  proveedor de servicios de Internet, es decir, puede encontrarse  geográficamente distante o en la puerta de al lado. Sin embargo, es  importante recordar que tanto el profesor como los alumnos interactúan  con este servidor remoto cada vez que acceden a un curso de WebCT. El  software que utiliza para acceder a los cursos de WebCT desde su  ordenador es el navegador de Netscape o el de Internet Explorer.       
Un curso de WebCT está formado por archivos HTML, de texto y  gráficos que utilizan las distintas herramientas de WebCT.  Generalmente, los archivos del curso se preparan en un ordenador  personal para luego transferirlos al Administrador de archivos, que se encuentra en el servidor remoto de WebCT. Una vez añadidos al Administrador de archivos, los archivos se pueden enlazar con las distintas áreas del curso.  En el Administrador de archivos,  los archivos de los cursos de WebCT están estructurados y guardados en  carpetas y subcarpetas. Para ver los archivos de una carpeta, sólo tiene  que hacer clic en su nombre.        
Utilice el Administrador de archivos para realizar las siguientes operaciones:        
- Navegar por los archivos e imágenes incorporados de WebCT         
 
- Cargar archivos al servidor de WebCT         
 
- Descargar archivos del servidor de WebCT a su ordenador         
 
- Comprimir y descomprimir archivos en el servidor de WebCT.          
 
- Copiar, borrar, cambiar de nombre y mover archivos          
 
- Crear carpetas nuevas         
 
- Editar archivos del servidor de WebCT       
 
La forma de transferir archivos a WebCT presenta algunas  diferencias con la que se emplea en los sistemas operativos Windows y  Macintosh, ya que no es posible "arrastrar y soltar" los archivos y  carpetas a WebCT, sino cargarlos desde su ordenador. Consulte Cargar archivos si desea información sobre cómo realizar esta operación. 
Fat32, NTFS, Ext 
FAT32: Fue la respuesta para superar el límite de tamaño de FAT16 al mismo tiempo que  se mantenía la compatibilidad con MS-DOS en modo real. Microsoft decidió  implementar una nueva generación de FATcluster de 32 bits (aunque sólo 28 de esos bits se utilizaban  realmente). utilizando direcciones de  
En teoría, esto debería permitir aproximadamente 268.435.538 clusters,  arrojando tamaños de almacenamiento cercanos a los ocho terabytes. Sin embargo, debido a limitaciones en la  utilidad ScanDisk de Microsoft, no se permite que FAT32 crezca más allá  de 4.177.920 clusters por partición (es decir, unos 124 gigabytes).  Posteriormente, Windows 2000 y XP situaron el límite de FAT32 en los 32  gigabytes. Microsoft afirma que es una decisión de diseño, sin embargo, es capaz  de leer particiones mayores creadas por otros medios.
FAT32 apareció por primera vez en Windows 95 OSR2. Era necesario reformatear  para usar las ventajas de FAT32. Curiosamente, DriveSpace 3 (incluido con Windows 95 y 98) no lo  soportaba. Windows 98 incorporó una herramienta para convertir de FAT16 a FAT32  sin pérdida de los datos. Este soporte no estuvo disponible en la línea  empresarial hasta Windows  2000.
El tamaño máximo de un archivo en FAT32 es 4 gigabytes (232−1  bytes), lo que resulta engorroso para aplicaciones de captura y edición de  video, ya que los archivos generados por éstas superan fácilmente ese límite.
NTFS: (NT File System) es un sistema de archivos de Windows NT incluido en las  versiones de Windows 2000,  Windows XP, Windows Server  2003, Windows Server 2008, Windows Vista y Windows 7. Está basado en el  sistema de archivos HPFS de IBM/Microsoft  usado en el sistema operativo OS/2, y  también tiene ciertas influencias del formato de archivos HFS diseñado por Apple.
NTFS permite definir el tamaño del clúster, a partir de 512 bytes (tamaño mínimo de un sector) de forma  independiente al tamaño de la partición.
Es un sistema adecuado para las particiones de gran tamaño requeridas en  estaciones de trabajo de alto rendimiento y servidores. Puede manejar volúmenes  de, teóricamente, hasta 264–1 clústeres. En la práctica, el máximo  volumen NTFS soportado es de 232–1 clústeres (aproximadamente 16 Terabytes usando clústeres de 4KB).
Los inconvenientes que plantea son:
- Necesita para sí mismo una buena cantidad de espacio en disco duro, por lo  que no es recomendable su uso en discos con menos de 400 MB libres.
 
EXT:(third extended filesystem o "tercer sistema de archivos extendido") es  un sistema de  archivos con registro por  diario (journaling). Es el sistema de archivo más usado en distribuciones  Linux, aunque en la actualidad está siendo remplazado por su sucesor, ext4.
La principal diferencia con ext2 es el  registro por diario. Un sistema de archivos ext3 puede ser montado y usado como un sistema de archivos  ext2. Otra diferencia importante es que ext3  utiliza un árbol binario balanceado (árbol AVL) e incorpora el asignador de bloques de disco  Orlov.
UNIDAD PRIMARIA, SECUNDARIA, LOGICA 
El formato o sistema de archivos de las particiones (p.  ej. NTFS) no debe ser confundido con el tipo  de partición (p. ej. partición primaria), ya que en realidad no tienen  directamente mucho que ver. Independientemente del sistema de archivos de una  partición (FAT, ext3, NTFS, etc.), existen 3 tipos diferentes de  particiones:
- Partición primaria: Son las divisiones crudas o primarias del disco,  solo puede haber 4 de éstas o 3 primarias y una extendida. Depende de una tabla de  particiones. Un disco físico completamente formateado consiste, en realidad,  de una partición primaria que ocupa todo el espacio del disco y posee un sistema  de archivos. A este tipo de particiones, prácticamente cualquier sistema  operativo puede detectarlas y asignarles una unidad, siempre y cuando el sistema  operativo reconozca su formato (sistema de archivos).
 
- Partición extendida: Tambien conocida como partición secundaria es  otro tipo de partición que actúa como una partición primaria; sirve para  contener infinidad de unidades lógicas en su interior. Fue ideada para romper la  limitación de 4 particiones primarias en un solo disco físico. Solo puede  existir una partición de este tipo por disco, y solo sirve para contener  particiones lógicas. Por lo tanto, es el único tipo de partición que no soporta  un sistema de archivos directamente.
 
- Partición lógica: Ocupa una porción de la partición extendida o la  totalidad de la misma, la cual se ha formateado con un tipo específico de  sistema de archivos (FAT32, NTFS, ext2,...) y se le ha asignado una unidad, así  el sistema operativo reconoce las particiones lógicas o su sistema de archivos.  Puede haber un máximo de 23 particiones lógicas en una partición extendida.  Linux impone un maximo de 15, incluyendo las 4 primarias, en discos SCSI y en  discos IDE 63.
 
Particiones  primarias
En los equipos PC, originales de IBM, estas particiones tradicionalmente usan una estructura  llamada Tabla de particiones, ubicada al final  del registro de arranque maestro (MBR, Master Boot Record).  Esta tabla, que no puede contener más de 4 registros de particiones  (también llamados partition descriptors), especifica para cada una su  principio, final y tamaño en los diferentes modos de direccionamiento, así  también como un solo número, llamado partition type, y un marcador que  indica si la partición está activa o no (sólo puede haber una partición activa a  la vez). El marcador se usa durante el arranque; después de que el BIOS cargue el registro de arranque maestro en la  memoria y lo ejecute, el MBR  de DOS comprueba la tabla de partición a su  final y localiza la partición activa. Entonces carga el sector de  arranque de esta partición en memoria y la ejecuta. A diferencia del  registro de arranque maestro, generalmente independiente del sistema  operativo, el sector de arranque está instalado junto con el sistema  operativo y sabe cómo cargar el sistema ubicado en ese disco en particular.
Notar que mientras la presencia de un marcador activo se estandariza, no se  utiliza en todos los gestores de arranque. Por ejemplo, los gestores LILO, GRUB (muy comunes en el sistema Linux) y XOSL  no buscan en la tabla de particiónes del MBR la partición activa; simplemente  cargan una segunda etapa (que puede ser contenida en el resto del cilindro 0 ó  en el sistema de archivos). Después de cargar la segunda etapa se puede cargar  el sector de arranque de cualquiera de las particiones del disco (permitiendo al  usuario seleccionar la partición), o si el gestor conoce cómo localizar el kernel (núcleo) del sistema  operativo en una de las particiones (puede permitir al usuario especificar  opciones de kernel adicionales para  propósitos de recuperación).
Particiones  extendidas y lógicas
Cualquier versión del DOS puede leer sólo  una partición FAT primaria en el disco duro. Esto unido al deterioro de la FAT  con el uso y al aumento de tamaño de los discos movió a Microsoft a crear un  esquema mejorado relativamente simple: una de las entradas de la tabla de  partición principal pasó a llamarse partición extendida y recibió un número de  tipo de partición especial (0x05). El campo inicio de partición tiene la  ubicación del primer descriptor de la partición extendida, que a su vez tiene un  campo similar con la ubicación de la siguiente; así se crea una lista enlazada  de descriptores de partición. Los demás campos de una partición extendida son  indefinidos, no tienen espacio asignado y no pueden usarse para almacenar datos.  Las particiones iniciales de los elementos de la lista enlazada son las llamadas  unidades lógicas; son espacios asignados y pueden almacenar datos. Los sistemas  operativos antiguos ignoraban las particiones extendidas con número de tipo  0x05, y la compatibilidad se mantenía. Este esquema reemplaza al antiguo ya que  todas las particiones de un disco duro se pueden poner dentro de una sola  partición extendida. Por alguna razón, Microsoft no actualizó su sistema  operativo DOS para arrancar desde una partición extendida, debido a que la  necesidad para particiones primarias se preservaron. Por encima de éstas todavía  se habría permitido una partición FAT primaria por unidad, significando todas  las otras particiones FAT primarias deben tener sus números de tipo de partición  prior cambiando al arranque DOS, para que ésta sea capaz de proceder. Esta  técnica, usada por varios administradores de arranque populares, se llama  ocultación de la partición. Sin embargo hay que tener en cuenta una quinta  partición que se puede comprimir pero no es muy recomendable.
UBUNTU 10.10 
Es una distribución Linux basada en Debian GNU/Linux que  proporciona un sistema operativo actualizado y estable para  el usuario medio, con un fuerte enfoque en la facilidad de uso y de instalación  del sistema. Al igual que otras distribuciones se compone de múltiples paquetes  de software normalmente distribuidos  bajo una licencia libre o de código abierto. Estadísticas web sugieren  que el porcentaje de mercado de Ubuntu dentro de las distribuciones Linux es de  aproximadamente 50%, y con una tendencia a subir como servidor web.
El Software Incluido
Posee una gran colección de aplicaciones para la configuración de todo el  sistema, valiéndose principalmente de interfaces  gráficas. El entorno de escritorio predeterminado de  Ubuntu es GNOME y se sincroniza con sus  liberaciones. Existen otras dos versiones oficiales de la distribución, una con  el entorno KDE, llamada Kubuntu, y otra con el entorno Xfce, llamada Xubuntu; existen otros escritorios disponibles, que pueden ser  instalados en cualquier sistema Ubuntu independientemente del entorno de  escritorio instalado por defecto.- Aplicaciones de Ubuntu: Ubuntu es conocido por su facilidad de uso y  las aplicaciones orientadas al usuario final. Las principales aplicaciones que  trae Ubuntu son: navegador web Mozilla Firefox, cliente de mensajería  instantánea Empathy, cliente de redes  sociales Gwibber,  cliente para enviar y recibir correo Evolution, reproductor multimedia Totem, reproductor de música Rhythmbox, editor de vídeos PiTiVi,  editor de imágenes Shotwell, cliente  y gestor de BitTorrents Transmission, grabador de  discos Brasero, suite ofimática Open Office, y el  instalador central para buscar e instalar aplicaciones Centro de software de  Ubuntu.
 
- Seguridad y accesibilidad: El sistema incluye funciones avanzadas de  seguridad y entre sus políticas se encuentra el no activar, de forma  predeterminada, procesos latentes al momento de instalarse. Por eso mismo, no  hay un cortafuegos predeterminado, ya  que no existen servicios que puedan atentar a la seguridad del sistema. Para  labores o tareas administrativas en la línea de comandos incluye una  herramienta llamada sudo (de las siglas en  inglés de  SuperUser do), con la que se evita el uso del usuario administrador. Posee accesibilidad e internacionalización, de modo que  el sistema esté disponible para tanta gente como sea posible. Desde la versión  5.04, se utiliza UTF-8 como codificación  de caracteres predeterminado.
 
No sólo se relaciona con Debian por  el uso del mismo formato de paquetes deb.  También tiene uniones muy fuertes con esa comunidad, contribuyendo con cualquier  cambio directa e inmediatamente, y no sólo anunciándolos. Esto sucede en los  tiempos de lanzamiento. Muchos de los desarrolladores de Ubuntu son también  responsables de los paquetes importantes dentro de la distribución Debian.
Para centrarse en solucionar rápidamente los bugs, conflictos de paquetes,  etc. se decidió eliminar ciertos paquetes del componente main, ya que no son  populares o simplemente se escogieron de forma arbitraria por gusto o sus bases  de apoyo al software  libre. Por tales motivos inicialmente KDE  no se encontraba con más soporte de lo que entregaban los mantenedores de Debian en sus repositorios, razón por la  que se sumó la comunidad de KDE creando la distribución  Linux Kubuntu.
FORMAS DE INSTALACION
CD oficiales 
Todos los lanzamientos de Ubuntu se proporcionan sin costo alguno. Los CD de la  distribución se envían de forma gratuita a cualquier persona que los solicite  mediante el servicio ShipIt(una excepción fue la versión 6.10, la  cual no se llegó a distribuir de forma gratuita en CD).También es posible descargar las imágenes ISO de los discos por descarga directa o a  través de redes P2P y  archivos torrents, reduciendo así la carga en los  servidores.
Ubuntu está disponible, de forma opcional, en DVD para minimizar su dependencia de Internet.
- Instalación de escritorio (desktop): es el medio más usado por  los usuarios ya que, al ser un LiveCD, permite probar Ubuntu sin hacer ningún cambio en  el equipo y agrega una opción para instalarlo permanentemente más  tarde.
 
- Instalación en servidores (server): permite instalar Ubuntu  permanentemente en una computadora usada como servidor. No instala una interfaz gráfica de usuario  por defecto.
 
- Instalación alternativa (alternate): facilita la creación de  sistemas OEM  pre-configurados, configuración automatizada de despliegues, actualización desde  instalaciones anteriores sin acceso a la red, gestión de particiones LVM o RAID y la instalación en equipos con poca memoria RAM  gracias al uso de un instalador a modo de texto.
 
Otras instalaciones
- Wubi: un  instalador libre y oficial de Ubuntu para sistemas operativos Windows cuyo  objetivo es el de permitir que usuarios de ese sistema, no acostumbrados a  Linux, puedan probar Ubuntu sin el riesgo de perder información durante un  formateo o la modificación de particiones. El programa viene de serie en el  LiveCD de Ubuntu, aunque es posible descargarlo de la página oficial.
 
- LiveUSB: una herramienta que viene de serie y que permite la creación  de un LiveUSB de la  distribución, de modo que se pueda cargar el sistema desde una memoria US permitiendo guardar  datos y configuraciones en el mismo, pero con la limitación de que sólo funciona  en una computadora cuya placa  base soporte el arranque desde un medio USB.
 
- LiveCD/DVD personalizado: existen herramientas como Reconstructor, UCK o  remastersys que permiten a  cualquiera crear fácilmente un LiveCD/DVD personalizado de una instalación  existente de Ubuntu.
 
- CD de instalación mediante red: se trata de una imagen ISO de apenas  unos 10MB que contiene los paquetes necesarios para descargar el sistema base  desde los repositorios oficiales de Ubuntu y posteriormente elegir el escritorio  deseado.
 
REQUISITOS MINIMOS
Los requisitos mínimos «recomendados», teniendo en cuenta los efectos de escritorio, deberían permitir ejecutar una  instalación de Ubuntu.
- Procesador x86 a 1 GHz.
 
- Memoria RAM: 1 GB.
 
- Disco Duro: 15 GB (swap incluida).
 
- Tarjeta gráfica VGA y monitor capaz de soportar una resolución de  1024x768.
 
- Lector de CD-ROM o puerto USB
 
- Conexión a Internet puede ser útil.
 
Los efectos de escritorio, proporcionados por Compiz, se activan por defecto en las siguientes  tarjetas gráficas:
- Intel (i915 o  superior, excepto GMA 500, nombre en clave «Poulsbo»)
 
- NVidia (con su  controlador propietario)
 
- ATI (a partir del modelo  Radeon HD 2000 puede ser  necesario el controlador propietario)
 
Si se dispone de una computadora con un procesador de 64 bits (x86-64), y especialmente si dispone de más de 3 GB de  RAM, se recomienda utilizar la versión de Ubuntu para sistemas de 64 bits.