lunes, 10 de marzo de 2008

C sharp para contar (parte 2)

CHenry [chenry@hha.sld.cu]

BOXING AND UNBOXING.

class Test
{
  static void Main()
  {
    int i=123;
    object o=i;
// BOXING
    int j=(int)o;
// UNBOXING
  }  
}


Uso del boxing y unboxing:
Cuando una variable de tipo por valor necesita ser convertida a un tipo por referencia, un objeto box es creado para almacenar el valor, y el valor es copiado en este. Unboxing es simplemente lo contrario. Cuando el objeto box se "castea" a su tipo de valor original el valor es copiado en la apropiada variable.

El proceso de hacer “boxing” se explica imaginando la existencia de una clase T_Box para cada tipo por valor T.

class T_Box
{
  T value;
  T_Box(T t)
  {
//CONSTRUCTOR
    value = t;
  }
}
struct Point
{
  public int x, y;
  public Point(int x, int y)
  {
    this.x = x;
    this.y = y;
  }
}
Point p = new Point(10, 10);
object box = p;
p.x = 20;
Console.Write(((Point)box).x);

Declaración de constantes y variables.
class Test
{
  static void Main()
  {
    const int a = 1;
    const int b = 2, c = 3;
    int d;
    int e, f;
    int g = 4, h = 5;
    d = 4; e = 5; f = 6;
  }
}

Sentencias de control.
Las sentencias if, switch, while, do-while, for, break-continue, return, throw-try las trabaja igual que Java.

• Sentencia foreach:

La sentencia foreach enumera los elementos de una colección, ejecutando las sentencias para cada elemento de la colección.

using System;
using System.Collections;
class Test
{
  static void WriteList(ArrayList list)
  {
    foreach (object o in list)
    Console.WriteLine(o);
  }
  static void Main()
  {
    ArrayList list = new ArrayList();
    for (int i = 0; i < 10; i++)
    list.Add(i);
    WriteList(list);
  }
}

• Sentencia lock.

Parecido al synchronized de Java.
Una sentencia lock obtiene la exclusión-mútua para un objeto dado, ejecutando las sentencias y luego liberando el bloqueo.

La expresión lock debe contener un valor de un tipo por referencia, por tanto un objeto obtenido mediante “boxing” no es valido en una expresión lock. Una expresión lock de la forma:
lock (x) ...

System.CriticalSection.Enter(x);
try {...}
finally
{
  System.CriticalSection.Exit(x);
}

Esto es equivalente a: poner en situación crítica un objeto es usado y luego de ser usado sacarlo de la situación crítica.

La sentencia lock puede ser convenientemente usada para obtener la exclusión-mútua de los métodos estáticos de una clase, ejemplo:

class Cache
{
  public static void Add(object x)
  {
    lock (typeof(Cache)) {...}
  }
  public static void Remove(object x)
  {
    lock (typeof(Cache)) {...}
  }
}

Clases.

C# soporta solamente herencia simple, pero una clase puede implementar múltiples interfaces (igual a Java, la diferencia esta solo en la sintaxis). Una clase puede incluir: constantes, campos (variables u objetos), métodos, propiedades, indexers, eventos, operadores, constructores, destructores y declaraciones de tipos anidados.

Modificadores de clases:

• new: Es solo permitido en las clases anidadas, especifica que la clase oculta un miembro heredado con el mismo nombre.
• public, protected, internal y private: controlan el acceso de la clase, en dependencia del contexto donde la declaration de la clase ocurra algunos de estos modificadores no son permitidos.
• abstract: el modificador es usado para indicar que la clase esta incompleta, solo puede ser usada como base de otras clases, esta difiere de una clase no-abstracta en los siguientes aspectos:
• Una clase abstracta no puede ser instanciada, es un error tratar de usar el operador new.
• Pueden contener métodos abstractos y modificadores (no es un requerimiento).
• Una clase abstracta no puede ser sealed.

Toda clase que derive de una clase abstracta debe incluir la implementación de todos los métodos abstractos heredados.

abstract class A
{
  public abstract void F();
}
abstract class B: A
{
  public void G() {}
}

class C: B
{
  public override void F()
  {
// actual implementation of F
  }
}

• Sealead: El modificador es igual que el final de Java Se usa para “prevenir” la derivación de una clase. Ocurre error al tratar de heredar de una clase sealed. Una clase sealed no puede ser abstracta.
Nota: Este modificador es usado principalmente para impedir la derivación de una clase, pero aparte de esto se genera una especie de código especial, en particular debido a que de las clases sealed como no se puede derivar pueden transformarse las funciones “virtual” en invocaciones “no-virtual”.
P: A que programador se le ocurre ponerle “virtual” a una clase de la cual no se puede heredar????

• Cada miembro puede tener los siguientes tipos de acceso.
• public: miembros son accesible en todo el código.
• Protected: miembros son solo accesible para las clases derivadas (herederos).
• Internal: miembros son accedidos solo dentro del paquete .(igual al que pone Java por default).
• Protected internal: solo para las clases derivadas dentro del paquete.
• Private: solo la propia clase tiene acceso.

Nota: La clase base implícita de toda clase es object, esta a su vez no tiene clase base pues es igual que el object de Java.

