|
Desde que pulsamos el boton de encendido de nuestro PC hasta... (parte 10) |
|
|
|
Por Jose Manuel Tella Llop, extraído de microsoft.public.es.windows98
DESDE QUE PULSAMOS EL BOTON DE NUESTRO PC HASTA..... (Parte 10) ---------------------------------------------------- PARTICIONES. SU SIGNIFICADO Y SU CREACION ----------------------------------------- Una particion, no es ni mas ni menos que reservar un "trozo" (o todo) del disco para contener un sistema operativo o datos. La manera de crear / borrar paticiones bajo MsDOS (o en los sistemas operativos de microsoft), es mediante el comando FDISK. * La primera pregunta que nos realiza FDISK es si queremos soporte para grandes particiones (por defecto viene activada la letra "S" en windwos 98). Esta pregunta a lo que realmente se refiere, es que si decimos "S", la particion que vamos a crear en ese momento, será FAT 32. Si decimon que "N", la particion a crear será FAT 16. Al contrario de lo que cree mucha gente, no es en el FORMAT en donde se le dice en tipo de FAT, sino justo en el momento de crear la particion. Antes de continuar con las particiones, vemos que hemos introducido un concepto: FAT 16 y FAT 32. Vamos a hablar un poco de ellas. FAT 16 y FAT 32 --------------- Bien, imaginemos que ya tenemos un "pedazo" de disco. Imaginemos ahora que queremos guardar allí archivos. ¿de que manera "fisicamente" puede hacerse, para ser capaces de almacenarlos y recuperarlos rapidamente?. Se admiten ideas...... Bueno, los primeros programadores del MSDOS, de los cuales heredamos el actual Windows,tuvieron que "diseñar" un sistema de archivos... El diseño, quizá no sea el mejor (seguro que no), pero funciona y por suerte o por desgracia lo hemos heredado. Pensemos un poco.... ¿como lo diseñaron? Pues mas o menos razonando de la siguiente manera: 1) Evidentemente la manera mas rapida de acceder a un archivo, siempre es si tenemos un "indice" a donde está ese archivo. 2) Sí tenemos un "indice", debemos guardarlo siempre en el mismo sitio para que el sistema lo busque rapidamente. 3) Ademas, de alguna manera, deberemos ser capaces de buscar rapidamente sitios no utilizados en el disco para poder grabar un archivo nuevo. 4) Lo mejor sería tener numerados todos los "pedacitos" del disco. Sabemos "por diseño" que la minima cantidad que entiende un controlador de disco son 512 bytes. Es decir se grabará de 512 en 512. 5) Pero 512 es poco. ¿por qué no agrupamos pequeños grupos de 512 bytes?. Correcto. Pues tenemos que dar un nombre a esta "agrupacion". Y se decidiói darle en nombre de "cluster". Ya veremos cual es el tamaño mejor. 6) Ahora bien, si tenemos "cluster". ¿no sería mejor tenermos en un indice tambein al inicio del disco para saber si está libre o ocupado?. Vale, pues parece correcto. Pero como esto es delicado por si acaso, vamos a tener 2. El original y otra copia de él. 7) Bueno ya tenemos un indice para tener los archivos. Vamos a llamarle "Directorio principal". Tambien tenemos unos pequeños indices o tablas que nos indican si un "cluster" está libre o ocupado. Vamos a llamarle FAT (File Allocation Table, o "tabla de asignacion de archivos"). 8) Y como podemos ahora guardar un archivo. A ver ¿que nos hace falta saber de un archivo?. Pues, "Su nombre", "la fecha de creacion", "la fecha de modificacion", en que "cluster" comienza, su tamaño en "bytes", y de paso, vamos a ponerle tammbien "atributos". Del tipo "rchivo", "Oculto", "Sistema", "Solo lectura".... Bueno, pues todas estas caracteristicas comunes las guardamos en el "directorio". 9) Y ahora su contenido. Hemos dicho que en el directorio está el numero del "cluster" en donde comienza el archivo. ¿Como lo hemos buscado?... Bien hemos hablado de la FAT. La FAT en principio podría ser simplemente un bite por cada cluster del disco, al inicio del proio disco, que nos dijese 1 o 0 para saber si está libre o ocupado. Pero ¿que tal si utilizamos esto para algo más?. Vamos a utilizarlo. 10) ¿y si cada "entrada" en la FAT, en vez de ser de 1 bite, con contenido uno o cero, lo definimos de "n" bites de tal manera que tengan un cero si está libre. Pero si está ocupada, que su contenido sea distinto de cero pero puede ser perfectamente el numero del siguiente cluster que utiliza el fichero, en el caso de utilizar mas de un cluster. Y ademas, si es el "ultimo" cluster del fichero, pues podemos ponerle una marca. Por ejemplo todo a "unos" binarios. 11) Parece que encaja. Entonces para grabar un archivo nuevo, primero buscamos un hueco en el directorio. Allí grabamos su nombre y sus datos de fecha, atributos, tamaño, etc. Ahora vamos a la FAT. La recorremos buscando una posicion que tenga "ceros". Esto nos indica que ese cluster del disco estará vacio o se puede utilizar. Pues nos guardamos dicho numero en el directorio, y asignamos todos a unos binarios en esa posicion de la FAT. Igualmente guardamos en el cluster fisico del disco el primer pedacito de nuestro archivo. Ahora miramos si el archivo ocupa mas tamaño de un cluster. Si es así, continuamos recorriendonos la FAT para buscar el siguiente "hueco" a ceros. Cuando lo encontremos, en la posicion ANTERIOR que habiamos grabados unos binarios, le ponemos la dirección de este nuevo "hueco" y a este hueco le llenamos con unos binarios (y grabamos en ese cluster, el segundo pedacito de nuestro archivo). Y así continuamos hasta el final del archivo. 12) ¿que estamos haciendo con lo anterior?. Facil: crearnos una "lista" de apuntadores al disco. Supongamos, que el tamaño del cluster es 4 Kbs. Supongamos que cada entrada en la FAT es de 16 bites y recordad que el numero maximo en binario que puede tener con 16 bites es 2 elevado a 16, es decir, desde cero a 65535. Con la suposicion anterior, vamos a ver como guardariamos un archivo de 7150 bytes. 12.1) Primero se busca un hueco en el directorio. Una vez encontrado recorremos la FAT de 2 bytes en 2 bytes (16 bites = 2 bytes). Imaginemos que encontramos "cero" en la posicion 124 desde el inicio de la FAT. Como vamos de 2 en 2 bytes, indica que el "cluster" numero 64 del disco está libre. 12.2) Entonces guardamos el numero 64 en el directorio. Grabamos unos binarios en esa posicion de la FAT, y en el cluster 64 real del disco grabamos los 4 primeros Kbs del archivo. 12.3) Como el archivo tenia 7150 bytes y hemos guardado 4 Kbs, quiere decir que para guardar el resto, debemos guardar otro pedacito de 4 Kbs. Entonces, realizamos la secuencia definida en 12.1) es decir buscamos el siguiente hueco, Por ejemplo el 250 (esto indica el cluster 125). Guardmos el numero 125 en la posicion anterior de la FAT en donde habiamos guardado unos binarios, ponemos unos binarios en la posicion actual y guardamos otros 4 Kbs, en el cluster real 125 del disco. 13.4) Si nos fijamos, ha quedado la lista: 64->125->unos binarios (o marca de fin). Y además hemos "utilizado" 8 Kbs fisicos del disco, cuando querimos guardar unicamente 7150. Por tanto se deperdicia un espacio. Logicamente a mayor tamaño del cluster, mas espacio podriamos perder... 14) Pues lo que acabo de describir es el funcionamiento de la FAT 16. Se le llama 16 porque utiliza 16 bites para cada "apuntador". Realmente en el proceso anterior que hemos supuesto que el tamaño del cluster era 5 Kbs, esto no es verdad. ¿como calcula el sistema operativo cual va a ser el tamaño del cluster?. Bien, tal y como definimos antes, sabemos que solo podemos tener hasta 65536 pedacitos. Además sabemos el tamaño total de la particion. Pues el sistema divide el tamaño en Kbs entre 65536. El resultado lo redondeamos hacia arriba a un numero que se multiplo de una potencia de dos. O sea a 2, 4 , 6, 16, 32.... y el numero que nos salga es el tamaño del cluster. Se consideró que para no perder mucho espacio, se debria limitar el tamaño maximo del cluster. Y se definió así que el tamaño maximo del cluster debia ser 32 Kbs. Por tanto 32 Kb * 65535 maximos posibles cluster, nos dá la cantidad de 2 Gigas maximo. Por tanto la particion maxima que podemos tener en FAT 16, está limitada a 2 Gb. Y ahora la FAT 32. Simplemente y debido a la limitacion anterior, se amplió el tamaño de fat a 32 bites (o 4 bytes). Con esto el numero maximo que cabe, ya no es 65535, sino 4.294.967.295 y como el tamaño maximo de cluster se define aquí en: 16 Kbs, entonces el tamaño maximo del disco sería: 68.719.476.736 es decir 68000 Gigas (o lo que es lo mismo 68 Teras). CONSEJOS UTILES (Y NECESARIOS) ------------------------------ * Recordad que tal y como hemos comentado antes, un disco soporta 4 particiones maximo. Como consejo, se debe seguir esta secuencia (IMPORTANTE): 1) Arrancar con la tecla CTRL pulsada y seelccionar "Solo Símbolo del Sistema), o bien arrancar con el disco de inicio de win98. Es decir en modo MsDOS "puro". 2) Crear o borrar una particion con FDISK 3) Inmediatamente despues, salir y reiniciar el ordenador (boton de reset). Aunque parezca una tonteria, es importante. Sinoi lo hacemos así puede que la particion no sea creada correctamente. TIPOS DE PARTICION ------------------- Habiamos hablado de dos posibles tipos de particion: Promaria y Extendida (o secundaria). Es simplemente un "marca". Pero una marca muy importante, ya que el sistema operativo lo va a hacer caso. En el caso de los sistemas operativos de Microsoft, unicamente nos deja crear una particion primaria y una particion "extendida". El disco de arranque (el C:) del sistema operativo, debe tener obligatoriamente una particion primaria. El propio FDISK, al ser la particion primaria del C:, la deja igualmente marcada como "arrancable". Ademas, estos sistemas operativos, permiten a su vez, el volver a partir la partcion extendidad en otros pedacitos. Por cada "pedazo", el sistema le asignará una letra de disco. ¿cual?. Bien esto es IMPORTANTE, si tenemos mas de un disco. El sistema se recorre todos los discos buscando particiones primarias en TODOS (repito). En este primer proceso ignora las extendidas. Por cada particion primaria que se encuentra, le asigna una letra consecutiva de disco. C:, D:, etc.... Cuando se ha recorrido TODOS los discos, ahora empueza a busczar particiones extendidas, empezando otra vez desde el primer disco. Cuando las encuentra, continua asignando letras a todas las "subparticiones" dentro de cada particion extendida que se encuentre. ** ¿Para que nos puede ser util lo anterior?. Facil. Imaginemos que tenemos 2 discos. Además que al primer disco le queremos tener "partido" en dos, y además queremos "entero" el segundo disco. Y ademas, queremos que el primer disco fisico, tenga las letras C: y D:, y el segundo la E: Pues bien, si creamos en el primer disco una particion primaria y una extendida, y ahora en el segundo creasemos una primaria, lo anterior no podría ser, ya que por los razonamientos anteriores, se recorre primero todas las particiones primarias. Por tanto a la del primer disco, le daría la C:, ahora va al segundo disco. Como tiene una primaria, le daría la D:, y ahora empieza con las secundarias, y por tanto a la particion extendida del primer disco, le daria la E:. Esto no es lo que queriamos. Repetir el ejercicio anterior, suponiendo que en el segundo disco, la particion (unica) creada, en vez de primaria es secundaria. Vereis como "sale" lo que queriamos hacer. FDISK ----- **** Bueno, y este será el siguiente capitulo...
Volver a
Artículos y FAQs
|