miércoles, 10 de septiembre de 2008

ORGANIZACION DE LA SUPERFICIE DEL DISCO

En el disco duro constantemente nos encontramos guardando datos o recuperando datos previamente almacenados en ellos, por lo que podemos pensar que al interno del disco es decir en su superficie debe existir una organización que permita que cualquiera proceso a realizarse en el disco duro sea rápido y confiable. Básicamente esta organización puede contemplar los siguientes elementos:

PISTAS
Son regiones físicas capaces de recibir información. Se encuentran formando círculos concéntricos no visibles por el ojo humano. Existen aproximadamente entre 500 y 800 pistas por pulgada a través del diámetro de un disco. La pista más exterior está referenciada como pista 0; la siguiente como pista 1 y así sucesivamente. La capacidad de almacenamiento es la misma en cada pista. Ambos lados del plato tienen igual número de pistas.

SECTOR.-Cada una de las zonas en que queda físicamente dividido cada pista de un disco y lugar donde se localiza exactamente la información es llamado SECTOR.
El formateo de bajo nivel o físico, organiza la superficie del disco magnético en pistas y sectores. En un sector los bytes iniciales contienen el número de identificación de dicho sector. Estos bytes iniciales son llamados SECTOR HEADER, los mismos que evitan la necesidad de tener un registro de cada sector que existe en cada pista. El sector es localizado por las unidades de cabezas, debido a que a ella llega: el número de pista, el número cabeza y por supuesto el número del sector. La otra parte del sector y que es la más grande está reservada para almacenar los datos(SECTOR DATA), que el usuario quiere mantenerlos permanentemente. Aún cuando las pistas del disco exterior tienen una superficie mayor, ellos almacenan la misma cantidad de datos que las pistas más internas, esto lo hace por mantener el mismo esquema de organización de los sectores y ancho de las pistas, debido a este suceso el sistema operativo malgasta capacidad de almacenamiento, pero que a su vez simplifica las operaciones en el disco y mejora el rendimiento del computador.
El volumen de datos que puede ser almacenada por una simple pista depende del esquema de codificación de los datos usados por el disco. Típicamente, la pista de un disco duro puede almacenar cerca de 10 Kbyte. Para usar este espacio de almacenamiento más eficiente, sin embargo, la unidad de almacenamiento de datos debe ser menor que la que una pista puede contener; las pistas por consiguiente son más adelante divididas en SECTORES. Un sector es un segmento de pista y el número de sectores que puede contener depende del tipo de disco duro y de la unidad controladora de discos. Usualmente una pista puede abarcar 17, 26 o más sectores y un sector contiene 512 bytes. Se numeran los sectores del valor 1, por lo tanto tendremos: sector 1, sector 2, etc.

CLUSTERS DEL DISCO