La clase base debe ser como mínimo tan accesible como la clase que deriva de ella, seria un error que una clase public derivara de una clase private o con menos acceso que el public (internal).
Nota: Cuando una clase B deriva de una clase A es un error que A dependa de B.

Continuar leyendo

C# para contar (parte 2)

CHenry [chenry@hha.sld.cu]

BOXING AND UNBOXING.

class Test
{
  static void Main()
  {
    int i=123;
    object o=i;
// BOXING
    int j=(int)o;
// UNBOXING
  }  
}


Uso del boxing y unboxing:
Cuando una variable de tipo por valor necesita ser convertida a un tipo por referencia, un objeto box es creado para almacenar el valor, y el valor es copiado en este. Unboxing es simplemente lo contrario. Cuando el objeto box se "castea" a su tipo de valor original el valor es copiado en la apropiada variable.

El proceso de hacer “boxing” se explica imaginando la existencia de una clase T_Box para cada tipo por valor T.

class T_Box
{
  T value;
  T_Box(T t)
  {
//CONSTRUCTOR
    value = t;
  }
}
struct Point
{
  public int x, y;
  public Point(int x, int y)
  {
    this.x = x;
    this.y = y;
  }
}
Point p = new Point(10, 10);
object box = p;
p.x = 20;
Console.Write(((Point)box).x);

Declaración de constantes y variables.
class Test
{
  static void Main()
  {
    const int a = 1;
    const int b = 2, c = 3;
    int d;
    int e, f;
    int g = 4, h = 5;
    d = 4; e = 5; f = 6;
  }
}

Sentencias de control.
Las sentencias if, switch, while, do-while, for, break-continue, return, throw-try las trabaja igual que Java.

• Sentencia foreach:

La sentencia foreach enumera los elementos de una colección, ejecutando las sentencias para cada elemento de la colección.

using System;
using System.Collections;
class Test
{
  static void WriteList(ArrayList list)
  {
    foreach (object o in list)
    Console.WriteLine(o);
  }
  static void Main()
  {
    ArrayList list = new ArrayList();
    for (int i = 0; i < 10; i++)
    list.Add(i);
    WriteList(list);
  }
}

• Sentencia lock.

Parecido al synchronized de Java.
Una sentencia lock obtiene la exclusión-mútua para un objeto dado, ejecutando las sentencias y luego liberando el bloqueo.

La expresión lock debe contener un valor de un tipo por referencia, por tanto un objeto obtenido mediante “boxing” no es valido en una expresión lock. Una expresión lock de la forma:
lock (x) ...

System.CriticalSection.Enter(x);
try {...}
finally
{
  System.CriticalSection.Exit(x);
}

Esto es equivalente a: poner en situación crítica un objeto es usado y luego de ser usado sacarlo de la situación crítica.

La sentencia lock puede ser convenientemente usada para obtener la exclusión-mútua de los métodos estáticos de una clase, ejemplo:

class Cache
{
  public static void Add(object x)
  {
    lock (typeof(Cache)) {...}
  }
  public static void Remove(object x)
  {
    lock (typeof(Cache)) {...}
  }
}

Clases.

C# soporta solamente herencia simple, pero una clase puede implementar múltiples interfaces (igual a Java, la diferencia esta solo en la sintaxis). Una clase puede incluir: constantes, campos (variables u objetos), métodos, propiedades, indexers, eventos, operadores, constructores, destructores y declaraciones de tipos anidados.

Modificadores de clases:

• new: Es solo permitido en las clases anidadas, especifica que la clase oculta un miembro heredado con el mismo nombre.
• public, protected, internal y private: controlan el acceso de la clase, en dependencia del contexto donde la declaration de la clase ocurra algunos de estos modificadores no son permitidos.
• abstract: el modificador es usado para indicar que la clase esta incompleta, solo puede ser usada como base de otras clases, esta difiere de una clase no-abstracta en los siguientes aspectos:
• Una clase abstracta no puede ser instanciada, es un error tratar de usar el operador new.
• Pueden contener métodos abstractos y modificadores (no es un requerimiento).
• Una clase abstracta no puede ser sealed.

Toda clase que derive de una clase abstracta debe incluir la implementación de todos los métodos abstractos heredados.

abstract class A
{
  public abstract void F();
}
abstract class B: A
{
  public void G() {}
}

class C: B
{
  public override void F()
  {
// actual implementation of F
  }
}

• Sealead: El modificador es igual que el final de Java Se usa para “prevenir” la derivación de una clase. Ocurre error al tratar de heredar de una clase sealed. Una clase sealed no puede ser abstracta.
Nota: Este modificador es usado principalmente para impedir la derivación de una clase, pero aparte de esto se genera una especie de código especial, en particular debido a que de las clases sealed como no se puede derivar pueden transformarse las funciones “virtual” en invocaciones “no-virtual”.
P: A que programador se le ocurre ponerle “virtual” a una clase de la cual no se puede heredar????

• Cada miembro puede tener los siguientes tipos de acceso.
• public: miembros son accesible en todo el código.
• Protected: miembros son solo accesible para las clases derivadas (herederos).
• Internal: miembros son accedidos solo dentro del paquete .(igual al que pone Java por default).
• Protected internal: solo para las clases derivadas dentro del paquete.
• Private: solo la propia clase tiene acceso.

Nota: La clase base implícita de toda clase es object, esta a su vez no tiene clase base pues es igual que el object de Java.

La clase base debe ser como mínimo tan accesible como la clase que deriva de ella, seria un error que una clase public derivara de una clase private o con menos acceso que el public (internal).
Nota: Cuando una clase B deriva de una clase A es un error que A dependa de B.

Continuar leyendo

El CD-ROM

Reynier Reyes [rreyes33@alumno.uned.es]

Luego de haber aprobado satisfactoriamente un curso de Arquitectura de Máquinas, les pongo a su disposición un trabajo acerca del CD-ROM, estoy claro de que es un tema un poco atrasado porque podría abordar sobre el CD-RW o el DVD, pero este es en sí el principio de operación de todos esos dispositivos.

¿Qué es un CD-ROM?

El CD-ROM - Compact Disk Read Only Memory - es un medio óptico de almacenamiento de información, capaz de contener hasta 682 MB de datos, 74 minutos de audio de alta fidelidad o cerca de 333000 páginas de texto. Consiste en un pequeño disco de 120 mm de diámetro, con un agujero de 15 mm en el centro y un grosor de 1.2 mm. Según una leyenda que circula en el mundo de la técnica, estas dimensiones fueron escogidas porque pueden contener exactamente la Novena Sinfonía de Beethoven.

¿Como Funciona? (una versión simple)

Un disco óptico está fabricado mayormente de policarbonato (un plástico). Los datos son almacenados en una capa dentro del policarbonato. Otra capa metálica, refleja la luz del láser de vuelta hacia un censor.
Para leer los datos en el disco, la luz del láser brilla a través del policarbonato e impacta sobre la capa de los datos. De que manera la luz del láser es reflejada o absorbida, es interpretado por la computadora como un 1 o un 0.

En un CD la capa de los datos está cerca de la parte de arriba del disco, del lado de la etiqueta.
Características
Capacidad
Según el tipo de CD, actualmente hay diferentes configuraciones:
Diámetro: 80 mm - 215 MB o 21 minutos de audio.
Diámetro: 120 mm - 650 MB o 74 minutos de audio.
Diámetro: 120 mm - 700 MB o 80 minutos de audio.
Diámetro: 120 mm - 800 MB o 90 minutos de audio.
Diámetro: 120 mm - 875 MB o 100 minutos de audio.

Almacenamiento de la información

En un CD la información se almacena en formato digital, es decir, utiliza un sistema binario para guardar los datos. Estos datos se graban en una única espiral que comienza desde el interior del disco (próximo al centro), y finaliza en la parte externa. Los datos binarios se almacenan en forma de pozos y llanos, de tal forma que al incidir el haz de luz del láser, el ángulo de reflexión es distinto en función de si se trata de un pozo o de un llano.

Los pozos tienen una anchura de 0,6 micras, mientras que su profundidad (respecto a los llanos) se reduce a 0,12 micras. La longitud de pozos y llanos está entre las 0,9 y las 3,3 micras. Entre una revolución de la espiral y las adyacentes hay una distancia aproximada de 1,6 micras (lo que hace cerca de 45.000 pistas por centímetro).

Tiempo de acceso. Otro aspecto fundamental en la velocidad de una unidad de CD es el tiempo de acceso. Este se define como el tiempo transcurrido entre el momento en que la unidad recibe la orden de leer los datos, y la lectura del primer bit. El tiempo de acceso se mide en milisegundos, y se toma un promedio de diferentes lecturas para calcularlo, puesto que depende de la posición del dato en el disco.
Interfaces.

La interfase es la conexión física entre el CD-ROM y el bus de la computadora. Tres tipos fundamentales de interfase se encuentran en el mercado: SCSI, IDE y aquellas que son propias de un fabricante específico.
SCSI, (Small Computer System Interfase) es el nombre de una interfase que permite conectar distintos tipos de periféricos a la computadora, incluyendo CD-ROMs, discos duros y otros dispositivos. Su principal ventaja radica en que posibilita la conexión de hasta 7 dispositivos por cada conector del bus de la PC, lo que ofrece una impresionante flexibilidad al sistema. La gran desventaja es su alto costo. Si usted va a instalar una sola unidad de CD en su computadora, como sucede en la mayoría de los casos, no resulta práctico decidirse por una interfase SCSI.

IDE. La mayoría de nuestros lectores estarán bien familiarizados con la interfase IDE, por ser la que utilizan para conectar su disco duro. IDE, (Integrated Drive Electronics) es un estándar mundial para la conexión de periféricos. Los fabricantes de CD-ROM han aprovechado su amplia difusión para diseñar unidades que puedan conectarse directamente a la misma cinta o conector del disco duro. Esto simplifica en gran medida la instalación del CD-ROM y evita la necesidad de utilizar una tarjeta adicional para su conexión. El precio de las unidades IDE es menor que el de aquellas que utilizan la norma SCSI.

¿Por qué redondo? ¿Por qué un haz de luz?

La configuración en forma de disco le da a este soporte de datos versatilidad a la hora de acceder a cualquier parte de su superficie sin apenas movimientos del cabezal de lectura, usando solamente dos partes móviles, el cabezal que se mueve del centro al exterior del disco en línea recta y el eje de rotación que gira sobre sí mismo para trabajar conjuntamente con el cabezal y así obtener cualquier posición de la superficie con datos.
Este sistema de acceso a la información es superior a sistemas de cinta pues tiene menos calentamiento del soporte a altas velocidades (aun así se calienta), y el haz de luz no supone un problema de rozamiento (no toca el disco, sólo luz) como pasaba con los disquetes para datos o los discos de vinilo y cintas de audio

Ventajas de los Discos Ópticos.

Físicas: Un disco óptico es mucho más robusto que una cinta o un disquete. Físicamente es más difícil romperlos, fundirlos o arquearlos.
Fragilidad: No es sensible a ser tocado, pese a que puede ensuciarse demasiado o rayarse para después ser leído. No obstante, puede ser limpiado
Magnético: No es afectado en absoluto por los campos magnéticos.
Capacidad: Los discos ópticos guardan muchos más datos que los disquetes.
Y un poco más, el lado del disco en el reverso de los datos, puede lucir una linda etiqueta
Para los proveedores de software, un disco óptico es una gran manera de almacenar el software y los datos que ellos desean distribuir o vender.

Desventajas de los Discos Ópticos

Son propensos a adquirir hongo, por lo que necesitan de un cuidado minucioso del polvo, la humedad y el calor. Se pueden partir con facilidad si se mantienen fuera de la caja protectora o en el caso que no tengan una caja protectora efectiva.

Partes de la lectora del CD

Un motor que hace girar el disco.
Un motor acoplado a un mecanismo que posiciona la cabeza en sentido radial.
El conjunto de la cabeza lectora que incluye: una lente, varios prismas y espejos, (muy pequeñitos) varios servos magnéticos que ajustan la posición de la lente; un diodo emisor láser en infrarrojo, un foto detector bastante complejo para el ajuste de posición,; algunos circuitos electrónicos.
Queda además la placa del circuito impreso principal donde están los conectores de alimentación y de control.

Continuar leyendo

Cómo comprar la mejor PC

Yordan Pérez [truano@infomed.sld.cu]

Existen varios artículos con el mismo titulo en el mundo, pero por desgracia no son aplicables para los cubanos, o bien no tenemos acceso a muchas de las cosas que dicen, o bien los precios no son los mismos, el hecho es que mucha gente en Cuba compra las PC sin saber exactamente que está comprando, en este articulo trato de ayudar un poco a ese tipo de personas pues pienso que cuando se vá a emplear la cantidad de dinero que cuesta una computadora, al menos deberíamos saber lo básico sobre lo que estamos adquiriendo”

Uso o Finalidad

Lo primero que debemos hacer antes de comprar una computadora es preguntarnos a nosotros mismos que uso pretendemos darle, cual será la misión de la PC en nuestra casa, porque en dependencia del fin para la cual esté prevista dependerá que inversión debemos hacer, antes de entrar en detalles voy a exponerles mi punto de vista sobre la adquisición de una computadora, no importando el uso que se le dé, mas bien en sentido general.

Las PC viejas (Pentium III o inferior) se están desvalorizando a una velocidad increíble, con la salida de nuevas tecnologías la técnica vieja va quedando cada día mas atrasada, lo cual hace que pierda valor, por lo tanto si compramos un Pentium III porque pensamos que con eso ya resolvemos nuestras necesidades, aunque así sea en realidad, estamos votando el dinero, hace 2 años atrás un P3 costaba alrededor de los 600 dólares, hoy por hoy no pasa de $350, solo en 2 años bajó casi a la mitad del precio, quizás compremos hoy un P3 porque nos sobra para lo que vamos a realizar, pero pasado quizás 1 año, ya no valga ni la mitad de lo que pagamos, entonces estamos perdiendo dinero a una velocidad increíble, eso sin contar que si en algún momento se nos rompe alguna pieza, ya no se fabrican, es decir no están en el mercado diario, pasaremos mas trabajo para adquirir dicha pieza, mi consejo es que a pesar del uso que se le vaya a dar a la PC nunca debemos gastar dinero en tecnología vieja, pues los únicos en perder seremos nosotros mismos.

PC para Jugadores

Me cuento entre los fanáticos a los juegos, no se los recomiendo demasiado a los que recién comienzan en el mundo de la informática ya que son altamente adictivos y no les permitirán tiempo para aprender nada mas, pero quiéralo o no lo quiera, siempre habrán fanáticos a los juegos de PC, ¿como debe estar estructurada una PC para juegos? Uffff posiblemente la mas cara de todas, ningún programa de los que normalmente usamos exige mas de la PC que un juego moderno, por lo tanto un buen PC para juegos debe tener simplemente lo mejor, hablaré de lo mínimo que debe tener un jugador en su PC así como una buena configuración que aunque cara será una experiencia totalmente nueva poder jugar en algo así.

Configuración mínima según mi opinión:
Procesador: Intel P4 2,8 Ghz HT, cache L2 1Mb, Bus 800 Mhz
Memoria RAM: 512 Mb DDR 400 Mhz
Tarjeta de Video: Nvidia GeForce 5750 AGP 128 MB
Monitor: CRT 17”

Configuración Recomendada:
Procesador: Intel Pentium Quad Core
Memoria: 1 – 2 GB DDR2 1024 Mhz
Tarjeta de Video: Nvidia GeForce 8600 GT PCI Ex, 512 MB
Monitor: TFT 19-22”

PC Para Fanáticos de las Películas

En estos casos solamente tengo la siguiente opinión, una PC para este fin solamente tiene que asegurarse de tener buena capacidad en Disco Duro (todos los GB que les sea posible adquirir) una tarjeta de video con salida RCA o S-Video, para poder ver los Films por un TV convencional y un quemador de DVD, las demás características son dispensables, puede ser lo mismo un Pentium que un Celeron.

PC para Fanáticos de la Música

Aquí tenemos un caso similar al de las películas, puede ser cualquier PC mientras tenga una buena tarjeta de sonido, preferiblemente “Creative SoundBlaster” un buen sistema de audio, 5.1 Teatro en Casa sería magnifico, debería tener también buena capacidad en disco duro al menos unos 160-250GB y un quemador de DVD para almacenar la música.

PC para Diseñadores (tanto 3D como Photoshop)

Este tipo de PC requiere un procesador rápido, un Pentium 4 Dual Core estaría bien, con aproximadamente 1GB de Ram y lo demás es un monitor de gran tamaño, 19-21” preferiblemente TFT y un buen mouse óptico.

PC para programadores

Je…. Hasta un 486 sirve, y para los que no saben que es un 486 piensen en la PC donde Cristóbal Colon llevaba su bitácora y ya están viendo que es un 486, con esto quiero decir que no hay ningún tipo de necesidades grandes para los programadores, todo lo contrario, un buen programa que se respete debe poder ser igual de funcional en un Quad Core como en un Pentium MMX.

Resumen

Hay que tener en cuenta que cuando adquirimos una PC por primera ves aun casi nunca tenemos conciencia de para que la queremos, también hay momentos en que pensamos en un principio usarla para una cosa y luego terminamos en otra, pero a la larga lo mas importante es adquirir una PC que nos sirva para futuras necesidades, teniendo en cuenta mi consejo anterior de que cualquier tecnología pasada no hará mas que hacernos perder dinero.

Espero se sientan informados con este articulo, todo ha sido muy a grandes rasgos ya que como todos saben en nuestro país no tenemos acceso a todo lo que necesitaríamos por eso no he entrado en detalles sobre marcas y modelos.

Continuar leyendo

Pasando a Linux

Alix A. [aacg@sum.upr.edu.cu]

Este artículo está escrito para todos aquellos usuarios habituales de Microsoft Windows en cualquiera de sus variantes, que deseen migrar a Linux de forma paulatina y que dispongan de un ordenador con un micro Pentium o superior y una RAM mayor de 128 MB.

Muchos quieren el cambio por que han oído que este sistema es más estable que Windows, que el ataque de virus y troyanos casi llega a cero, etc. Pero en resumen no tiene idea de lo que se van a encontrar; por ello les recomiendo que el cambio lo hagan de forma gradual.

El sistema que les propongo ya ha sido abordado aquí, se trata del Knoppix, que es una de las distribuciones mas ligeras que corren de Linux, pudiéndose ejecutar totalmente desde CD sin tener que instalar en el ordenador. Pero bueno ya que estamos hablando de cambiarnos a Linux les diré como instalar este sistema en el disco duro en este caso la versión 5.1.1 que se puede descargar desde nuestra intranet en: ftp://ftp.upr.edu.cu/Linux/Sistemas_Operativos/Knoppix%205.1.1 y si no pueden yo les puedo facilitar una copia, siempre que me escriban a: aacg@sum.upr.edu.cu

Pues mano a la obra:

Arranquemos el CD de Knoppix 5.1.1 en Español.

Si la versión que tenemos no es la versión en Español podemos arrancar con la opción: boot: knoppix lang=es Configuramos nuestro PC para que inicie por el lector de CD, colocamos en el CD y reiniciamos.
Antes de poder instalar cualquier distribución de Linux y siempre que queramos que esta conviva con otros sistemas operativos, es necesario realizar una preparación del disco duro para declarar las zonas asignadas a cada uno de los sistemas.

Se necesitan al menos dos particiones para Knoppix:
• Partición raíz: root, de al menos 2,5GB.
• Partición de intercambio (swap) para Linux. Elegir un tamaño del doble de la memoria RAM del ordenador (es suficiente con 256MB).

Aunque con dos particiones es suficiente, puede proporcionar ventajas el tener una tercera partición Linux para el directorio /home. De esta forma, a la hora de volver a instalar Linux, nuestros ficheros de datos, configuración personal, etc. no se borrarán. El tamaño podría ser de unos 1000MB y el tipo el mismo que para la partición raíz. Si optamos por esta opción, habrá que asignar esta partición al directorio /home, que por defecto se habrá creado en la partición en la que se instale Knoppix. (En otra ocasión diré cómo hacerlo.)

Un disco duro puede tener un máximo de 4 particiones primarias mientras que no hay límite en la práctica para las particiones lógicas. Windows necesita ser instalado en una partición primaria, mientras que para Linux es indiferente si se instala en una primaria o en una lógica. Por lo tanto nosotros, para instalar Linux lo haremos en particiones lógicas. Para crear particiones lógicas hay que crear una extendida en una de las 4 primarias donde se indicará, mediante el tipo "extended" que lo que contiene son particiones lógicas. En Linux, las particiones se numeran del 1 al 4 para las primarias y del 5 en adelante para las lógicas. Así:
[/dev/hda1 es la primera partición primaria del primer disco duro. /dev/hda2 es la segunda partición primaria del primer disco duro. ... /dev/hda5 es la primera partición lógica del primer disco duro. /dev/hda6 es la segunda partición lógica del primer disco duro. ... /dev/hdb1 es la primera partición primaria del segundo disco duro. /dev/hdb2 es la segunda partición primaria del segundo disco duro. ...]

Inicio del programa knoppix-installer

Después de arrancar KNOPPIX desde CD, abrir una consola de root mediante KNOPPIX --> Consola de root Desde el prompt, escribir:
# knx2hd
Respondiendo a las preguntas, en unos minutos tendremos instalada una distribución Debian totalmente operativa.

Una vez que ejecutemos la orden, nos aparecerá una pantalla, en la que se nos advierte que esta aplicación está todavía en desarrollo y que podríamos perder algunos datos. Es conveniente hacer una copia de seguridad de todos los datos antes de ejecutar esta aplicación. (Yo generalmente no lo hago)

Aparece un menú con las opciones disponibles. Para particionar lo primero que habría que hacer es seleccionar la opción en el menú principal de knoppix-installer si no lo hemos hecho previamente. Haciendo esto se lanzará la ejecución del programa QTPparted.

Al iniciarse esta aplicación en la columna de Dispositivos aparecerán los discos disponibles como /dev/hda, /dev/hdb, etc... Pulsando sobre el disco en cuestión aparecen todas las particiones que este contiene.
Aunque es muy posible que sólo aparezcan dos particiones Fat32 o NTFS si lo que hay instalado es Windows 98, XP o 2003.

Para poder hacer espacio para las particiones de Linux hay que reducir el tamaño de una de estas particiones. Para redimensionar una partición, se selecciona y pulsa con el botón derecho del ratón para ver el menú contextual y utilizar la opción de redimensionar.

Puede indicarse el tamaño en el campo de edición o arrastrando los extremos de la caja de color. Para instalar Knoppix será necesario que después de la redimención queden unos 3 Gb libres por lo menos.

Creación de la partición de intercambio (swap)

Seleccionar la fila correspondiente al espacio libre (Tipo: free) y pulsar con el botón derecho del ratón o pulsar el botón de creación de partición.
Supongamos que el ordenador tiene 128 Mb de RAM --> reservaremos 256 Mb de swap. Para ello, seleccionamos el tipo de partición: lógica y el sistema de ficheros: Linux -swap.

Creación de la partición Linux

En esta partición es donde se instalará el sistema operativo Linux. Al igual que con la partición de swap, creamos una nueva partición lógica con el sistema de ficheros Linux ext3.

Creación de una partición para el directorio home.

Esta partición no es obligatoria, aunque sí recomendable. De forma análoga a las particiones anteriores.

Configurar la instalación (knoppix-installer)

Seleccionamos la primera opción del menú de knoppix-installer. Existen tres modos de instalación de Knoppix en el disco duro:

Tipo de instalación:
novato: Sistema multiusuario con detección hw
   • Utiliza detección de hardware en cada arranque del sistema.
   • Permite múltiples usuarios.
   • Hereda los comandos en el arranque (boot:) al nuevo sistema
knoppix: Sistema Knoppix como desde el CD
   • Copia el CD al disco duro.
   • Funciona exactamente igual que desde el CD con la excepción de que se puede utilizar el comando apt-get para instalar nuevo software y que el sistema se monta en modo lectura-escritura.
   • NO PERMITE MÚLTIPLES USUARIOS.
   • Hereda los comandos en el arranque (boot:) al nuevo sistema
debian: Sistema tipo Debian (como anterior instalador)
   • Sólo hereda los comandos en el arranque (boot:) al nuevo sistema: acpi, noapic, nosmp, pci, pnpbios y noapm.
   • Permite múltiples usuarios.
   • Es la más similar a una instalación Debian convencional.

Nosotros recomendamos la instalación tipo Debian.
Después de seleccionar el tipo de instalación que vamos a realizar se nos preguntará por la partición en la que se va a instalar el sistema (directorio raíz) y después el tipo de sistema de fichero que va a utilizarse para formatearla.

También se nos preguntará el nombre y los apellidos. Con la inicial del nombre y el apellido creará un usuario automáticamente en lugar del usuario knoppix que hay ya creado en el Linux ejecutado desde CD.

Después nos pedirá la contraseña para este usuario; También habrá que introducir la contraseña del administrador (root) y el nombre de host (este es el nombre con el que se identificará el ordenador en la red local)

El siguiente paso es importante. Hay que indicar dónde se instalará el gestor de arranque (lilo). El gestor de arranque es la aplicación que permite arrancar un sistema operativo u otro (o un núcleo Linux u otro).
Hay que seleccionar, normalmente, mbr: en el sector de arranque del disco duro. La otra opción (partición: En la partición raíz) suele usarse cuando ya se dispone de un gestor de arranque y se desea conservarlo.
Se nos mostrará una ventana con información de todas las opciones seleccionadas y se nos dará la opción de almacenar todos estos datos en un disquete para poder utilizarlos posteriormente o en otra instalación.
Si ha concluido la instalación y todo ha ido bien, aparecerá la ventana:

Fin de la instalación.

Y eso será todo, ya tendremos un sistema Linux instalado y listo para que lo uses a tu discreción.

Continuar leyendo

Windows Server 2003 (Parte 1)

Chacal [mariav.hedez@infomed.sld.cu]

Hola comunidad de BlackHat y felicidades a todos por tener nuestro primer año de publicaciones, quiero darle una abrazo a todos los colegas de esta revista digital.

En esta edición vengo con algo nuevo que no se ha tratado en las publicaciones anteriores y que a muchos de nosotros nos ha pasado. Les digo todo esto porque a mi personalmente me ha sucedido constantemente, pero ya hoy aclararemos muchas dudas.

Hoy el tema que trataremos es sobre el Windows Server 2003, se que debemos profundizar en el software libre, pero por problemas ajenos a nosotros, no podemos muchas veces instalar otro SO que no sea Windows.

Algo de Historia

Desde el lanzamiento de los Sistemas Operativos de Redes, pasando por Windows NT, los sistemas se fueron perfeccionando a la medida de las necesidades de las empresas. Desde las ya conocidas diferencias que introdujo Windows 2000 sobre su predecesor Windows NT 4.0, llegamos hoy en día al Sistema Operativo óptimo para las exigencias del mercado Informático, donde se han implementado notables mejoras con respecto a su predecesor Windows 2000. En el caso de Windows Server 2003 podemos decir que está basado en experiencias del Mercado Consumidor Informático y es por eso que en él encontraremos muchas características de las que siempre nos preguntamos ¿Se puede hacer esto?....¿y aquello? Hasta el momento quizás no habían respuestas, pero a partir de ahora, esas preguntas encuentran posibles respuestas en Windows Server 2003.

Durante este módulo estaremos haciendo una introducción a las nuevas características y funcionalidades de la familia de Servidores Windows Server 2003. Al finalizar este capítulo usted tendrá los conocimientos necesarios para describir funcionalidades, características y requerimientos de los distintos sistemas operativos de esta familia.

Nuevas características integradas

Automated System Recovery
Esta nueva herramienta permite recuperar el sistema operativo a su estado anterior. ¿Cómo funciona? Utiliza un Diskette con información de la configuración y un set de backup. Cuando Usted quiera iniciar el proceso de Recovery tendrá que tener ese diskette, el set de Backup de la System Patition y el Cd-Rom de instalación de Windows Server 2003.

Para este proceso, necesitará el diskette y los medios de ASR que contienen los archivos de Backup. El sistema operativo será restaurado al mismo estado que tenía en el momento del Backup ASR, permitiéndole arrancar su sistema.

Active Directory

ADMT versión 2.0
Ahora es sencillo migrar a Active Directory utilizando las mejoras de Active Directory Migration Tool (ADMT). ADMT 2.0 permite migrar passwords desde Microsoft Windows NT® 4.0 a Windows 2000 y Windows Server 2003, o desde Windows 2000 a Dominios Windows Server 2003.

Renombrado de Dominios

Este es el soporte para cambiar nombres Domain Name System (DNS) y/o NetBIOS de dominios existentes en un forest, conservando toda la estructura del Directorio. En escenarios de reestructuración de dominios, esto otorga una gran flexibilidad.

Schema

La flexibilidad de Active Directory, ahora permite la desactivación de atributos y definición de clases en Active Directory Schema. Asimismo se agrega una nueva funcionalidad que permite borrado de Schema.

Group Policy

Junto con Windows Server 2003, Microsoft lanzó una herramienta para la administración de GPO Group Policy Management Console (GPMC), que permite administrar múltiples dominios, activar y desactivar Policies y hacer soporte para drag-and-drop en la herramienta. También incluye la funcionalidad de Backup, Restore y copia de Policies y trae una herramienta de Reportes para analizar la utilización de Policies. Encontrará mejoras sustanciales de las Policies y muchas más configuraciones para administrar en forma centralizada.

Relaciones de confianza

Windows Server 2003 trae también sustanciales mejoras en cuanto al manejo de las relaciones de confianza Inter-Forest. La característica "Cross-Forest Authentication" permite a un usuario de Forest acceder de forma segura a recursos en otro Forest, utilizando Kerberos ó NTLM, sin sacrificar los beneficios del "Single sing-on" y facilitando la administración. Asimismo permite seleccionar fácilmente usuarios y grupos para incluirlos en grupos locales de otros Forest, manteniendo la seguridad y los SID de cada objeto, a pesar de tratarse de diferentes Forest.

Policies de Restricción de Software

Por medio de estas Policies se pueden proteger los entornos de Software no autorizados, especificando el Software que sí lo está. También se pueden realizar excepciones creando reglas específicas.

Replicación de miembros en los grupos

Anteriormente los miembros de un grupo eran un atributo del mismo, con lo cual, si durante la replicación se modificaba el grupo en dos Controladores de Dominio diferentes, el resultado era que la última modificación se replicaba. Es decir, si se agregaban dos usuarios a grupos, uno no era añadido, pero se tenía una limitación en cuanto a la cantidad de usuarios por grupo (Limitación del Atributo) de máximo 5000. A partir de Windows Server 2003, ahora cada usuario en un grupo es un atributo diferente, eliminando la limitación de 5000 usuarios y resolviendo los problemas de replicación.

