KERNEL, SISTEMA Y TABLA DE ASIGNACIÓN DE ARCHIVOS
Upcoming SlideShare
Loading in...5
×
 

KERNEL, SISTEMA Y TABLA DE ASIGNACIÓN DE ARCHIVOS

on

  • 367 views

El presente documento, es una compilación de varios textos y trabajos consignados en internet, todos ellos referenciados al final del documento, en la que se muestra de manera actualizada, las ...

El presente documento, es una compilación de varios textos y trabajos consignados en internet, todos ellos referenciados al final del documento, en la que se muestra de manera actualizada, las características generales de lo que es un kernel en un sistema operativo, sus funciones y operatividad dentro de los mismos. De igual manera se muestra lo que son los sistemas de archivos y su relación con la tabla de asignación de archivos, imprescindibles en cualquier sistema operativo actual, y de cómo estos tiene que ver con el sistema de almacenamiento como lo es el disco duro.

Statistics

Views

Total Views
367
Slideshare-icon Views on SlideShare
367
Embed Views
0

Actions

Likes
0
Downloads
11
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

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

    KERNEL, SISTEMA Y TABLA DE ASIGNACIÓN DE ARCHIVOS KERNEL, SISTEMA Y TABLA DE ASIGNACIÓN DE ARCHIVOS Document Transcript

    • KERNEL, SISTEMA Y TABLA DE ASIGNACIÓN DE ARCHIVOS Ms. Ing. Jairo E. Márquez D. El presente documento, es una compilación de varios textos y trabajos consignados en internet, todos ellos referenciados al final del documento, en la que se muestra de manera actualizada, las características generales de lo que es un kernel en un sistema operativo, sus funciones y operatividad dentro de los mismos. De igual manera se muestra lo que son los sistemas de archivos y su relación con la tabla de asignación de archivos, imprescindibles en cualquier sistema operativo actual, y de cómo estos tiene que ver con el sistema de almacenamiento como lo es el disco duro. Kernel El kernel es el sistema central de cualquier sistema operativo. Todos los sistemas operativos constan de una parte encargada de gestionar los diferentes procesos y las posibles comunicaciones entre el hardware de un ordenador con los programas que están en funcionamiento, entre otras y variadas tareas. Es, por ejemplo, el que facilita el acceso a datos en los distintos soportes posibles (CD-ROM, unidad de disco duro, unidad ZIP, etc.), o el que arranca el ordenador, o el que resetea todos los dispositivos que sean necesarios. La principal propiedad de un kernel es que todas estas operaciones de manejo de memoria o de dispositivos, son, desde un punto de vista de usuario, totalmente transparentes, esto es, no es necesario saber cómo trabajar a bajo nivel con el procesador para realizar las operaciones que sean necesarias, ya que será el kernel, a través de una serie de instrucciones ya implementadas el que lo hará por nosotros. El kernel del programa informático se asegura de: - La comunicación entre los programas que solicitan recursos y el hardware. - Gestión de los distintos programas informáticos (tareas) de una máquina. - Gestión del hardware (memoria, procesador, periférico, forma de almacenamiento, etc.)
    • “La mayoría de las interfaces de usuario se construyen en torno al concepto de núcleo. La existencia de un núcleo, es decir, de un único programa responsable de la comunicación entre el hardware y el programa informático, resulta de compromisos complejos referentes a cuestiones de resultados, seguridad y arquitectura de los procesadores. El núcleo tiene grandes poderes sobre la utilización de los recursos materiales (hardware), en particular, de la memoria. Los núcleos tienen como funciones básicas garantizar la carga y la ejecución de los procesos, las entradas/salidas y proponer una interfaz entre el espacio núcleo y los programas del espacio del usuario. Aparte de las funcionalidades básicas, el conjunto de las funciones de los puntos siguientes (incluidos los pilotos materiales, las funciones de redes y sistemas de ficheros o los servicios) necesariamente no son proporcionadas por un núcleo de sistema de explotación. Pueden establecerse estas funciones del sistema de explotación tanto en el espacio usuario como en el propio núcleo. Su implantación en el núcleo se hace en el único objetivo de mejorar los resultados. En efecto, según la concepción del núcleo, la misma función llamada desde el espacio usuario o el espacio núcleo tiene un coste temporal obviamente diferente. Si esta llamada de función es frecuente, puede resultar útil integrar estas funciones al núcleo para mejorar los resultados.”1 No necesariamente se necesita un núcleo para usar una computadora. Los programas pueden cargarse y ejecutarse directamente en una computadora «vacía», siempre que sus autores quieran desarrollarlos sin usar ninguna abstracción del hardware ni ninguna ayuda del sistema operativo. Ésta era la forma normal de usar muchas de las primeras computadoras: para usar distintos programas se tenía que reiniciar y reconfigurar la computadora cada vez. Con el tiempo, se empezó a dejar en memoria (aún entre distintas ejecuciones) pequeños programas auxiliares, como el cargador y el depurador, o se cargaban desde memoria de sólo lectura. A medida que se fueron desarrollando, se convirtieron en los fundamentos de lo que llegarían a ser los primeros núcleos de sistema operativo. Hay cuatro grandes tipos de núcleos:2 - Los núcleos monolíticos facilitan abstracciones del hardware subyacente realmente potentes y variadas. - Los micronúcleos (en inglés microkernel) proporcionan un pequeño conjunto de abstracciones simples del hardware, y usan las aplicaciones llamadas servidores para ofrecer mayor funcionalidad. (Andrew Tanenbaum 2004) 1 El kernel. Consultado el 2 de septiembre de 2013. http://es.wikipedia.org/wiki/N%C3%BAcleo_(inform%C3%A1tica) 2 Ibid.
    • - Los núcleos híbridos (micronúcleos modificados) son muy parecidos a los micronúcleos puros, excepto porque incluyen código adicional en el espacio de núcleo para que se ejecute más rápidamente. - Los exonúcleos no facilitan ninguna abstracción, pero permiten el uso de bibliotecas que proporcionan mayor funcionalidad gracias al acceso directo o casi directo al hardware. El kernel ó núcleo de linux se puede definir como el corazón de este sistema operativo. Es el encargado que el software y el hardware del computador puedan trabajar juntos. Las funciones más importantes del mismo, aunque no las únicas, son: - Administración de la memoria para todos los programas y procesos en ejecución. - Administración del tiempo de procesador que los programas y procesos en ejecucion utilizan. - Es el encargado de que podamos acceder a los periféricos/elementos de nuestro ordenador de una manera cómoda. Hasta que empezó el desarrollo de la serie 2.6 del núcleo, existieron dos tipos de versiones del núcleo: Versión de producción: Era la versión estable hasta el momento, de las versiones de desarrollo o experimentales. Versión de desarrollo: Esta versión era experimental y era la que utilizaban los desarrolladores para programar, comprobar y verificar nuevas características, correcciones, etc. Estos núcleos solían ser inestables y no se debían usar sin saber lo que se hacía. Las versiones del núcleo se numeran hoy en día con 4 dígitos, de la siguiente forma: AA.BB.CC.DD. - AA: Indica la serie/versión principal del núcleo. - BB: Indica la revisión principal del núcleo. Números pares e impares no tienen ningún significado hoy en día. - CC: Indica nuevas revisiones menores del núcleo. Cambia cuando nuevas características y drivers son soportados. - DD: Este digito cambia cuando se corrigen fallos de programación o fallos de seguridad dentro de una revisión. En la actualidad se suele usar el núcleo con la distribución que el usuario utiliza. Son las distribuciones encargadas de distribuir núcleos estables a sus usuarios y estos núcleos se basan en el núcleo ("vanilla") distribuido por Linus Torvalds y el equipo de programadores del núcleo.
    • El núcleo se puede bajar de un gran número de servidores en internet pero el sitio oficial es http://www.kernel.org/ . En este enlace hay una lista internacional oficial de servidores espejos, de donde es posible bajarse cualquier versión del núcleo. El núcleo de Windows 7 “MinWin” El Modo Kernel es un modo muy privilegiado de funcionamiento, donde el código tiene el acceso directo a todo el hardware y toda la memoria, incluso a los espacios de dirección de todos los procesos del modo usuario. La parte de WINDOWS que corre en el modo Kernel se llama Ejecutor de Windows, que no es más que un conjunto de servicios disponibles a todos los componentes del Sistema Operativo, donde cada grupo de servicios es manipulado por componentes que son totalmente independientes (entre ellos el Núcleo) entre sí y se comunican a través de interfaces bien definidas. Todos los programas que no corren en Modo Kernel corren en Modo Usuario. La mayoría del código del Sistema Operativo corre en Modo Usuario, así como los subsistemas de ambiente (Win32 y POSIX que serán explicados posteriormente) y aplicaciones de usuario. Estos programas solamente acceden a su propio espacio de direcciones e interactúan con el resto del sistema a través de mensajes Cliente/Servidor. Capa de Abstracción de Hardware (HAL). HAL (Hardware Abstraction Layer) es una interfaz entre el hardware y el resto del Sistema Operativo, está implementada como una biblioteca de enlace dinámico (dll) y es responsable de proteger el resto del sistema de las especificaciones del hardware, tales como controladores de interrupción e interfaces de entrada/salida. Esta abstracción hace al sistema más portable ya que el resto del sistema no tiene que preocuparse sobre que plataforma está corriendo. Cada plataforma en que el sistema corre necesita un HAL específico. El diseño intenta que cuando Windows sea portado a una nueva arquitectura de procesador, el HAL sea reescrito para el nuevo procesador, pero el resto del sistema simplemente debe ser recompilado. Microkernel: Es el responsable de todas las acciones que se realizan sobre el sistema y casi todas las funciones del sistema pasan a través de él, está situado en el corazón de Windows, trabaja muy estrechamente con el HAL, este planifica la ejecución de hilos y manipula las interrupciones y excepciones de procesos. El papel de este es mantener a los procesadores lo más ocupado posible. En sentido general este se encarga de las funciones más básicas de todo el SO, como son:  Ejecución de subprocesos.  Sincronización multiprocesador.  Manejo de las interrupciones de hardware.
    • Ejecutor de Windows: Se encarga de las tareas importantes, las que son de vital importancia para el sistema completo, ya que el microkernel está casi siempre demasiado ocupado para dirigirse directamente. El Administrador de Objetos (Object Manager): es usado para crear, modificar y eliminar objetos (tipos de datos abstractos que son usados para representar recursos del Sistema Operativo) usados por todos los sistemas que conforman el Ejecutor de Windows. Este también proporciona información sobre el estado de los objetos a todo el Sistema Operativo. El Administrador de Procesos (Process Manager): es el responsable de crear, quitar y modificar los estados de todos los procesos e hilos. Este también proporciona información sobre el estado de procesos e hilos al resto del sistema. El Administrador de Memoria Virtual (Virtual Memory Manager o VMM): proporciona la gestión de memoria virtual del sistema. La memoria virtual es un esquema que permite usar los recursos del disco en lugar de la memoria física del sistema moviendo las páginas al disco cuando estas no están siendo usadas y recuperándolas cuando se les necesitan. Este es un segmento integral de Windows el cual asigna espacios de direcciones de 32 bit a cada proceso sin preocuparse de la cantidad de memoria física del sistema. El Servicio de Llamadas a Procedimientos Locales (Local Procedure Call Facility o LPC): se integran al diseño cliente/servidor de Windows. Este es la interfaz entre todos los procesos clientes y servidores que corren localmente en el sistema. Monitor de Seguridad (Security Reference Monitor o SRM): es el lecho de toda la seguridad dentro del sistema WINDOWS y es el responsable de hacer cumplir todas las políticas de seguridad en la computadora local. El Administrador de Entrada-Salida (I/O Manager): es responsable de gestionar la comunicación entre los distintos drivers de dispositivo, para lo cual implementa una interfaz bien definida que permite el tratamiento de todos los drivers de una manera homogénea, sin que intervenga el cómo funciona específicamente cada uno. Subsistemas de Ambiente Protegido Dos de los objetivos de WINDOWS son personalidad y compatibilidad. Esto ha sido logrado a través de los subsistemas de ambiente protegido. La personalidad esencialmente significa que WINDOWS expone múltiples conjuntos de interfaces de programas de aplicación (APIs) y puede actuar eficazmente como si fuera un sistema operativo diferente. WINDOWS viene con una personalidad POSIX y OS/2 además de sus personalidades Win32, Win16 y DOS.
    • En WINDOWS, hay tres subsistemas de ambiente protegido: - El subsistema de Win32 - El subsistema de POSIX - El subsistema de OS/2 El Subsistema Win32 Este subsistema actúa como un servidor para todos los otros subsistemas de ambiente soportados en WINDOWS, los que actúan como clientes y traducen sus llamadas API hacia las API apropiadas de Win32. El subsistema Win32 es responsable de toda la entrada y salida. Este posee el control de la pantalla, el teclado, y el ratón. Cuando otros subsistemas, como OS/2 o POSIX, necesitan beneficiarse de estos dispositivos, ellos piden los servicios al subsistema de Win32. Algunos de los objetivos que se trazaron para mantener la compatibilidad con las aplicaciones hechas en versiones anteriores fueron: - Permitir que los programas hechos sobre DOS pudieran correr sin modificación. - Suministrar la capacidad para ejecutar la mayoría de las aplicaciones Windows de 16 bits sin modificación. - Proteger al sistema y otras aplicaciones de 32 bits de la interferencia de las aplicaciones de 16 bits y DOS. - Permitir a las plataformas RISC (Reduced Instruction set Computer, microprocesador cuyo número de instrucciones es reducido para lograr una frecuencia más alta de trabajo) ejecutar aplicaciones Windows de 16 bits y DOS. El Subsistema POSIX Uno de los estándares más frecuentemente citados soportados por Windows es el POSIX (Interfaz de Sistema operativo Portable Basado en Unix), el cual representa la interfaz del Sistema Operativo portable y fue desarrollado por el IEEE (Instituto de Ingenieros en Electricidad y Electrónica) como un método de proporcionar portabilidad a las aplicaciones hechas sobre plataformas UNIX. No obstante, POSIX se ha integrado en muchos sistemas no UNIX. El Subsistema OS/2. El Subsistema OS/2 igual que el subsistema POSIX proporciona un entorno para aplicaciones UNIX, este subsistema da soporte a las aplicaciones OS/2. Proporciona la interfaz gráfica y las llamadas al sistema; las llamadas son servidas con ayuda del Ejecutor de Windows.
    • Estructura del sistema Los kernels de Windows NT o Minix son de tipo micro- kernel, caracterizado porque proveen al sistema de un estado mínimo necesario de funcionalidad, cargando el resto de funciones necesarias en procesos autónomos e independientes unos de otros, comunicándose con este micro-kernel a través de una interfaz bien definida. Este tipo de estructura es más fácil de mantener y el desarrollo de nuevos componentes es mucho más simple, dando a su vez una mayor estabilidad al sistema. Por otro lado, debido a la estructura rígida del interfaz, estos tipos de kernel son mucho más complicados de reestructurar, y además, debido a las arquitecturas del hardware actual, el proceso de intercomunicación dentro del micro-kernel es mucho más que una simple llamada, por lo que hace que esta estructura sea más lenta que los kernels de tipo monolíticos o macro-kernels. Debido a esto, una estructura de micro-kernel es prácticamente inconcebible, aunque esto no quiere decir que el kernel de linux sea una simple lista de instrucciones sin estructura alguna. A pesar de la estructura de macro-kernel, se ha intentado equiparar su velocidad utilizando código optimizado en velocidad, y se ha recuperado algunas de las mejores características de la estructura de micro- kernel, como puede ser la carga de los diferentes drivers necesarios como módulos independientes, siempre sin olvidar la estructura monolítica original. En el caso de Linux, la gran parte del kernel está escrito en C, existiendo también instrucciones en ensamblador, aunque estas últimas se usan mayoritariamente en los procesos de arranque y en el control de co-procesador. A continuación se muestra una tabla con la cantidad de líneas en C y ensamblador que se usan aproximadamente en la versión 2.0 del kernel de Linux, el cual consta de unas 470.000 líneas de código (la versión 1.0 constaba "únicamente" de 165.000 líneas): Código C Ensamblador Dispositivos de Drivers 377.000 100 Network 25.000 VFS 13.500 13 archivos de sistema 50.000 Inicio 4.000 2.800 Co-Procesador 3.550 Tabla 1 - Proporciones de código fuente por componente
    • Cabe comentar el significado de la serie de números que acompañan al kernel, tanto compilado como al directorio que contiene las fuentes de éste, que, a pesar de no ser necesarios, se suelen incluir porque aportan una mayor información. Este conjunto de cifras tienen el formato X.X.XX y su significado no es más que la versión del kernel a la que corresponde dicho archivo, aunque no es simplemente así. Como se puede suponer, la variación en una unidad del primer grupo de cifras significa un cambio muy importante en el kernel, siendo ésta menor conforme el grupo de cifras que varía está más hacia la derecha. El último grupo de cifras tiene, además del significado anterior como indicador de versión, un significado añadido, que es el de que si la cifra es par, esa versión de kernel se considera como una versión estable, si, en cambio ésta es impar, se considera que la versión del kernel es una versión en fase beta o de desarrollo. Procesos y Tareas Desde el punto de vista de un proceso ejecutándose en Linux, el kernel es un proveedor de servicios. Cada proceso existe por separado y el espacio de memoria reservado a cada uno de ellos está protegido para que no pueda ser modificado. Desde este punto de vista, se está llevando a cabo un sistema multiproceso real (ver figura 2). Desde un punto de vista interno, el contexto cambia. Solo hay un proceso en marcha en el computador que puede acceder a todos los recursos, el sistema operativo. El resto de tareas se llevarán a cabo como co-rutinas, las cuales, de una forma totalmente independiente, deciden por ellas mismas a qué tarea y cuándo pasarán el control. Debido a esto, un fallo en la programación del kernel podría bloquear todo el sistema. Figura 2 - Los procesos desde una vista interna y externa
    • Cuando se ha iniciado un proceso, este puede adquirir distintos estados: 1. Ejecución (Running) La tarea está activa y en ejecución. Este proceso solo puede ser interrumpido por una interrupción o una llamada del sistema. 2. Rutina interrumpida (Interrupt Routine) Está rutina se activa con una interrupción del sistema (hardware), como puede ser un pulsación del teclado o una llamada del reloj. 3. Llamada del Sistema (System Call) Las llamadas del sistema se activan debido a una interrupción producida por el software. Pueden suspender una tarea para llevar a cabo un evento. 4. En espera (Waiting) El proceso está en espera de un evento externo. 5. Vuelta de la llamada del sistema (Return from system call) Este estado se adopta automáticamente después de una llamada del sistema y algunas interrupciones. 6. Preparado (Ready) El proceso está en espera de ser atendido por el procesador, que está ocupado con otro proceso en ese momento. Estos estados no pueden ser adquiridos sin orden alguno o porque sí, sino que llevan un ciclo el cual debe ser respetado. Además, si se observa la figura 3, se podrá apreciar que estos procesos no son "islas" independientes unas de otras, sino que hay una relación familiar entre ellos. En muchos sistemas operativos actuales se hace la distinción entre procesos y threads. Un thread es una especie de rama o camino en la ejecución de un programa que puede ser procesado en paralelo con otros threads. Linux no hace esa distinción. En el kernel, únicamente existe el concepto de un proceso, el cual puede compartir recursos con otros procesos. Por eso, una tarea es una generalización del concepto de un thread.
    • Figura 3 - Estados posibles de un proceso Principales estructuras de datos La estructura Tarea En un sistema multitarea es muy importante como una tarea está definida. Es, probablemente, uno de los conceptos más importantes en un sistema operativo de este tipo. De hecho los algoritmos usados en Linux para su manejo constituyen la mayor parte del código del kernel. La descripción de las características de un proceso, vienen dadas por la estructura task_struct. Una de las variables usadas es la llamada state, que es la encargada de almacenar el estado actual de la tarea (los valores que puede tomar esta variable los podemos ver en la figura 4). Otras variables son counter, que es la variable usada por el Programador (scheduler) para seleccionar el siguiente proceso, o signal que contiene una máscara de un bit (bit mask) para las señales recibidas por el proceso.
    • Todos los procesos creados son introducidos en una lista doblemente enlazada gracias a los dos punteros siguientes (el comienzo y final de esta lista están almacenados en la variable global init_task): struct task_struct *next_task; struct task_struct *previous_task; En un sistema Unix, los procesos no existen independientemente unos de otros, sino que cada proceso está relacionado con los demás, siguiendo una jerarquía familiar según qué proceso lo haya creado, y que al igual que los anteriores están representados por: struct task_struct p_opptr; /* Padre original */ struct task_struct p_pptr; /* Padre */ struct task_struct p_cptr; /* Hijo más joven */ STRUCT TASK_STRUCT P_YSPTR; /* YOUNGER SIBLING */ struct task_struct p_osptr; /* OLDER SIBLING */ Figura 4 - Relaciones entre procesos Otras características de esta estructura son, por ejemplo, que cada proceso posee su propia subestructura para el almacenamiento de datos, o que cada proceso posee un numero identificativo pid, a partir del cual se nos facilitará el manejo de dicha tarea.
    • La tabla de procesos Cada proceso en ejecución que haya en el ordenador, ocupa una entrada en la tabla de proceso, la cual está restringida en tamaño a NR_TASKS. En Linux, la tarea 0 (task[0]) es INIT_TASK, por lo que será la primera tarea cargada por el kernel. Esto es así porque ella será la encargada de lanzar el resto de tareas, como los demonios cargados en el inicio (p.ej. lpd) o el controlador del ratón (gpm). Ficheros e inodes En los sistemas UNIX se ha hecho tradicionalmente una distinción entre la estructura de archivos y la de inodes. La estructura inode describe un archivo, aunque esto puede ser visto de diferentes formas: por ejemplo, la estructura de datos en el kernel y la del disco duro describen archivos, y, a pesar de ser distintas, se denominan inodes. Los inodes contienen información del archivo como propietario, derechos, etc. Cada fichero usado en el sistema se apareja con una única entrada de inode en el kernel, la cual describe diferentes atributos y propiedades del archivo al que corresponde. Principales mecanismos del kernel - Señales: Desde los primeros sistemas UNIX, esta característica ha sido un de las que más ventajas le han aportado: el uso de señales. Éstas son usadas por el kernel para informar a los procesos sobre ciertos eventos, lo que permite abortarlos o cambiarlos de un estado a otro. Todas estas señales son enviadas con la función send_sig(), la cual admite el paso de tres parámetros, siendo éstos: el numero de la señal, una descripción del proceso que va a recibir la señal (un puntero a la entrada del proceso en cuestión en la tabla de procesos), y opcionalmente la prioridad del proceso que envía la señal. Este último argumento puede tener dos valores: desde el kernel, el cual puede enviar señales a cualquier proceso, o desde un proceso, para lo que es necesario que éste último tenga derechos de superusuario, o bien que tener el mismo UID y GID que el proceso al que se le envía la señal.
    • - Tuberías: Las tuberías o pipes (... | ...) son unos enlaces que se pueden realizar con cualquier shell, que unen las entradas de algunos programas con las salidas de los otros. Gracias a esto es posible usar gran parte de los comandos de Linux como filtros y, así, construir comandos más potentes a partir de comandos sencillos. Estas pipes, son consideradas como el método clásico de comunicación entre procesos. Otra variante de las tuberías son los FIFOs (First In, First Out), que se diferencian de las anteriores en que los FIFOs no son objetos temporales, sino que ellos pueden ser establecidos en un sistema de ficheros. - Interrupciones: Son usadas para permitir al hardware comunicarse con el SO. En Linux hay dos tipos de interrupciones: rápidas y lentas. Se podría decir que son tres tipos, considerando el tercero como las llamadas del sistema, también desencadenadas por interrupciones. 1. Interrupciones lentas: Son las más usuales. Se caracterizan porque se puede llevar a cabo otras interrupciones mientras éstas son tratadas. Después de que una interrupción lenta haya sido procesada, otras tareas adicionales, de carácter periódico, son llevadas a cabo por el sistema (por ejemplo el scheduler). Otro ejemplo, es la interrupción lenta del reloj. 2. Interrupciones rápidas: Éstas se usan para tareas más cortas y menos complejas que las comentadas en el apartado anterior. Mientras este tipo de interrupciones son llevadas a cabo, el resto de interrupciones son bloqueadas, a menos que la propia rutina en ejecución las active. Un ejemplo de este tipo de rutinas es la interrupción de teclado. En ambos tipos de interrupciones el proceso que se lleva a cabo es muy similar: primero todos los registros son salvados con SAVE_ALL y la interrupción envía una confirmación al controlador de interrupciones con ACK. En caso de un sistema con múltiples procesadores, se ejecuta una llamada a la rutina del kernel ENTER_KERNEL para sincronizar el acceso al kernel de los procesadores. Una vez se ha completado la interrupción, se ejecuta la rutina RESTORE_MOST que devuelve los registros guardados previamente a sus valores iniciales, llamando después a iret para continuar con el proceso interrumpido. - Iniciando el sistema: LILO3 es el encargado de encontrar el kernel de Linux y lo carga a la memoria, iniciándolo en el punto start: que es donde se 3 LILO es un acrónimo de LInux LOader (cargador) y ha sido usado para arrancar linux en sistemas x86 por muchos años. Aunque ahora GRUB es el gestor de arranque por defecto, algunos prefieren usar LILO porque les es más familiar y otros porque GRUB puede causar problemas al arrancar determinado tipo de hardware.
    • encuentra el código en ensamblador encargado de inicializar el hardware esencial. Una vez esto se ha llevado a cabo, el proceso se cambia a Modo Protegido. La instrucción en ensamblador es: jmp 0x1000, KERNEL_CS Inicia un salto a la dirección de comienzo del código de 32 bit para el kernel del sistema operativo actual y continúa desde startup_32: En este punto se inician más secciones del hardware (en particular el MMU, el co-procesador y la tabla de descripciones de interrupciones) y el entorno requerido para la ejecución de funciones en C. Una vez esto se ha llevado a cabo, la primera función en C, start_kernel(), es llamada, la cual salvará todos los datos que el código ensamblador ha encontrado sobre el hardware hasta este punto. Entonces se inicializan todas las áreas del kernel. Así se puede citar un ejemplo de su ejecución: asmlinkage void start_kernel(void) { memory_start = paging_init(memory_start,memory_end); trap_init(); init_IRQ(); sched_init(); time_init(); parse_options(command_line); init_modules(); memory_start = console_init(memory_start,memory_end); LILO se carga así mismo en la memoria casi de forma idéntica a GRUB, con la diferencia de que es un gestor de dos etapas. 1. La etapa 1 o el gestor de arranque primario se lee en la memoria por la BIOS desde el MBR. El gestor de arranque primario existe en menos de 512 bytes de espacio en disco dentro del MBR. Su función es cargar la etapa 2 del gestor de arranque y pasarle la información de la geometría del disco. 2. La etapa 2 o el gestor de arranque secundario se lee en memoria. El gestor de arranque secundario visualiza la pantalla inicial de Red Hat Linux. Esta pantalla le permite seleccionar el sistema operativo o el kernel de Linux que desee arrancar. 3. La etapa 2 lee el sistema operativo o el kernel y lleva a cabo initrd en memoria. Una vez que LILO determina qué sistema operativo iniciar, éste lo carga en la memoria y lleva el control de la máquina a ese sistema operativo. Una vez que se ha llevado a cabo la etapa 2 en memoria, LILO visualiza la pantalla inicial de Red Hat Linux con los diferentes sistemas operativos o kernel que han sido configurados para arrancar. Por defecto, si Red Hat Linux es el único sistema instalado, linux será la única opción disponible. Si el sistema tiene múltiples procesadores habrá una opción linux-up para el kernel del procesador único y una opción linux para los kernel de múltiples procesadores (SMP). Si LILO está configurado para arrancar otros sistemas operativos, estas entradas de arranque también aparecerán en pantalla. Las flechas direccionales permiten al usuario resaltar el SO deseado y la tecla [Intro] comenzará el proceso de arranque. Para accesar una línea de comandos boot: presione [Ctrl]-[X].
    • memory_start = pci_init(memory_start,memory_end); memory_start = kmalloc_init(memory_start,memory_end); sti(); memory_start = inode_nit(memory_start,memory_end); memory_start = file_table_init(memory_start,memory_end); memory_start = name_cache_init(memory_start,memory_end); mem_init(memory_start,memory_end); buffer_init(); sock_init(); ipc_init(); ... El proceso actualmente en curso es el proceso 0, el cual ejecuta la función init(), que será la encargada de llevar a cabo el resto de la inicialización, cargando los demonios bdflush y kswap. Entonces se hace una llamada a setup, que será la encargada de montar el sistema de archivos root. - Interrupción del Reloj: Todos los sistemas operativos necesitan una forma de medir el tiempo y de mantener una hora en el sistema. El sistema de medida se implementa normalmente haciendo interrupciones en intervalos ya predefinidos. Bajo Linux, el tiempo se mide en ticks desde que el sistema es arrancado. Un tick representa 10 milisegundos, así que la interrupción del reloj se efectúa 100 veces por segundo. El tiempo se almacena en la variable unsigned long volatile jiffies; La cual deberá ser modificado únicamente por esta interrupción. Sin embargo, este método provee solo de un base interna de tiempo. La interrupción del reloj es llamada relativamente a menudo y, por eso, es un tanto dependiente del tiempo. La rutina de interrupción en la versión 2.0, actualiza la variable jiffies y marca como activa una parte de la interrupción del reloj, la cual es llamada por el sistema más adelante, y se desarrolla el resto del trabajo. Como pueden ocurrir varias interrupciones de reloj antes de activar el resto de rutinas, la interrupción del reloj también puede incrementar las variables unsigned long lost_ticks; unsigned long lost_ticks_system; Para que estas puedan ser evaluadas al final de la rutina.
    • lost_ticks cuenta las interrupciones de reloj producidas desde la última activación; lost_ticks_system cuenta, en cambio el número de interrupciones transcurridas mientras el proceso de interrupción estaba en Modo de Sistema. El sistema de archivos de linux Actualmente es normal encontrar un PC con su disco duro con distintas particiones, cada una de ellas con un sistema de ficheros distinta. Esta variedad es debida a que prácticamente cada SO tiene su propio sistema de ficheros, alegando que éste es más rápido y seguro que el resto. Puede que una de las razones por las que Linux ha tenido tanta popularidad, sea por la cantidad de sistemas de ficheros distintos que soporta (FAT16 y FAT32 de Windows, NTFS de WinNT, HPFS de OS/2, ISO 9660 y Joliet, que son los estándares más comunes en CD, etc.). El soporte de esta gran cantidad de sistema de ficheros es debido a la interfaz unificada que usa el kernel llamada Virtual File System Switch (VFS) o Virtual File System. Este sistema virtual de ficheros es el encargado de cada proceso pueda manejar información desde los distintos ficheros sin necesidad de saber donde se encuentran, o de saber si pertenecen a un tipo de sistema de ficheros u otro. Conocimientos básicos La CPU no es el único elemento "inteligente" que existe en la computadora. Cada elemento hardware que la compone lleva incluido su propio controlador (por ejemplo el ratón y el teclado son controlados por el chip SuperIO, el disco IDE por el controlador IDE o el SCSI por la controladora SCSI). Esto implica que el acceso a cada uno de estos dispositivos se realizará de forma distinta, por lo que cada utilidad debería incluir unos controladores. En vez de eso, los controladores se incluyen en el kernel como unas librerías conocidas como device drivers (controlador de dispositivo), de tal forma que se puede acceder a todos los dispositivos así configurados, sin necesidad de conocer cómo funciona el dispositivo a bajo nivel. De esta forma se consigue una abstracción en lo que se refiere al acceso a dispositivos. En Linux, como en Unix, a los distintos sistemas de ficheros que el sistema puede usar no se accede por identificadores de dispositivo (como un número o nombre de unidad) pero, en cambio se combinan en una estructura jerárquica de árbol que representa el sistema de ficheros como una entidad única y sencilla. Linux añade cada sistema de ficheros nuevo en este árbol de sistemas de ficheros cuando se
    • monta. Todos los sistemas de ficheros, de cualquier tipo, se montan sobre un directorio y los ficheros del sistema de ficheros son el contenido de ese directorio. Este directorio se conoce como directorio de montaje o punto de montaje. Cuando el sistema de ficheros se desmonta, los ficheros propios del directorio de montaje son visibles de nuevo. Además, gracias a esta forma de trabajo, no es necesario implementar el código necesario para acceder a los distintos dispositivos, sino que cada proceso se comunica con los dispositivos que necesite a través del acceso que le es proporcionado a través del VFS, como se puede observar en la figura 4. El primer sistema de ficheros diseñado específicamente para Linux, el sistema de Ficheros Extendido, o EXT, fue introducido en Abril de 1992 y solventó muchos problemas pero era aún falto de rapidez. Así, en 1993, el Segundo sistema de Ficheros Extendido, o EXT2, fue añadida al kernel como sistema principal de ficheros. Figura 4 - Estructura del VFS
    • En ese momento un importante desarrollo tuvo lugar en Linux. El sistema de ficheros real se separó del SO y servicios del sistema a favor de un interfaz conocido como el Sistema de Ficheros Virtual, o VFS. VFS permite a Linux soportar muchos, incluso muy diferentes, sistemas de ficheros, cada uno presentando un interfaz software común a través del VFS. Todos los detalles del sistema de ficheros de Linux son traducidos mediante software de forma que todo el sistema de ficheros parece idéntico al resto del kernel de Linux y a los programas que se ejecutan en el sistema. La capa del sistema de Ficheros Virtual de Linux permite al usuario montar de forma transparente diferentes sistemas de ficheros al mismo tiempo. El sistema de Ficheros Virtual está implementado de forma que el acceso a los ficheros es tan rápido y eficiente como sea posible. También debe asegurar que los ficheros y los datos que contiene son correctos. Estos dos requisitos pueden ser incompatibles entre sí. El VFS de Linux mantiene una antememoria con información de cada sistema de ficheros montado y en uso. Se debe tener mucho cuidado al actualizar correctamente el sistema de ficheros ya que los datos contenidos en las antememorias se modifican cuando se crean, escriben y borran ficheros y directorios. Si se pudieran ver las estructuras de datos del sistema de ficheros dentro del kernel en ejecución, se podría ver los bloques de datos que se leen y escriben por el sistema de ficheros. Las estructuras de datos, que describen los ficheros y directorios que son accedidos serian creadas y destruidas y todo el tiempo los controladores de los dispositivo estarían trabajando, buscando y guardando datos. La antememoria o caché más importantes es la llamada Buffer Cache, que está integrada entre cada sistema de ficheros y su dispositivo de bloque. Tal y como se accede a los bloques se ponen en el Buffer Cache y se almacenan en varias colas dependiendo de sus estados. El Buffer Cache no sólo mantiene buffers de datos, también ayuda a administrar el interfaz asíncrono con los controladores de dispositivos de bloque. El Virtual File System Como en el sistema de ficheros EXT2, cada fichero, directorio y demás se representan en el VFS por un y sólo un inodo VFS. La información en cada inodo VFS se construye a partir de información del sistema de ficheros por las rutinas específicas del sistema de ficheros. Los inodos VFS existen sólo en la memoria del núcleo y se mantienen en el caché de inodos VFS tanto tiempo como sean útiles para el sistema. Entre otra información, los inodos VFS contienen los siguientes campos:
    • 1. device: Este es el identificador de dispositivo del dispositivo que contiene el fichero o lo que este inodo VFS represente, 2. inode number: Este es el número del inodo y es único en este sistema de ficheros. La combinación de device y inode number es única dentro del Sistema de Ficheros Virtual, 3. mode: Como en EXT2 este campo describe qué representa este inodo VFS y los permisos de acceso (r-lectura, w-escritura, x- ejecución para propietario, grupo y otros usuarios), 4. user ids: Los identificadores de propietario, 5. times: Los tiempos de creación, modificación y escritura, 6. block size: El tamaño de bloque en bytes para este fichero, por ejemplo 1024 bytes, 7. inode operations: Un puntero a un bloque de direcciones de rutina. Estas rutinas son específicas del sistema de ficheros y realizan operaciones para este inodo, por ejemplo, truncar el fichero que representa este inodo. 8. count: El número de componentes del sistema que están usando actualmente este inodo VFS. Un contador de cero indica que el inodo está libre para ser descartado o rehusado, 9. lock: Este campo se usa para bloquear el inodo VFS, por ejemplo, cuando se lee del sistema de ficheros, 10.dirty: Indica si se ha escrito en este inodo, si es así, el sistema de ficheros necesitará modificarlo, 11.file system specific information. El sistema de ficheros Ext2 El Segundo sistema de ficheros Extendido de Linux ha sido el que mayor éxito ha cosechado, siendo básico en cualquier distribución de este SO. Su construcción se basa en que los datos son guardados en bloques, los cuales son, en principio, del mismo tamaño, aunque pueden variar de un sistema a otro (ya que esta elección del tamaño se hace al crear el sistema con mke2fs). Cuando se almacena un fichero, se hace de tal forma que ocupe un número entero de bloques, quedando gran parte de la capacidad del último bloque usado bastante desperdiciada, a no ser que el fichero de datos ocupe exactamente un número de bloques, tal como se ha explicado reiteradas veces en clase. No todos los bloques del sistema de ficheros contienen datos, algunos deben usarse para mantener la información que describe la estructura del sistema de ficheros. EXT2 define la topología del sistema de ficheros describiendo cada fichero del sistema con una estructura de datos inodo. Un inodo describe que bloques ocupan los datos de un fichero y también los permisos de acceso del fichero, las horas de modificación del fichero y el tipo del fichero. Cada fichero en el sistema de ficheros EXT2 se describe por un único inodo y cada inodo tiene un único número que lo identifica. Los inodos del sistema de ficheros se almacenan juntos en tablas de inodos. Los directorios EXT2 son ficheros especiales (ellos
    • mismos descritos por inodos) que contienen punteros a los inodos de sus entradas de directorio. El sistema de ficheros EXT2 divide las particiones lógicas que ocupa en Grupos de Bloque (Block Groups). Cada grupo duplica información crítica para la integridad del sistema de ficheros ya sea valiéndose de ficheros y directorios como de bloques de información y datos. Esta duplicación es necesaria por si ocurriera un desastre y el sistema de ficheros necesitara recuperarse. En el sistema de ficheros EXT2, el inodo es el bloque de construcción básico; cada fichero y directorio del sistema de ficheros es descrito por un y sólo un inodo. Los inodos EXT2 para cada Grupo de Bloque se almacenan juntos en la tabla de inodos con un mapa de bits que permite al sistema seguir la pista de inodos reservados y libres. Un inodo EXT2, entre otra información, contiene los siguientes campos: 1. mode: Esto mantiene dos partes de información; qué inodo describe y los permisos que tienen los usuarios. Para EXT2, un inodo puede describir un fichero, directorio, enlace simbólico, dispositivo de bloque, dispositivo de carácter o FIFO. 2. owner Information: Los identificadores de usuario y grupo de los dueños de este fichero o directorio. Esto permite al sistema de ficheros aplicar correctamente el tipo de acceso. 3. size: El tamaño en del fichero en bytes. 4. timestamps: La hora en la que el inodo fue creado y la última hora en que se modificó. 5. datablocks: Punteros a los bloques que contienen los datos que este inodo describe. Los doce primeros son punteros a los bloques físicos que contienen los datos descritos por este inodo y los tres últimos punteros contienen más niveles de indirección. Por ejemplo, el puntero de doble indirección se direcciona a un bloque de punteros que apuntan a bloques de datos. Esto significa que ficheros menores o iguales a 12 bloques de datos en longitud son más fácilmente accedidos que ficheros más grandes. Los inodos EXT2 pueden describir ficheros de dispositivo especiales, aunque no se consideran como ficheros reales, aunque permiten que los programas puedan
    • usarlos para acceder a los dispositivos. Todos los ficheros de dispositivo de /dev están ahí para permitir a los programas acceder a los dispositivos de Linux. Por ejemplo el programa mount toma como argumento el fichero de dispositivo que el usuario desee montar. El Superbloque contiene una descripción del tamaño y forma base del sistema de ficheros. La información contenida permite al administrador del sistema de ficheros usar y mantener el sistema de ficheros. Normalmente sólo se lee el Superbloque del Grupo de Bloque 0 cuando se monta el sistema de ficheros pero cada Grupo de Bloque contiene una copia duplicada en caso de que se corrompa sistema de ficheros. Entre otra información contiene: 1. Magic Number: Permite al software de montaje comprobar que es realmente el Superbloque para un sistema de ficheros EXT2. Para la versión actual de EXT2 éste es 0xEF53. 2. Revision Level: Los niveles de revisión mayor y menor permiten al código de montaje determinar si este sistema de ficheros soporta o no características que sólo son disponibles para revisiones particulares del sistema de ficheros. También hay campos de compatibilidad que ayudan al código de montaje determinar que nuevas características se pueden usar con seguridad en ese sistema de ficheros. 3. Mount Count and Maximum Mount Count: Juntos permiten al sistema determinar si el sistema de ficheros fue comprobado correctamente. El contador de montaje se incrementa cada vez que se monta el sistema de ficheros y cuando es igual al contador máximo de montaje muestra el mensaje de aviso «maximal mount count reached, running e2fsck is recommended». 4. Block Group Number: El número del Grupo de Bloque que tiene la copia de este Superbloque. 5. Block Size: El tamaño de bloque para este sistema de ficheros en bytes, por ejemplo 1024 bytes. 6. Blocks per Group: El número de bloques en un grupo. Como el tamaño de bloque éste se fija cuando se crea el sistema de ficheros. 7. Free Blocks: EL número de bloques libres en el sistema de ficheros. 8. Free Inodes: El número de inodos libres en el sistema de ficheros. 9. First Inode: Este es el número de inodo del primer inodo en el sistema de ficheros. El primer inodo en un sistema de ficheros EXT2 raíz seria la entrada directorio para el directorio '/'.
    • Sistema de Ficheros Proc El sistema de ficheros /proc muestra realmente la potencia del Sistema Virtual de Ficheros. Este sistema no existe en realidad. Éste como el resto de sistemas de ficheros, se registra en el VFS. Sin embargo, cuando el VFS hace llamadas al /proc, éste crea los ficheros que le son pedidos con información sobre el kernel. Por ejemplo la llamada al fichero /proc/devices genera a partir de las estructuras del kernel, un archivo describiendo sus dispositivos. El sistema de ficheros /proc representa una ventana hacia el interior del kernel. DISCO DURO “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 estandarizada. 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.”4 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. C. Dennis Mee, Eric D. Daniel (1996). Los discos duros pertenecen a la llamada memoria secundaria o almacenamiento secundario. El disco duro es más rápido, sin embargo su velocidad depende de la zona del disco en que estemos ubicados. Las características que se deben tener en cuenta en un disco duro son:5 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. 4 Disco duro. Consultado el 2 de septiembre de 2013. http://es.wikipedia.org/wiki/Disco_duro 5 ibid
    • 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. Velocidad en color AZUL, Latencia en color AMARILLO La velocidad de rotación y el tamaño del sector siempre son los mismos (independientemente de donde estemos ubicados) ya que son definidos por las revoluciones del motor (4200, 5400, 7200, 10mil y 15mil rpm) y por el sistema de archivos (al momento de formatear). 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. Interior de un disco duro; se aprecia la superficie de un plato y el cabezal de lectura/escritura retraído, a la izquierda. Fuente http://es.wikipedia.org/wiki/Disco_duro Tasa de transferencia: Velocidad a la que puede transferir la información a la computadora una vez que 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 SCSI6 . - Landz: Zona sobre las que aparcan las cabezas una vez se apaga la computadora. 6 Serial Attached SCSI o SAS, es una interfaz de transferencia de datos en serie, sucesor del SCSI (Small Computer System Interface) paralelo, aunque sigue utilizando comandos SCSI para interaccionar con los dispositivos SAS. Aumenta la velocidad y permite la conexión y desconexión de forma rápida.
    • Tener forma redondeada y partes mecánicas (motor, cabeza lectora y discos) es una gran desventaja: La forma redondeada significa que la velocidad de lectura/escritura es mejor al comienzo del disco que al final y las partes mecánicas generan una latencia significativa en milisegundos. 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).
    • La estructura física de un disco es la siguiente: un disco duro se organiza en platos (PLATTERS), y en la superficie de cada una de sus dos caras existen pistas (TRACKS) concéntricas, como surcos de un disco de vinilo, y las pistas se dividen en sectores (SECTORS). El disco duro tiene una cabeza (HEAD) en cada lado de cada plato, y esta cabeza es movida por un motor cuando busca los datos almacenados en una pista y un sector concreto. El concepto "cilindro" (CYLINDER) es un parámetro de organización: el cilindro está formado por las pistas concéntricas de cada cara de cada plato que están situadas unas justo encima de las otras, de modo que la cabeza no tiene que moverse para acceder a las diferentes pistas de un mismo cilindro. 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 la IDEMA ha creado un comité que impulsa llevarlo a 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. Toshiba America Electronic 2009. 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.
    • En cuanto a organización lógica, cuando damos formato lógico (el físico, o a bajo nivel, viene hecho de fábrica y no es recomendable hacerlo de nuevo, excepto en casos excepcionales, pues podría dejar inutilizado el disco) lo que hacemos es agrupar los sectores en unidades de asignación (CLUSTERS) que es donde se almacenan los datos de manera organizada. Cada unidad de asignación sólo puede ser ocupado por un archivo (nunca dos diferentes), pero un archivo puede ocupar más de una unidad de asignación. Dentro de un disco duro hay varios platos (entre 2 y 4), que son discos (de aluminio o cristal) concéntricos y que giran todos a la vez. El cabezal (dispositivo de lectura y escritura) es un conjunto de brazos alineados verticalmente que se mueven hacia dentro o fuera según convenga, todos a la vez. En la punta de dichos brazos están las cabezas de lectura/escritura, que gracias al movimiento del cabezal pueden leer tanto zonas interiores como exteriores del disco. Cada plato tiene dos caras, y es necesaria una cabeza de lectura/escritura para cada cara (no es una cabeza por plato, sino una por cara). Si se mira el esquema
    • Cilindro-Cabeza-Sector (más abajo), a primera vista se ven 4 brazos, uno para cada plato. En realidad, cada uno de los brazos es doble 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. Las cabezas de lectura/escritura nunca tocan el disco, sino que pasan muy cerca (hasta a 3 nanómetros) o 3 millonésimas de milímetro. Si alguna llega a tocarlo, causaría muchos daños en el disco, rayándolo gravemente, debido a lo rápido que giran los platos 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 (aunque a veces no está al vacío)  Tornillos, a menudo especiales.  Velocidad de rotación: Número de revoluciones por minuto del/de los plato/s.  Ejemplo: 7200rpm. Capacidad de almacenamiento. La capacidad de almacenamiento hace referencia a la cantidad de información que puede grabarse o almacenar en un disco duro. Hasta hace poco se medía en Gigabytes (GB), actualmente se mide en Terabytes (TB). Se puede calcular la capacidad de un disco duro con la formula siguiente: Un disco duro puede tener por ejemplo los datos siguientes, donde el tamaño del sector (bytes por sector) suele ser 512. 16383 cilindros, 16 cabezales y 63 sectores. En virtud de estos datos el disco duro tendrá una capacidad de 7,8 GB, lo que corresponde a 8.455.200.768 bytes = 8257032 KB =8063,5 MB si hacemos el cálculo con bytes "auténticos", es decir, si tenemos en cuenta que 1 KB son 1024 bytes y no 1000 como indican los fabricantes.
    • Velocidad de Rotación (RPM) Es la velocidad a la que gira el disco duro, más exactamente, la velocidad a la que giran el/los platos del disco, que es donde se almacenan magnéticamente los datos. La regla es: a mayor velocidad de rotación, más alta será la transferencia de datos, pero también mayor será el ruido y mayor será el calor generado por el disco duro. Se mide en número revoluciones por minuto (RPM). No debe comprarse un disco duro IDE de menos de 5400 RPM (ya hay discos IDE de 7200 RPM), a menos que te lo den a un muy buen precio, ni un disco SCSI de menos de 7200RPM (los hay de 10.000 RPM). Una velocidad de 5400 RPM permitirá una transferencia entre 10MB y 16MB por segundo con los datos que están en la parte exterior del cilindro o plato, algo menos en el interior. Tiempo de Acceso (Access Time) Es el tiempo medio necesario que tarda la cabeza del disco en acceder a los datos que necesitamos. Realmente es la suma de varias velocidades:  El tiempo que tarda el disco en cambiar de una cabeza a otra cuando busca datos.  El tiempo que tarda la cabeza lectora en buscar la pista con los datos saltando de una a otra.  El tiempo que tarda la cabeza en buscar el sector correcto dentro de la pista. Es uno de los factores más importantes a la hora de escoger un disco duro. Cuando se oye hacer ligeros clics al disco duro, es que está buscando los datos que le hemos pedido. Hoy en día en un disco moderno, lo normal son 10 milisegundos. Memoria CACHE (Tamaño del BUFFER) El BUFFER o CACHE es una memoria que va incluida en la controladora interna del disco duro, de modo que todos los datos que se leen y escriben a disco duro se almacenan primeramente en el buffer. La regla de mano aquí es 128 KB para discos de menos de 1 GB, 256 KB para discos mayores de 1 GB y 512 KB para discos duros de 2 GB o mayores. Generalmente los discos duros actuales de más de 10 GB traen 2 MB de memoria cache asociada. Si un disco duro está bien organizado la serie de datos que se va a necesitar a continuación de una lectura estará situada en una posición físicamente contigua a
    • la última lectura, por eso los discos duros almacenas en la caché los datos contiguos, para proporcionar un acceso más rápido sin tener que buscarlos. El buffer es muy útil cuando se está grabando de un disco duro a un CD-ROM, pero en general, cuanto más grande mejor, pues contribuye de modo importante a la velocidad de búsqueda de datos. Tasa de transferencia (Transfer Rate) Este número indica la cantidad de datos un disco puede leer o escribir en la parte más exterior del disco o plato en un periodo de un segundo. Normalmente se mide en Mbits/segundo, y hoy en día, en un disco de 5400 RPM, un valor habitual es 100 Mbits/s, que equivale a 10 MB/s. Interfaz: Medio de comunicación entre el disco duro y el ordenador. Puede ser IDE/ATA, SCSI, SATA, USB o Firewire. La memoria flash (usb) carece de partes móviles y esto disminuye enormemente su latencia (retardo). La velocidad de lectura/escritura es estable sin importar la ubicación dentro de la memoria flash; sin embargo hasta ahora no se ha logrado igualar a la ofrecida por los discos duros. Velocidad en color AZUL, Latencia en color AMARILLO
    • Tal vez lo que muchos no saben es que los discos duros contienen un chip con el controlador específico del fabricante del disco duro (Seagate, Hitachi, Maxtor, Samsung, etc) y que este chip tiene una memoria caché para reducir el número de operaciones mecánicas de lectura/escritura. En conclusión, la parte de la alta velocidad de los discos duros se debe a la existencia de un chip que funciona bajo los mismos principios de las memorias flash (no partes mecánicas y baja latencia). Se puede observar el chip principal controlador del disco duro. Es un chip controlador SATA, que además incluye los 16MB de memoria caché especificados en el disco duro. Adicionalmente: No todas las BIOS son memorias FLASH (hay Bios PLCC y DIP), pero modernamente la tendencia ha sido FLASH.
    • Tipos de conexión7 Existen distintos tipos de conexión asociados a los discos duros 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 7 Ibidem.
    • 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. Dimensiones de los DD8 La dimensión de los DD está asociada a un concepto denominado "factor de forma", heredada da las dimensiones de las disqueteras. Pueden ser montados en 8 Ibídem.
    • los mismos chasis y así los discos duros con factor de forma, pasaron a llamarse coloquialmente tipos FDD "floppy-disk drives". 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) 5 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 del DD Dentro del disco se encuentran: - El Master Boot Record (en el sector de arranque), que contiene la tabla de particiones. El sector de arranque o bloque de arranque, es un sector de un disco duro, disquete, o cualquier otro dispositivo de almacenamiento de datos que contiene código de arranque, por lo general (pero no necesariamente), de un sistema operativo almacenado en otros sectores del disco. La BIOS selecciona un dispositivo de arranque, entonces copia al primer sector de disco desde el dispositivo (el cual puede ser un MBR, VBR o un código ejecutable), a la ubicación de dirección de disco 0x7C00. - Las particiones, necesarias para poder colocar los sistemas de archivos. La tabla de particiones está alojada en el Master Boot Record a partir del byte 446 y ocupa 64 bytes, conteniendo 4 registros de 16 bytes, los cuales definen las particiones primarias. En ellos se almacena toda la información básica sobre la partición: si es arrancable, si no lo es, el formato, el tamaño y el sector de inicio. Un registro de partición se organiza de la siguiente forma:9 512 bytes Primer sector físico del disco duro (pista cero) 446 bytes Código del gestor de arranque 64 bytes 16 bytes Primera partición 1 byte Marca de arranque si el bit 7 está activo es una partición de arranque, los otros bits deben ser ceros. 3 bytes CHS de inicio 1 byte Tipo de partición 9 Tabla de particiones. Consultado el 2 de septiembre de 2013. http://es.wikipedia.org/wiki/Tabla_de_particiones
    • 3 bytes CHS final 4 bytes LBA 4 bytes Tamaño en sectores 16 bytes Segunda partición 1 byte Marca de arranque si el bit 7 está activo es una partición de arranque, los otros bits deben ser ceros. 3 bytes CHS de inicio 1 byte Tipo de partición 3 bytes CHS final 4 bytes LBA 4 bytes Tamaño en sectores 16 bytes Tercera partición 1 byte Marca de arranque si el bit 7 está activo es una partición de arranque, los otros bits deben ser ceros. 3 bytes CHS de inicio 1 byte Tipo de partición 3 bytes CHS final 4 LBA
    • bytes 4 bytes Tamaño en sectores 16 bytes Cuarta partición 1 byte Marca de arranque si el bit 7 está activo es una partición de arranque, los otros bits deben ser ceros. 3 bytes CHS de inicio 1 byte Tipo de partición 3 bytes CHS final 4 bytes LBA 4 bytes Tamaño en sectores 2 bytes Firma de unidad arrancable ("55 AA" en hexadecimal) En los sistemas Windows, la tabla de particiones no es la única información vital del MBR. Desde Windows NT 4, Microsoft mantiene 4 bytes a partir de la posición 0x1B8 que sirven de identificador de la unidad física completa. Es utilizada por el sistema para referenciarla de manera independiente a la letra de unidad o bus de conexión. El identificador se mantiene en diferentes lugares del registro, y es una pieza clave durante el arranque del sistema. Una prueba realizada en Windows Vista hace inarrancable el sistema tras un cambio de esos cuatro bytes. El mensaje de error mostrado culpa del problema a un cambio de hardware o software. GNU/Linux también hace uso de ese identificador desde la versión del kernel 2.6.
    • PARTICIONES Los sistemas operativos no trabajan con unidades físicas directamente sino con unidades lógicas. Cada una de estas unidades lógicas constituye una partición del disco duro. Particiones y directorios.— Ambas estructuras permiten organizar datos dentro de un disco duro. Sin embargo, presentan importantes diferencias: 1ª) Las particiones son divisiones de tamaño fijo del disco duro; los directorios son divisiones de tamaño variable de la partición; 2ª) Las particiones ocupan un grupo de cilindros contiguos del disco duro (mayor seguridad); los directorios suelen tener su información desperdigada por toda la partición; 3ª) Cada partición del disco duro puede tener un sistema de archivos (sistema operativo) distinto; todos los directorios de la partición tienen el sistema de archivos de la partición. Las particiones pueden ser primarias extendidas y lógicas. Las particiones lógicas se definen dentro de una partición primaria especial denominada partición extendida. La partición activa es aquella a la que el programa de inicialización (Master Boot) cede el control al arrancar. El sistema operativo de la partición activa será el que se cargue al arrancar desde el disco duro. Estructura lógica de las particiones Dependiendo del sistema de archivos utilizado en cada partición, su estructura lógica será distinta. En los casos de MS-DOS y Windows 98, Windows XP está formada por sector de arranque (MBR), FAT o NTFS, copia de la FAT, directorio raíz y área de datos. De todas formas, el sector de arranque es un elemento común a todos los tipos de particiones.
    • Todas las particiones tienen un sector de arranque (el primero de la partición) con información relativa a la partición. Si la partición tiene instalado un sistema operativo, este sector se encargará de arrancarlo. Si no hubiese ningún sistema operativo (como es el caso de una partición para datos) y se intentara arrancar, mostraría un mensaje de error. Tipos de particiones El formato o sistema de archivos de las particiones (p. ej. NTFS) no debe ser confundido con el tipo de partición (p. ej. partición primaria), ya que en realidad no tienen directamente mucho que ver. Independientemente del sistema de archivos de una partición (FAT, ext3, NTFS, etc.), existen 3 tipos diferentes de particiones: • Partición primaria: Son las divisiones crudas o primarias del disco, solo puede haber 4 de éstas o 3 primarias y una extendida. Depende de una tabla de particiones. Un disco físico completamente formateado consiste, en realidad, de una partición primaria que ocupa todo el espacio del disco y posee un sistema de archivos. A este tipo de particiones, prácticamente cualquier sistema operativo puede detectarlas y asignarles una unidad, siempre y cuando el sistema operativo reconozca su formato (sistema de archivos). En los equipos PC, originales de IBM, estas particiones tradicionalmente usan una estructura llamada Tabla de particiones, ubicada al final del registro de arranque maestro (MBR, Master Boot Record). Esta tabla, que no puede contener más de 4 registros de particiones (también llamados partition descriptors), específica para cada una su principio, final y tamaño en los diferentes modos de direccionamiento, así también como un solo número, llamado partition type, y un marcador que indica si la partición está activa o no (sólo puede haber una partición activa a la vez). El marcador se usa durante el arranque; después de que el BIOS cargue el registro de arranque maestro en la memoria y lo ejecute, el MBR de DOS comprueba la tabla de partición a su final y localiza la partición activa. Entonces
    • carga el sector de arranque de esta partición en memoria y la ejecuta. A diferencia del registro de arranque maestro, generalmente independiente del sistema operativo, el sector de arranque está instalado junto con el sistema operativo y sabe cómo cargar el sistema ubicado en ese disco en particular. Notar que mientras la presencia de un marcador activo se estandariza, no se utiliza en todos los gestores de arranque. Por ejemplo, los gestores LILO, GRUB (muy comunes en el sistema Linux) y XOSL no buscan en la tabla de particiones del MBR la partición activa; simplemente cargan una segunda etapa (que puede ser contenida en el resto del cilindro 0 ó en el sistema de archivos). Después de cargar la segunda etapa se puede cargar el sector de arranque de cualquiera de las particiones del disco (permitiendo al usuario seleccionar la partición), o si el gestor conoce cómo localizar el kernel (núcleo) del sistema operativo en una de las particiones (puede permitir al usuario especificar opciones de kernel adicionales para propósitos de recuperación estratégicos. Particiones extendidas y lógicas Cualquier versión del DOS puede leer sólo una partición FAT primaria en el disco duro. Esto unido al deterioro de la FAT con el uso y al aumento de tamaño de los discos movió a Microsoft a crear un esquema mejorado relativamente simple: una de las entradas de la tabla de partición principal pasó a llamarse partición extendida y recibió un número de tipo de partición especial (0x05). El campo inicio de partición tiene la ubicación del primer descriptor de la partición extendida, que a su vez tiene un campo similar con la ubicación de la siguiente; así se crea una lista enlazada de descriptores de partición. Los demás campos de una partición extendida son indefinidos, no tienen espacio asignado y no pueden usarse para almacenar datos.
    • Las particiones iniciales de los elementos de la lista enlazada son las llamadas unidades lógicas; son espacios asignados y pueden almacenar datos. Los sistemas operativos antiguos ignoraban las particiones extendidas con número de tipo 0x05, y la compatibilidad se mantenía. Este esquema reemplaza al antiguo ya que todas las particiones de un disco duro se pueden poner dentro de una sola partición extendida. Por alguna razón, Microsoft no actualizó su sistema operativo DOS para arrancar desde una partición extendida, debido a que la necesidad para particiones primarias se preservará. Por encima de éstas todavía se habría permitido una partición FAT primaria por unidad, significando todas las otras particiones FAT primarias deben tener sus números de tipo de partición prior cambiando al arranque DOS, para que ésta sea capaz de proceder. Esta técnica, usada por varios administradores de arranque populares, se llama ocultación de la partición. Sin embargo hay que tener en cuenta una quinta partición que se puede comprimir pero no es muy recomendable. Gestores de arranque Si instala diferentes Sistemas Operativos en un mismo computador, el equipo tendrá que utilizar un sistema para poder seleccionar qué Sistema Operativo desea iniciar. El gestor de arranque es un programa que se ejecuta una vez completado el inicio normal de la BIOS y que permite seleccionar el Sistema Operativo en caso de disponer de un arranque múltiple. Entre los principales gestores de arranque se encuentran:10 NTLDR (NT Loader). Es el archivo encargado del arranque de los Sistemas Operativos Windows NT, Windows 2000, Windows XP y Windows Server 2003. Se encuentra, normalmente, en el directorio raíz del disco del sistema y requiere, como mínimo, que se encuentre en dicho directorio raíz el archivo boot.ini, que contiene el menú de opciones de inicio, y el archivo NTDETECT.COM que es el que se encarga de iniciar el sistema seleccionado. El Administrador de arranque de Windows (Bootmgr). Es el archivo encargado del arranque de los Sistemas Operativos Windows Vista, Windows 7 y 8, y 10 Antes de instalar un Sistema Operativo - conoce el disco duro y sus particiones. Consultado el 1 de septiembre de 2013. http://www.lasticenelaula.es/portal/index.php/ubuntu-1204-lts/instalacion-del- sistema/645-antes-de-instalar-conoce-el-disco-duro-y-sus-particiones
    • Windows Server 2008. Se encuentra, normalmente, en el directorio raíz del disco del sistema. Controla el proceso de arranque mostrando el menú multiarranque (si hubiera más de un Sistema Operativo) instalado en el disco). Después llama al archivo WinLoad.exe que es el cargador del Sistema Operativo Windows y dará paso al archivo ntoskrnl.exe, que se encargará del resto del arranque del sistema. Puedes localizar el archivo WinLoad.exe en el directorio Windowssystem32 Lilo (Linux Loader). Es un gestor de arranque de Linux que permite iniciar este Sistema Operativo junto con otras plataformas (como Windows) que haya en el mismo ordenador. Funciona en una gran variedad de sistemas de archivos y puede arrancar un Sistema Operativo desde el disco duro o desde un disco flexible externo. Grub. Es un gestor de arranque más moderno y flexible que el anterior, ya que permite que el administrador ejecute cualquier comando desde la línea de comando de Grub. Entre todas sus características hay que destacar la posibilidad de incluir múltiples formatos de ejecutables, el arranque de Sistemas Operativos no-multiarranque, una agradable interfaz de usuario y una interfaz de línea de comando muy flexible. • Partición extendida: También conocida como partición secundaria es otro tipo de partición que actúa como una partición primaria; sirve para contener infinidad de unidades lógicas en su interior. Fue ideada para romper la limitación de 4 particiones primarias en un solo disco físico. Solo puede existir una partición de este tipo por disco, y solo sirve para contener particiones lógicas. Por lo tanto, es el único tipo de partición que no soporta un sistema de archivos directamente. • Partición lógica: Ocupa una porción de la partición extendida o la totalidad de la misma, la cual se ha formateado con un tipo específico de sistema de archivos (FAT32, NTFS, ext2,...) y se le ha asignado una unidad, así el sistema operativo reconoce las particiones lógicas o su sistema de archivos. Puede haber un máximo de 23 particiones lógicas en una partición extendida. Linux impone un máximo de 15, incluyendo las 4 primarias, en discos SCSI y en discos IDE 8963. Ventajas y desventajas de particiones de disco. Ventajas de un disco duro particionado: La principal ventaja de particionar un disco duro viene de la segunda opción. Tener una partición exclusiva para los archivos personales del usuario, es ideal a la hora de instalar de cero el sistema operativo. En una de las particiones se mantiene el sistema operativo y en la otra los archivos del usuario (documentos, e-mails, descargas, música, etc.). Si se necesita formatear e instalar de cero el sistema por cualquier inconveniente, simplemente se procede a formatear la partición que contiene el sistema operativo, dejando intacta la otra.
    • Esto nos ahorra mucho tiempo, dado que no debemos guardar toda esa información en otra unidad de almacenamiento. De todas maneras, emplear una partición como respaldo no es buena idea (se explica más abajo), siempre se recomienda tener el respaldo en otra unidad de almacenamiento. Desventajas de un disco duro particionado: Si se usa una de las particiones como respaldo, no es muy seguro que digamos. Si se rompe el disco duro, se pueden ver afectadas ambas particiones. Recuerde que ambas están en el mismo disco físico, aunque en diferentes áreas de éste. Tampoco particionar aumenta la velocidad del disco duro, de hecho, puede producir un mayor desgaste del mecanismo interno del disco. Es es porque cuando se particiona un disco duro en dos, se crean dos áreas de trabajo. Es decir, dos anillos concéntricos, siendo el anillo interior el de la unidad C, y el anillo externo generalmente el de la unidad D. Pero generalmente la aguja de lectura/escritura del disco duro suele trabajar mayormente en el anillo interno (unidad C), y no mucho en el externo, lo que puede ocasionar, a la larga, un desgaste del motor de la aguja. Nuevas generaciones de DD. 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 volátiles son unidades de estado sólido que como dispositivos electrónicos, están construidos en la actualidad con chips de memoria flash.11 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 volátiles 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. Todo 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 11 Memoria no volátil, contraria a memoria volátil, es un tipo de memoria que no necesita energía para perdurar. Algunos dispositivos listados en esta categoría son: - BD-ROM, BD-R, BD-RW - CD, CD-ROM, CD-R, CD-RW - Cinta magnética - DVD - Diskette - Disco duro - EPROM - EEPROM - MRAM - Memoria de tambor - Flash - NVRAM - PRAM - PROM - ROM - Memoria racetrack Fuente. Floyd, T.L, Fundamentos de Sistemas Digitales, Sexta Edición, Ed. Prentice Hall, Madrid, ISBN 84- 89660-21-2, pp. 599, 1997.
    • hablamos de las altas necesidades de almacenamiento que hoy se miden en orden de Terabytes.( Comparativas de precios SSD versus disco duro. 2010). A pesar de ello la industria apuesta por este vía de solución tecnológica para el consumo doméstico (Discos de estado sólido 2010) aunque se ha de considerar que estos sistemas han de ser integrados correctamente (Comparativa entre disco duro. 2008) tal y como se está realizando en el campo de la alta computación. (Primera supercomputadora 2013). 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. (La verdad sobre el consumo de energía 2013). 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. (Seagate 2013) 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. (Seagate 2013). Tabla de asignación de archivos. FAT (file allocation table) Es un sistema de archivos desarrollado para MS-DOS, así como el sistema de archivos principal de las ediciones no empresariales de Microsoft Windows hasta Windows Me.
    • FAT (File Allocate Table, tabla de asignación de archivos) Este sistema de archivos se basa, como su nombre indica, en una tabla de asignación de archivos o FAT. Esta tabla es el índice del disco. Almacena los grupos utilizados por cada archivo, los grupos libres y los defectuosos. Como consecuencia de la fragmentación de archivos, es corriente que los distintos grupos que contienen un archivo se hallen desperdigados por toda la partición. La FAT es la encargada de seguir el rastro de cada uno de los archivos por la partición. Grupo. — Un grupo, cluster o unidad de asignación es la unidad mínima de almacenamiento de un archivo en una partición y está formada por uno o varios sectores contiguos del disco. 4 sectores consecutivos de 512 bytes). La FAT, es un formato para disquetes admitido prácticamente por todos los SO existentes para computadores personales. Sobra decir, que aunque el formato de disquetes prácticamente ha desaparecido, la FAT aun se usa, por lo que se debe repasar o recordar sus características. Así, la FAT se utiliza como mecanismo de intercambio de datos entre sistemas operativos distintos que coexisten en un mismo computador, lo que se conoce como entorno multiarranque. También se utiliza en tarjetas de memoria y dispositivos similares. Las implementaciones más extendidas de FAT tienen algunas desventajas. Cuando se borran y se escriben nuevos archivos tiende a dejar fragmentos dispersos de éstos por todo el soporte. Con el tiempo, esto hace que el proceso de lectura o escritura sea cada vez más lento. La denominada desfragmentación es la solución a esto, pero es un proceso largo que debe repetirse regularmente para mantener el sistema de archivos en perfectas condiciones. FAT tampoco fue
    • diseñado para ser redundante ante fallos. Inicialmente solamente soportaba nombres cortos de archivo: ocho caracteres para el nombre más tres para la extensión. También carece de permisos de seguridad: cualquier usuario puede acceder a cualquier archivo. FAT12 Es un sistema de archivos para disquete, por lo que tiene varias limitaciones:  No soporta anidación de carpeta, es decir, que el sistema no puede contener subdirectorios; o lo mismo, que dentro de una carpeta no pueden haber otras carpetas. Cabe mencionar, que esto sólo ocurre en FAT 12, a partir de ella, si es posible. La causa es porque no soportaba metadatos, (los que asignan atributos para un fichero), en concreto no podía distinguir el campo st_mode si fuera un fichero o un directorio.  Las direcciones de bloque solamente contienen 12 bits. Esto complica la implementación.  El tamaño del disco se almacena como una cuenta de 16 bits expresada en sectores, lo que limita el espacio manejable a 32MB. Estructura de la FAT12 en un disquete de 1,44M: 512 Byte Primer sector físico del disco flexible (Pista Cero) 3 Byte Código máquina12 de salto ( jmp short 0x3E; nop ) 0EBh 03Ch 090h 8 Byte Cadena que identifica el fabricante del disco 'mkdosfs',0 2 Byte Bytes por sector 512 1 Byte Sectores por cluster 1 2 Byte Sectores reservados 1 1 Byte Número de FAT's 2 2 Byte Entradas máximas en directorio raíz 244 2 Byte Sectores totales 2880 1 Byte Descriptor de medio (0F0h para discos de 1'44M) 240 2 Byte Sectores por fat 9 2 Byte Sectores por pista 12 2 Byte Número de caras 2 12 Es el sistema de códigos directamente interpretable por un circuito microprogramable, como una CPU o el microcontrolador de un autómata (un PLC). Este lenguaje está compuesto por un conjunto de instrucciones que determinan acciones a ser tomadas por la máquina. Un programa de computadora consiste en una cadena de estas instrucciones de lenguaje de máquina (más los datos). Estas instrucciones son normalmente ejecutadas en secuencia, con eventuales cambios de flujo causados por el propio programa o eventos externos. El lenguaje de máquina es específico de cada máquina o arquitectura de la máquina, aunque el conjunto de instrucciones disponibles pueda ser similar entre ellas.
    • 4 Byte Sectores ocultos 0 4 Byte Longitud total de sectores 0 1 Byte Número de unidad 0 1 Byte Banderas 0 1 Byte Firma (029h) 41 4 Byte Número de serie 4294967295 12 Byte Etiqueta de volumen 'DISCO EJPLO ' 8 Byte Identificador de formato 'FAT12 ' 446 Byte Código máquina del cargador de arranque [...] 2 Byte Firma de unidad arrancable 055AAh FAT16 En este formato se eliminó el contador de sectores de 16 bits. El tamaño de la partición ahora estaba limitado por la cuenta de sectores por clúster, que era de 8 bits. Esto obligaba a usar clusters de 32Kbytes con los usuales 512 bytes por sector. Así que el límite definitivo de FAT16 se situó en los 2GB. Esta mejora estuvo disponible en 1988 con la versión MS-DOS 4.0. Luego, Windows NT aumentó el tamaño máximo del cluster a 64 kilobytes. No obstante, el formato resultante no era compatible con otras implementaciones de la época, y además, generaba mucha fragmentación interna (se ocupaban clusters enteros aunque solamente se precisaran unos pocos bytes). FAT32 El sistema FAT32 permite trabajar con particiones mayores de 2 GB. No solamente esto, sino que además el tamaño del grupo (cluster) es mucho menor y no se desperdicia tanto espacio como ocurría en las particiones FAT. Microsoft decidió implementar una nueva generación de FAT utilizando direcciones de cluster de 32 bits (aunque sólo 28 de esos bits se utilizaban realmente). Teóricamente, esto permitía aproximadamente 268.435.538 clusters, arrojando tamaños de almacenamiento cercanos a los 8TB. Sin embargo, debido a limitaciones en la utilidad ScanDisk de Microsoft, no se permite que FAT32 crezca más allá de 4.177.920 clusters por partición (es decir, unos 124 GB). Posteriormente, Windows 2000 y XP situaron el límite de FAT32 en los 32GB. Microsoft afirma que es una decisión de diseño, sin embargo, es capaz de leer particiones mayores creadas por otros medios.
    • El tamaño máximo de un archivo en FAT32 es 4GB (232 −1 bytes), lo que resulta engorroso para aplicaciones de captura y edición de video, ya que los archivos generados por éstas superan fácilmente ese límite. En la siguiente tabla, se comparan los tamaños de grupo utilizados según el tamaño de la partición y el sistema de archivos empleado: Tamaño de la partición Tamaño del cluster FAT FAT32 < 128 MB 2 KB No soportado128 MB - 256 MB 4 KB 256 MB - 512 MB 8 KB 512 MB - 1 GB 16 KB 4 KB1 GB - 2 GB 32 KB 2 GB - 8 GB No soportado 8 GB - 16 GB 8 KB 16 GB - 32 GB 16 KB 32 GB - 2 TB 32 KB La familia de las FAT, se resume en el siguiente cuadro: FAT12 FAT16 FAT32 Desarrollador Microsoft Nombre completo Tabla de Asignación de Archivos (versión de 12 bits) (versión de 16 bits) (versión de 32 bits) Introducido 1977 (Microsoft Julio de 1988 (MS- Agosto
    • Existen otros sistemas operativos como GNU/Linux, FreeBSD y BeOS que soportan FAT, y la mayoría también soportan VFAT y FAT32 en menor extensión. Las primeras ediciones de GNU/Linux también apoyaron un formato conocido como UMSDOS. Este consistía en una variante de FAT que admitía los permisos de seguridad en Unix, además de los nombres largos de éste. Para ello, se Disk BASIC) DOS 4.0) de 1996 (Windows 95 OSR2) Identificador de partición 0x01 (MBR) 0x04, 0x06, 0x0E (MBR) 0x0B, 0x0C (MBR) EBD0A0A2-B9E5- 4433 -87C0- 68B6B72699C7 (GPT) Estructuras FAT12 FAT16 FAT32 Contenido de carpeta Tabla Ubicación de archivo Lista enlazada Bloques defectuosos Lista enlazada Límites FAT12 FAT16 FAT32 Tamaño máximo de archivo 32 MB 2 GB 4 GB Número máximo de archivos 4.077 65.517 268.435.437 Longitud máxima del nombre de archivo 8.3 (11) o 255 caracteres cuando se usan LFNs (Long File Names) Tamaño máximo del volumen 2 MB 2 GB 2 TB Características FAT12 FAT16 FAT32 Fechas almacenadas Creación, modificación, acceso Rango de fechas soportado 1 de enero de 1980 - 31 de diciembre de 2107 Metadatos No de modo nativo Atributos Sólo lectura, oculto, sistema, archivo, nombre del volumen Permisos No Compresión transparente Por volumen, Stacker, DoubleSpace, DriveSpace No Cifrado transparente Por volumen sólo con DR-DOS No
    • almacenaba esta información en un archivo FAT separado que se denominaba "-- linux--.---" . UMSDOS quedó en desuso con la aparición de VFAT en recientes versiones del núcleo Linux. El SO Mac OS X también soporta sistemas de archivos FAT, siempre que no se trate del volumen de arranque del sistema. Esto significa que a la hora de efectuar un formateo del sistema operativo sobre plataforma MAC, ni se les ocurra usar este formato. VFAT (Virtual FAT) Este sistema de archivos logra remediar uno de los mayores problemas del sistema FAT: los nombres de archivos y directorios sólo podían contener 8 caracteres de nombre y 3 de extensión. Con VFAT, se logra ampliar este límite a 255 caracteres entre nombre y extensión. La mayor ventaja de VFAT es que tiene plena compatibilidad con FAT. Por ejemplo, es factible utilizar la misma partición para dos sistemas operativos que utilicen uno FAT y otro VFAT (MS-DOS y Windows 95). Cuando entremos desde MS-DOS, los nombres largos de archivos se transforman en nombres cortos según unas reglas establecidas, y pueden ser utilizados de la manera habitual. De todas maneras, hay que prestar cierta atención cuando se trabaja desde MS-DOS con archivos que tienen nombres largos: no se deben realizar operaciones de copiado o borrado, ya que se corre el riesgo de perder el nombre largo del archivo y quedarnos sólo con el corto. Desde Windows 95, se trabaja de forma transparente con nombres cortos y largos Nota. Microsoft desde la versión de Windows XP no siguió soportando los sistemas operativos basados en MS-DOS, solo aparece en su archivo como un recuerdo de su antigua kernel, por lo que pensar en nuevas versiones de FAT es poco probable. Ahora, para el caso de NTFS, es un sistema de archivos superior al FAT en múltiples aspectos: eficiencia, rendimiento y fiabilidad. Su principal desventaja es el excesivo tamaño que desperdicia en pequeños volúmenes y su limitado soporte en otros sistemas operativos. Sus especificaciones son un secreto comercial; no obstante, esto está cambiando, ya es posible leer y escribir en particiones NTFS en Linux con herramientas como NTFS-3G13 . FAT es actualmente el sistema de archivos habitual en medios de almacenamiento extraíbles, a excepción de CDs y DVDs. FAT12 se usa en disquetes, y FAT16 en 13 NTFS-3G es un controlador estable de NTFS para Linux, Mac OS X, FreeBSD, BeOS y Haiku con licencia GNU GPL y de código abierto. Al contrario que el driver NTFS incluido en el kernel Linux, tiene muy pocas limitaciones en cuanto a la escritura de archivos: permite crear, renombrar, mover o borrar ficheros de cualquier tamaño en particiones NTFS, con la excepción de ficheros cifrados. (http://www.tuxera.com/community/ntfs-3g-faq/#questions)
    • el resto de medios (por ejemplo, tarjetas de memoria y memorias USB). La mayoría de estos medios no son lo suficientemente grandes como para beneficiarse de FAT32. FAT se utiliza por motivos de compatibilidad y menor desperdicio del espacio disponible. El soporte FAT32 en Windows 2000 y XP está limitado a discos de 32GB, lo que obliga a usuarios de discos duros modernos a usar NTFS o utilizar utilidades de terceros al margen de Windows. Esta limitación afecta a la hora de instalar, pero no al uso: Windows 2000/XP puede acceder a discos FAT32 de hasta 2TB, aunque en el momento de instalar, no permitirá formatear un disco FAT32 de más de 32GB, y obligará a usar NTFS. La solución alternativa es formatear antes el disco en FAT32 (por ejemplo con la ayuda de un LiveCd de GNU/Linux o utilidades de terceros), y a continuación instalar Windows 2000/XP. Estructura de la FAT El sistema de archivos FAT se compone de cuatro secciones: 1. El sector de arranque. Siempre es el primer sector de la partición (volumen) e incluye información básica, punteros a las demás secciones, y la dirección de la rutina de arranque del sistema operativo. La BIOS selecciona un dispositivo de arranque, entonces copia al primer sector de disco desde el dispositivo (el cual puede ser un MBR (master boot record), VBR o un código ejecutable), a la ubicación de dirección de disco 0x7C00. 2. La región FAT. Contiene dos copias de la tabla de asignación de archivos (por motivos de seguridad). Estos son mapas de la partición, indicando qué clusters están ocupados por los archivos. 3. La región del directorio raíz. Es el índice principal de carpetas y archivos. 4. La región de datos. Es el lugar donde se almacena el contenido de archivos y carpetas. Por tanto, ocupa casi toda la partición. El tamaño de cualquier archivo o carpeta puede ser ampliado siempre que queden suficientes clusters libres. Cada cluster está enlazado con el siguiente mediante un puntero. Si un determinado cluster no se ocupa por completo, su espacio remanente se desperdicia. Una partición se divide en un conjunto de clusters de idéntico tamaño. Son pequeños bloques discontinuos. El tamaño del clúster depende de la variante de FAT utilizada. Varía entre 2 y 32 kilobytes. Cada archivo ocupa uno o más clusters en función de su tamaño. De manera que un archivo queda representado por una cadena secuencial de clusters. Cada clúster de la cadena no tiene por qué ser adyacente al anterior. Esto es lo que provoca la fragmentación.
    • La tabla de asignación de archivos consta de una lista de entradas. Cada entrada contiene información sobre un clúster:  La dirección del siguiente clúster en la cadena.  Si es pertinente, la indicación de "fin de archivo" (que es también el fin de la cadena).  Un carácter especial para indicar que el clúster es defectuoso.  Un carácter especial para indicar que el clúster está reservado (es decir, ocupado por un archivo).  El número cero para indicar que el clúster está libre (puede ser usado por un archivo). El tamaño de estas entradas también depende de la variante FAT en uso: FAT16 usa entradas de 16 bits, FAT32 usa entradas de 32 bits, etc. El directorio raíz Este índice es un tipo especial de archivo que almacena las sub-carpetas y archivos que componen cada carpeta. Cada entrada del directorio contiene el nombre del archivo o carpeta (máximo 8 caracteres), su extensión (máximo 3 caracteres), sus atributos (archivo, carpeta, oculto, del sistema, o volumen), la fecha y hora de creación, la dirección del primer cluster donde están los datos, y por último, el tamaño que ocupa. El directorio raíz ocupa una posición concreta en el sistema de archivos, pero los índices de otras carpetas ocupan la zona de datos como cualquier otro archivo. Los nombres largos se almacenan ocupando varias entradas en el índice para el mismo archivo o carpeta. VFAT y FASTFAT Windows 3.11 introdujo un nuevo esquema de acceso a los sistemas de archivos, usando el modo protegido de 32 bits (presente en los Intel 386 y posteriores) esquivando el núcleo de MS-DOS. Para ello, usaba directamente el BIOS o el hardware de la unidad de disco. Esto también permitía utilizar una caché, acelerando el acceso. Todo esto se denominó VFAT o FAT virtual. Windows NT 3.1 proporcionaba la misma aproximación, pero denominándolo FASTFAT. Sin embargo, los controladores de Windows NT utilizasen el modo protegido de 32 bits. A menudo se confunde con el soporte LFN (nombres largos de archivo) ya que éste estaba habilitado por defecto en Windows 95.
    • LFN o nombres largos de archivo Se implementó sobre FAT utilizando un truco en el modo de almacenar los índices de los directorios. Esta implementación también se conoce como VFAT por culpa del controlador de Windows 95 que lo incorporó por primera vez. Los nombres largos también se soportaron en Windows NT a partir de la versión 3.5. FAT y metadatos NOTA: Los [metadatos] son atributos asociados a un archivo, pero que no forman parte de él (por ejemplo, la fecha o el autor). Este concepto recibe otras denominaciones tales como filesystem fork, alternate data streams (en Windows). El sistema de archivos FAT no está diseñado para albergar metadatos. Algunos sistemas operativos que los necesitan incorporaron varios métodos para simularlos. Por ejemplo, almacenándolos en archivos o carpetas extra (de manera similar a UMSDOS) o también otorgando una semántica especial a estructuras no usadas en el formato original. No obstante, este último método no es compatible con herramientas no preparadas para esta extensión. Por ejemplo, una herramienta de desfragmentación podría destruir los metadatos. Mac OS, a través de la utilidad PC Exchange, almacena metadatos en un archivo oculto denominado "FINDER.DAT" (uno por carpeta). Mac OS X almacena los metadatos en un archivo oculto denominado como su propietario, pero comenzando por ".-". Cuando se trata de meta-datos de una carpeta, los almacena en un archivo oculto llamada ".DS_Store". OS/2 también depende fuertemente del uso de meta-datos. Cuando se refiere a volúmenes en FAT, los almacena en un archivo oculto denominado "EA DATA. SF" en la carpeta raíz del volumen. También reserva dos bytes en el archivo (o carpeta) para poder indexarlo. Los metadatos se acceden a través del escritorio Workplace Shell, a través de guiones REXX, o a través de utilidades como 4OS2. Cuando se refiere a su sistema de archivos propio HPFS, éste ya da soporte nativo a meta-datos, denominados atributos extendidos. Windows NT soporta meta-datos en los sistemas de archivos HPFS, NTFS y FAT (mediante el mismo mecanismo que OS/2). Pero no es posible copiar metadatos entre sistemas de archivos distintos. Windows 2000 se comporta exactamente igual que Windows NT, pero ignora los metadatos cuando copia archivos desde FAT32 a otros sistemas de archivos. ExFat Permite utilizar archivos de más de 4GB.
    • NTFS (New Technology File System (Nueva Tecnología de Sistema de Archivos)) Es un sistemas de archivos de Windows NT incluido en las versiones de Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, Windows 7 y 8. Está basado en el sistema de archivos HPFS de IBM/Microsoft usado en el sistema operativo OS/2, y también tiene ciertas influencias del formato de archivos HFS diseñado por Apple. NTFS sólo es recomendable para particiones superiores a 400 MB, ya que las estructuras del sistema consumen gran cantidad de espacio. NTFS permite definir el tamaño del grupo (cluster), a partir de 512 bytes (tamaño de un sector) de forma independiente al tamaño de la partición. Las técnicas utilizadas para evitar la fragmentación y el menor desaprovechamiento del disco, hacen de este sistema de archivos el sistema ideal para las particiones de gran tamaño requeridas en grandes ordenadores y servidores. NTFS ha reemplazado al anterior sistema de ficheros de Microsoft, llamado FAT, común a MS-DOS y a las versiones tempranas de Windows. Este formato permite definir el tamaño del clúster, a partir de 512bytes (tamaño mínimo de un sector) de forma independiente al tamaño de la partición. Es un sistema adecuado para las particiones de gran tamaño requeridas en estaciones de trabajo de alto rendimiento y servidores. Puede manejar volúmenes de hasta 264 –1 clústeres. En la práctica, el máximo volumen NTFS soportado es de 232 –1 clústeres (aproximadamente 16TB usando clústeres de 4KB). Su principal inconveniente es que necesita para sí mismo una buena cantidad de espacio en disco duro, por lo que no es recomendable su uso en discos con menos de 400MB libres. NTFS incorpora muchas mejoras sobre el sistema FAT como compatibilidad mejorada con metadatos, y el uso de estructura de datos avanzadas (árboles-B) para optimizar el rendimiento, estabilidad, y el aprovechamiento del espacio en
    • disco, además de nuevas características adicionales, como la seguridad, las listas de control de acceso o el registro de transacciones (journaling)14 . El tamaño mínimo recomendado para la partición es de 10GB. Aunque son posibles tamaños mayores, el máximo recomendado en la práctica para cada volumen es de 2TB. El tamaño máximo de fichero viene limitado por el tamaño del volumen. Hay tres versiones de NTFS: v1.2 en NT 3.51, NT 4, v3.0 en Windows 2000 y v3.1 en Windows XP, Windows 2003 Server, Windows Vista y Windows 2008. Estas versiones reciben denominaciones v4.0, v5.0, v5.1, v 5.2, y v 6.0 en relación con la versión de Windows en la que fueron incluidas. Las versiones más recientes han incluido algunas características nuevas, tales como cuotas de 14 Llamado también como registro ordinario. Es un mecanismo por el cual un sistema informático puede implementar transacciones. Se basa en llevar un journal o registro de diario en el que se almacena la información necesaria para restablecer los datos afectados por la transacción en caso de que ésta falle. El procedimiento es básicamente el siguiente: 1. Se bloquean las estructuras de datos afectadas por la transacción para que ningún otro proceso pueda modificarlas mientras dura la transacción. 2. Se reserva un recurso para almacenar el journal. Por lo general suelen ser unos bloques de disco, de modo que si el sistema se para de forma abrupta (corte eléctrico, avería, fallo del SO) el journal siga disponible una vez reiniciado el sistema. 3. Se efectúan una a una las modificaciones en la estructura de datos. Para cada una: 1. Se apunta en el journal como deshacer la modificación y se asegura de que esta información se escribe físicamente en el disco. 2. Se realiza la modificación. 4. Si en cualquier momento se quiere cancelar la transacción se deshacen los cambios uno a uno leyéndolos y borrándolos del journal. 5. Si todo ha ido bien, se borra el journal y se desbloquean las estructuras de datos afectadas. Las aplicaciones más frecuentes de los sistemas de journaling se usan para implementar transacciones de sistemas de bases de datos y, más recientemente, para evitar la corrupción de las estructuras de datos en las que se basan los sistemas de archivos modernos. En el caso concreto de los sistemas de archivos, el journaling se suele limitar a las operaciones que afectan a las estructuras que mantienen información sobre:  Estructuras de directorio.  Bloques libres de disco.  Descriptores de archivo (tamaño, fecha de modificación...) El hecho de que no se suela implementar el journaling de los datos concretos de un archivo suele carecer de importancia, puesto que lo que persigue el journaling de sistemas de archivos es evitar chequeos de disco que efectúan los sistemas al apagarse bruscamente, ya que el sistema al arrancar solo deberá deshacer el journal para tener un sistema coherente de nuevo.
    • disco y puntos de montaje de volúmenes. NTFS incluye: - Un identificador de la partición 0x07 (MBR15 ) EBD0A0A2-B9E5-4433-87C0- 68B6B72699C7 (GPT). - Estructuras Contenido del directorio Árbol –B+16 - Localización de archivo Mapa de bits/Extents. - Bloques malos Mapa de bits/Extents - Límites Máxima dimensión de archivo 16TiB17 con la actual implementación (16EiB18 según su arquitectura). - Máximo número de archivos 4.294.967.295 (232 –1) - Tamaño máximo del nombre de archivo 255 caracteres 15 Un master boot record (MBR) es el primer sector ("sector cero") de un dispositivo de almacenamiento de datos, como un disco duro. A veces, se emplea para el arranque del SO con bootstrap (Arranque), otras veces es usado para almacenar una tabla de particiones y, en ocasiones, se usa sólo para identificar un dispositivo de disco individual, aunque en algunas máquinas esto último no se usa y es ignorado. 16 Es un tipo de estructura de datos de árboles. Representa una colección de datos ordenados de manera que se permite una inserción y borrado eficientes de elementos. Es un índice, multinivel, dinámico, con un límite máximo y mínimo en el número de claves por nodo. Un árbol-B+ es una variación de un árbol-B. En un árbol-B+, en contraste respecto un árbol-B, toda la información se guarda en las hojas. Los nodos internos sólo contienen claves y punteros. Todas las hojas se encuentran en el mismo, más bajo nivel. Los nodos hoja se encuentran unidos entre sí como una lista enlazada para permitir búsqueda secuencial. El número máximo de claves en un registro es llamado el orden del árbol-B+. El mínimo número de claves por registro es la mitad del máximo número de claves. Por ejemplo, si el orden de un árbol-B+ es n, cada nodo (exceptuando la raíz) debe tener entre n/2 y n claves. El número de claves que pueden ser indexadas usando un árbol-B+ está en función del orden del árbol y su altura. Para un árbol-B+ de orden n, con una altura h:  Número máximo de claves es: nh  Número mínimo de claves es: 2(n / 2)h − 1 17 Unidad de almacenamiento de información. Corresponde a 240 bytes, es decir 1.099.511.627.776 bytes. Se representa con el símbolo TiB. El empleo del prefijo "Tebi" (Tera binario) se debe a que es la potencia de 2 que más se aproxima a "Tera", prefijo cuyo valor es 1012 , es decir, 1.000.000.000.000. 18 Un exbibyte es una unidad de almacenamiento de información. Corresponde a 260 bytes, es decir 1.152.921.504.606.846.976 bytes. Se representa con el símbolo EiB. El empleo del prefijo "exbi" (exa binario) se debe a que es la potencia de 2 que más se aproxima a "exa", prefijo cuyo valor es 1018 , es decir, 1.000.000.000.000.000.000.
    • - Tamaño máximo del volumen 256TiB con la actual implementación (16EiB según su arquitectura) - Caracteres permitidos en nombres de archivo Cualquier carácter excepto '0' (NULO) y '/' - Windows también excluye el uso de : * ? " < > | - Características: Fechas registradas, Creación, modificación, modificación POSIX, atributos de Sólo lectura, oculto, sistema, archivo. - Permisos de acceso a archivos ACLs19 . - Compresión transparente Per-file, LZ77 (Windows NT 3.51 en adelante). - A nivel de seguridad es compatibles con algunos sistemas de encriptación: Cifrado transparente Per-file, DESX (Windows 2000 en adelante), Triple DES (Windows XP en adelante), AES (Windows XP Service Pack 1, Windows Server 2003 en adelante) Sistemas operativos soportados Familia Windows NT (Windows NT 3.1 a Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7 y 8, Windows Server 2008 R2), Mac OS X, Linux Los nombres de archivo son almacenados en Unicode 20 , y la estructura de ficheros en árboles-B, una estructura de datos compleja que acelera el acceso a los ficheros y reduce la fragmentación, que era lo más criticado del sistema FAT. Se emplea un registro transaccional (journal) para garantizar la integridad del sistema de ficheros (pero no la de cada archivo). Los sistemas que emplean NTFS han demostrado tener una estabilidad mejorada, que resultaba un requisito ineludible considerando la naturaleza inestable de las versiones más antiguas de Windows NT. HPFS (High Performance File System, sistema de archivos de alto rendimiento) HPFS es el sistema de archivos propio de OS/2. Utiliza una estructura muy eficiente para organizar los datos en las particiones. HPFS no utiliza grupos sino directamente sectores del disco (que equivalen a un grupo de 512 bytes). En vez de utilizar una tabla FAT al principio de la partición, 19 Lista de Control de Acceso o ACL (Access Control List) es un concepto de seguridad informática usado para fomentar la separación de privilegios. Es una forma de determinar los permisos de acceso apropiados a un determinado objeto, dependiendo de ciertos aspectos del proceso que hace el pedido. Las ACLs permiten controlar el flujo del tráfico en equipos de redes, tales como enrutadores y conmutadores. Su principal objetivo es filtrar tráfico, permitiendo o denegando el tráfico de red de acuerdo a alguna condición. Sin embargo, también tienen usos adicionales, como por ejemplo, distinguir "tráfico interesante" (tráfico suficientemente importante como para activar o mantener una conexión) en RDSI. 20 Es un estándar de codificación de caracteres diseñado para facilitar el tratamiento informático, transmisión y visualización de textos de múltiples lenguajes y disciplinas técnicas además de textos clásicos de lenguas muertas. El término Unicode proviene de los tres objetivos perseguidos: universalidad, uniformidad y unicidad.
    • emplea unas bandas distribuidas eficazmente por toda la partición. De esta forma se consigue, suprimir el elevado número de movimientos que los cabezales de lectura/escritura tienen que realizar a la tabla de asignación en una partición FAT. El resultado de este sistema es una mayor velocidad de acceso y un menor desaprovechamiento del espacio en disco. Interoperabilidad Microsoft provee medios para convertir particiones FAT32 a NTFS, pero no en sentido contrario, (NTFS a FAT32). Partition Magic21 de Symantec y el proyecto de código abierto NTFSResize son ambos capaces de redimensionar particiones NTFS. 21 Este lo puede descargar de http://rapidshare.com/files/283278524/PARAGON_Partition_Manager_Pro_v.9.2.rar o de http://es.kioskea.net/download/descargar-264-partition-magic
    • Con la herramienta convert incluida en los sistemas NT (Windows 2000 en adelante), se puede cambiar un disco con sistema de ficheros FAT32 a NTFS sin perder ningún dato con la instrucción "convert [unidad]:/fs:ntfs" Por razones históricas todas las versiones de Windows que todavía no soportan NTFS almacenan internamente la fecha y hora como hora local, y consecuentemente los sistemas de ficheros correspondientes a esas versiones de Windows, también tratan la hora localmente. Sin embargo, Windows NT y sus sucesores almacenan la hora en formato GMT (Greenwich Mean Time)/TUC (tiempo universal coordinado), y hacen las conversiones apropiadas a la hora de mostrar las fechas. De este modo al copiar archivos entre un volumen NTFS y uno no-NTFS, deben hacerse las conversiones, lo que puede originar ambigüedades en la configuración del horario, dando lugar a ficheros cuya marca de hora esté una hora desplazada. Nota: para convertir un sistema de archivos FAT32 a NTFS del disco duro, se debe proceder de la siguiente manera. En primer lugar verifique en que formato está, tal como se muestra en la figura anterior. Cabe notar, que las particiones hechas con FAT32, generan un riesgo para la información contenida en un disco duro, si el sistema utilizado es XP. Cuando este SO detecta un posible daño en el sistema de archivos de Windows o de superficie del disco duro, el comando Chkdsk se ejecuta automáticamente y escanea el sistema buscando los errores e intenta solucionarlo. Si fuera Fat 32 para convertirlo a Ntfs utilizamos el comando convert Si la partición es C: convert c: /fs:ntfs /v Si la partición es D: convert d: /fs:ntfs /v Pasos a seguir: Inicio – Ejecutar. Se digita cmd clic en aceptar.
    • En el prompt que parpadea se digita: convert c: /fs:ntfs /v Se presiona la tecla Enter. Un mensaje dirá que no puede llevar a cabo la conversión porque el disco está en uso. Pulse la tecla N. Preguntará si desea hacer la conversión cuando vuelva a iniciar el sistema. Pulsar la tecla S Cuando se reinicie se efectuará la conversión de archivos. Al entrar a Windows, se puede verificar el sistema de archivos, como está indicado arriba. Estas instrucciones son para Windows XP, para la 7 y 8es muy posible que no funcionen.
    • ¿Cuál es el particionado recomendado? Todo va a depender de los sistemas operativos que se vayan a instalar, donde el particionado recomendado para aquellos computadores que van a disponer de un sistema Windows además de un sistema GNU/Linux cambia un poco. Cuando se desea instalar varios sistemas operativos en un mismo disco duro no puede hacerlo así sin más. Debe saber que cada sistema operativo tendrá que estar alojado en una partición del disco distinta y que existirá un gestor de arranque que se encargará que pueda elegir qué sistema operativo desea utilizar cuando inicie o arranque el equipo. Por lo general, una configuración bastante habitual en los equipos actuales (sin contar a los equipos con Windows 7 u 8 que tienen una especial particularidad) y a pesar de su gran capacidad de espacio (discos de más de 500 GB) suele ser aquella que dispone de una partición que abarca prácticamente la totalidad del disco en la que se encuentra Windows instalado en él. Pero este particionado no es precisamente el más recomendable: al menos, debería tener otra partición diferente en la que pueda alojar la información personal, archivos y directorios de trabajo (documentos de Word, música, películas, etc.). Una gran ventaja de este sistema de particionado es que, si por algún motivo, falla o se muere el sistema, siempre se podrá solucionar el problema sin tocar la partición de los datos. También se ha de recordar que cada partición puede tener un sistema de archivos diferente y dependiente del sistema operativo que va a instalar. Por ejemplo Windows usa FAT16, FAT32 o NTFS. Windows XP, Vista, Windows 7 y 8 se instalan sobre particiones NTFS, algo que también nos ayuda para identificar las particiones del disco que están ocupadas precisamente por sistemas Windows X. También se debe considerar que, además, realizará la instalación en un orden determinado: en primer lugar, debe instalar Windows en una partición NTFS (si no
    • lo tiene ya instalado y desea tener un arranque dual con este Sistema Operativo) y, a continuación, debe instalar la distribución GNU/Linux en otra partición. Procedimiento: Para Windows, necesitará dos particiones diferentes. En la primera, con sistema de archivos NTFS, va a instalar Windows 7 y todas las aplicaciones que precise. Debe crear una partición primaria para alojar este Sistema Operativo en ella. En la segunda, también con sistema de archivos NTFS (un sistema al que Linux también puede acceder), que se recomienda denominar ALMACEN o DATOS, esto para que se pueda identificar más rápido, más si se tienen otra cantidad de archivos, ahí se guardarán todos los archivos y directorios de trabajo. Así se asegura que siempre tendrá disponible las carpetas y archivos personales tanto desde un sistema como desde el otro. ¡Compatibilidad total! Como es una partición que no va a contener ningún Sistema Operativo puede ser perfectamente una partición lógica, no tiene que ser una partición primaria. Windows asignará una letra a cada partición. Por ejemplo, a la primera la llamará C mientras que la segunda será D y así sucesivamente. Este particionado del disco es mucho mejor que si no se particiona en absoluto. Así en el caso de desastre total se puede formatear la unidad C, instalar de nuevo Windows y las aplicaciones que precise, dejando la partición D intacta y con ella sus datos. Para instalar Ubuntu (o cualquier otra distribución GNU/Linux), precisará de una organización algo diferente. De un modo equivalente a Windows, los sistemas GNU/Linux también precisan de sus propias particiones para instalar el sistema y con su propio formato, y no precisamente NTFS. Además, tal y como se ha
    • indicado recomendable para Windows, en los sistemas GNU/Linux lo ideal es disponer de tres particiones, dos de ellas obligatorias así: 1. Una partición para el sistema raíz (punto de montaje /). Sistema de archivos ext4. El sistema de archivos ext4 es el nuevo sistema de archivos de GNUT/Linux, que mejora al anterior ext3, entre otras cosas, en velocidad de escritura y menor uso de la CPU. Esta partición sería la equivalente al disco C de un sistema Windows – Obligatoria. 2. Una partición para la carpeta personal de los usuarios (punto de montaje /home). Es la equivalente al disco D, que va a utilizar para guardar los archivos y documentos personales. Optativa, pero muy recomendable ya que para las distribuciones GNU/Linux el directorio home es la carpeta donde se alojan todas las carpetas personales de los usuarios del sistema con todos sus documentos y archivos personales. 3. Una partición de intercambio o swap, para la gestión de la memoria virtual. La memoria virtual es un mecanismo del sistema operativo, para tener una memoria aparentemente mayor de la que realmente tiene, usando almacenamiento secundario del disco duro. 4. Se debe reservar el doble de tamaño de la memoria principal para esta partición. Por ejemplo, si tiene 256 MB de memoria RAM, la partición de intercambio será de 512 MB. Sin embargo esto únicamente es aplicable a tamaños de memoria de hasta 1GB. Si tiene más memoria (según Russell Coker ) tiene que utilizar la siguiente regla: entre 2GB y 4GB, utilizar como tamaño del swap la mitad del valor de la RAM; mientras que si tiene más de 4 GB, utilizar una swap de sólo 2GB. Es obligatoria. Este particionado ideal responde al mismo mecanismo de seguridad que se ha visto en el particionado en sistemas Windows. Si tiene que reinstalar GNU/Linux por cualquier motivo, no perderá sus datos personales que se hallarán perfectamente situados en la partición /home. En resumen, puede crear una partición primaria con el sistema de archivos NTFS para instalar en ella el sistema Windows de su preferencia, considerando el espacio que quiera asignar en su disco duro y puede crear otra partición primaria con el mismo sistema de archivos NFTS, que puede llamar DATOS, con el fin de contener en ella todos los archivos y carpetas personales. Si lo precisa puede acceder a esta partición, y a todos los datos contenidos en ella, directamente desde el sistema Ubuntu que tenga instalado en el PC. A continuación, sigue con el particionado preciso para la instalación de Ubuntu: Crear una partición extendida:
    • Una partición lógica raíz, sistema de archivos ext4, punto de montaje /, donde instalará Ubuntu 12.10. Una partición lógica, sistema de archivos ext4, punto de montaje /home, será la que utilice para ubicar en ella todos los documentos y archivos personales realizados en Ubuntu. Una partición de intercambio SWAP (recuerde... el doble de la RAM del equipo) El particionado final del disco duro quedaría así (Por ejemplo sea un disco duro de 500 GB, cuyo Sistema Operativo principal será Ubuntu 12.10): Partición primaria – 80 GB Partición primaria – 70 GB Partición extendida – 350 GB Partición NTFS - Windows Partición NTFS – DATOS o Almacén Partición lógica ext4 (/home) – 250 GB Partición SWAP – 2 GB (depende de la RAM) Partición lógica ext4 (/) - 98 GB Instala Windows en esta partición Partición para documentos y carpetas personales Partición para documentos y carpetas personas Memoria de intercambio Instalar Ubuntu en esta partición. ¡98 GB es una cantidad de espacio buena para Ubuntu, un sistema como Ubuntu con un listado considerable de aplicaciones apenas
    • ocupa 10 GB! Establecer la cantidad de espacio a cada partición en función del uso que vaya a dar al ordenador. Tenga en cuenta que un sistema Ubuntu 12.10 con todas las herramientas y/o aplicaciones instaladas en el sistema, apenas llega a ocupar entre 10 y 15 GB de espacio. Observe la siguiente captura de pantalla con el particionado del disco duro presente en un equipo que tiene un arranque dual Windows 7 – Ubuntu 12.10: ¿Qué es sda1, sda2, etc.? Tiene que ver con el tipo de disco duro presente en el computador, con el número de discos duros presentes en el equipo y con el número de particiones.  Las tres primeras opciones del gráfico son tres particiones primarias NTFS. De ellas, la segunda, con sistema de archivos NTFS y etiqueta Windows incluye el Sistema Operativo Windows 7 y las aplicaciones instaladas en él. Apenas se utiliza este sistema ni tiene aplicaciones instaladas que no sean las propias de un equipo recién comprado. ¡41 GB ya en uso! La partición Data se corresponde con esa partición que se indicó es recomendable para guardar en ella los archivos personales.  Las particiones sda5, sda6 y sda7 son respectivamente la memoria de intercambio, la partición en la que se encuentra instalado el Sistema Operativo Ubuntu 12.10 y la partición home que aloja las carpetas personales de todos los usuarios que utilizan este sistema. La segunda de las anteriores incluye no sólo el sistema sino un amplio listado de aplicaciones instaladas de gráficos, audio, vídeo, internet, etc. y sólo tiene ¡5,80 GB en uso! El etiquetado de los discos duros en sistemas GNU/Linux Como se ha indicado, en los sistemas Windows cada dispositivo (incluyendo las particiones del disco) tiene asignada una letra. Así, la primera partición del disco duro es C: (donde se instala el sistema operativo y las aplicaciones, de forma habitual), la disquetera es A: la segunda partición del disco duro es D:, el lector de
    • Cds es E:, y así sucesiva y alfabéticamente si se instalan otros dispositivos, como discos duros externos o memorias USB. Esto trae como consecuencia que, cada vez que se quiera acceder a un dispositivo distinto, tiene que volver a Mi PC y/o adivinar qué letra le ha puesto el sistema al dispositivo. GNU/Linux utiliza una organización de la información mucho más adecuada y coherente. En Linux todo son ficheros: un lector de CD es un fichero, una USB es también un fichero, al igual que una partición de un disco duro. Por ejemplo, los DD comienzan por hd (o sd si el disco es SATA) seguido de una letra y un número: la letra indica el número del disco duro mientras que el número indica el número de la partición. Así, Ubuntu utiliza dispositivos de archivos para montar los discos duros y nombra los archivos de acuerdo con el esquema determinado que se muestran a continuación: . /dev/sda es el primer disco duro identificado . /dev/sdb es el segundo disco duro identificado Si tiene más DD en el computador Ubuntu los denominará sdc, sdd y así sucesivamente. . /dev/sda1 es la partición primaria en el disco sda Las otras tres particiones primarias en ese disco serán sda2, sda3 y sda4. Recuerde que este es el límite en el número de particiones primarias. No puede haber más. . /dev/sda5 es la primera partición lógica que se encuentra dentro de una partición extendida. Las siguientes particiones lógicas se llamarán, por tanto, sda6, sda7, etc. Este mismo patrón sigue para todos los dispositivos que se conectan al equipo. Así, si conecta un dispositivo USB o un disco duro externo en un sistema Ubuntu, estos dispositivos serán etiquetados como /dev/sdb (si sólo tiene un DD) o sucesivos. Si ya tiene Ubuntu instalado abrir la consola o terminal y escriba la orden sudo fdisk -l
    • Este comando permite tener una visión general de los DD disponibles y los medios de almacenamiento USB conectados incluyendo además las particiones y sistemas de ficheros que contienen. Cuidado de los discos duros Los discos duros también necesitan cuidado, siga las siguientes instrucciones para evitar la pérdida de datos y evitar que el disco duro quede inservible: - No quitar la etiqueta gris semiplateada que se encuentra a los lados y/o algunas veces en la parte frontal, esto puede causar que entre polvo y raye el disco, asimismo el polvo que pueda manejar electricidad puede mover los datos y causar daños. - No tapar los agujeros pequeños, ya que son un filtro de aire y puede causar sobrecalentamiento. - De vez en cuando, hacer un respaldo de los archivos más importantes, cosas como apagones pueden dañar el disco duro, si ocurre un apagón desconectar el ordenador. - Evitar que el disco sufra golpes físicos, los circuitos, los cabezales y los discos pueden dañarse. - Si un disco pierde información del índice, como el formato que se le asignó, usar programas como scandisk.
    • Los motivos más frecuentes de avería en un DD están relacionados con la alimentación de este, por lo que una buena fuente de alimentación nos va a evitar muchos inconvenientes y gastos. Las averías del disco duro tienen un componente de costo añadido. Al costo del disco en si hay que añadirle el causado por la pérdida de los datos contenidos en este, y como mínimo, en el caso de que tengamos copia de seguridad de todos nuestros datos, el de la reinstalación de todo nuestro software. Las averías de un disco duro pueden ser de dos tipos: 22 - Electrónicas - Capacitor inflamado Las averías electrónicas en el DD están causadas la inmensa mayoría de las veces por un fallo eléctrico (sobretensión) que provoca la avería de la placa de control del disco. Una característica de estas averías es que el disco deja de ser reconocido incluso por la bios de la placa base, aunque se puede dar el caso de que siga siendo reconocido, pero sea incapaz de comunicarse con el ordenador. Un exceso de temperatura también puede ser causa de una avería electrónica del DD. 22 Fuente. Lo que necesitas saber para armar o Reparar tu pc. Consultado el 2 de septiembre de 2013. http://www.taringa.net/posts/hazlo-tu-mismo/13779959/Lo-que-necesitas-saber-para-armar-o-Reparar-tu- pc.html
    • En cuanto a las averías Mecánicas, estas son más frecuentes que las electrónicas, aunque con las mismas consecuencias, es decir, la inutilización de este y la consiguiente pérdida de datos. Estas averías pueden afectar a dos componentes: Al motor que hace que gire el disco y al sistema de cabezas lectoras. También, pueden estar causadas por problemas en la alimentación, pero en este caso hay que añadir unos cuantos motivos más, entre los que cabe destacar: - Vibraciones: Causadas la mayoría de las veces por una mala colocación del disco, como por ejemplo no estar sujeto firmemente por los dos lados (es muy aconsejable que esté sujeto con 4 tornillos correctamente fijados). - Golpes: A veces golpeamos la caja sin querer, repercutiendo este golpe en los componentes del ordenador. Esto es especialmente grave si además el disco está trabajando en ese momento. - Mala manipulación del disco: A veces se manipula el disco y no se tiene el debido cuidado al ponerlo sobre una superficie, dejándolo caer bruscamente o golpeándolo. - Apagados continuos cuando está trabajando: Estos apagados pueden estar provocados por fallos eléctricos o por nosotros mismos.
    • - Desgaste: Se trata de piezas mecánicas móviles, a lo que hay que añadir que trabajan a una gran velocidad y con una gran precisión. Estas piezas tienen un desgaste natural y aunque su ciclo de vida útil es muy grande no es eterno. Las averías de tipo mecánico tienen la ventaja sobre las de tipo electrónico que suelen avisar con síntomas tales como fallos en los accesos al disco cada vez más frecuentes y sobre todo ruidos (el clásico clic clic clic muy seguido), con lo que permite en muchas ocasiones poner a salvo la información. Las averías en los discos duros se pueden prevenir con una serie de cuidados, entre los que podemos citar: - Utilizar una buena fuente de alimentación. - Utilizar una buena caja en la que el disco duro quede bien sujeto. - Asegurarse que tenga una buena refrigeración, evitando en lo posible instalar dos discos juntos (dejando siempre un espacio entre ellos) y recurriendo si es preciso a un sistema de ventilación. - Evitando golpear la caja y los desplazamientos bruscos de esta (sobre todo si el ordenador está en funcionamiento). - El uso de un SAI es en todo caso una opción muy recomendable. Como norma general, apagar o desconectar siempre el ordenador si hay un apagón. Las mayores sobretensiones (y las más peligrosas) se producen precisamente cuando se restablece el suministro eléctrico. Es conveniente conectar el ordenador, la impresora y la pantalla en una regleta con interruptor y a ser posible con fusible.
    • Las reparaciones de averías en los discos duros pasan siempre por enviarlos al fabricante o bien a servicios técnicos especializados en este tema, y en la mayoría de las ocasiones su costo supera con creces al de un disco duro nuevo. La excepción es cuando se trata de una pérdida de sectores (sectores dañados). En estos casos se puede intentar repararlo utilizando un programa del tipo HDD Regenerator, con el que se puede recuperar gran parte de esos sectores dañados. En cuanto a la recuperación los datos contenidos en un DD averiado, existen empresas especializadas en ese tema, pero los costos son altísimos, por lo que solo suele ser rentable para aquellos que no puedan prescindir de los datos perdidos. Herramientas de software útiles: Es un programa informático para realizar particiones sobre el disco duro de un ordenador. Originalmente fue creado por PowerQuest Corporation pero hoy día es propiedad de Symantec. Este programa funciona bajo Microsoft Windows o desde un CD de arranque. Permite la creación y modificación del tamaño de las particiones sin pérdida de datos. Partition Magic es capaz de redimensionar particiones NTFS o FAT (16 ó 32) sin pérdida de datos, y puede copiar y mover particiones incluso a otros discos. Otras características son conversión de sistemas de archivos FAT16, FAT32 y NTFS, modificación del tamaño del cluster entre FAT16/32 y NTFS, y unión de sistemas adyacentes FAT y NTFS. También es capaz de manejar las particiones Ext2 y Ext3 propias de los sistemas Linux, tal y como se manejan las particiones tipo Windows. Referencias - Michael Beck, Harald Böhme, Mirko Dziadzka, Ulrich Kunitz, Robert Magnus y Dirk Verworner (1997). Linux Kernel Internals (Second Edition). Editorial: Addison-Wesley. - Olaf Kirch (1999). Linux Network Aministrator Guide. Fuente: Proyecto LuCAS. - César Martín Pérez e Ismael Pérez Crespo (1998). Linux. Editorial: Anaya Multimedia. - Cameron Newhan y Bill Rosenblatt (1995). Learning the Bash Shell. Editorial: O'Reilly & Associates, Inc. - C. Dennis Mee, Eric D. Daniel (1996). McGraw-Hill. ed. Magnetic Storage Handbook 2nd Ed. . ISBN 0070412758.
    • - David A Rusling (david.rusling@digital.com) (Enero 1998). El núcleo de Linux. Fuente: http://www.hispalinux.org - Antonio Vaquero Sánchez, Raymundo Hugo Rangel, Gerardo Quiroz Vieyra, Willy Vega Gálvez y Luis Ernesto Ramírez (1993). Aplique X Window. Editorial: McGraw-Hill/Interamericana de España, S.A. - El kernel. Consultado el 20 de junio de 2011. http://danielpecos.com/docs/linux/kernel.html - Tabla de asignación de archivos. http://es.wikipedia.org/wiki/Tabla_de_asignaci%C3%B3n_de_achivos - NTFS. Consultado el 15 de octubre de 2011. http://es.wikipedia.org/wiki/NTFS - Journaling. Consultado el 30 de junio de 2011. http://es.wikipedia.org/wiki/Journaling - Toshiba America Electronic Components, Inc. «Solid State Drives Memory Products». Consultado el 17-07-2009. - http://www.tuexpertoit.com/2011/12/22/la-diferencia-de-precio-entre-ssd-y- discos-duros-se-reduce/ Comparativas de precios SSD versus disco duro - http://alt1040.com/2010/11/discos-de-estado-solido-ssd-o-como-hacer-que- tu-computadora-sea-realmente- rapida?utm_source=self&utm_medium=nav&utm_campaign=Relacionados Discos de estado sólido (SSD) o cómo hacer que tu computadora sea realmente rápida - http://sololinex.wordpress.com/2008/09/09/comparativa-entre-disco-duro-y- disco-ssd-en-video/#more-755 Comparativa entre disco duro y disco SSD en vídeo - http://www.diarioti.com/noticia/Presentan_la_primera_supercomputadora_Fl ash_del_mundo/30931 Presentan la primera supercomputadora Flash del mundo - http://www.orlandoalonzo.com.mx/tecnologia/ssd-la-verdad-sobre-el- consumo-de-energia/ SSD: la verdad sobre el consumo de energía - http://www.seagate.com/www/es-es/products/laptops/laptop-hdd/ - Andrew Tanenbaum. (2204). Sistemas Operativos: Diseño e implementación, Capítulo 1: Introducción. Taller Ejercicio. Consultar sobre los Sistemas de archivos con journaling  Ext4 de Linux  NTFS de Windows 7 y 8  Reiser4 de Linux
    •  UFS de SUN Solaris  HFS+ de Mac OS X Ejercicio. Consultar como mínimo tres programas que permitan hacer un diagnóstico del equipo en general. Probarlos y anexar los reportes que arrojan cada uno. Ejercicio. Investigar sobre las características técnicas de los siguientes discos duros internos: - SSD Sandisk 480GB SATA3 lectura 540 mb/escritura 460 mb - PC 1TB SATA3 WD Caviar Blue - PC 2TB SATA3 Western Digital Caviar Green - PC 3 TB SATA3 western Digital Green. Ejercicio. Investigar sobre las características técnicas de los siguientes discos duros externos: - ITB Toshiba USB 3.0 - 2TB western Digital USB 3.0/2.5. - 3TB western Digital my book live Ethernet - 4TB Seagate 3.5 USB 3.0 Ejercicio. Investigar sobre mínimo tres programas que permitan particionar un disco duro.