Un cluster es el numero de sectores que maneja simultaneamente el sistema operativo, es decir el número de sectores que se leen o graban a la vez. El tamaño del cluster puede variar, los más generales son : 512, 1024, 2048 bytes o más dependiendo del tipo de disco o diskette esta division en clusters permite mayor velocidad de proceso (lectura /grabacion) ya que el sistema operativo no pierde tiempo en dicho proceso en realizarlo de sector en sector.La unidad mas pequeña de almacenamiento sobre el disco es un sector de 512 bytes. El sistema operativo tiene que saber que sectores estan usados , y cuales estan disponibles para almacenar datos. Ulteriormente el sistema operativo debe mantener la direccion de todos los sectores que estan siendo utilizados para el almacenamiento de datos. Un disco duro de 100mb. Retiene casi 200.000 sectores. El sistema operativo sería oprimido si va a manegar individualmente cada sector.
Ciertamente un computador manejaria una lista de 200.000 items. Pero el acceso a los archivos seria inaceptablemente lento. Por esta razon el sistema operativo usa el esquema que agrupa sectores (clusters) para tratarlas como una simple unidad. El número de sectores en un cluster esta determinado por el sistema operativo.(1, 2, 4 , 8 ..etc sectores) sin embargo este esquema tiene su desventaja, que es perdida de espacio. Por ejemplo si un archivo requiere 50 bytes para ser almacenado a este sera asignado un cluster (1024 o 2048 byte) dependiendo del s.o (existiendo como se puede notar un desperdicio de espacio. (974, 1998 byte respectivamente).

C I L I N D R O
Un cilindro es la reunion de pistas que se pueden accesar por cualquiera de las cabezas de lectura/escritura, sin desplazar las cabezas a otro sitio. Los cilindros estan numerados, al igual que las pistas, 0 para el cilindro que esta más al borde exterior, 1 para el siguiente y asi sucesivamente. Por ejemplo si un disco tiene 2000 pistas, entonces las pistas en linea vertical (ascendente) forman 2000 cilindros. Un cilindro es como una pista en tres dimensiones. El termino 'cilindro' y 'pista' son frecuentemente usados intercambiablemente.

FORMATEO DE BAJO NIVEL O FORMATEO FISICO

Es una operación que consiste en preparar un disco duro virgen (o usado) para darle una estructura utilizable por el ordenador. En este proceso se numeran pistas y sectores,se construyen las marcas de inicio y fin de bloque (cluster) así como se encarga de chequear la integridad de la superficie del disco. Estas marcas son manejadas por el controlador del disco. En este proceso también se puede definir el FACTOR DE INTERLEAVE o método de númeración de los sectores (para más detalle ver INTERLEAVE) El proceso de formateo suele reducir hasta un 10% la capacidad de almacenamiento de un disco duro. Podemos finalizar diciendo que el formateo de bajo nivel chequea toda la superficie del disco y construye los bloques para almacenar información (esto es, graba información que solo será usada por la tarjeta controladora del disco). A diferencia del formateo de alto nivel que se verá más adelante, que chequea solamente dentro del bloque y graba los primeros bloques con información importante para todo el equipo. (BOOT, FAT , ROOT, ...etc. )
LA TABLA DE PARTICIONES o MASTER BOOT RECORD
Para la tabla de particiones está destinado el primer sector de los discos fijos: sector1, lado 0, pista 0 (los diskettes no tienen esta tabla) que generalmente ocupan 512 bytes y contienen tres elementos: 1.- Un programa para buscar por la partición activa.2.- Mensajes y, 3.- Características de las particiones del disco.
Elementos que contiene la tabla de particiones:
1.- Un programa para buscar por la partición activa y copiar el BOOT sector de la partición activa en memoria ( RAM ) y pasar el control del computador a este BOOT sector. 2.- Los mensajes tales como: 'Missing operating system', 'Invalid partition table', etc. Estos mensajes son frecuentemente visualizados en el monitor cuando el computador tiene problemas en el disco. 3.- Dentro de las características de las particiones individuales del disco tenemos: sistema operativo (DOS. XENIX, etc), número de cilindros de la partición y sector relativo en el que inicia la partición. El programa que crea la tabla de particiones se llama FDISK.COM de D.O.S El programa FORMAT.COM del sistema operativo DOS, no tiene acceso a la tabla de particiones por lo que es errado pensar que un virus ubicado en la tabla de particiones se elimina si se corre este programa.

BOOT SECTOR
El BOOT SECTOR, en los diskette está ubicado en el primer sector(sector 1, lado 0, pista 0) y el primer sector de cada partición en disco contiene el "BOOT SECTOR, ocupa 512 bytes, y consiste de cuatro elementos, que se tratarán más adelante. El BOOT sector juega un papel importante al momento de encender el computador, toda vez que el pequeño programa almacenado en el BOOT sector tiene como misión buscar el sistema operativo en el diskette o disco duro e inmediatamente cargarlo en memoria (RAM).
Como se anotó anteriormente el BOOT sector consiste de cuatro elementos que son: 1) Instrucciones para cargar a memoria el sistema operativo. 2) Nombres de los archivos que corresponden al sistema operativo generalmente son MSDOS.SYS, IO.SYS o IBMDOS.COM y IBMBIO.COM. 3) Mensajes para el caso de no poder cargar el sistema, como por ejemplo: 'Non?system disk or disk error', etc. 4) Características del diskette o del disco, como por ejemplo: versión del programa usado para formatear el diskette, tipo de disquete, número de pistas, número de sectores por pista número de sectores por cluster, etc. Esta información responde la pregunta: (Cómo sabe el computador el tipo de diskette que se está usando? es de alta o baja densidad', etc). Con esto puede quedar claro que el BOOT sector del disco y diskette son diferentes e incluso entre los diskettes existen sus diferencias. Es razonable pensar que sus diferencias radican en las características y a la versión del sistema operativo usado. El programa encargado de grabar el BOOT es el comando FORMAT.COM, el cual tiene el efecto secundario de borrar totalmente el FAT y el ROOT.
La gráfica nos muestra que para cada partición en el disco, duro del computador que se generen, existirá también su respectivo BOOT sector. Esto quiere decir que: La PARTICION 'C' le corresponde un BOOT; a la PARTICION 'D le corresponderá otro BOOT.

AREA FAT (FILE ALLOCATION TABLE)

La tabla de asignación de archivos o FAT, es el área principal porque mantiene un registro de todos los clusters del disco. Cuando un archivo va a ser escrito en el disco, el sistema operativo busca el FAT para determinar la localización de los clusters disponibles. El FAT también le dice al sistema operativo que clusters están siendo usados por un archivo e identifica clusters reservados o inutilizables (malos). Esta área se almacena a continuación del BOOT sector, y por mantener una mayor seguridad de la información l almacenda en el disco está duplicada, esto es que existen dos FAT, una acontinuación de la otra.
Recordemos que cada cluster en el áreas de datos del disco recibe un único número referencial. El FAT contiene un registro para cada cluster del disco, y el número del cluster es usado como el índice principal para la realización de los procesos de lectura/escritura. Cada registro en el FAT mantiene dos bytes de información que le indica el estado actual de los clusters, el estado puede caer en uno de los cinco categorias:
Cluster disponible
Cluster utilizado por un archivo. El registro actual indica que el siguiente cluster es usado por el mismo archivo.
Cluster utilizado por un archivo y es el último cluster que contiene datos para el archivo.
Cluster reservado.
El clluster esta ocupado o es defectuoso y no debe ser usado. Tenemos tres tipos de FAT:
FAT12: Lo utiliza sólo los disquetes en la actualidad. Cuentan con 12 bits para identificar a cada cluster, lo cual permite un máximo 4096 clusters.
FAT16: Usado en la mayor parte de los sistemas actuales, tiende al desuso debido a que el máximo tamaño de disco que puede manejar es de 2GB. Para manejar discos mayores con este sistema, se debe particionar el disco en partes de menos de 2GB. Utiliza 16 bits para representar un cluster.
FAT32: Es el nuevo sistema de FAT , puede manejar discos de más de 2GB Fue introducido con Windows 95 y actualmente se encuentra en Windows 98 y superiores.
Notas especiales de la FAT.? Aunque la FAT queda completamente bajo la supervisión del sistema operativo (DOS o WINDOWS). Las únicas excepciones son los programa que realizan funciones de atribución de espacio que no competen al DOS; (por ejemplo Un?Erase de Norton Utilities).

EL ROOT DIRECTORY o DIRECTORIO RAIZ
Es otra área del disco o diskette que el sistema operativo (DOS o WINDOWS) usa para registrar información acerca de cada archivo. El directorio raíz es automáticamente creado cuando el disco es formateado a alto nivel . El ROOT DIRECTORY se encuentra a continuación del área FAT. La tabla siguiente muestra la información que contiene el ROOT.
INFORMACION DEL ARCHIVO
DESCRIPCION
Nombre de archivo
Almacenado en formato ASCII, ocupa 8 bytes en DOS y hasta 256 byte en WindowsEn el primer byte del nombre del archivo pueden aparecer tres códigos.a) 0 (00 hex).? que indica que no se usan los directorios. b) s (E5 hex).? generalmente indica que se ha borrado el archivo.c) . (2E hex).? que se utiliza para especificar un subdirectorio.Si el segundo byte es también 2E (hexadecimal), indica que se trata del directorio padre del subdirectorio en uso.
Extensión del nombre del archivo
A continuación del nombre se localiza la extensión del nombre de archivo, en formato ASCII.Ocupan tres bytes; mientras un nombre de archivo debe tener al menos un carácter ordinario, la extensión puede consistir en tres espacios en blanco, cuando el directorio contiene etiqueta de volumen, los elementos de nombre y extensión son tratados como un campo combinado de once bytes en este cado están permitidos los espacios en blanco intercalados cosa que no se puede realizar tanto para el nombre como para la extensión.
Atributo
El tercer elemento de la entrada de directorio consta de un byte, y cada uno de sus bits se utiliza para caracterizar el elemento de directorio. Los bits del byte de atributo se codifican por separado como bits del 0 a 7. El bit 0, caracteriza a un archivo como de sólo lectura. El bit 1, caracterizan a un archivo como ocultos. El bit 2, reconoce a un archivo como archivo del sistema. El bit 3, indica que el elemento de directorio es una etiqueta. El bit 4, indica el atributo de subdirectorio. El bit 5, indica el atributo de archivo. El bit 6 y 7 no son utilizados.
Reservado
Esta área de 10 bytes está reservada para posibles usos futuros. Los 10 bytes contienen normalmente el valor 00 hex.
Hora
Ccontiene un valor de 2 bytes, que señala la hora en que fue creado, o sufrió, su último cambio el archivo.
Fecha
Contiene un valor de 2 bytes que indica la fecha en que se creó el fichero, o en que se modificó por última vez.
Cluster
El séptimo elemento consta de 2 bytes que indican el número de cluster de comienzo del espacio de datos del archivo. Actúa como el punto de entrada en la cadena de localización del archivo en la FAT.
Tamaño del archivo
Este elemento indica el tamaño del archivo en bytes. Está codificado como un entero sin signo de 4 bytes lo que permite disponer de archivos de un tamaño considerable; es decir tanto como permita la capacidad del disco.
Como se mensionó anteriormente el ROOT contiene la información básica sobre los archivos (nombre, extensión, etc. .), la única información que no contiene es la localización exacta de los clusters individuales (que posee el área FAT ). Hay un elemento en el directorio para cada archivo del disco, incluyendo los archivos directorios y la etiqueta de identificación de volumen del disco. Cada uno de los elementos tiene 32 bytes, distribuidos como lo muestra la tabla anterior. Los subdirectorios son tratados como archivos y no existe ningún limite (sólo el espacio en disco), para el número de elementos de subdirectorio que pueden almacenar.
EL AREA DE DATOS
Es el espacio del disco más grande reservada para almacenar los archivos y directorios ( que actúan como archivos de datos ). Se encuentra a continuación del ROOT DIRECTORY. Recuerde que el espacio se asigna a los archivos a medida que lo necesitan, esto es un cluster cada vez.
En la mayoría de ocasiones, cada archivo se almacena en clusters contiguos. Sin embargo, un archivo puede dividirse en clusters no contiguos, especialmente cuando se añade información a un archivo existente, o cuando se almacena un nuevo archivo en el espacio dejado por un archivo borrado.
Esta especie de fragmentación (ver FRAGMENTACION para más detalle), ralentiza de alguna forma el acceso a los archivos en el disco duro.
FORMATEO DE ALTO NIVEL O FORMATEO LOGICO Es el proceso mediante el cual se chequea la validez de la superficie interna de cada cluster, y se graban los primeros clusters del disco con informacion de importancia que sera usada por el sistema operativo y los diferentes programas. Format.com es el programa encargado de este proceso (para DOS y WINDOWS), y graba la siguiente informacion: boot sector, area fat, root directory.
FACTOR INTERLEAVEEl factor de interleave o factor de separacion logica de la secuencia de numeracion de sectores, consiste como su nombre lo indica en numerar los sectores (lógicamante), de tal forma que se pueden ir saltando uno o mas sectores fisicos. El factor de separacion o interleave empleado, pueden ser por ejemplo 1:1 (de 1 a 1 numeración seguida), 2:1 (de 2 a 1 númeración saltándose un sector físico) , 3:1 ( de 3 a 1 numeración saltándose dos sectores físicos ..) Etc. Se tendra que experimentar o recurrir a programas (spinrite por ejemplo) especificos para obtener el factor de interleave más óptimo para nuestro sistema.
Cuando usted graba un archivo sobre el disco duro, el sistema operativo de su computador (dos) escribe el archivo en uno o mas sectores. Supongamos que un archivo va a ser almacenado en tres sectores y que todos los sectores sobre una pista estan libres. La unidad de cabeza se movera a la pista apropiada y cuando la cabeza esta en posicion (sobre el sector 1) escribe la primera parte del archivo en aquel sector; posteriormente la parte 2 del archivo que esta siendo grabado **** ocuun **** tiempo para ubicarla en la unidad de cabezas, este tiempo hace que dicha cabeza no se encuentre al inicio del sector 2 por lo que necesariamente tendra el disco que girar completamente para alcanzar el inicio del sector 2. Y de esta manera grabar la parte 2 del archivo. Este proceso seguira mientra el computador este grabando informacion. Si la unidad controladora y el disco operan en niveles de ejecucion altos, ellos pueden ser lo suficientemente rapidos para desplazar datos a la unidad de cabezas antes de que la cabeza pase al inicio del siguiente sector. Pero si este no es su caso puede separar los sectores de tal forma que el sector 2 este dos o mas sectores despues del primero, de esta manera el controlador tiene mas tiempo para pasar datos a la unidad de cabeza y posicionarse antes de pasar del inicio del sector proximo a ser utilizado para la grabacion respectiva.
FRAGMENTACION Y DESFRAGMENTACION La FRAGMENTACION de archivos tiende a ocurrir debido a la constante grabación y eliminación de archivos, por lo que una parte del disco en una pista y posiblemente la siguiente en una pista remota. Esto hace que el sistema recupere información de una manera lenta. La DESFRAGMENTACION por su parte consiste en juntar las partes de un archivo en clusters adyacentes. Su efecto causa un rendimiento mayor al 200% del sistema.
NOTADurante el proceso de desfragmentacion los datos sobre el disco duro estan constantemente siendo removidos y reorganizados , si usted apaga el computador (o existe corte de energía) o interrumpe el programa, puede llegar a causar daños en la fat y perder por consiguiente datos. Por lo general los procesos de desfragmentación son demorados (20 minutos o más) pero este esfuerzo vale la pena. Ya que su sistema rinde un 200% o más de lo que normalmente lo hacía.







No hay comentarios: