martes, 22 de enero de 2013

Como elegir una memoria RAM, guía de compra

En este tutorial o guía de compra, aprenderemos todo lo necesario para saber qué tipo de módulo de memora RAM debes comprar.

Aprenderemos a diferenciar los distintos tipos de módulos de memoria, sus características, ventajas y posibilidades para que a la hora de comprar un módulo de memoria RAM, esta se ajuste perfectamente a nuestras necesidades.

Este tutorial, nos guiará por los distintos módulos de memoria que se comercializan habitualmente a fecha de hoy.

No todo en la memoria RAM es la capacidad que esta tenga, a parte de la característica principal de la memoria RAM que es su capacidad, existen otros factores a tener en cuenta a la hora de comprar un módulo de memoria.

Tipos de Memoria RAM

Los tipos de memoria RAM que encontraremos en el mercado, serán la memoria DDR, DDR2, DDR3 y las variantes de estas en versión SO-DIMM para portátil.
Memoria RAM SO-DIMM
Memoria RAM DDRMemoria RAM DDR2Memoria RAM DDR3


Las memorias DDR cuentan con 168 pines, las memorias DDR2 y DDR3 cuentan con 240 pines, así como, las memorias SO-DIMM en sus tres variantes cuentan con 200 pines.

Estos módulos de memoria RAM son físicamente incompatibles entre ellos, ya que llevan la muesca para introducirlos en la ranura DIMM en diferente posición. Con esto queremos decir, que debemos saber que tipo de memoria RAM admite nuestra placa base, ya que además de voltajes de trabajo distintos, el módulo no encajará si no es el apropiado.

La memoria RAM DDR trabaja a hasta 2.5V, las DDR2 hata los 1.8V y las DDR3 a 1.5V, siendo estas últimas más eficientes energéticamente.

Velocidad de reloj E/S

La diferencia entre las memorias DDR, DDR2 y DDR3, son principalmente la velocidad de reloj de las mismas, siendo las más rápidas y modernas las memorias DDR3.

Las velocidades de reloj correspondientes a la RAM DDR tienen como tope 533 Mhz, las memorias DDR2 alcanzan la velocidad de 1200Mhz (la velocidad máxima estándard son 800 Mhz) y las memorias DDR3 2133 Mhz, siendo este tope todavía superable.

Cuanto mayor sea la velocidad de reloj, mejor rendimiento tendrá la RAM de nuestro ordenador, aunque esta va muy ligada a la velocidad FSB del procesador. Debemos saber el FSB en que trabaja nuestro microprocesador para saber cual es la velocidad máxima que alcanzará nuestra memoria instalada.

Si queremos explotar al máximo nuestra memoria RAM, debemos instalar la memoria de mayor velocidad hasta llegar al límite impuesto por el FSB del microprocesador. La sincronía con el FSB se hará a traves de divisores.

La manera de alcanzar el mayor rendimiento de nuestra RAM es que la velocidad del microprocesador sea síncrona a la de la memoria RAM (1:1).

Así, con un microprocesador que trabaja con una velocidad de reloj de 333 Mhz (FSB a 333*2=667), lo ideal será poner una memoria de 667 Mhz. Aún así podriamos poner una memoria de velocidad superior que no aprovecharíamos del todo.

Latencias

Otro factor que suele pasar desapercibido por la mayoría de los usuarios, es la latencia de nuestras memorias.

La latencia de la memoria RAM mide el tiempo (en ciclos de reloj) que tarda la memoria desde que recibe una petición hasta que envia los datos por los pines de salida. Por ello cuanto menores sean estos números mejor será nuestra RAM.

También cabe decir que como la latencia depende de los ciclos de reloj, cuanto mayor sea la velocidad de nuestra memoria RAM, más se verá penalizada por una latencia más alta. El tiempo de espera será superior en una memoria a 800 Mhz con latencia 5 que en una memoria a 667 Mhz con latencia 5 también. La memoria a 800 Mhz será más rápida que la de 667 Mhz, pero tendra unos tiempos de espera mayores.

Por ello la relación rendimiento y velocidad de la memoria no es directamente proporcional. Una memoria a 800 Mhz con igual latencia que otra a 400 Mhz no rinde el doble, rinde más, pero no el doble.

Cuando compremos memoria RAM nos fijaremos en las latencias que ofrece el fabricante y elegiremos la que menores tenga, dentro de nuestro presupuesto, prestando mayor cuidado cuando buscamos altas velocidades de trabajo.

Construcción y precios

Existen grandes diferencias de precio entre memorias RAM, aparentemente iguales, de un fabricante a otro. No nos llevemos a engaños, las de mayor precio suelen ser mejores memorias.

Las memorias de mayor precio poseen mejores latencias, voltajes de trabajo inferiores para luego poderlos subir y trabajar a mayores velocidades y menores latencias (overclocking), disipación en los chips de memoria para evitar altas temperaturas que disminuyen la vida útil de la memoria.

Cuando compremos un módulo de memoria RAM nos fijaremos en las menores latencias, menores voltajes de trabajo, disipadores en los módulos y velocidad de trabajo para saber si el precio de la memoria es el adecuado.

Por otro lado, si no vamos a necesitar grandes prestaciones en la RAM del sistema, con elegir un modelo básico de memoria nos será suficiente. Claramente, entre los modelos básicos, a igual precio, elegiremos las menores latencias posibles.

Conclusiones

Sabiendo todos estos detalles sobre la memoria RAM conseguiremos afinar la calidad - precio de nuestra compra, así como, el evitar equivocarnos de tipo de memoria o escojer memorias de velocidad superior a la que vamos a utilizar.

Consumo en watts aproximado por componente (PC)


A la hora de comprar una fuente se hace necesario conocer la cantidad de watts que consumir la pc. Ya que consumir mas de lo que la fuente permite, puede traer problemas como no arranque o reinicio del equipo.
El calculo se hace sumando los watts que gasta cada componente mas 50W que necesita para prender.

Acá va la lista de los componentes

Cálculo de Consumo de Poder
Componente
Uso de Energía
Comentarios
Tarjeta Madre
50 W–80 WDepende del número de componentes integrados.
Procesador
25 W–140 WPor  procesador físico (no incluye núcleos). La mayoríaentre 50–100 W.
Memoria RAM
5 W–20 WPor cada módulo (DIMM).
Video Integrado
5 W–25 WIntegrado al chip Puente Norte (North Bridge chip)
Tarjeta Externa de Video
25 W–250 WPor  tarjeta de video.
Tarjeta PCI
5 W–15 WPor  tarjeta (no incluye video).
Tarjeta PCIe
10 W–30 WPor cada tarjeta (no incluye video).
Unidad de Disco Duro
15 W–30 WPor  unidad. El uso de energía incrementa durante el inicio del sistema.
Unidad Óptica
15 W–30 WPor  unidad.
Ventilador
3 W–5 WPor cada ventilador.
USB/FireWire
2 W–5 WPor cada puerto usado.


Por supuesto, el consumo puede variar enormemente para diferentes aparatos, como procesadores y tarjetas de video, así que si desea mayor información, consulte los manuales y datos de sus componentes específicos. También, estos promedios de consumo no especifican el desglose por cada rango de nivel de voltaje (+3.3 V, +5 V, o +12 V) que utilizara cada dispositivo. En varios casos, la combinación de componentes usados puede superar el nivel de energía en un solo rango mientras está bajo la cantidad total del voltaje disponible de todos los rangos combinados. Esa es, de hecho, una razón por la que la gente termina comprando una fuente de energía con mucho más índice de voltaje del que podrían necesitar.
Para calcular el voltaje aproximado en la unidad de suministro de energía de su computador, después de haber agregado todo lo que le recomendé, multiplique el total de la cantidad de energía consumida por todos los componentes por 1.5 para estimar el tamaño de unidad de suministro de energía requerido. Esto deja espacio libre para futuras ampliaciones y cuenta para el hecho de que en ciertos momentos algunos aparatos pueden mostrar mucho más de lo que dice su nivel de energía.

viernes, 18 de enero de 2013

Desfragmentación


Esquema que muestra cómo se desfragmenta un disco. Cada color representa un archivo, y en un principio están todos fragmentados (esparcidos por todo el disco). Luego el proceso de desfragmentación va situando cada parte de cada archivo de tal manera que cada una quede en un área contigua a la anterior, evitando así que haya espacios entre ellas y reduciendo por tanto el tiempo de acceso a los archivos.
La desfragmentación es el proceso mediante el cual se acomodan los archivos de un disco de tal manera que cada uno quede en un área continua y sin espacios sin usar entre ellos. Al irse escribiendo y borrando archivos continuamente en el disco duro, éstos tienden a no quedar en áreas contiguas, así, un archivo puede quedar "partido" en muchos pedazos a lo largo del disco, se dice entonces que el archivo está "fragmentado". Al tener los archivos esparcidos por el disco, se vuelve ineficiente el acceso a ellos.
El problema de almacenamiento no contiguo de archivos se denomina fragmentación, se produce debido al almacenamiento de archivos en dispositivos como disco duro y memoria RAM por el uso del computador.
La fragmentación es un problema que surge debido al ordenamiento interno de los datos en algunos sistema de archivos. Se da muy comúnmente en el sistema operativo Windows aunque también afecta a otras plataformas pero en una escala mucho menor. También se produce fragmentación dentro de la memoria del computador (memoria RAM) cuando se asignan los procesos a los diferentes bloques de memoria. Existen dos tipos de fragmentación: doble y triple.
Desfragmentar no hace que el ordenador trabaje más rápido, sino que agiliza el proceso de la navegación por los archivos.

Motivación

La lectura y escritura secuenciales de sistemas de archivos fuertemente fragmentados se ralentiza, debido a que aumenta el tiempo necesario para que los cabezales del disco se muevan entre los fragmentos y esperen a que el disco gire hasta la posición de lectura (véase tiempo de búsqueda y retardo rotacional). Para muchas operaciones comunes, el cuello de botella en la operación de todo el computador es el disco duro; de ahí que el deseo de procesar más eficientemente anime a la desfragmentación. Los vendedores de sistemas operativos a menudo recomiendan la desfragmentación periódica para evitar que la velocidad de acceso al disco se degrade con el tiempo.
Los datos fragmentados también se extienden por el disco más de lo necesario. Por lo tanto, uno puede desfragmentar para agrupar los datos en una zona, antes de dividir una partición en dos o más (por ejemplo, con GNU Parted o PartitionMagic).
La desfragmentación puede aumentar la propia vida del disco duro, al minimizar el movimiento de los cabezales y simplificar las operaciones de acceso a los datos.

Causas

La fragmentación ocurre cuando el sistema operativo no asigna suficiente espacio contiguo para almacenar un archivo completo como una unidad, sino que, en cambio, pone partes de él en huecos entre otros archivos (usualmente estos huecos existen porque antes contuvieron un archivo que posteriormente fue borrado por el sistema operativo, o porque éste en primer lugar asignó demasiado espacio para un archivo). Los archivos más grandes y el mayor número de archivos también contribuyen a la fragmentación y en consecuencia a la pérdida de rendimiento. La defragmentación intenta aliviar estos problemas.

Fragmentación

File system fragmentation.svg
La fragmentación es la memoria que queda desperdiciada al usar los métodos de gestión de memoria. Tanto el primer ajuste, como el mejor y el peor producen fragmentación externa (Conocidos como estrategias de Colocación).
La fragmentación es generada cuando durante el reemplazo de procesos quedan huecos entre dos o más procesos de manera no contigua y cada hueco no es capaz de soportar ningún proceso de la lista de espera. Tal vez en conjunto si sea espacio suficiente, pero se requeriría de un proceso de desfragmentación de memoria o compactación para lograrlo. Esta fragmentación se denomina fragmentación externa.
Existe otro tipo de fragmentación conocida como fragmentación interna, la cual es generada cuando se reserva más memoria de la que el proceso va realmente a usar. Sin embargo a diferencia de la externa, estos huecos no se pueden compactar para ser utilizados. Se debe de esperar a la finalización del proceso para que se libere el bloque completo de la memoria.

Fragmentación interna

La fragmentación interna es la pérdida de espacio en disco debido al hecho de que el tamaño de un determinado archivo sea inferior al tamaño del cluster, ya que teóricamente el archivo estaría obligado a ser referenciado como un cluster completo. Los cluster(s) son contiguos de forma que desde el último bit del archivo situado en el cluster "a" hasta el primer bit del archivo situado en el cluster contiguo (es decir "b") queda un espacio sobrante siempre teniendo la condición de que el archivo del cluster "a" fuera más pequeño que el cluster en sí.
Por eso se sugiere no disponer de un gran tamaño de partición en los discos nuevos donde la capacidad es muy importante. Por ejemplo si nuestro clúster es de 18KB (18.432 bytes) por más que un archivo ocupe menos, en nuestro disco ocupara 18KB. Esto sugiere una pérdida de ese espacio que dice utilizar pero no utiliza.
Por eso, en nuestro ejemplo, un archivo de 3KB ocupara en nuestro disco lo mismo que uno de 10KB, o sea 18 KB. Esa pérdida de espacio se denomina fragmentación interna, y no se corrige con el desfragmentador, sino disminuyendo el tamaño del clúster, algo que habitualmente los usuarios solo pueden conseguir creando particiones más pequeñas.
Fragmentacionpng.png

Fragmentación externa

Este tipo de fragmentación aparece como consecuencia de las distintas políticas de ajuste de bloques que tiene un sistema de ficheros, o al utilizar asignaciones dinámicas de bloques en el caso de la memoria. En el sistema de ficheros, la sucesiva creación y eliminación de ficheros de distintos tamaños puede conducir al aislamiento de los bloques libres de un disco y, dependiendo de la política de ajuste, su no elección para futuros ficheros.
En la memoria del sistema la fragmentación se produce cuando los procesos asignados han ocupado posiciones no contiguas de memoria dejando demasiados bloques libres de pequeño tamaño, en los que no "caben" nuevos procesos.
En sistemas de ficheros la desfragmentación trata de resolver este problema, alineando los bloques de datos contiguos y juntando los bloques libres, produciendo así fragmentos mayores que sí serán elegidos para futuros ficheros. En la memoria principal se soluciona compactando los procesos para que estos ocupen posiciones contiguas y dejar los bloques libres juntos, o también se soluciona con la paginación de memoria.

Desfragmentación

Este proceso consta de ordenar los trozos de información distribuida a través de todo el disco, para mejorar la velocidad de acceso y distribuir de mejor forma el espacio libre del dispositivo. Como este proceso consta en la reorganización de partes de archivos, requiere de suficiente memoria para realizar los movimientos de los trozos de información. Al mover en forma física la información, la estructura lógica no sufre alteraciones.

Aspectos de la desfragmentación

En Windows la presencia de archivos inamovibles del sistema, o que el desfragmentador no moverá para simplificar su tarea (sobre todo con el archivo de intercambio, o swap file), puede impedir un buen porcentaje de desfragmentación en el disco.
Ciertos sistemas de archivos son más susceptibles a cambios por desfragmentación que otros. Por ejemplo, una partición del tipo FAT se fragmenta más rápido que una de partición del tipo NTFS (Windows), EXT 4 (Linux) o HFS + (MacOSX).

Contramedidas comunes

Particionado
Una estrategia común para optimizar la desfragmentación y reducir el impacto de la fragmentación es particionar el/los disco(s) duro(s) para separar las particiones del sistema de archivos que experimentan muchas más lecturas y escrituras, de las zonas más volátiles, donde se crean y borran frecuentemente los archivos. En Windows de Microsoft, el contenido de directorios tales como "\Archivos de programas" o "\Windows" se modifica con mucha menor frecuencia que la de sus lecturas. Los directorios que contienen los perfiles de los usuarios se modifican constantemente (especialmente el directorio Temp y el cache del Explorador de Internet, que crea miles de archivos que se borran en unos cuantos días). Si los archivos de los perfiles de los usuarios se mantienen en una partición dedicada (como se hace comúnmente en los sistemas UNIX), el desfragmentador funciona mejor, pues no tiene que tratar con todos los archivos estáticos de los otros directorios. En las particiones con relativamente poca actividad, el rendimiento de la desfragmentación mejora grandemente después de la primera de ellas, pues en el futuro el defragmentador sólo tendrá que desfragmentar un pequeño número de nuevos archivos.

Problemas

Archivos inamovibles

La presencia de archivos de sistema inamovibles, especialmente un archivo de intercambio, puede dificultar la desfragmentación. Estos archivos se pueden mover con seguridad cuando el sistema operativo no está funcionando. Por ejemplo, ntfsresize mueve estos archivos para cambiar el tamaño de una partición NTFS.

Crecimiento de la fragmentación

En sistemas sin resistencia a la fragmentación, ésta crece por sí misma si no se hace nada, así que es necesaria la desfragmentación periódica para mantener el rendimiento del disco al máximo y evitar la sobrecarga de defragmentaciones menos frecuentes.

Problemas de rendimiento y del usuario

Aproximación y desfragmentadores según el tipo de sistema

Los programas de desfragmentación, por lo general, vienen incorporados al sistema operativo (excepto en Windows NT 4). También existen aplicaciones externas, las cuales poseen opciones más avanzadas que las propuestas por los fabricantes del sistema operativo.
El desfragmentador más conocido es el Defrag, que es usado en MS-DOS y en las plataformas de Windows (en estas últimas con el nombre de "Desfragmentador de disco"). Puede ser encontrado en las versiones de Windows en Inicio -> Programas -> Accesorios -> Herramientas de Sistema.

¿Que lenguaje de programacion aprender primero?