Bueno con esto pienso aclarar algunos conceptos y dudas, pero no se preocupen que me mantendré enviando más artículos de este tipo en otras ediciones.
Salu2 para toda la comunidad

Continuar leyendo

StarCraft (parte 1)

Yordan Pérez [truano@infomed.sld.cu]

En el pasado encuentro que sostuvimos los de BlackHat asumí la responsabilidad de mantener una sección destinada a los juegos, quiero antes de comenzar dar un buen consejo, yo particularmente soy un jugador empedernido, todo el que me conoce lo sabe, pero antes de dedicar tiempo a los juegos dediqué gran parte de mi vida a aprender algo útil en el mundo de la informática, aprendí hardware que es la rama que me gusta y luego de muchísimas noches en vela estudiando y después de haber destrozado varias PC, aprendí, hoy por hoy solo me resta estar al día con las nuevas tecnologías, ya eso es mucho mas fácil y me queda muchísimo tiempo para los juegos, ¿de que va la trova? Aahh pues que les recomiendo que antes de derrochar tiempo en juegos, primero cumplan su misión en este mundo, aprendan algo útil, y ya después yo los estaré esperando en este mundo tan adictivo que son los videojuegos.

¿De que manera puedo comenzar una sección de juegos en la revista si no lo hago por el juego que más fans tiene en nuestro país? Yo no me cuento entre los fans, pero como buen jugador lo pasé completo y en más de una ocasión he tirado a mis Protoss en conflictos multiplayer, veremos de qué forma logro hacer un artículo de tamaño preciso en un juego que tiene tanto por decir.

Un poco de historia

Nace en 1998 de manos de Blizzard, es un juego de estrategia en tiempo real donde 3 razas luchan por la supremacía en un mundo futurista, en ese mismo año Blizzard saca la que sería su única expansión oficial, Brood War, luego de eso ha sufrido modificaciones en forma de parches para mejorar el equilibrio entre las razas, corregir errores de programación, perfeccionar la inteligencia artificial, entre otras cosas, 9 años después de la salida de StarCraft, Blizzard Entertainment Korea anuncia la llegada de StarCraft 2.

Las Razas

Terran: Humanos descendientes de un grupo de ex convictos desterrados del planeta tierra, los cuales se estrellaron en el sector Koprulu al quedarse sus naves sin combustible luego de estar viajando por el espacio durante 30 años.

Ventajas:
• Pueden construir en cualquier lugar.
• Las construcciones principales vuelan.
• La mayoría de las unidades atacan a distancia.
• Dos unidades tienen la habilidad de la invisibilidad (Ghost y Wraith)

Desventajas:
• Necesitan mucho espacio para construir.
• Algunas construcciones necesitan adiciones para brindar toda la tecnología.
• Al tener muchas unidades mecánicas están en desventaja frente a otras razas.

Protoss: Los Xel´Naga una poderosa raza ancestral creo a los protoss en Aiur, fue tal la perfección de dicha creación que los protoss se rebelaron contra sus propios creadores haciendo que estos tuviesen que retirarse, los Protoss son una raza guerrera por excelencia, gracias a un elevado desarrollo cerebral se comunican por telepatía, tienen el mejor desarrollo tecnológico de todas las razas, incluso pueden llegar a convertir construcciones enemigas pudiendo llegar a tener las 3 tecnologías.

Ventajas:
• Sus unidades son las mas fuertes y resistentes.
• Pueden recargar sus escudos dañados en la batería de escudos.
• Los Pylon que habilitan la construcción también aumentan el limite de población.
• Los Probes pueden iniciar la construcción de un edificio y retomar sus tareas.
• La habilidad del Dark Archon, Mind Control permite convertir unidades enemigas.

Desventajas:
• Son las unidades más caras.
• Si bien los escudos pueden regenerarse, no hay forma de reparar los edificios.
• Los edificios solo pueden ser construidos en el área de influencia de un Pylon.
• Si un Pylon es destruido, los edificios en su área de influencia quedan sin potencia.

Zerg: Luego del ya comentado fracaso de los Xel´Naga con los Protoss, se dispusieron a crear otra raza intentando corregir los errores anteriores, en un planeta llamado Zerus crearon a los Zerg, larvas – parásitos capaces de mutar, eran dirigidos por un ente principal llamado Supermente, se convirtieron en feroces guerreros, finalmente la supermente se dio cuenta de la existencia de los Xel´Naga y su constante vigilancia, y envió a su ejercito y exterminarlos, aun se desconoce si un pequeño grupo de Xel´Naga logró sobrevivir.

Ventajas:
• Se reproducen con gran velocidad.
• Son útiles si atacan en grandes grupos.
• Sus unidades y Construcciones son totalmente biológicas.
• Zerglings y Scourges son generados de a 2 por Larva.

Desventajas:
• Son unidades débiles.
• Solo pueden crear sus estructuras sobre biomateria.
• El trabajador muta en el edificio a construir, así que solo se puede usar una vez.

Continuar leyendo