viernes, 22 de marzo de 2013

Sistemas de almacenamiento actuales



Sistemas de almacenamiento actuales

                 Los dispositivos en los que almacenamos información actualmente han sufrido grandes cambios en relativamente pocos años: nuevos formatos y con mayor capacidad.

                -Discos duros: en el mercado se consiguen de hasta 1000 GB (1 Terabyte), siendo los más comunes los que van de 120 a 500 GB, pero al estar alojados, normalmente, dentro del ordenador (discos internos), no son extraíbles fácilmente. Para intercambiar información con otros equipos (si no están conectados en red) se tienen que usar, o traspasar la información, a otro tipo de dispositivo de almacenamiento. En la actualidad, contamos con discos duros externos que nos permiten utilizar nuestra información en distintos ordenadores.
Un disco duro está formado por varios discos apilados sobre los que se mueve una pequeña cabeza magnética que graba y lee la información. Este componente, al contrario que el micro o los módulos de memoria, no se pincha directamente en la placa, sino que se conecta a ella mediante un cable. También va conectado a la fuente de alimentación.

-Disquete o disco flexible: es un medio de almacenamiento o soporte de almacenamiento de datos formado por una pieza circular de material magnético, fina y flexible encerrada en una cubierta de plástico, cuadrada o rectangular. Actualmente está prácticamente en desuso. La máxima capacidad comercializada en este formato fue 240 MB aunque la más habitual era de 150 a 200 MB. Este tipo de dispositivo de almacenamiento es vulnerable a la suciedad y los campos magnéticos externos, por lo que, en muchos casos, deja de funcionar con el tiempo.

-Discos ópticos: dentro de esta clase tenemos 3 formatos que son CDs, DVDs y Blu-ray.

-CD´s: El disco compacto es un soporte digital óptico utilizado para almacenar cualquier tipo de información. Los discos compactos se hacen de un disco grueso, de 1,2 mm, de policarbonato de plástico, al que se le añade una capa reflectante de aluminio, utilizada para obtener más longevidad de los datos. Así se reflejará la luz del láser, posteriormente se le añade una capa protectora de laca, que actúa como protector del aluminio. En el caso de los CD-R y CD-RW se usa oro, plata, y aleaciones de las mismas, que por su ductilidad permite a los láseres grabar sobre ella, cosa que no se podría hacer sobre el aluminio con láseres de baja potencia. Tipos de disco compacto:
    ·Sólo lectura: CD-ROM (Compact Disc - Read Only Memory).
    ·Grabable: CD-R (Compact Disc - Recordable).
    ·Regrabable: CD-RW (Compact Disc - Re-Writable).
    ·De audio: CD-DA (Compact Disc - Digital Audio).
Un CD-ROM estándar puede albergar 650 o 700 MB, pudiendo doblar esta capacidad si es de doble capa.

-DVDs: es un disco de almacenamiento de datos. Sus siglas corresponden con Digital Versatile Disc en inglés (disco versátil digital traducido al español). Los DVD se dividen en dos categorías: los de capa simple y los de doble capa. Además el disco puede tener una o dos caras, y una o dos capas de datos por cada cara; el número de caras y capas determina la capacidad del disco. Los DVD de capa simple pueden guardar aproximadamente 4GB. Los DVD se pueden clasificar:

o   Según su capacidad de regrabado (La mayoría de las grabadoras de DVD nuevas pueden grabar en ambos formatos y llevan ambos logotipos, «+RW» y «DVD-R/RW»):
· DVD-ROM: solo lectura, manufacturado con prensa. Almacena desde 4,7 GB hasta 17 GB
   · DVD-R y DVD+R: grabable una sola vez. La diferencia entre los tipos +R y -R radica en la forma de grabación y de codificación de la información. En los +R los agujeros son 1 lógicos mientras que en los –R los agujeros son 0 lógicos.
   · DVD-RW y DVD+RW: regrabable.
   · DVD-RAM: regrabable de acceso aleatorio. Lleva a cabo una comprobación de la integridad de los datos siempre activa tras completar la escritura.
   · DVD+R DL: grabable una sola vez de doble capa.

o   Según su número de capas o caras:
   · DVD-5: una cara, capa simple; 4,7 GB o 4,38 GiB. Discos DVD±R/RW.
   · DVD-9: una cara, capa doble; 8,5 GB o 7,92 GiB. Discos DVD+R DL. La grabación de doble capa permite a los discos DVD-R y los DVD+RW almacenar significativamente más datos, hasta 8,5 GB por disco, comparado con los 4,7 GB que permiten los discos de una capa.
· DVD-10: dos caras, capa simple en ambas; 9,4 GB o 8,75 GiB. Discos DVD±R/RW.
· DVD-14: dos caras, capa doble en una, capa simple en la otra; 13,3 GB o 12,3 GiB. Raramente utilizado.
· DVD-18: dos caras, capa doble en ambas; 17,1 GB o 15,9 GiB. Discos DVD+R.
· También existen DVD de 8 cm (no confundir con miniDVD, que son CD que contienen información de tipo DVD video) que tienen una capacidad de 1,5 GB.

-Blu-ray: es un formato de disco óptico de nueva generación empleado para vídeo de alta definición y con una capacidad de almacenamiento de datos de alta densidad mayor que la del DVD. El disco Blu-ray hace uso de un rayo láser de color azul con una longitud de onda de 405 nanómetros, a diferencia del láser rojo utilizado en lectores de DVD, que tiene una longitud de onda de 650 nanómetros, de ahí viene el nombre de este formato. Esto, junto con otros avances tecnológicos, permite almacenar sustancialmente más información que el DVD en un disco de las mismas dimensiones y aspecto externo. El DVD ofreció en su momento una alta calidad, ya que era capaz de dar una resolución de 720x480 ó 720x576, lo que es ampliamente superado por la capacidad de alta definición ofrecida por el Blu-ray, que es de 1920x1080. Este último es el formato utilizado por los estudios para archivar sus producciones, que anteriormente se convertía al formato que se quisiese exportar. Una capa de disco Blu-ray puede contener alrededor de 25 GB o cerca de 6 horas de vídeo de alta definición más audio; también está en el mercado el disco de doble capa, que puede contener aproximadamente 50 GB.

-Memoria flash: permite la lectura y escritura de múltiples posiciones de memoria en la misma operación. Se trata de la tecnología empleada en los dispositivos denominados pendrive. Ofrecen características como gran resistencia a los golpes, bajo consumo y completo silencioso, ya que no contiene ni actuadores mecánicos ni partes móviles. Su pequeño tamaño también es un factor determinante a la hora de escoger para un dispositivo portátil, así como su ligereza y versatilidad para todos los usos hacia los que está orientado. Sin embargo, todos los tipos de memoria flash sólo permiten un número limitado de escrituras y borrados, generalmente entre 10.000 y un millón, dependiendo de la celda, de la precisión del proceso de fabricación y del voltaje necesario para su borrado. Las aplicaciones más habituales son:
· El pendrive o memoria USB de 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 GB, y hasta 1 TB de memoria.
· Las PC Card.
· Las tarjetas de memoria flash que son el sustituto del carrete en la fotografía digital, ya que en las mismas se almacenan las fotos y pueden almacenar hasta 32 GB.

-Cintas magnéticas de almacenamiento: La principal diferencia entre el almacenamiento en cintas y en discos es que la cinta es un medio de acceso secuencial, mientras que el disco en un medio de acceso aleatorio. Hay dos características clave para clasificar las tecnologías de cintas magnéticas:

· Anchura de la cinta: La anchura más común de una cinta de alta capacidad ha sido como máximo de media pulgada. Existen muchos otros tamaños y la mayoría han sido desarrollados para tener menor encapsulado o mayor capacidad.

· Método de grabación. Más específicamente, la diferencia radica en si los datos son escritos linealmente o por escaneo 'helical'. El método lineal ordena en pistas paralelas a la longitud de la cinta. El escaneo 'helical' escribe pequeñas pistas curvada desde un borde de la cinta hasta el otro. Originalmente, la grabación lineal significaba ocupar completamente la anchura de la cinta y escribiendo o leyendo todas las pistas a la vez. Una variación de esta tecnología, es la llamada grabación lineal 'serpentine' que solo graba una fracción de las pistas en la cinta a la vez. Después de realizar una pasada completa, la cabeza se desplaza ligeramente y hace otra pasada en la dirección contraria. Este procedimiento es repetido hasta que todas las pistas han sido leídas o escritas. Usando este método, la cinta puede tener más pistas que las usadas con el método linear normal. En contraste a esto, el método de escaneo 'helical' solo necesita una pasada para leer o escribir toda la cinta.

Suelen usarse para backup de información, donde también hay varias medidas de almacenamiento, por ejemplo la Digital Linear Tape, DLT-S4 de 800 GB de capacidad sin compresión.

-Almacenamiento online: son servicios, de pagos o gratuitos, que nos permiten almacenar información y acceder a esta, desde cualquier parte del mundo a través de internet. Las capacidades dependen de cada servicio.


Aparte de los dispositivos físicos donde podemos guardar nuestros datos hay que mencionar también las distintas bases de datos que podemos encontrar:

- MySQL: es una base de datos con licencia GPL basada en un servidor. Se caracteriza por su rapidez. No es recomendable usar para grandes volúmenes de datos. MySQL es muy utilizado en aplicaciones web, como Drupal o phpBB, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicación web está muy ligada a PHP, que a menudo aparece en combinación con MySQL.

- PostgreSQL: es un SGBD relacional orientado a objetos y libre, publicado bajo la licencia BSD. Mediante un sistema denominado MVCC (Acceso concurrente multiversión, por sus siglas en inglés) PostgreSQL permite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos. Cada usuario obtiene una visión consistente de lo último a lo que se le hizo “commit”. Esta estrategia es superior al uso de bloqueos por tabla o por filas común en otras bases, eliminando la necesidad del uso de bloqueos explícitos. Algunas de las ventajas de este SGBD son: seguridad en términos generales, integridad en BD (restricciones en el dominio), integridad referencial, afirmaciones (Assertions), disparadores (Tiggers), autorizaciones, conexión a DBMS, transacciones y respaldos.

-Oracle: es un sistema de gestión de base de datos objeto-relacional (o ORDBMS por el acrónimo en inglés de Object-Relational Data Base Management System), desarrollado por Oracle Corporation. Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando: soporte de transacciones, estabilidad, escalabilidad y Soporte multiplataforma. Su dominio en el mercado de servidores empresariales ha sido casi total hasta hace poco, recientemente sufre la competencia del Microsoft SQL.

-Microsoft SQL Server: es un sistema para la gestión de bases de datos desarrollado por Microsoft basado en el modelo relacional. Se utiliza para manejar grandes volúmenes de informaciones. Sus lenguajes para consultas son T-SQL y ANSI SQL. Sus características más relevantes son: soporte de transacciones, soporta procedimientos almacenados, incluye también un entorno gráfico de administración (que permite el uso de comandos DDL y DML gráficamente), permite trabajar en modo cliente-servidor, donde la información y datos se alojan en el servidor y los terminales o clientes de la red sólo acceden a la información. Además permite administrar información de otros servidores de datos.

lunes, 4 de marzo de 2013

Lenguajes de programación actuales


Los lenguajes de programación son “idiomas” inventados que sirven para que una máquina lleve a cabo un proceso con rapidez y precisión. Su uso más común es la creación de software y en la actualidad ha cobrado gran importancia el desarrollo de aplicaciones web.
Decir que lenguaje de programación es mejor es muy complicado debido a que cada lenguaje está diseñado con objetivos distintos: usar un lenguaje que estén enfocados para hacer sistemas operativos para realizar páginas web, o viceversa, no conseguiremos los resultados que esperamos.
Sin embargo existe un ranking de popularidad de lenguajes de programación, el índice TIOBE, que es un ranking contrastado que se basa en el número de búsquedas de los lenguajes de programación en Google, Google Blogs, MSN, Yahoo!, Wikipedia y YouTube. El hecho de que algo sea popular no quiere decir que sea mejor, pero como dice Bjarne Stroustrup, creador del lenguaje C++, "existen dos tipos de lenguajes de programación: por un lado, aquellos de los que la gente se queja todo el rato; por otro, los que nadie utiliza".
La clasificación de este ranking en febrero de 2013 es la siguiente:
1.       Java
2.       C
3.       Objetive-C
4.       C++
5.       C#
6.       PHP
7.       Python
8.       Visual Basic
9.       Perl
10.   Ruby

Existe cierta controversia en este ranking debido a la importancia innegable de  C# en el mundo de la programación y su relativa mala posición. Lo mismo ocurre con JavaScript en el mundo del desarrollo web, y en este caso, ni siquiera se encuentra entre los 10 primeros.

Java es el más popular debido a que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo. La sintaxis de Java se deriva en gran medida de C++. Pero a diferencia de éste, que combina la sintaxis para programación genérica, estructurada y orientada a objetos, Java fue construido desde el principio para ser completamente orientado a objetos.

C es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones. Posee un sistema de tipos que impide operaciones sin sentido. El mayor problema que presenta el lenguaje C frente a los lenguajes de tipo de dato dinámico es la gran diferencia en velocidad de desarrollo. La gestión de la memoria es un ejemplo clásico: en C el programador ha de reservar y liberar la memoria explícitamente. En otros lenguajes (como BASIC, Matlab o C#) la memoria es gestionada de forma transparente para el programador.

Objective-C es un lenguaje de programación orientado a objetos creado como un superconjunto de C para que implementase un modelo de objetos parecido al de Smalltalk. Objective-C consiste en una capa muy fina situada por encima de C, y además es un estricto superconjunto de C. Esto es, es posible compilar cualquier programa escrito en C con un compilador de Objective-C, y también puede incluir libremente código en C dentro de una clase de Objective-C. El modelo de programación orientada a objetos de Objective-C se basa en enviar mensajes a instancias de objetos. Esto es diferente al modelo de programación al estilo utilizado por C++ y ésta distinción es semánticamente importante.

C++ es un lenguaje de programación diseñado con la intención de extender el lenguaje de programación C con mecanismos que permitan la manipulación de objetos. Una particularidad del C++ es la posibilidad de redefinir los operadores, y de poder crear nuevos tipos que se comporten como tipos fundamentales. Los objetos en C++ son abstraídos mediante una clase. Según el paradigma de la programación orientada a objetos un objeto consta de: identidad, que lo diferencia de otros objetos (nombre que llevara la clase a la que pertenece dicho objeto), métodos o funciones miembro y atributos o variables miembro. Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores más modernos.

C# es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET, que después fue aprobado como un estándar por la ECMA (ECMA-334) e ISO (ISO/IEC 23270). Su sintaxis básica deriva de C y C++ y utiliza el modelo de objetos de la plataforma .NET, similar al de Java, aunque incluye mejoras derivadas de otros lenguajes. C# forma parte de la plataforma .NET y fue diseñado para generar programas sobre dicha plataforma. Ya existe un compilador implementado que provee el marco Mono - DotGNU, el cual genera programas para distintas plataformas.