Una de las preguntas más frecuentes en los foros para principiantes es “¿Cómo iniciarse en programación?” o “¿Qué lenguaje de programación aprender primero?”. En este artículo intentaré responder a estas preguntas, aunque habrán otros que tendrán opiniones diferentes. Para intentar ser objetivo, me he basado en las opiniones sobre este tema de los foros de programación.
Para comenzar, no existe un lenguaje de programación para iniciarse en programación, la programación se comienza sobre un papel, haciendo algoritmos. Claro que para ver si los algoritmos funcionan puede ser más cómodo utilizar un lenguaje de programación. En este caso lo único que recomiendo es utilizar un lenguaje simple que no sea orientado a objetos, ni gráfico. Una buena elección puede ser Basic, Pascal, Python y sobretodo la sintaxis de estos últimos será de mayor utilidad más adelante. Pero no deberiamos excluir ningun lenguaje ya que incluso el lenguaje de una calculadora puede ser suficiente para probar algoritmos simples. También, es bueno tener una idea de los tipos de lenguaje, de lo que es un compilador y otras cosas generales. (http://es.kioskea.net/langages/langages.php3).  
A estas alturas, ya tenemos algunas bases para comenzar a programar…algo más, no hay que programar por programar, hay que tener un objetivo, una idea, la necesidad de crear un programa. Aquí, yo nada puedo hacer por ti, esto está en función de tus gustos, conocimientos,..y ahora debemos tomar las primeras decisiones técnicas:
¿Lenguaje orientado a objetos?
¿Multiplataforma?
¿Con máquina virtual?
¿Interfaz usuario?
¿Acceso a una base de datos? ¿Si es así, cuál?

Una vez que hayas respondido a estas interrogantes, el número de lenguajes de programación será más reducido.
A continuación vamos a ver los lenguajes de programación que mayormente son recomendados para iniciarse en programación, teniendo en cuenta el punto de vista del aprendizaje.
Nota: existe también un medio muy lúdico para descubrir la programación: KPL.
KPL significa Kid's Programming Language (la página web: http://phrogram.com/kpl.aspx).
Interfaz impecable (colores, sonido, grafismo) y un aprendizaje de la programación orientada a la concepción de juegos. La idea es: aprender divirtiéndose. Si realmente no sabes nada de nada en informática ni programación, éste puede ser la puerta de entrada. Del mismo modo, éste es un medio para que aprendan los niños. Este programa es un freeware y no está limitado a los juegos, y por supuesto, la página es multilenguaje (inglés, portugués, francés y algunas lenguas nórdicas), al igual que el programa. En cuanto al lenguaje, éste utiliza los términos comúnmente empleados en otros lenguajes: Begin, End, Main, False, True, etc.
Los lenguajes de programación que podemos utilizar Delphi/Pascal  
Una buena solución, los compiladores y entornos de desarrollo se encuentra gratuitamente (bajo ciertas condiciones). Podemos comenzar haciendo pequeños programas en el Shell de Pascal y luego podemos pasar (después de haber aprendido la noción de objeto) a cosas más potentes con entornos gráficos gracias a Delphi (y Kylix bajo Linux). El lenguaje es relativamente intuitivo y riguroso, la creación de interfaz gráfica es simple, rápidamente podemos sentirnos a gusto.  
La portabilidad es mediocre pero existe hacia algunas plataformas (Kylix…)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Para aprender Pascal
http://www.programacionfacil.com/programacion:manual_pascal
Página oficial Delphi (Inglés): http://www.codegear.com/en/products/delphi
Desacargar Free Pascal
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Java
Lenguaje orientado a objetos, muy portable, sintaxis utilizada también para los scripts de Internet (la sintaxis, no el lenguaje…). Existen gran cantidad de entornos de desarrollo gratuitos en la web: no hay más que elegir en función de nuestros gustos, sin embargo, no tiene la facilidad de Delphi en lo que respecta a la interfaz gráfica. Este es un lenguaje de “última generación” que dará una experiencia interesante a los que deseen trabajar en informática.
Para aprender Java: http://www.manual-java.com/
Lo siento, no tengo más enlaces, no dudes en añadirlos si conoces buenos
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Python
Simple, rápido, crea buenas costumbres de programación, ligero (tanto así que pasar a otro lenguaje después se hace pesado), abierto, gran cantidad de documentación en Internet. Este nos permite rápidamente entrar en acción, ya sea creando scripts potentes (gracias a la programación orientada a objetos) u otras cosas. Es también de “ultima generación” y portable. Funciona con una máquina virtual que puede ser empaquetada gracias a algunas clases disponibles en la web (se encuentran de todo tipo y para todos los fines…) en un exe para distribuir la aplicación de manera simple e independiente.
Página oficial de Python (en inglés): http://www.python.org/
Guía de aprendizaje de Python: http://www.programacion.com/tutorial/python/
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
.Net
Es el futuro según Microsoft, hay cosas buenas y malas en esta plataforma pero permite programar aplicaciones gráficas de manera simple, sólo corre en Windows y con algunas adaptaciones en Linux. Yo recomendaría C# que es el lenguaje “nativo” de esta plataforma: su sintaxis muy similar a la de C y Java, no hay punteros, todo se hace en un nivel de abstracción superior a los antiguos lenguajes de Microsoft. Se compara a Java y a Python, excepto que no es libre.
Un entorno de desarrollo gratuito y Open source para .Net: http://www.icsharpcode.net/OpenSource/SD/
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Smalltalk
Para mí el lenguaje orientado a objetos por excelencia. Gratuito, sintaxis simple, impone un rigor sin igual en la programación orientada a objetos. Desgraciadamente no es muy utilizado, es raro encontrar un empleo con éste, pero da una referencia solida, y con cosas como Squeak permiten hacer gran cantidad de cosa con él.
Squeak: http://www.squeak.org/
Tutorial Dolphin Smalltalk: http://www.dolphinmap.net/wiki/Documentation
Los que podemos utilizar en última instancia
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
C/C++
Estos son buenos lenguajes, pero con una sintaxis complicada que no facilita su aprendizaje. Además el uso de punteros hace que su uso, incluso para los profesionales, sea complicado. La ventaja es que estos lenguajes pueden ser utilizados en diversas plataformas (después de compilación) y que, una vez dominados, hacen que los otros parezcan simples. Estos lenguajes son aún muy utilizados en el mundo profesional. Utilízalo si se deseas hacer de la informática tu profesión.
Para aprender C: http://sopa.dis.ulpgc.es/so/cpp/intro_c/
Para aprender C++: http://zator.com/Cpp/E1_2.htm
Página de Borland C++: http://www.codegear.com/en/products/cppbuilder
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
PHP
Un lenguaje inicialmente previsto para el desarrollo de páginas web dinámicas. Su sintaxis es muy similar a la de C++. PHP es bastante simple de abordar y permite conectarse fácilmente a una base de datos. Para desarrollar páginas web dinámicas, se requiere también un buen conocimiento de Html y eventualmente de Sql si se necesita una base de datos.
Permite ver rápidamente el trabajo, poniéndolo en línea, y de este modo tener los comentarios/sugerencias de los internautas.
También podemos desarrollar otras aplicaciones que no sean para la web con este lenguaje.
Podemos programar de manera procedural u orientada a objetos, a nuestra elección.
Es un buen lenguaje pero no necesariamente el mejor para aprender. Es potente y permisivo pero con el riesgo de aprender malas costumbres. Especialmente en lo que respecta a las páginas web, éste no influye para que se programe con propiedad desde el inicio.
Si buscas un lenguaje que sea fácil de aprender, que te permita aprender la programación orientada a objetos, y que te deje buenas costumbres de programación, entonces elije mas bien un lenguaje como Python.
Para aprender PHP: http://geneura.ugr.es/~maribel/php/
Página oficial: http://www.php.net/
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ada
Lenguaje aún utilizado en la programación de sistemas de tiempo real. Es fácil de aprender pero es recomendado sobretodo para los futuros informáticos, si no, no hay mucho interés. Es mejor pasar a Ada solamente con el objetivo del “tiempo real” ya que tiende a desaparecer.
Para aprender Ada: http://www.wikilearning.com/curso_gratis/curso_de_ada-introduccion/10578-1
Lo siento, no tengo más enlaces, no dudes en añadirlos si conoces buenos
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Lisp/Caml/...
Los lenguajes funcionales son numerosos, están clasificados en dos grandes familias: los puros (haskell) y los no puros (familia lisp). A la vez la familia de los puros están clasificados en dos: los verdaderamente puros, sin efecto efecto secundario (familia haskell) y la familia ML (Caml,SML,...). La manera de programar es totalmente diferente con relación a los otros lenguajes. La programación funcional es otra manera de ver un programa y eso no impide por ejemplo tener un lenguaje funcional y orientado a objetos (scala por ejemplo) o incluso un lenguaje funcional que asocie imperativo/orientado a objetos/funcional (Ocaml). Conocer uno de estos permite tener buenas bases y permitirá también a las personas más orientadas a las matemáticas pasarse suavemente a la informática. Estos por lo general son utilizados en análisis numérico o en inteligencia artificial (pero es sólo a causa de su origen). Podemos utilizarlos para programar todo lo que se puede programar con otros lenguajes (la comunidad commonlisp es muy activa)
http://fr.wikipedia.org/wiki/Common_Lisp
http://www.paulgraham.com/onlisp.html
http://www.scala-lang.org/index.html
Los que no podemos utilizar
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
(x)HTML/CSS
Voy a ser breve, escribir una página web o un sitio web en HTML es a la programación lo que beber un vaso de agua es al alcoholismo. Aquí se trata de presentar un documento, no de programar, y no porque se agregan algunos scripts esto cambia gran cosa.
Para aprender HTML: http://es.kioskea.net/html/htmlintro.php3
Para aprender DHTML: http://www.programacion.net/html/dinamico/tutorial/principal.htm
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Perl
Seamos claros, este lenguaje aparentemente simple no es en lo absoluto adaptado al aprendizaje de la programación. Su flexibilidad y potencia pueden hacer que adquieras malas costumbres de programación e incluso te pueden desalentar por los errores que se están autorizados a cometer. Es mejor comenzar aprendiendo un lenguaje riguroso, para luego explotar al máximo Perl.
Para aprender Perl: http://www.wikilearning.com/...
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Visual Basic/Basic: D
Los profesionales que han trabajado con él lo desaconsejan. Este crea malas costumbres de programación (no es necesaria la declaración de variables, ninguna noción de valor/referencia, tentativa fracasada de programar con objetos,…), y además Microsoft (se trata de un lenguaje propietario) lo ha abandonado para privilegiar a Framework.Net. Para terminar, no existe ninguna versión gratuita, por lo tanto necesariamente hay que pagar. El sólo punto positivo que le reconocería es su lado lúdico y la facilidad de hacer interfaces gráficas para Windows (algo que olvidaba, tampoco es portable…), pero no es el único, si es el que te interesa, más bien inclínate hacia Delphi o .Net.
El caso de Basic es más o menos el mismo, existen compiladores gratuitos, pero se trata de un lenguaje obsoleto que no es ni rápido, ni portable, ni orientado a objetos, ni riguroso. Inclínate por Pascal que te permitirá luego evolucionar hacia Delphi.
Para aprender Visual Basic: http://www.lopezdearenas.com/informatica/curso-vb.pdf
Para los matemáticos, pueden intentar los lenguajes de sistemas de gestión de pruebas. Por el momento, su potencia es limitada pero se espera que se desarrollen con el tiempo. Por el momento los que más sobresalen son la familia ML o Haskel. Para Ocaml, tenemos a Coq. Los paradigmas están basados en la lógica.
Para aprender Coq: http://coq.inria.fr/ (en inglés)
Un consejo, es muy común en el mundo de la programación tener que leer artículos en ingles, por lo que aprenderemos a programar en mejores condiciones si podemos leer en inglés o mejor aun si lo podemos escribir. (para hacer preguntas en los foros especializados…).
Bueno, espero que haya sido lo más completo posible.
-------------------------------
Puedes encontrar muchos compiladores gratuitos para diferentes lenguajes en esta dirección:
http://www.thefreecountry.com/
PD: Iniciarse en programación, es también estar confrontado a una espinosa cuestión: ¿Pero por qué mi programa no corre? Los mensajes de error mostrados (o no) por los entornos de compilación o de ejecución (o el comportamiento de los dos) a veces sumergen al principiante en una confusión total que puede volverse exasperante. Un buen método es dar el código a alguien con experiencia para que lo lea primero, y/o explicar a otra persona el problema. A veces decir en voz alta nuestro razonamiento nos pondrá en la vía correcta. Finalmente la capacidad a programar (bien) va (a menudo) de la par con la de abstraerse de este mundo material en el cual nos encontramos sumergidos. Bienvenido al mundo donde nada es realmente concreto.
Si te gusta demasiado la programación, quizás soñaras con ella… Entonces ten en ese momento un papel y un lápiz (el arma de todo informático) en el velador, toma nota de las soluciones que te vienen a la mente y pruébalas por la mañana.

miércoles, 16 de enero de 2013

Disco duro


Disco Duro
Hard disk platters and head.jpg
Interior de un disco duro; se aprecian dos platos con sus respectivos cabezales.
Conectado a:
  • controlador de disco; en los actuales ordenadores personales, suele estar conectado en la placa madre y es de vital importancia en el computador. mediante uno de estos sitemas
    • Interfaz IDE / PATA
    • Interfaz SATA
    • Interfaz SAS
    • Interfaz SCSI (popular en servidores)
    • Interfaz FC (exclusivamente en servidores)
    • Interfaz USB
  • NAS mediante redes de cable / inalámbricas
Fabricantes comunes:
  • Western Digital
  • Seagate
  • Samsung
  • Hitachi
  • Fujitsu
En informática, un disco duro o disco rígido (en inglés Hard Disk Drive, HDD) es un dispositivo de almacenamiento de datos no volátil que emplea un sistema de grabación magnética para almacenar datos digitales. Se compone de uno o más platos o discos rígidos, unidos por un mismo eje que gira a gran velocidad dentro de una caja metálica sellada. Sobre cada plato, y en cada una de sus caras, se sitúa un cabezal de lectura/escritura que flota sobre una delgada lámina de aire generada por la rotación de los discos.
El primer disco duro fue inventado por IBM en 1956. A lo largo de los años, los discos duros han disminuido su precio al mismo tiempo que han multiplicado su capacidad, siendo la principal opción de almacenamiento secundario para PC desde su aparición en los años 1960. Los discos duros han mantenido su posición dominante gracias a los constantes incrementos en la densidad de grabación, que se ha mantenido a la par de las necesidades de almacenamiento secundario.
Los tamaños también han variado mucho, desde los primeros discos IBM hasta los formatos estandarizados actualmente: 3,5 " los modelos para PC y servidores, 2,5 " los modelos para dispositivos portátiles. Todos se comunican con la computadora a través del controlador de disco, empleando una interfaz estandarizado. Los más comunes hasta los años 2000 han sido IDE (también llamado ATA o PATA), SCSI (generalmente usado en servidores y estaciones de trabajo). Desde el 2000 en adelante ha ido masificándose el uso de los Serial ATA. Existe además FC (empleado exclusivamente en servidores).
Para poder utilizar un disco duro, un sistema operativo debe aplicar un formato de bajo nivel que defina una o más particiones. La operación de formateo requiere el uso de una fracción del espacio disponible en el disco, que dependerá del formato empleado. Además, los fabricantes de discos duros, unidades de estado sólido y tarjetas flash miden la capacidad de los mismos usando prefijos SI, que emplean múltiplos de potencias de 1000 según la normativa IEC y IEEE, en lugar de los prefijos binarios, que emplean múltiplos de potencias de 1024, y son los usados por sistemas operativos de Microsoft. Esto provoca que en algunos sistemas operativos sea representado como múltiplos 1024 o como 1000, y por tanto existan confusiones, por ejemplo un disco duro de 500 GB, en algunos sistemas operativos sea representado como 465 GiB (es decir gibibytes; 1 GiB = 1024 MiB) y en otros como 500 GB.
Las unidades de estado sólido tienen el mismo uso que los discos duros y emplean las mismas interfaces, pero no están formadas por discos mecánicos, sino por memorias de circuitos integrados para almacenar la información. El uso de esta clase de dispositivos anteriormente se limitaba a las supercomputadoras, por su elevado precio, aunque hoy en día ya son muchísimo más asequibles para el mercado doméstico.

Historia

Antiguo disco duro de IBM (modelo 62PC, «Piccolo»), de 64,5 MB, fabricado en 1979
 
Al principio los discos duros eran extraíbles, sin embargo, hoy en día típicamente vienen todos sellados (a excepción de un hueco de ventilación para filtrar e igualar la presión del aire).
El primer disco duro, aparecido en 1956, fue el Ramac I, presentado con la computadora IBM 350: pesaba una tonelada y su capacidad era de 5 MB. Más grande que una nevera actual, este disco duro trabajaba todavía con válvulas de vacío y requería una consola separada para su manejo.
Su gran mérito consistía en el que el tiempo requerido para el acceso era relativamente constante entre algunas posiciones de memoria, a diferencia de las cintas magnéticas, donde para encontrar una información dada, era necesario enrollar y desenrollar los carretes hasta encontrar el dato buscado, teniendo muy diferentes tiempos de acceso para cada posición.
La tecnología inicial aplicada a los discos duros era relativamente simple. Consistía en recubrir con material magnético un disco de metal que era formateado en pistas concéntricas, que luego eran divididas en sectores. El cabezal magnético codificaba información al magnetizar diminutas secciones del disco duro, empleando un código binario de «ceros» y «unos». Los bits o dígitos binarios así grabados pueden permanecer intactos años. Originalmente, cada bit tenía una disposición horizontal en la superficie magnética del disco, pero luego se descubrió cómo registrar la información de una manera más compacta.
El mérito del francés Albert Fert y al alemán Peter Grünberg (ambos premio Nobel de Física por sus contribuciones en el campo del almacenamiento magnético) fue el descubrimiento del fenómeno conocido como magnetorresistencia gigante, que permitió construir cabezales de lectura y grabación más sensibles, y compactar más los bits en la superficie del disco duro. De estos descubrimientos, realizados en forma independiente por estos investigadores, se desprendió un crecimiento espectacular en la capacidad de almacenamiento en los discos duros, que se elevó un 60 % anual en la década de 1990.
En 1992, los discos duros de 3,5 pulgadas alojaban 250 MB, mientras que 10 años después habían superado 40 GB (40 000 MB). En la actualidad, ya contamos en el uso cotidiano con discos duros de más de 3 TB, esto es 3072 GB, (3145728 MB)
En 2005 los primeros teléfonos móviles que incluían discos duros fueron presentados por Samsung y Nokia, aunque no tuvieron mucho éxito ya que las memorias flash los acabaron desplazando, sobre todo por asuntos de fragilidad y superioridad.

Características de un disco duro

Las características que se deben tener en cuenta en un disco duro son:
  • Tiempo medio de acceso: Tiempo medio que tarda la aguja en situarse en la pista y el sector deseado; es la suma del Tiempo medio de búsqueda (situarse en la pista), Tiempo de lectura/escritura y la Latencia media (situarse en el sector).
  • Tiempo medio de búsqueda: Tiempo medio que tarda la aguja en situarse en la pista deseada; es la mitad del tiempo empleado por la aguja en ir desde la pista más periférica hasta la más central del disco.
  • Tiempo de lectura/escritura: Tiempo medio que tarda el disco en leer o escribir nueva información: Depende de la cantidad de información que se quiere leer o escribir, el tamaño de bloque, el número de cabezales, el tiempo por vuelta y la cantidad de sectores por pista.
  • Latencia media: Tiempo medio que tarda la aguja en situarse en el sector deseado; es la mitad del tiempo empleado en una rotación completa del disco.
  • Velocidad de rotación: Revoluciones por minuto de los platos. A mayor velocidad de rotación, menor latencia media.
  • Tasa de transferencia: Velocidad a la que puede transferir la información a la computadora una vez la aguja está situada en la pista y sector correctos. Puede ser velocidad sostenida o de pico.
Otras características son:
  • Caché de pista: Es una memoria tipo Flash dentro del disco duro.
  • Interfaz: Medio de comunicación entre el disco duro y la computadora. Puede ser IDE/ATA, SCSI, SATA, USB, Firewire, Serial Attached SCSI
  • Landz: Zona sobre las que aparcan las cabezas una vez se apaga la computadora.

Estructura física

Componentes de un disco duro. De izquierda a derecha, fila superior: tapa, carcasa, plato, eje; fila inferior: espuma aislante, circuito impreso de control, cabezal de lectura / escritura, actuador e imán, tornillos.
Interior de un disco duro; se aprecia la superficie de un plato y el cabezal de lectura/escritura retraído, a la izquierda.
 
Dentro de un disco duro hay uno o varios discos (de aluminio o cristal) concéntricos llamados platos (normalmente entre 2 y 4, aunque pueden ser hasta 6 ó 7 según el modelo), y que giran todos a la vez sobre el mismo eje, al que están unidos. El cabezal (dispositivo de lectura y escritura) está formado por un conjunto de brazos paralelos a los platos, alineados verticalmente y que también se desplazan de forma simultánea, en cuya punta están las cabezas de lectura/escritura. Por norma general hay una cabeza de lectura/escritura para cada superficie de cada plato. Los cabezales pueden moverse hacia el interior o el exterior de los platos, lo cual combinado con la rotación de los mismos permite que los cabezales puedan alcanzar cualquier posición de la superficie de los platos..

Cada plato posee dos ojos, y es necesaria una cabeza de lectura/escritura para cada cara. Si se observa el esquema Cilindro-Cabeza-Sector de más abajo, a primera vista se ven 4 brazos, uno para cada plato. En realidad, cada uno de los brazos es doble, y contiene 2 cabezas: una para leer la cara superior del plato, y otra para leer la cara inferior. Por tanto, hay 8 cabezas para leer 4 platos, aunque por cuestiones comerciales, no siempre se usan todas las caras de los discos y existen discos duros con un número impar de cabezas, o con cabezas deshabilitadas. Las cabezas de lectura/escritura nunca tocan el disco, sino que pasan muy cerca (hasta a 3 nanómetros), debido a una finísima película de aire que se forma entre éstas y los platos cuando éstos giran (algunos discos incluyen un sistema que impide que los cabezales pasen por encima de los platos hasta que alcancen una velocidad de giro que garantice la formación de esta película). Si alguna de las cabezas llega a tocar una superficie de un plato, causaría muchos daños en él, rayándolo gravemente, debido a lo rápido que giran los platos (uno de 7.200 revoluciones por minuto se mueve a 129 km/h en el borde de un disco de 3,5 pulgadas).

Direccionamiento

Cilindro, Cabeza y Sector
Pista (A), Sector (B), Sector de una pista (C), Clúster (D)
Hay varios conceptos para referirse a zonas del disco:
  • Plato: cada uno de los discos que hay dentro del disco duro.
  • Cara: cada uno de los dos lados de un plato.
  • Cabeza: número de cabezales.
  • Pistas: una circunferencia dentro de una cara; la pista 0 está en el borde exterior.
  • Cilindro: conjunto de varias pistas; son todas las circunferencias que están alineadas verticalmente (una de cada cara).
  • Sector : cada una de las divisiones de una pista. El tamaño del sector no es fijo, siendo el estándar actual 512 bytes, aunque próximamente serán 4 KiB. Antiguamente el número de sectores por pista era fijo, lo cual desaprovechaba el espacio significativamente, ya que en las pistas exteriores pueden almacenarse más sectores que en las interiores. Así, apareció la tecnología ZBR (grabación de bits por zonas) que aumenta el número de sectores en las pistas exteriores, y utiliza más eficientemente el disco duro. Así las pistas se agrupan en zonas de pistas de igual cantidad de sectores. Cuanto más lejos del centro de cada plato se encuentra una zona, ésta contiene una mayor cantidad de sectores en sus pistas. Además mediante ZBR, cuando se leen sectores de cilindros más externos la tasa de transferencia de bits por segundo es mayor; por tener la misma velocidad angular que cilindros internos pero mayor cantidad de sectores.
El primer sistema de direccionamiento que se usó fue el CHS (cilindro-cabeza-sector), ya que con estos tres valores se puede situar un dato cualquiera del disco. Más adelante se creó otro sistema más sencillo: LBA (direccionamiento lógico de bloques), que consiste en dividir el disco entero en sectores y asignar a cada uno un único número. Éste es el que actualmente se usa.

Tipos de conexión

Si hablamos de disco duro podemos citar los distintos tipos de conexión que poseen los mismos con la placa base, es decir pueden ser SATA, IDE, SCSI o SAS:
  • IDE: Integrated Drive Electronics ("Dispositivo electrónico integrado") o ATA (Advanced Technology Attachment), controla los dispositivos de almacenamiento masivo de datos, como los discos duros y ATAPI (Advanced Technology Attachment Packet Interface) Hasta aproximadamente el 2004, el estándar principal por su versatilidad y asequibilidad. Son planos, anchos y alargados.
  • SCSI: Son interfaces preparadas para discos duros de gran capacidad de almacenamiento y velocidad de rotación. Se presentan bajo tres especificaciones: SCSI Estándar (Standard SCSI), SCSI Rápido (Fast SCSI) y SCSI Ancho-Rápido (Fast-Wide SCSI). Su tiempo medio de acceso puede llegar a 7 milisegundos y su velocidad de transmisión secuencial de información puede alcanzar teóricamente los 5 Mbit/s en los discos SCSI Estándares, los 10 Mbit/s en los discos SCSI Rápidos y los 20 Mbit/s en los discos SCSI Anchos-Rápidos (SCSI-2). Un controlador SCSI puede manejar hasta 7 discos duros SCSI (o 7 periféricos SCSI) con conexión tipo margarita (daisy-chain). A diferencia de los discos IDE, pueden trabajar asincrónicamente con relación al microprocesador, lo que posibilita una mayor velocidad de transferencia.
  • SATA (Serial ATA): El más novedoso de los estándares de conexión, utiliza un bus serie para la transmisión de datos. Notablemente más rápido y eficiente que IDE. Existen tres versiones, SATA 1 con velocidad de transferencia de hasta 150 MB/s (hoy día descatalogado), SATA 2 de hasta 300 MB/s, el más extendido en la actualidad; y por último SATA 3 de hasta 600 MB/s el cual se está empezando a hacer hueco en el mercado. Físicamente es mucho más pequeño y cómodo que los IDE, además de permitir conexión en caliente.
  • SAS (Serial Attached SCSI): Interfaz de transferencia de datos en serie, sucesor del SCSI paralelo, aunque sigue utilizando comandos SCSI para interaccionar con los dispositivos SAS. Aumenta la velocidad y permite la conexión y desconexión en caliente. Una de las principales características es que aumenta la velocidad de transferencia al aumentar el número de dispositivos conectados, es decir, puede gestionar una tasa de transferencia constante para cada dispositivo conectado, además de terminar con la limitación de 16 dispositivos existente en SCSI, es por ello que se vaticina que la tecnología SAS irá reemplazando a su predecesora SCSI. Además, el conector es el mismo que en la interfaz SATA y permite utilizar estos discos duros, para aplicaciones con menos necesidad de velocidad, ahorrando costes. Por lo tanto, las unidades SATA pueden ser utilizadas por controladoras SAS pero no a la inversa, una controladora SATA no reconoce discos SAS.

Factor de Forma

El más temprano "factor de forma" de los discos duros, heredó sus dimensiones de las disqueteras. Pueden ser montados en los mismos chasis y así los discos duros con factor de forma, pasaron a llamarse coloquialmente tipos FDD "floppy-disk drives" (en inglés).
La compatibilidad del "factor de forma" continua siendo de 3½ pulgadas (8,89 cm) incluso después de haber sacado otros tipos de disquetes con unas dimensiones más pequeñas.
  • 8 pulgadas: 241,3×117,5×362 mm (9,5×4,624×14,25 pulgadas).
    En 1979, Shugart Associates sacó el primer factor de forma compatible con los disco duros, SA1000, teniendo las mismas dimensiones y siendo compatible con la interfaz de 8 pulgadas de las disqueteras. Había dos versiones disponibles, la de la misma altura y la de la mitad (58,7mm).
  • 5,25 pulgadas: 146,1×41,4×203 mm (5,75×1,63×8 pulgadas). Este factor de forma es el primero usado por los discos duros de Seagate en 1980 con el mismo tamaño y altura máxima de los FDD de 5¼ pulgadas, por ejemplo: 82,5 mm máximo.
    Éste es dos veces tan alto como el factor de 8 pulgadas, que comúnmente se usa hoy; por ejemplo: 41,4 mm (1,64 pulgadas). La mayoría de los modelos de unidades ópticas (DVD/CD) de 120 mm usan el tamaño del factor de forma de media altura de 5¼, pero también para discos duros. El modelo Quantum Bigfoot es el último que se usó a finales de los 90'.
  • 3,5 pulgadas: 101,6×25,4×146 mm (4×1×5.75 pulgadas).
    Este factor de forma es el primero usado por los discos duros de Rodine que tienen el mismo tamaño que las disqueteras de 3½, 41,4 mm de altura. Hoy ha sido en gran parte remplazado por la línea "slim" de 25,4mm (1 pulgada), o "low-profile" que es usado en la mayoría de los discos duros.
  • 2,5 pulgadas: 69,85×9,5-15×100 mm (2,75×0,374-0,59×3,945 pulgadas).
    Este factor de forma se introdujo por PrairieTek en 1988 y no se corresponde con el tamaño de las lectoras de disquete. Este es frecuentemente usado por los discos duros de los equipos móviles (portátiles, reproductores de música, etc...) y en 2008 fue reemplazado por unidades de 3,5 pulgadas de la clase multiplataforma. Hoy en día la dominante de este factor de forma son las unidades para portátiles de 9,5 mm, pero las unidades de mayor capacidad tienen una altura de 12,5 mm.
  • 1,8 pulgadas: 54×8×71 mm.
    Este factor de forma se introdujo por Integral Peripherals en 1993 y se involucró con ATA-7 LIF con las dimensiones indicadas y su uso se incrementa en reproductores de audio digital y su subnotebook. La variante original posee de 2GB a 5GB y cabe en una ranura de expansión de tarjeta de ordenador personal. Son usados normalmente en iPods y discos duros basados en MP3.
  • 1 pulgadas: 42,8×5×36,4 mm.
    Este factor de forma se introdujo en 1999 por IBM y Microdrive, apto para los slots tipo 2 de compact flash, Samsung llama al mismo factor como 1,3 pulgadas.
  • 0,85 pulgadas: 24×5×32 mm.
    Toshiba anunció este factor de forma el 8 de enero de 2004 para usarse en móviles y aplicaciones similares, incluyendo SD/MMC slot compatible con disco duro optimizado para vídeo y almacenamiento para micromóviles de 4G. Toshiba actualmente vende versiones de 4GB (MK4001MTD) y 8GB (MK8003MTD)  y tienen el Record Guinness del disco duro más pequeño.
Los principales fabricantes suspendieron la investigación de nuevos productos para 1 pulgada (1,3 pulgadas) y 0,85 pulgadas en 2007, debido a la caída de precios de las memorias flash, aunque Samsung introdujo en el 2008 con el SpidPoint A1 otra unidad de 1,3 pulgadas.
El nombre de "pulgada" para los factores de forma normalmente no identifica ningún producto actual (son especificadas en milímetros para los factores de forma más recientes), pero estos indican el tamaño relativo del disco, para interés de la continuidad histórica.

Estructura lógica

Dentro del disco se encuentran:

Funcionamiento mecánico

Un disco duro suele tener:
  • Platos en donde se graban los datos.
  • Cabezal de lectura/escritura.
  • Motor que hace girar los platos.
  • Electroimán que mueve el cabezal.
  • Circuito electrónico de control, que incluye: interfaz con la computadora, memoria caché.
  • Bolsita desecante (gel de sílice) para evitar la humedad.
  • Caja, que ha de proteger de la suciedad, motivo por el cual suele traer algún filtro de aire.

Integridad

Debido a la distancia extremadamente pequeña entre los cabezales y la superficie del disco, cualquier contaminación de los cabezales de lectura/escritura o las fuentes puede dar lugar a un accidente en los cabezales, un fallo del disco en el que el cabezal raya la superficie de la fuente, a menudo moliendo la fina película magnética y causando la pérdida de datos. Estos accidentes pueden ser causados por un fallo electrónico, un repentino corte en el suministro eléctrico, golpes físicos, el desgaste, la corrosión o debido a que los cabezales o las fuentes sean de pobre fabricación.
Cabezal del disco duro
El eje del sistema del disco duro depende de la presión del aire dentro del recinto para sostener los cabezales y su correcta altura mientras el disco gira. Un disco duro requiere un cierto rango de presiones de aire para funcionar correctamente. La conexión al entorno exterior y la presión se produce a través de un pequeño agujero en el recinto (cerca de 0,5 mm de diámetro) normalmente con un filtro en su interior (filtro de respiración, ver abajo). Si la presión del aire es demasiado baja, entonces no hay suficiente impulso para el cabezal, que se acerca demasiado al disco, y se da el riesgo de fallos y pérdidas de datos. Son necesarios discos fabricados especialmente para operaciones de gran altitud, sobre 3.000 m. Hay que tener en cuenta que los aviones modernos tienen una cabina presurizada cuya presión interior equivale normalmente a una altitud de 2.600 m como máximo. Por lo tanto los discos duros ordinarios se pueden usar de manera segura en los vuelos. Los discos modernos incluyen sensores de temperatura y se ajustan a las condiciones del entorno. Los agujeros de ventilación se pueden ver en todos los discos (normalmente tienen una pegatina a su lado que advierte al usuario de no cubrir el agujero. El aire dentro del disco operativo está en constante movimiento siendo barrido por la fricción del plato. Este aire pasa a través de un filtro de recirculación interna para quitar cualquier contaminante que se hubiera quedado de su fabricación, alguna partícula o componente químico que de alguna forma hubiera entrado en el recinto, y cualquier partícula generada en una operación normal. Una humedad muy alta durante un periodo largo puede corroer los cabezales y los platos.
Cabezal de disco duro IBM sobre el plato del disco
Para los cabezales resistentes al magnetismo grandes (GMR) en particular, un incidente minoritario debido a la contaminación (que no se disipa la superficie magnética del disco) llega a dar lugar a un sobrecalentamiento temporal en el cabezal, debido a la fricción con la superficie del disco, y puede hacer que los datos no se puedan leer durante un periodo corto de tiempo hasta que la temperatura del cabezal se estabilice (también conocido como “aspereza térmica”, un problema que en parte puede ser tratado con el filtro electrónico apropiado de la señal de lectura).
Los componentes electrónicos del disco duro controlan el movimiento del accionador y la rotación del disco, y realiza lecturas y escrituras necesitadas por el controlador de disco. El firmware de los discos modernos es capaz de programar lecturas y escrituras de forma eficiente en la superficie de los discos y de reasignar sectores que hayan fallado.

Presente y futuro

Actualmente la nueva generación de discos duros utiliza la tecnología de grabación perpendicular (PMR), la cual permite mayor densidad de almacenamiento. También existen discos llamados "Ecológicos" (GP - Green Power), los cuales hacen un uso más eficiente de la energía.

Comparativa de Unidades de estado sólido y discos duros

Una unidad de estado sólido o SSD (acrónimo en inglés de solid-state drive) es un dispositivo de almacenamiento de datos que puede estar construido con memoria no volátil o con memoria volátil. Las no volatiles son unidades de estado sólido que como dispositivos electrónicos, están construidos en la actualidad con chips de memoria flash. No son discos, pero juegan el mismo papel a efectos prácticos aportando más ventajas que inconvenientes tecnológicos. Por ello se está empezando a vislumbrar en el mercado la posibilidad de que en el futuro ese tipo de unidades de estado sólido terminen sustituyendo al disco duro para implementar el manejo de memorias no volatiles en el campo de la ingeniería informática.
Esos soportes son muy rápidos ya que no tienen partes móviles y consumen menos energía. Todos esto les hace muy fiables y físicamente duraderos. Sin embargo su costo por GB es aún muy elevado respecto al mismo coste de GB en un formato de tecnología de Disco Duro siendo un índice muy importante cuando hablamos de las altas necesidades de almacenamiento que hoy se miden en orden de Terabytes.
A pesar de ello la industria apuesta por este vía de solución tecnológica para el consumo doméstico aunque se ha de considerar que estos sistemas han de ser integrados correctamente tal y como se esta realizando en el campo de la alta computación. Unido a la reducción progresiva de costes quizás esa tecnología recorra el camino de aplicarse como método general de archivo de datos informáticos energéticamente respetuosos con el medio natural si optimiza su función lógica dentro de los sistemas operativos actuales.
Los discos que no son discos: Las Unidades de estado sólido han sido categorizadas repetidas veces como "discos", cuando es totalmente incorrecto denominarlas así, puesto que a diferencia de sus predecesores, sus datos no se almacenan sobre superficies cilíndricas ni platos. Esta confusión conlleva habitualmente a creer que "SSD" significa Solid State Disk, en vez de Solid State Drive

Unidades híbridas

Las unidades híbridas son aquellas que combinan las ventajas de las unidades mecánicas convencionales con las de las unidades de estado sólido. Consisten en acoplar un conjunto de unidades de memoria flash dentro de la unidad mecánica, utilizando el área de estado sólido para el almacenamiento dinámico de datos de uso frecuente (determinado por el software de la unidad) y el área mecánica para el almacenamiento masivo de datos. Con esto se logra un rendimiento cercano al de unidades de estado sólido a un costo sustancialmente menor. En el mercado actual (2012), Seagate ofrece su modelo "Momentus XT" con esta tecnología.