Академический Документы
Профессиональный Документы
Культура Документы
Se designan perifericos terminales -de entrada 0 salida- al teclado, monitor, impresora, graficador,
parlante, reconocedor de voz, etc., 0 sea aquellos mediante los cuales el hombre se puede comunicar con
un computador a traves de los simbolos que usa para escribir, hablar, leer.
En 10 que sigue, nos centraremos en los discos y disquetes (0 sea en soportes de informacion), siendo que
el periferico unidad de disco 0 disquetera ("drive") encargado de escribirlos 0 leerlos, aparecera primero
parcialmente, a traves de algunos elementos que 10 constituyen, como las cabezas de escritura/lectura.
Luego se tratan detalles significativos del funcionamiento de la unidad correspondiente, y 5U interfaz, asi
como su relacion con el computador, buscando proporcionar una vision integral de las operaciones de
entrada salida. Los aspectos comunes de disquetes y discos magneticos se tratan juntos.
(,Que tipos de discos se usan en el presente en las unidades de disco, disquete y CD,
de los equipos de cornputaclon ?
Los distintos tipos de discos existentes para computacion, tienen en comun que se emplean como soportes
para almacenar grandes cantidades de informacion (datos y programas), en general durante largo tiempo.
a sus Difieren en la tecnologia de almacenamiento/lectura, en la cantidad de informacion que memorizan, en el
tiempo que se tarda en acceder y transferir datos requeridos, en la seguridad con que mantienen la
informacion durante un tiempo estimado, y en el costo por megabyte almacenado.
La siguiente clasificacion se hace en funcion del primero de los aspectos citados: la tecnologia de almacena-
miento y lectura, determinante de los restantes.
U2-2
Par grabaci6n magneiica de pistas conceniri- Par sensado mediante la misma cabeza Disco Disco rigido
cas mediante una cabeza constituida par un que escribi6 actuando en forma inversa magneiico Disquete
electroimdn (para lectura ZIP,!AZ
y escritura) Bernouilli
Floptical
Par moldeado de hoyos [armando una pista en Sensado par rayo laser de la longitud CD-ROM DVD-ROM
espiral, par inyecci6n de pldstico en un molde de los hoyos grabados y de la distancia (5610lectura) (s610lectura)
metalico (producci6n masioa de CD) que s_eparados hoyos sucesivos
Par eJecta termico de un rayo laser se modifica Sensado par rayo laser de la longitud CD-R
la iransparencia de porciones de una pista en de las porciones transparentes y las no (s610lectura)
espiral, en una capa de material orgdnico transparentes de la espiral grabada
Par grabaci6n magnetica auxiliada par acci6n Sensado de campos magneticos en las MO (leciura
iermica de un rayo laser de potencia pistas par su ejecta en un rayo laser y escritura)
Par ejecta termico de un rayo laser de Sensado par rayo laser del estado CD-RW6E DVD-RAM
potencia se modifica el estado cristalino de un cristalino del material de las pistas (para leciura PD
material yescritura)
La informacion residente en un disco esta agrupada y clasificada constituyendo archives 0 ficheros (''files''),
como quiera llamarse, identificables por su nombre. Un archivo puede contener datos 0 programas.
Con la tecnologia actual de los sistemas de computacion, gran parte de los procesos de Entrada y Salida
de datos tienen como origen y destino los discos magneticos (figura 2.1). Esto se manifiesta en que:
Comunmente, los disquetes son usados para capias de resguardo ("backup"), y para transportar archivos de
programas 0 de datos.
En realidad deberia decirse "magnetizables", dado que un disco de este tipo virgen, sin haber sido nunea escrito, no presenta en
sus caras magnetismo resultante alguno. La costumbre haee que se hable de cinta magnetica, disco magnetico, aunque ella ocurre en
realidad luego que un medio de este tipo sufre una grabacion parcial 0 total.
2 Esta btisqueda 0 acceso secuencial hace muy lenta a una cinta para obtener datos requeridos que estrin en algun lugar de la misma.
Por tal motive, la cinta se usa principalrnente para grabar copias de seguridad de archivos enteros existentes en el disco rlgido, y no para
buscar informacion parcial en ella.· Vale decir, la einta como memoria auxiliar es util, cuando los archivos que contiene se leen de punta
a punta, sin busquedas de bloques. Los discos 6pticos tambien son comparativamente lentos en relaci6n con los magneticos.
Los discos rigidos y disquetes son medios de almacenarniento extemos. Para ser leidos 0 escritos deben
insertarse en el periferico "unidad de disco" I ("disk drive") 2, que para los disquetes se denomina
"disquetera" .
Figura 2.1
Si bien cuando se habla de disco ngido se piensa en el y en la caja que 10 contiene (la unidad de disco rigido) como una sola cos a,
debemos diferenciar siernpre el soporte de informacion (constituido en este caso por uno 0 mas discos rfgidos) del periferico unidad de
disco, que contiene su electronica, las cabezas para leer-escribir los discos, el motor y mecanismos para hacerlos girar, la caja. etc.
~ No confundir "drive" que es hardware, con "driver" que es un programa para manejar un cierto drive 0 periferico en general.
En cada operacion de salida hacia un disco el sistema escribe un sector completo; y en cada operacion de entrada lee un sector
completo, siendo que todos los sectores son de igual tamafio. Esto es, se lee 0 escribe un sector camp leta, sin posibilidad de hacerlo solo
con determinados bytes individuales del mismo en forma aislada. Para el DOS/Windows cada sector debe tener 512 bytes, y un archivo
con menos de 512 bytes igualmente consume un sector entero. EI sistema operativo fragmenta los datos a ser archivados en bloques del
tamafio de los sectores que maneja (0 multiples). antes de que se escriban en disco. A su vez reune en memoria principal datos lefdos en
el disco, provenientes de sectores de un mismo archivo. Si en cada operacion de salida 0 entrada, en vez de un sector se transfiriera una
pista, dada la gran capacidad de almacenamiento de una pista, en caso de tenerse muchos archivos pequerios, cada uno ocuparfa una
pista entera, resultando un almacenamiento ineficiente. Esto es una razon para dividir las pistas en sectores. Por otra parte. esto ultimo
supone la transferencia de menores cantidades de datos, 10 cual requiere buffers (ver Unidad I, seccion l.@@) mas pequenos en el
sistema, en particular en memoria principal. AI respecto, el DOS reserva en memoria principal un buffer por sector. EI archivo
config.sys el comando "Buffers = n" perrnite elegir el mimero n de sectores que se alrnacenaran en memoria. Cuando se ocupan todos
los buffers, aquel que fue menos accedido ultimamente se borra y es reemplazado
4 A diferencia, los discos opticos compactos (CD) presentan una pista unica en espiral.
U2-4
El cuerpo del disco asi recubierto en sus dos caras, esta constituido: en los disquetes por mylard
(flexible), y en los discos rigidos por aluminio 0 cristal ceramico,
La estructura fisica de un disco, con sus pistas y sectores se indica en la figuras 2.2 y 2.3. Estas
pistas, invisibles' (al igual que las pistas de las cintas de los casetes de audio, pero circulares en la
superficie del disco), se crean durante el "[ormateo", Este proceso consiste en grabar (escribir)
magneticamente los sucesivos sectores que componen cada una de las pistas de un disco 0
disquete, quedando asi elias magnetizadas.
Luego del fonnateo, en cada sector quedan grabados los campos que 10 constituyen (figura 211), entre los
cuales se halla el que pennite identificar un sector mediante una serie de mimeros, y el campo de 512 bytes
reservado para datos a grabar 0 regrabar, 10 cual tiene lugar cada vez que se ordena escribir dicho sector.
Senal e1l:lctrlca COli
Nucleo de la cabsza de fa
de ta ca ra inferior
Figura 2.4
La grabaci6n se logra (figura 2.4)-como en un grabador de audio- por la acci6n de un campo magnetico de
polaridad reversible (N-S 6 S-N), que imanta la pista al actuar dicho campo sobre ella, al salir a traves de un
corte ("entrehierro") realizado en un diminuto nudeo ferromagnetico (micleo hoy suplantado por una
pelicula delgada inductiva). El ancho de este ruicleo determina del ancho de la pista (0,1mm 0 menos).
S se pasa por una cam de un disquete una solucion de tri-cloro-etano con finas parnculas de hierro, es posible visualizar con una
lupa 101 existencia de los campos magneticos de las pistas, por su efecto en 13 disposicion de dichas partfculas.
U2-S
mylard Una bobina de alambre arrollada sobre este micleo genera dicho campomagnetico, al circular por ella
una corriente electrica. El ruicleo ferromagnetico y la bobina constituyen una cabeza (head). Todas las
pistas de una cara de un disco son escritas 0 leidas por una misma cabeza, portada por un brazo m6viL
78 La cabeza queda inm6vil sobre la pista a escribir 0 leer, mientras el disco gira £rente a ella I, segUn se vera.
Como muestran las figuras 2.4 y 2.6 existe una cabeza para cada cara de un disco. Los brazos que las
soportan se mueven juntos. 0 sea, que si la cabeza de la cara superior esta sobre una derta pista, la
otra cabeza estara en una pista de la cara inferior, teniendo siempre ambas pistas el mismo radio (una
esta sobre la otra separadas por el espesor del disco).
S6lo una cabeza puede estar activada por vez, para leer 0 escribir sectores de la cara que le corresponde.
En una escritura, a la cabeza seleccionada -muy proxima 0 tocando la superficie del disco- Ie llega del
exterior -por dos cables- una senal electrica que presenta dos niveles de tensi6n electrica (figuras 2.4 Y25).
:or2
Capas magnetizables
de las carae superior
Partlculas agnetlzadils e inferior
que Be forman por el campo
magnetico del entrehierro
lmanee permanentes form ados en la capa
superficial por lae partfculae magnetizadas
en el entrehierro.,. LOB unoe y ceros dibujados
representan bits que estos imanes guardan
Polos norte 0 sur enfrentados codifican unos
~'" j
EI numeros de ceres entre dos unos depende
(SN 0 NS) en el entrehierro invirtienlo la corriente i
de la longitud de cada iman (codigo RLL)
EI ancho de cada nivel determina el ruimero de ceroe Figura 2.5
Con el nivel bajo de tension se produce una circulaci6n de corriente ~ por la bobina que envuelve la pieza,
con 10 cual esta se convierte en un poderoso iman, con sus extremos con un polo sur (5) Y otro norte (N).
EI campo magnetico que sale del entrehierro magnetiza y orienta particulas de 6xido de hierro de Ia super-
ficie del disco 0 disquete, que pasan £rente al entrehierro al girar el disco, convirtiendolas en microsc6picos
irnanes. Asi, durante el tiempo que ]a sefull electrica citada esta en el nivel bajo, se genera -en el tramo de la
pista que pas6 £rente a la cabeza- un con junto de pequenos imanes igualmente polarizados y orientados,
cuyo efecto sumado equivale a la existencia de un imcin permanente en la superficie de ese tramo de pista.
En eI espado, la pist:l puede estar abajo 0 arriba de una cabeza. seg-un que est:l corresponda a una cara sUpc!rior 0 inferior de un
disco, respectivamente
U2-6
------------------------------,-------------------------------------------------------------
El campo magnetico de este iman as! creado por la cabeza se manifestara sobre esa superficie
magnetizada, superficie que es circular por estar fija la cabeza y girar el disco.
Cuando la serial que excita la cabeza cambia del nivel bajo al alto, se invierte rapidamente el sentido de la
corriente (iNS)que circula por la bobina, por 10 cual cambia la polaridad magnetica en los extremos de
ruicleo (de SN a NS). Ahora, mientras dure esta polaridad (el tiempo que la serial esta alta), se generan
pequenos imanes en el tramo de la pista que paso frente a la cabeza, pero de polaridad contraria a los
generados cuando la serial estaba baja. El efecto de los mismos equivale a un iman superficial en ese tramo
siguiente de la pista, cuya polaridad es opuesta a la del iman superficial formado en el tramo anterior.
De esta forma, en la escritura de un disco, en concordancia con cada cambio de nivel de la serial electrica
binaria que actiia sobre la bobina, cambia de direccion la corriente que circula por ella, resultando una suce-
sion de imanes permanentes (conformados a su vez por muchos imanes microscopicos) sobre la superficie
de la pista que se escribe, siendo cada porcion as! imanada de polaridad contraria a la que le sigue.
Como se vera al tratar la codificacion RLL (figura 2.26), cada uno de estos cambios codifica un uno que se
almacena en la pista, y la cantidad de ceros que le siguen depende de la duracion del nivel.
En sintesis: en una escritura, luego que el material ferromagnetico de una cara pasa frente a la
cabeza magnetizante quedan formados una sucesion de imanes superficiales, los cuales conforman
una pista circular, por estar la cabeza fija, y girar la superficie del disco. Los campos magneticos de
estos imanes se manifestaran en la superficie de la pista, codificando unos y ceros.
Ninguna porcion de una pista puede quedar sin magnetizar: forma parte de un iman NS 0 SN. Esto
tambien asegura, en una regrabacion, el borrado de la informacion grabada anteriormente sobre una pista.
Durante una lectura, la misma cabeza -en un proceso inverso al de grabacion- sensara los campos
magneticos sobre la superficie de la pista accedida, para detectar cada cambio de polarizacion cuando
pasa de una porcion de una pista polarizada N-S a la siguiente, polarizada S-N, 0 sea cuando se
encuentran enfrentados dos polos norte 0 sur. Estos cambios originaran corrientes en la bobina, que
apareceran como breves impulsos electric os en los dos cables de la bobina que salen desde la cabeza.
Puesto que cada uno de estos impulsos implica una inversion del campo magnetico de la pista, y que
estos cambios fueron producidos en la escritura cuando cambiaba el nivel de la senal electrica que
actuaba sobre la bobina (figura 2.5), se puede reconstruir esta senal. As! es factible determinar (leer) los
unos y ceros que dieron lugar a los cambios de nivel, segun la codificacion (MFM 0 RLL) empleada.
Esta operacion es "no destructiva": pueden obtenerse copias de los datos guardados sin que estes se alteren.
Las cabezas (dos por plato) estan sobre una misma vertical, constituyendo el"cabeZ£lI", y son portadas por
brazos de una "armadura" que las desplaza juntas entre platos cuando pasan de una posicion (pista) a otra.
Cuando se almacena un archivo, los datos son grabados magneticamente en sectores de las pistas,
en el campo para 512 bytes reservado en cada sector durante el"formateo", como se describira. La
cabeza que -graba estos campos podra luego volver a recorrerlos, para leer las sefiales magneticas
que grabo en ellos, que representan la informacion almacenada.
U2-7
Para comprender como se generan dichas pistas en un disco 0 disquete, podemos imaginar 0 realizar el
siguiente experimento. Sobre el plato de un tocadiscos colocamos una cartulina de su mismo tamafio y 10
hacemos girar. Luego tomamos un lapiz mecanico y apoyamos suavemente la punta de su mina
sobre la cartulina, manteniendo inm6vil la mana. Entonces, sobre la cartulina se generard una
circunferencia visible. Si despues, rnientras gira el plato, sobre un punto de dicha circunferencia
colocamos fija la punta del lapiz, pero sin la mina, por debajo del lapiz pasaran los puntos de la
circunferencia antes generada. Esto equivale a un sensado ("lectura") de dicha circunferencia.
Igualmente, mientras una cabeza escribe, permanece inmovil en un punto (10 rnismo si lee),
generandose una pista circular en la cara del disco que gira debajo' de ella, a la par que deja sefiales
magneticas detectables en porciones de la misma que grab6. El radio de la pista es igual a la
distancia de la cabeza al centro del disco.
Tambien, cuando se graba una cinta de audio, la cabeza esta fija, y describe una pista rectilinea,
dado que en este caso el medio magnetico se mueve de igual modo. ."
Asi como en una cinta de audio pueden grabarse dos 0 cuatro .pistas paralelas, en un disco es
factible generar muchas pistas concentricas separadas (de a una por vez): .
Esto es valido para la cara superior de un disco, siendo que la cara inferior esta sobre la cabeza que corresponde a esta cara.
Si luego el cabezal se
Figura 2.8 posiciona a otra distancia
del centro del disco 0
Cilindro 22. cabeza 0, sector 15 disquete, accedera a otro
Cilindro 21. cabeza 0, sector 15 cilindro imaginario del
mismo (como ser el 22),
Cara 0 (superior) pudiendose escribir 0
del plato 1 leer cualquiera de las
Pista 20 de la cara 0
pistas de igual radio que
10 constittiyen; y si se
Pista 20 de la cara 1 quiere, primero una,
para luego continuar con
la otra u otras (en el caso
del rigido).
Por 10 tanto, cada vez
que en un disco 0
disquete el cabezal se
posiciona para acceder a
una pista, accede a un
"cilindro" imaginario que
contiene pistas, una por
Pista 20 de la cara 2 cara. Entonces, una vez
que la cabeza de una
Pista 20 de la cars 3
.'
cara escribio 0 leyo todos
lindro 20, cabeza 2. sector 15 los sectores de una pista
Pistas 21 Y ndro 20, cabeza 3. sector 15 de esa cara, se puede
. I hacer 10 mismo con las
restantes pistas de dicho cilindro, sin que se mueva eR~bezal.
La electronic a de la disquetera 0 unidad de disco rigido conmutara en un tiempo despreciable, de
una cabeza a otra. Por ejemplo, una vez'que el cabezal del disco rigido accedio al cilindro 20, luego
de 4 vueltas puede leer 0 escribir todos los sectores de las 4 pistas de ese cilindro.
De esta forma, se ahorra tiempo de acceso en la cscriiura y leciura de archiuos, en lugar de escribir todas
las pistas de una cara, y luego todas las pistas de la otra u otras. .
Conforme a 10 descripto, cuando un cabezal se posiciona, accede a un conjunto de pistas de igual
radio, (tantas como cabezas tenga el cabezal), que se consideran parte de la superficie de un cilirtdro
imaginado. Entonces, cada cilindro de un disco 0 disquete esui formado por todas las pistas de igual radio
(una por cara), y contiene la informacion correspondiente a los sectores que componen dichas pistas,
informacion a la que se puede acceder cuando el cabezal se posiciona en dicho cilirtdro.
Con esta vision planteada en las figuras 2.7 y 2.8,un disco 0 disquete serian un conjunto de cilindros -tantos
como pistas por cara existan- metidos uno dentro de otro. Cada cilindro a su vez se compone de pistas
de igual radio, tantas como caras (0' sea cabezas) existan (2 y 4 en esas figuras); siendo que las pistas
contienen sectores.
LJJ caniidad de cilindros de un disco0 disquete, se corresponde con el mimero de posiciones en las que se
puede posicionar el cabezal. Este, como se dijo, desplaza al unisono todas las cabezas de escritura/lectura.
En las disqueteras, un motor "paso a paso" hace que el cabezal salte de un cilindro al siguiente, cuando se
quiere pasar de una pista a la siguiente (0 a cualquier otra) que esta en la misrna cara. Como se vera, en los
rigidos el acceso de una pista a otra se lleva a cabo por un mecanismo mas complejo que busca la pista.
Corrientemente suele hablarse de pista en lugar de cilindro, pensando en una sola cara, aunque cilindro implica una
concepcion espacial mas completa, en especial en 10 referente a los todos los sectores de las pistas de un cilindro, los
wales pueden escribirse 0 leerse uno tras otro sin la perdida de tiempo que significa el movimiento del cabezal.
Por 10 tanto, un disquete de 3 1hpulgadas de 80 pistas por cara, tiene 80 cilindros de dos pistas cada
uno. Estos cilindros se enumeran de 0 a 79, desde el exterior hacia el centro.
U2-9
E.l .numero ~ue identifi~a a un cilindro. permite lo~alizar todas las pistas que 10 constituyen. Por ejemplo, el
cilrndro numero 20 sirve para locahzar en la figura 2.7 las 2 pistas ruimero 20 que pueden escribir 0
leer las 2 cabezas del cabezal, ubicadas en ambas caras del disquete. 1
Entonces si se quiere ser riguroso, en relacion con una cara de un disquete (figura 2.7) en lugar de
decir por ejemplo "pista 20" debe decirse "pista del cilindro 20"; y con mas precision, si se trata de
la cara superior, 0 cara 0, se debe indicar "cilindro 20, cabeza (head) 0".
Tambien puede aparecer como "cilindro 20, pista 0", aunque parezca mejor indicar "pista 20 de la
cara 0".
A su vez, la pista que esta debajo de esta, en la cara inferior, 0 cara I, es la "pista 1 del cilindro 20",
identificable como "cilindro 20, cabeza I".
El sector 15 de esta pista se identifica como "cilindro 20, cabeza I, sector IS".
En una unidad de disco rigido con varios platos (figura 2.8), la cabeza (cara) superior del plato mas
alto se designa 0, la inferior del mismo plato con el mimero 1; luego siguen las 2 y 3 del plato
siguiente, etc. El cilindro de rnimero 20 sirve para localizar cualquiera de las 4 pistas de mimero 20,
correspondientes a las 4 caras (cabezas) de los 2 platos, siendo que cad a una se diferencia por el
mimero (0,1, 2, 0 3) de la cabeza que accede a la misma. Se indica en esa figura la forma de
direccionar 4 sectores de mimero 15 pertenecientes a cada una de esas pistas. Asi, un sector se
indica "cilindro 20, cabeza (head) 3, sector IS", 0 "cilindro 2, pista 3, sector IS".
Los cilindros de discos 0 disquetes se enumeran desde 0 (el de mayor radio, el mas exterior) en
forma creciente hacia el interior, correspondiendo el rnimero mayor al mas interno.
Suponiendo que todos los sectores de las pistas de un cilindro se leen (0 escriben) en forma secuencial,
o sea por orden numerico creciente, primero el controlador ordena a la cabeza de la cara 0 de dicho
cilindro acceder a cada uno de los sectores de dicha pista. Luego ordena que la cabeza de la cara 1 del
mismo cilindro acceda a los sectores de esta pista, y as! sucesivamente sin que el cabezal se mueva,
cada cabeza activada lee (0 escribe) los sectores de la pista que desfilan frente a ella en la cara.
Seglin 10 tratado, en definitiva, en disquetes y discos la informacion se organiza fisicamente como sigue:
=> La menor unidad de alrnacenamiento que se puede escribir 0 leer en forma independiente es el
sector', que agrupa512 bytes (para el DOS y otros sistemas operatives),
=> Un cierto ruimero de sedores -accesibles sin variar la posicion de una cabeza- conforma una pista
=> Un numero dado de pistas -accesibles sin variar la posicion del cabezal en las caras de un disco
o platos de un disco rigido- constituyen un cilindro.
=> Tres ruimeros deben usarse para escribir 0 leer datos: mimero de cilindro, ruimero de cabeza
(head), y mimero de sector. En ingles corresponden a las siglas CHS.
(,De que depende la cantidad de bytes que puede almacenar un disquete 0 un disco
maqnetlco ?
Todas las pistas de un disquete guardan La misma cantidad de bits y tienen igual numero de sectores (figura 2.3),
como se ha querido hacer notar, por 10 que en las pistas mas internas los bits estan mas "apretados" que
en las de mayor radio, 0 sea que en las intemas se tiene una mayor densidad de bits grabados por
pulgada de pista (bits per inch = bpi). No ocurre 10 mismo en los discos rigidos actuales, como se tratara.
La densidad depende del tipo de material magnetizable de las caras, del ancho del entrehierro de las
cabezas, y de la tecnica de codificacion de bits empleada para grabar (MFM, RLL, 0 ARLL, a desarrollar).
Una pista grabada en una viejo disquete de 5 %" con dos caras ("sides") y doble densidad (indicado
2S/2D), puede tener por pista 9 sectores de 512 Bytes', 0 sea que se tendra 512x9 = 4608 Bytes/pista.
En esa figura, por razones de claridad, s6lo para el cilindro 20 se han dibujado las dos pistas correspondientes a las cara inferior de
cad a uno de los platos.
2 Si bien el DOS y otros sistemas ordenan leer 0 escribir un "cluster", que como se vera segun el tarnafio del disco puede constar de
varios sectores consecutivos, se lee 0 escribe un sector or vez.
Este valor de 512 Bytes por sector es el que usa normalmente en discos y disquetes el sistema DOS, y otros sistemas operativos
U2-9
EI numero que identifica a un cilindro permite localizar todas las pistas que 10 constituyen. Por ejemplo, el
cilindro mimero 20 sirve para localizar en la figura 2.7 las 2 pistas numero 20 que pueden escribir 0
leer las 2 cabezas del cabezal, ubicadas en ambas caras del disquete. 1
Entonces si se quiere ser riguroso, en relacion con una cara de un disquete (figura 2.7) en lugar de
decir por ejemplo "pista 20" debe decirse "pista del cilindro 20"; Y con mas precision, si se trata de
la cara superior, 0 cara 0, se debe indicar "cilindro 20, cabeza (head) 0".
Tambien puede aparecer como "cilindro 20, pista 0", aunque parezca mejor indicar "pista 20 de la
cara 0".
A su vez, la pista que esta debajo de esta, en la cara inferior, 0 cara 1, es la "pista 1 del cilindro 20",
identificable como "cilindro 20, cabeza I".
El sector 15 de esta pista se identifica como "cilindro 20, cabeza 1, sector 15".
En una unidad de disco rigido con varios platos (figura 2.8), la cabeza (cara) superior del plato mas
alto se designa 0, la inferior del mismo plato con el mimero 1; luego siguen las 2 y 3 del plato
siguiente, etc. El cilindro de ruimero 20 sirve para localizar cualquiera de las 4 pistas de numero 20,
correspondientes a las 4 caras (cabezas) de los 2 platos, siendo que cada una se diferencia por el
ruimero (0,1, 2, 0 3) de la cabeza que accede a la misma. Se indica en esa figura la forma de
direccionar 4 sectores de ruimero 15 pertenecientes a cada una de esas pistas. Asi, un sector se
indica "cilindro 20, cabeza (head) 3, sector 15", 0 "cilindro 2, pista 3, sector IS".
Los cilindros de discos 0 disquetes se enumeran desde 0 (el de mayor radio, el mas exterior) en
forma creciente hacia el interior, correspondiendo el mimero mayor al mas intemo.
Suponiendo que todos los sectores de las pistas de un cilindro se leen (0 escriben) en forma secuencial,
o sea por orden numerico creciente, primero el controlador ordena a la cabeza de la cara 0 de dicho
cilindro acceder a cada uno de los sectores de dicha pista. Luego ordena que la cabeza de Ia cara 1 del
mismo cilindro acceda a los sectores de esta pista, y as! sucesivamente sin que el cabezal se mueva,
cada cabeza activada lee (0 escribe) los sectores de la pista que desfilan frente a ella en la cara.
Segiin 10 tratado, en definitiva, en disquetes y discos la informacion se organiza fisicamente como sigue:
l.De que depende la cantidad de bytes que puede almacenar un disquete 0 un disco
maqnetico ?
Todas las pistas de un disquete guardan la misma cantidad de bits y tienen igual numero de sectores (figura 2.3),
como se ha querido hacer notar, par 10 que en las pistas mas intemas los bits estan mas "apretados" que
en las de mayor radio, a sea que en las internas se tiene una mayor densidad de bits grabados por
pulgada de pista (bits per inch = bpi). No ocurre 10 mismo en los discos rigidos actuales, como se tratara.
La densidad depende del tipo de material magnetizable de las caras, del ancho del entrehierro de las
cabezas, y de la tecnica de codificacion de bits empleada para grabar (MFM, RLL, 0 ARLL, a desarrollar).
Una pista grab ada en una viejo disquete de 5 1,4" con dos caras ("sides") y doble densidad (indicado
2S/2D), puede tener por pista 9 sectores de 512 Bytes', 0 sea que se tendra 512x9 = 4608 Bytes/pista.
En esa figura, por razones de claridad, solo para el cilindro 20 se han dibujado las dos pistas correspondientes a las cara inferior de
cada uno de los platos.
2 Si bien el DOS y otros sistemas ordenan leer 0 escribir un "cluster", que como se vera segun el tamano del disco puede constar de
varios sectores consecutivos, se lee 0 escribe un sector or vez.
Este valor de 512 Bytes por sector es el que usa norrnalmente en discos y disquetes el sistema DOS, y otros sistemas operativos
U2-10
Ademas de la cantidad de sectores por pista, en el calculo de la capacidad de un disco interviene el mimero
total de pistas (cilindros) que tiene en cada cara. Para el disquete en cuesti6n este ruimero es 40 pistas por
cara. Entonces, la capacidad de almacenarniento por cara sera 4608x40 = 184.320 Bytes. Puesto que se usan
las dos caras, la capacidad total de estos disquetes era de 184.320x2 = 368.640 Bytes = 360 KB. I
Igual metoda de cdlculo se aplica a discos rigidos. Asf, un rigido de 8 platos, con 1024 pistas (cilindros) por
cara, y 63 sectores (de 512 Bytes) por pista, tendra una capacidad por cara de 63x512x1024 = 33.030.144
1.
Como tiene 8 platos = 16 caras, la capacidad neta total sera: 33.030.144x16 = 520 MB.
I Capacidad = Sectores por pista x Tamafio sector(Bytes) x Pistas(cilindros) por cara x Nro de caras
Dividiendo por 1024 se obtiene el valor en KB, MB, etc. Esto debe tenerse en cuenta en todos los siguientes calculos sirnilares.
Muchas veces KB, MB, etc se indican K, M, etc., dado que las siglas no estan normalizadas. Esto puede traer confusion, pues pOT
ejemplo dado que en griego K = 1000, Y no 1024 como en informatica, tambien podrfa expresarse 0 entenderse que 368640 Bytes =
368,640 KBytes en lugar de 360 KB (K=1024).
2 'EI mimero tpi no solo depende del material magnetico y del codigo de grabacion, sino tambien del ancho de la cabeza, y del
mecanismo 0 servomecanismo usado para que la cabeza siga por la pista accedida sin incursionar por las contiguas. En un disquete las
tpi resultan un mimero relativamente bajo, por depender el posicionamiento del cabezal en cada pista solo de un motor "paso a paso".
3 EI disquete "virgen" tiene una capacidad de 1,6 MB, de los cuales se ocupan 400 KB durante el formateo, para escribir la direcci6n
de cada sector, amen de bits de separacion y control extras (fig 2.11), quedando as! 1,2 MB libres para archivos de datos 0 programas.
elnumero No es aconsejable forzar la capacidad maxima que admite cada tipo de disquete, so pena de que a
pistas por mediano plazo pueda comenzar a perder datos almacenados. .
Debe tenerse presente, que la capacidad que aparece indicada en discos rigidos es "bruta", no
ocupable totalmente con archivos. Se pierde en promedio del orden de un 20%, puesto que en cada
sector se deben escribir bits con el numero que 10 identifica, junto con information de control, amen
de los bits de final e inicio que se usan para separar los sectores contiguos entre S1 (figura 2.24).
Vale decir, que dicha capacidad se refiere a un disco "virgen", sin formatear. Esto se ejemplifica en
el pie de pagina anterior relacionado con el disquete 2S/2D de 1,2 MB, 0 sea el de 5 lA.
por inch
pi ta puede Como se localiza un sector de un disco/disquete, y por que se dice que es
-680 Bytes 'reccionable ?
radial de Durante una operacion de E/S, el controlador de la unidad de disco 0 de la disquetera debe recibir tres
por cara. mimeros: el del cilindro que contiene la pista donde esta ese sector, el de la cabeza (head) que accede a
= 614.400 esa pista, y el rnimero del sector dentro de la pista. Dichos ruimeros en Ingles conforrnan un CHS.
En cada unidad existe una cabeza de lectura/ escritura para cada cara de un disco. El controlador
ordenara activar para escritura/lectura s610 la cabeza de la cara indicada, y dara la orden de
posicionarla sobre el cilindro (pista) seleccionado, siendo que todas las cabezas avanzan al unisono.
Al cornienzo de cada sector de un disco estan escritos dichos tres ruimeros de CHS, forrnando un
numero compuesto, que es su "direccion", necesario para localizarlo, direccionarlo, como quiera decirse.
Por este motivo se dice que un disco 0 disquete son dispositivos de memoria auxiliar direccionables.
= 720KB.
(,QUe son los tiempos de posicionamiento, latencia y acceso en un disco 0 disquete ?
Para acceder a un sector que esta en una cara de un disco, primero el cabezal debe trasladarse hasta
el cilindro que contiene la pista donde se encuentra dicho sector, y luego debe esperarse que al
girar el disco ese sector quede debajo de la cabeza. Por 10 tanto, deben tener lugar dos tiempos:
1. El brazo con la cabeza correspondiente a esa cara se sima en pocos milisegundos (tiempo "seek",
de posicionamiento) directamente sobre el cilindro seleccionado, 0 sea sobre la pista del cilindro
correspondiente a esa cara. Se considera un valor promedio para este tiempc'. En la figura 2.10.a
este tiempo es el necesario para que la cabeza pase de la pista 17 a la 4.
Los dispositivos de almacenarniento de acceso directo se indican con las siglas DAAD.
S610 en la memoria principal, merced a circuiterfa electr6nica que 10 permite, existe acceso directo, 0 como se dice "random", "al
azar", sin busqueda alguna. Esto equivale a decir que cualquiera sea la posicion de memoria elegida, se tardara el mismo tiempo en
localizarla. En los discos, el tiempo de acceso depende ligeramente de la posicion del sector buscado, existiendo un tiempo promedio
para localizar cualquier sector. Estos vaiores mejoran ano tras afio.
abeza, y del En general se habla de un tiempo prornedio de posicionarniento, que es el promedio estadfstico que tarda el cabezal para moverse
un disquete las entre dos pistas al azar (por ejemplo este tiempo puede ser de 16 mseg). Su valor esta comprendido entre el tiempo de acceso de pista a
a paso". pista contigua ("track to track", como ser 4 mseg), y el tiempo de recorrido completo ("full stroke", como ser 19 mseg) que tarda el
la direcci6n cabezal en moverse entre las dos pistas extremas (de mayor y menor radio) del disco. Estos valores se mejoran continuamente.
o programas. En un disquete el tiempo de recorrido completo es de 200 mseg., yel tiempo de posicionamiento promedio unos 70 mseg.
U2-12
que
que ee quiere seceder a
punto de eer leida par la c;aj,eza
el sector a
ee encontraba
acceder pasa
cuando la
en la posicion senalada cor
"X" (figura 2.10 a) cuand
la cabeza llego a la pista
indicada, este tiempo es
cab ez a e e posiciono en la plsta, a la posicion en
que p,uede s er leldo por la cabeza que tarda en llegar hasta I
cabeza, para comenzar
FIgura 2.1 o.a FIgura 2.1 O.b
ser leido (figura 2.10b).
La suma de estos dos tiernpos promedio conforma el tiempo de acceso, 0 sea es el tiempo que transcurr
desde que la controladora ordena al cabezal posicionarse sobre un cilindro, hasta que la cabeza indicada
accede al sector buscado. La duracion de este tiempo solo depende del tipo de unidad de disco que se trate:
t.aeeesa ::;::
t.promeaio
~. posicumamsen
.. . t0 + tprome dito It'
a eneta
En un disquete -conforme a los valores estimados antes al pie de pagina- este tiempo sera de
orden de (70 -l;- 100) mseg. = 170 rnseg.
"i En un disco rigido es mucho menor: hoy es comun tener 10 mseg de seek, y 7 mseg de latencia (a
4;500I:P.m.) en total 17mseg. Existen discos que esos totales son menores.
Los fabricantes especifican el tiempo de posicionamiento en vez del promedio total. Tambien suelen
I
\1 fabricar" un tiempo de acceso que pondera la mejora electronica obtenida por la accion de un cache
1/
de disco (a tratar), cuando se ordena leer una sucesion de sectores ubicados en una misma pista 0
\
cilindro, y suponen en forma optimista que esto ocurrira en eI 40% de los accesos ordenados.
I
Sea un disco de32 sectores por pista, que gira a 3.600r~p.m.= 60 r.p.seg. == 1 revolucion/16 mseg.
r
Con. suerte, el primer sector que pasa es et requerido, y en el peor de los casos deben des filar lodos los seclores de la pisla hasta dar
e.on d~<l.hostl,Clor. Ell! pmmedio, estadisticamente debe)) pasa£ la mitad de los seclores para localizar un sector, 0 sea media revoluci6n
cieldi.sQP, ®lID di_iiquete (300 r.}}.m,::::.5 r.p.seg:) unarevolucion dura 115 seg. =200 mseg., por 10que la latencia promedio es 100 mseg
I Para los discos rf&idos de 3600 (.p.m. = 60 l.p.seg , una revolucion dura 1/60 seg ~16 mseg, resultando una latencia promedio de 8
mseg., que sera de 4 m.seg. para los discos de 7200·r.p.m.
I
U2-13
mG
tan5C.:;,"!"\!:ron los tillmpos dll p05iciona
lectura 0 escrirura, el tiempo de escriiura 0 lectura del campo de
datos sera el mismo, y pot 10 tanto tambien fa velocidad de
transferencia intema sera igual en la escritura 0 lectura.
_-......:::a. 06 bitt; dill eector rIl<:\ullrldo co- Como se planteo, estes MB/seg definen la velocidad de transferencia
.-a~:.Inapor uno baJo la cabc:za para interna, que suele ser indicada como la "velocidad de transferencia"
t:l5Crr...os).Dado qUIl a mlldlda qUIl 106 por los fabricantes de unidades de disco. Debe tornarse esta como la
pa5al1 a la Ilillctr6nlca dill pllriftrico velocidad con que una cabeza puede leer 0 escribir "«I uuelo" los bits de un
pert dll datos dll la irrterfaz, este tillm sector, siendo esta velocidad una medida de' Ia velocidad maxima a la
.. ectura dill eector 115 tamtMn III que se pueden transferirbits entre diseo y memoria (0 viceverse)".
Esto es porque si consideramos el trayecto total que deben
Figura 2.10.c recorrer los datos en una cperaeiort de entrada (lecture de disco)
o salida (escritura del mismo), no se puede dejar de lada eI tiempO' que msume Stl transferencia a
traves del bus (ISA, VESA, 0 PO) que comunica fa pordon central Con eI registro port de datos
bicado en la electronica3 (como la ATA-IDE). Asimismo, importa Ia velocidad de respuesta de esta
mterfaz. Si ella 0 el bus no son 10 suficiente rapidos4, la velocidad real de uansferencia datos hacia 0
desde un disco a memoria puede ser bastante menor que la mfu<ima citada.
La velocidad de transferencia: intema sera la veloddacf de transferencia real solo si a medlda que la
~abeza lee (0 escribe) los datos- de un sector, elIos se van transfiriendo hacia memoria (desde memoria)
:rn demoras. Conforme a 10 anterior resulta que la velocidad de transferencia de un disco depende:
• De la velocidad de bransferencia intema de la unidad de disco· ~dependiente de la densi:dad, y las r.p.m.).
• Del tiempo de respuesta de la mterfaz controladora (EIDE, SCSI)" Y de fa existencia de un cache en ella.
• De la velocicfad del bus alcua11a interfaz se conecta (hoy difa debe ser PCI).
EI tiempo de trans.ferencia entre disco y memoria se halla dividlendo fos bytes de un sector (512), por la
Yelocidad de transferencia, y es par 10 menos 10 que tarda la cabeza en pasar por la zona de datos del sector:
Un disquete de 3 W' Y 1,44 MB, 80. cilindros y 181secfores, por pista gira a 300 r.p.m. 0 sea 200 mseg por
yuelta (como se calculO). Por 10 tanto, un sectorsera recorrido'en (200/18) mseg = 11 mseg. La velocidad de
transferrncia intema sera~ 512 Bytes/n mseg"" 58 KB/seg. que tambiffi sera la velocidad de transferencia,
puesto que aunque la controTadora este conectada a,un bus ISA,.este permite hasta 8 ME / seg.(maximo)
Esra se puedecakulardirectrunente con·la expresi6n sectores/pisra x bytes/sector x rp.seg = 32 x 512 x 60 = 1 MB/seg., dado que
en esencia es e1 numero de bytes por' segundO' que pasan frente a. una cabeza· mientras el disco gira.
Un disco rfgido de 7200 r.p.m. tendni tiempos de transferencia, 'j lateneia igual a la mitad que otro de 3600 r.p.ffi. Igua!mente, si se
lendrfa 64 sectores pot pista, 0 sea el doble de densid-ud, la velocidad de thlnsferencia.seduplica.
1 Actualmenteexisten discos que giran al doble y mas (10.000 r.p.Ol) de la velocidad ejemplificada, y presentan gran densidad (mas
secto[es por pista), con la posibilidad de enviar desde 10 MB/seg. para arriba durante el breve lapso que dura la transferencia
J Tfpicamente, en una PC los datos se transfieren. entre· este port (de la unidad IDE 0 inferfaz SCSI) y el registro AX del
microprocesador. Si se opera en multitasking puede ser conveniente transferir los datos entre dicho port y memoria principal (ADM),
debiendose contar con un bus rapido. EI ADM se usa para leer 0 escribir disquetes, dado que por las velocidades mucho mas bajas
(como 50 KB/seg abajo calculada), aunque se use un bus leoto como elISA, es suficiente para esta velocidad de transferencia.
~ Un bus ·ISA 5610 puede transferir hasta 8 MB/seg. mientras que un PCI hasta 33 6 100 MB/seg. La controladora va realizando
practicamente "al vuelo" la detecci6n 0 correcci6n de errores de los bits que va enviando hacia la cabeza 0 recibiendo de esta.
En general, a igualdad de velocidad de giro, si se aumenta la densidad lineal (mimero de bits por em. de
pista) se transferiran mas bits por segundo. Hoy dfa esta densidad va en aumento en los nueoos modelos de discos
rigidos, dado que con los actuales tipos de cabezas desarrollados se pueden grabar y detectar mas bits par em de pistd
por 10 que cada vez resultan mayores velocidades de transferencia iniema de bits. Esto debe tener como correlato
interfaces (IDE 0 SCSI) que tengan listos rapidamente los datos a escribir 0 los leidos en un disco, y buses
con un ancho de banda apto para soportar tales velocidades de transferencia entre la interfaz y memoria.
Tambien en muchos casos se ha aumentado la velocidad de giro de los rigidos, 10 cual a su vez trae
aparejado una mayor velocidad de transferencia, como se ejemplifico en un pie de pagina anterior.
Teniendo en cuenta los tiempos descriptos, el tiempo total de entrada/salida que se tarda en
atender una orden de lectura (0 escritura) que llego al controlador de la unidad de disco sera:
tE1s = . t 0 + t/ a tencta.
t postclOnamten
.. + ttr·f.
ans,erencta.
Se trata que este tiempo sea 10 mas corto posible, pues la escritura y lectura de archivos en disco
(rigido) es una actividad frecuente en un sistema de computacion.
Sector 7 Sector 8
Figura 2.11
A medida que el disquete gira, la cabeza correspondiente a la pista a formatear va generando en ella cada
uno de los sectores que la componen. Para cada sector la cabeza escribe los mimeros de CHS [cilindro,
En los discos opticos tambien ha ocurrido este continuo avance en la densidad, y por ende en la velocidad de transferencia, debido
al perfeccionamiento del sistema de escritura y lectura del medio.
2 Los disquetes por 10 general hoy vienen formateados en nivel "bajo" y "alto" por el fabricante para los sistemas operativos de
Microsoft. Tambien se pueden formatear 0 vol verse a formatear mediante el comando correspondiente del sistema operativo. Un disco
rtgido viene de fabrica formateado en nivel "bajo", debiendose realizar el formateo de nivel "alto" por el usuario.
3 No debe confundirse elformateo COil el "booteo", que es La accion de pasar a memoria principal una copia de programas del
sistema operative. Este debe ser escrito en sectores de un disco/disquete luego que el mismo es formateado.
U2-15
cabeza (head) y sector] que sirven para identificarlo y localizarlo, y a continuacion reserva un campo para
de bits por em. de datos, de 512 bytes, cuyo contenido se establecera cuando se escriba el sector. Tambien, al final de cada sector
modelos de discos y comienzo del siguiente se ordena grabar otra informacion de centro': un patron fijo de unos y ceros, que
par em de pistd cada vez que son leidos por la cabeza permitiran al controlador determinar el comienzo de cada sector,
como correlato cuando haya que escribir 0 leer datos en los sectores. No quedan espacios sin grabar entre sectores.
un disco, y buses Mientras el programa de formateo se ejecuta, la controladora de disco se encarga de transferir -a la
memoria. cabeza que esta grabando-la informacion que se escribe en el formateo de cada sector.
Luego que genero una pista en una cara, el cabezal no se mueve del cilindro al cual accedio -para
no perder tiempo- y despues genera los sectores de la otra pista (en el disquete) 0 pistas (en el
disco) de dicho cilindro. En cada vuelta puede generarse una pista completa
en
A posteriori del formateo, cuando se escriben y leen archives, cada CHS permite localizar un sector para
escribir en su campo de datos parte de un archivo (0 todo, si cabe), y para leerlo toda vez que sea necesario'.
La cantidad maxima de sectores por pista depende de la densidad de grabaci6n permitida por el material
magneiico (medible en bpi), y de la codificaci6n empleada (como ser RLL). El maximo de pistas por cara, se
archivos en disco relaciona con el pardmeiro tpi que tam bien depende de la maxima densidad factible.
El tamafio en bytes de la zona de datos de un sector debe ser igual al que maneja el sistema operativo
utilizado', Este para poder usar un disco 0 disquete, requiere que luego del formateo fisico citado se escriba
informacion (que mas abajo se detalla) en sectores predeterminados, que constituiran el "area del sistema".
AI proceso de escritura del area del sistema para que un sistema operative' pueda usarla y actualizarla, se 10
conoce como "formateo logico", 0 de "alto nivel". Este se realiza, como se anticipo.Iuego del formateo fisico
Entonces, cuando se formatea un disco 0 disquete, prirnero tiene lugar su formateo fisico, y
despues su formateo logico (en los disquetes este se efectiia automaticamente luego del prirnero).
mismo modo, un
aiguna en elias, y sin Al llevarse a cabo el formateo logico, un pequefio mimero de seetores
se Ie debe dar un predeterminados son escritos (en su campo de datos) con la informa-
':!Ulra 2.11), con su cion que conforma el "area del sistema", para que el sistema operativo
. - datos a escribir. pueda usar el disco 0 disquete para organizar eficientemente la
informacion a almacenar, y actualizar sectores de dicha area (como
Jrr....,nfpn logico", que los del Direetorio raiz y la FAT) cuando sea necesario.
uso del sistema
El "area del sistema" comprende las siguientes estructuras de
raiz).
datos (figura 2.12 y 2.13):
Una vez que un disquete 0 disco fue formateado, ninguna escritura posterior de datos en un sector puede modificar el encabezado
de un sector. Solo ello es posible si un disquete se vuelve a formatear. En cada escritura se cambia el campo de datos (figura 2.11).
2 EI DOS y Windows operan con 512 bytes de datos por sector.Itambien puede hacerlo el Unix). Como se describio, ademas de datos de
archivos, un sector contiene informacion de control, como el encabezarniento citado, y otra, como codigos de verificaci6n CRC 0 el ECC a tratar.
3 Luego que se formatea en forma fisica y 16gica un disco, se debe escribir en sectores del mismo los program as que constituyen el
sistema operativo (SO), y que no formaran parte de la denominada "area del sistema" (la cual es usada por el SO luego que esre fue
grabado en el disco). Para tal fin es necesario contar con un disquete 0 CD que contenga estos programas. De 10 anterior se desprende
'pia de programas del que el formateo no incluye la escritura del sistema operativo en el disco. Un disquete "booteable" debe contener el SO.
U2-16
Partlcl6n
Figura 2.13
Sector maeetro con la Sectoree; de bootee Iablae FAT de lae Directorloe; raiz de
Tabla de Particionee; del de lae; partlclonee C particionee; C, D, E lae partlclonee C,.
dle;co DyE DyE
La "tabla de particiones": a diferencia de un disquete, un rigido puede ser particionado para simular hasta
8 discos rigidos independientes ("particiones")', a fin de poder trabajar con mas de un sistema operative', 0
se quiere partir el disco en dos "vohimenes" (C y D) 0 mas, para aprovechar mejor el espacio (como se vera
al tratar los "clusters"). Esta tabla no existe, pues, en un disquete (figura 2.12)
Antes de usar un rigido, este debe particionarse mediante el comando FDISK del DOS.
La tabla de particiones se encuentra siempre en el primer sector ffsico de un disco rigido (CHS = 0-0-1),
tambien denominado "partition sector" 0 "primary boot sector" 0 MBR ("master boot record").
Este sector comienza con una corta secuencia de instrucciones, que luego de encenderse una PC -y ser
ejecutada una subrutina de la ROM BIOS- es cargada en memoria junto con la tabla de particiones. Dicha
secuencia verifica el buen estado de la tabla Y carga en memoria el programa de arranque del sistema,
guardado en el sector de arranque (boot sector); y ante cualquier incorrecci6n genera un mensaje en
pantalla, cortandose el proceso de carga.
Los 64 bytes de la tabla de particiones permiten determinar: los sectores fisicos donde comienza y termina
cada partici6n:; si el sector de bootee de comienzo de cada partici6n puede 0 no cargar un sistema operativo
contenido en la partici6n (0 sea si esta es booteable 0 no); el tipo de FAT (de 12016 entradas).
La existencia de esta tabla es la {mica diferencia existente en la estructura 16gica de rigidos y disqueies.
El registro 0 "sector de arranque" ("boot sector"): contiene el programa de arranque del sistema', antes
citado, y la "tabla descriptora del medio", Esta guarda datos claves para acceder al disco: el bloque de
parametres para el BIOS -BPB- (mimero de pistas, sectores por pista, bytes por sector, ruirnero de cabezas,
mirnero de sectores por "cluster", ruirnero de seetores logicos), y la cantidad de sectores que ocupan el
directorio y la FAT (para acceder al area del sistema). Un "boot sector" debe existir en el sector ffsico donde
comienza cada particion de un rigido \ y en el primer sector fisico de un disquete (CHS = 0-0-1).
Como si supuestarnente para el usuario existieran 4 unidades de disco independientes ("Iogicals drives").
La partici6n "activa" es La que contiene el sistema operative que se carga en memoria euando se enciende el computador
Esie programa existe siempre, sea el disquete 0 partici6n booteable 0 no, 10 cual depende de si existe 0 no un sistema operative
alrnacenado en el disquete 0 partici6n. En la Unidad I, "La PC por Dentro" se trataron aspectos del "bootee".
4 Cuando una subrutina del BIOS lee el primer sector ("master") de un rfgido detennina cual partici6n es booteable. Luego de traer a
memoria el "boot sector" de la particion, el proeeso de booteo continua como en un disquete.
U2-17
La FAT C'File Allocation Table") tabla para deierminar los "clusters" que componen cada archioo': como
se vera, el OOS divide cada archive en una cadena de bloques de igual tamano llamados clusters". II
La FAT es la imagen 0 mapa que tiene el OOS del area de datos' de un disquete 0 partici6n de un
disco rigido, donde aparecen numerados todos los "clusters" que se pueden usar, indicando para
cada uno si esta ocupado (formando parte de un archive almacenado), 0 si esta disponible (para un
nuevo archive' 0 para ampliar uno existente). Asimismo -como se ejemplificara- dado el mimero de un
"cluster" ocupado por un archivo, la FAT indica cual es el mimero del siguiente cluster que el IX>S le
adjudico a ese archivo. Esto le sirve al IX>S para determinar la serie 0 cadena ordenada de los numeros
de "clusters" (consecutivos 0 no) que forman cada archivo. Despues, con un simple calculo se halla el
sector fisico donde empieza cad a "cluster" en el disco 0 disquete.
El direetorio raiz es actualizado por el sistema operativo, y 10 utiliza para determinar par su nombre si un
archivo 0 subdirectorio esta 0 no ahnacenado. Tambien indica sus atributos (protegido contra escritura,
lectura/escritura habilitadas, oculto, S1 es subdirectorio, etc.), tamano del archive, y fecha de creaciori/
actualizacion del mismo. Asimismo, proporciona al sistema operativo el numero del primer "cluster" del
archivo buscado, para entrar en la FAT, a fin de determinar en ella los "clusters" que componen ese archivo.
Su nombre se debe a que es la "raiz" 0 base (localizable siempre en un sector reservado establecido), para
que a partir del mismo pueda definirse jerarquicamente un arbol de subdirectorios guardados en otros
sectores fisicos (cuya ubicaci6n se asigna en el momenta de su creaci6n) del disquete 0 disco.
Para escribir / leer la FAT 0 el directorio raiz, el IX>S debe traer del disquete 0 partici6n del disco una copia a
memoria. Si ella es escrita, 0 sea modificada, hay que vol verla a grabar en el sector correspondiente.
Sistematizando (figuras 2.12 y 2.13): el primer sector fisico de un rigido es el "master" 0 "partition
sector"; y en un disquete, el primer sector contiene el sector de booteo, yen los siguientes encontramos la
FAT Y el directorio raiz, Igualmente, en el primer sector fisico donde empieza cada partici6n de un rigido
encontra-mos -como en un disquete-- su sector de booteo, seguido por su FATy su directorio raiz.
En los disquetes se realiza el formateo fisico seguido dell6gico en un solo paso (mediante el comando
FORMAT para el DOS, el cual tambien lleva a cabo el forma teo 16gico de un disco rigido).
Un disquete se puede formatear muchas veces. Con cada nuevo formateo se destruye cualquier dato
grabado, pues se escribe encima nueva informaci6n.
Tambien los fabricantes venden disquetes ya forrnateados fisica y 16gicamente para IX>S y otros sistemas.
Los discos rigidos vienen de fabrica formateados fisicamente.
En sectores del "area de datos" de un disco 0 disquete se carga (almacena) a posteriori el sistema operativo.
Por 10 tanto, este Ultimo no se almacena en el area del sistema, como a veces se confunde.
En el espacio para archives que "ve" y mancja el sistema operative, constituido por "clusters" (bloques de 512, 1024. 2048, ...
bytes (0 sea I, 2, 4 .... sectores) segun el tamafio del disquete 0 partici6n del ngido, los cuales se corresponden indirectamcnte con un
sector 0 un mlmero potencia de 2 de sectores) individualizables por nt1meros. 0 sea, que estos numeros no eslin relacionados directarTlCnte
~on los seclOres fisicos de un disquete 0 partici6n de un disco. Existen al menos dosFATs, aunque esto brinda una seguridad relariva.
• Del mismo modo, en un rfgido. el primer sector Fisico (donde tambien estii la tabla de particiones) Ie sirve at sistema operativo de
referencia pam localizar infonnaci6n en los sectores fisicos que componen el area del sistema.
3 Despu~ del fonnateo 16gico, todos los "clusters" deben aparecer con In indicnci6n de disponibles.
17
U2-18
confirma que es el GiS del sector a escribir (el tiempo que media desde que se dio la direcci6n del sector
hasta su localizaci6n, es el tiempo de acceso) En la zona de datos que sigue (figura 211) se escribiran "a]
vuelo" los bits que le envia la controladora, mientras la cabeza pasa por d.icha zona.
Cuando se desee leer dichos datos asi escritos, llegaran a la controladora los numeros de CHS de
ese sector, y la orden de lectura. Una vez localizado el sector, al mismo tiempo que la cabeza lee su
zona de datos, envia a la controladora una copia de ellos. Puesto que una lectura no destruye datos,
esto mismo ocurrira cad a vez que posteriormente se lea dicho sector.
Para modificar total 0 parcialmente los datos de un sector, se realiza una escritura como la
descripta, y cuando por la cabeza pas a la zona de datos, esta es re-escrita' totalmente (aunque los
cambios sean parciales), destruyendo los datos anteriores.
Ninguna escritura puede destruir 0 cambiar los numeros de CHS de un sector escrito en el forma teo.
El sector logico °= con el sector fisico 1 de la pista de la cara superior (CHS = 0-0-1)
SL(O) se corresponde
10 cual en la figura 2.15 se indic6 0,0,1(0); el SL(l) con el fisico de CHS 0-0-2, Y as! sucesivamente en esa =
pista, hast a el SL(I7), que se corresponde con el de CHS 0-0-18. El SL(18) continua en correspondencia =
=
con el sector fisko de CHS 0-1-1, a sea del mismo cilindro, pero de la pista 1 (cara inferior); y el SL(19)
=
con el de CHS 0-1-2, Y asi en esa pista, hasta el SL(35), que se corresponde con el de CHS 0-1-18. =
Esla operoci6n no es factible de realizar en una cinta magnelic3. por tratarse de un sistema menos sofisticado para la detenninaci6r.
de cada bit en cada bJoque de datos. siendo que la cinUl sufre variaciones de longitud.
2 El adjetivo "Iogico" en informatica tiene el significado de unn referenda, designacion 0 vision, segun el punto de vista uper.llivu d~
un usuario. un programador. 0 un programa (incluido un sistema operotivo). de n1gun dispositivo. registro. IlCchivo. u Olro ente.
A.~i. por software. se puede particionar un disco rigido (que fisicamenle es un solo medio de almacenamiento) en dos discos "16gicos"
designlldos "C' y "D" que el usuario puede ilTUlginar como sepamdos. En CIISO de que el disco no esle pmiciorudo. el disco 16gico
design3do "C" can que opero un usuario. 0 un sistema opemlivo. coincide can el disco fisico particulnr que se trace.
U2-19
El DOS Y otros sistemas, ademas de "ver"sectores "logicos", dividen los archivos de cada particion 0 disquete
en unidades de igual tamano.Ilamadas "clusters". Un "cluster" puede estar formado por un sector logico (en
un disquete de 3 lh) 0 agrupar un ruimero de sedores logicos de numeracion consecutiva. Este numero es una
potencia de dos, que depende del tamano de la partici6n en un disco rigido, como se indica mas abajo).
Un "cluster" ("grupo") es del tamafio de uno 0 varios sectores (512 bytes 0 512 por 2, 4,8,16,32 ...),
el cual depende del tamano de la particion del disco rigido (discos logicos C, D, E, etc.) donde se
guarda el archivo al cual dicho "cluster" pertenece. 0 sea que un "cluster" agrupa 1,2,4,8, 16, 32,
... sedores, siendo que todos los "clusters" de una misma particion tienen igual tamafio.
Asimismo, un "cluster" es la menor fracci6n de un archivo a la que se puede acceder en una operaci6n de
escritura a lectura de un disco, 10 cual implica la lectura 0 escritura sucesiva de todos los sectores que
.. componen dicho "cluster?'. Un "duster", al igual que un sector, no puede ser compartido por dos archivos .
Para el DOS un archivo es una cadena de "clusters", cuyos rnimeros pueden ser 0 no consecutivos, debiendo
cumplirse que los sectores logicos que constituyen aula "cluster" sean de numeracion consecutiva.
i:I determinacion
Si cada "cluster" son 4 sectores 16gicos de nurneracion consecutiva, cuando el mistrliJ se guardu ell un disco deberd ocupar -I
sectores fisicos IlImbiin de llullJeruchjn consecurivu. por 10que existirn una gran probabilidad de que penenezcan a un misll10 cilindro,
aunque el metodo de la divisi6n en "clusters" no puede :lSegurar que esto sucedera. Esto por un lado pennite que rodos los sectorcs de
un "cluster" puedan ser localizados ffsicamente en un disco con un solo acceso del cabezaI. 10 cuaI redunda en menores tiempos para
acceder a los archivos.
U2-20
Tamano de la partlcl6n (0 deJ'dlsco entero) Tamano del "cluster" Cantldad de sectores consecutivo!!"
En los disquetes de 5 lAcon 1,2 MB. Y de 3 1h con 1,44 MB, un cluster es igual al tamano de un sector (512
bytes); mientras que en los de5lA con 360 KB, yde31hcon2,88 MB, un cluster son 1 KB (2 sectores).
Si bien cada "cluster" (entidad logica) tiene su correla to fisico en uno 0 varios sectores fisicos (figura
2.16 b), para el DOS cada "cluster" se corresponde con uno 0 varios sectores logicos numerados
consecutivamente, como indica 1a figura 2.16.a para "clusters" compuestos de 4 sectores.
Figura 2.16.a
Otra raz6n fue que cuando los discos rigidos aumentaron mucho de capacidad, y en consecuencia la cantidad de sectores que
contenfan, In FAT, por la cantidad de bits que podfa codificar, s610 podla tabular hasta un ruimero maximo de sector 16gico.
U2-21
acceder a 15 cilindros (contra los 57 acoesos hipot'eti.cos calculados). Como contrapartida, puesto que un
archivo debe dividirse en un mimero entero de "dusters", puede suceder como en este caso, que 0,4 KB
ocupen uno de los cuatro sectores (2 KB) que forman un "cluster", quedando tres sedores sin usar.
Suponiendo que el archivo anterior se hubiese guardado en un disco de 2048 MB -= 2 GB, conforme
a la tabla mas arriba indicada, el tamano de los "clusters" para dicha capacidad es de 64 KB (128
sectores), siendo en general, que cuanto mils grande es una particion, mayor es e1 iamaiio del "cluster".
Entonces, en ese disco, dicho archivo ocuparia un solo "cluster", desperdiciandose 64 - 28,4 35,6 =
KB para el caso que el archivo no aumente mas de tamano.
Cuando se opera con un procesador de texto, es muy probable que un gran mimero de archivos, como el
ejemplificado, 0 porciones de ellos, sean menores que 32 KB. De no particionarse el disco (0 sea si se tiene
una sola particion de 2 GB, traeria aparejado el ~sperdicio de cientos de megabytes de espacio).
En cambio, si se divide el disco en dos particiones de 1 GB, en cada una los "dusters" seran de 32 KB,
reduciendose el desperdicio de espacio (si se quiere, las particiones pueden tener distinto tamano).
Por 10 tanto, el particionado de un disco no solo posibilita operar con distintos sistemas operativos (uno por
particion), sino que tmribien es necesaria realizarlo para aprooechar meier fa capacidad de Ult disco.
Vale decir que en la columna de entradas de la FAT, cada nUmero de "cluster" utilizado por un
archivo va acompanado, en la segunda columna, de otro nUmero correspondiente al"cluster" que
Ie sigue, salvo el ultimo, que va acompanado de FFFF, para indicar que no Ie sigue ninguno.
Por 10 tanto, si un nllinerq de "cluster" esta acompanado por otro nUmero de "duster", significa que dicho
"cluster" esta ocupado por algUn archivo. Si esta acompanado por FFFF sera el Ultinw de un archivo; y si 10
esta por el c6digo 0000, significa que dicho "cluster" esta libre, (el "duster" de nUmero 0 no se usa).
para En caso que vaya acompanado del c6digo FFF7 implica que algUn sector el "cluster" estti en mal estado.
:..JSter".
debera
Si el DOS detecta que la longitud en KB de un archivo (indicada en el directorio ralz 0 subdirectorio) es meRor que un "duster". no
acced~ a la FAT. dado que en el primer numero de "cluster" seiialado por el directorio to subdirectorio) eslli tooo ~J archivo.
U2-23
.GAP80
I!i~ GAPSO
CAMPO DE DATOS (512) M GAPBO
Los "(lmaros que aoompafian a las letras indican la cantidad de bytes que ocupa cada campo
Figura 220
El sector 1 (0 cualquier otro) consta de 10 campos. Un campo "SYNC 12" indica comienzo de seclor. Le sigue
"IDAM" (ID Address Mark) con 3 bytes particulares, el cual avisa que sigue el campo de lUO:'"Ull'-'i"'-'JO~I" ... ~."..
(direccion) CHS del sector. El CHS es de 4 bytes, que indican los mimeros de cilindro, cabeza, sector y ""'''''''.1
del sector. Luego viene el campo CRC ("Cyclic redundant code", de 2 bytes que se calcula y escribe en
forrnateo'. Cada vez que se accede a un sector, mientras la cabeza lee su IDAM y su CHS (ya sea para escribir
leer el campo de datos que sigue luego) la contro.adc. ·'Uelve a realizar Hal vuelo" el calculo que hizo en
formateo, para verificar si coincide el valor calcu ..ido del -:R ~ con el que esta escrito en el campo CRe. De
ser asi, existen errores en la identificaci6n del sector, que el CRC permite detectar en multiples cases', pero
no pueden ser corregidos (al igual que con el CRC para los datos que sigue al campo de estes).
El encabezado (''header'') del sector, compuesto por los campos recien citados, esta separado del campo
datos del sector por tres campos: el "GAP 22", con 22 bytes 4EH (para dar tiempo a la controladora
realizar la verificacion del CRC citada), otro "SYNC 12", Yel "DAM" (Data Address Mark} con 4 bytes.
El campo 0 area de datos, que para el DOS es de 512 bytes, se escribe cuando se da una orden de "''''-Lau .....·11
Entonces, a medida que la cabeza va escribiendo los 512 bytes, la controladora va calculando otro CRC
los datos, cuyo valor escribe en el campo CRC de 2 bytes que sigue al de datos'. El Ultimo campo de
sector es otro "GAP 80", que da tiempo para verificar el CRC, escribir dos sectores consecutivos a pesar
las variaciones de la velocidad de giro, y oficia de separador con el encabezado del sector siguiente.
Asi se suceden los sectores de una pista, cuyo mimero depende de la densidad (bpi), separados po:
el campo "GAP 80". Luego del Ultimo sector existe un "GAP n", con n bytes 4EH, que indica fin de
pista, )f sirve como "GAP 80".
Esta compleja estructura pennite: que la controladora determine el comienzo de cada campo, que la zona
datos pueda re-€SCribirse cuantas veres sea necesario, y se compensen variaciones de velocidad de giro.
La controladora realiza una divisi6n a medida que en el formateo se escribe el lOAM y el CHS, entre los unos y ceros de estn
campos. y los de un niimero binario predeterminado (coeficientes de un polinomio en x), euyo resro es el CRC
2 Asf, el CRC (tarnbien lIamado Cyclic Redundancy Check) de normas CCIlT permite detectar: errores en uno 0 dos bits en UP'
100%; errores con un numero impar de bits en un 100%; tren de errores de hasta 16 bits eonsecutivos en un 100%, idem con 17 bits er
un 99,996%; la mayoria de los otros tipos de tren de errores, en un 99,998%. Existe una baja probabilidad de que algunos errores lli.
sean detectados, cuando el patron de errores es tal que genera un valor de CRe igual al que estd escrito en el campo eRe del sector.
Un CRC permite deteetar errores, pero no corregirlos, como ocurre con el campo ECe de los discos rigidos. Es por ello que con 1<1
~isquetes aparecen mas errores visibles que con un r{gido
. Por 10 tanto, cada sector presenta dos verificaciones eRe: una para el encabezamiento y otm para los datos. El CRe I se escribe CIl
el formateo, y el CRC2 cada vez que se escriben 0 re-escriben los 512 bytes de datos. En la lectura de estos datos deben tambier:.
coincidir el CRe calculado con el que esra escrito en el campo CRC que sigue a los 512 bytes.
U2-25
) ceres de estos A su vez por cables de dicho bus de conexi6n, la electr6nica puede enviar hacia la interfaz sefi.ales, como:
• Aviso de inicio de pista (cuando el agujero correspondiente del disquete coincide con el del sobre).
• Aviso de escritura protegida.
• Aviso que datos leidos son enviados a la interfaz.
Se irara de un motor cuyo eje en lugar de girar continuameme. sc detiene brevcmente en posiciones separadas un angulo
establccido. Asi. va saltando de una posicion a la siguientc.
2 Una cabeza es soportada por un braze (para 13cara superior del disco), y 13otra esta en 13 parte inferior de la armaduru del cabezal,
como aparecen a la derecha de la figura 2.21.
U2-26
Como resultado de estas senales, si todo esta en orden, puede tener lugar la transferencia serie de
bits leidos en un sector de un disquete hacia 1a interfaz (0 en sentido contrario en una escritura d,
un sector) a traves de uno de los cables del bus de conexionado citado.
MEMORIA
MICROPROCESADOR PRINCIPAL
ESQUEMA
AI igual que las interfaces universales "port serie" y "port paralelo" tratadas en la Unidad 1, la interfaz-
controladora de la unidad de disquete (figuras 2.21 y 2.22') conforma un nivel de electr6nica entre el bus
ISA (que comunica con la memoria y la UCP), y la electr6nica del periferico (disquetera en este caso).
En relaci6n con dicha electr6nica, intercambia datos en serie, y sefiales. Estas ultimas mencionadas
al final de la respuesta anterior. Las mas importantes se indican en la figura 2.2l.
Por el otro lado, desde el bus (ISA) recibe en paralelo comandos (que, como eJ CHS, indican 1a ubicaci6n
del sector a acceder, y si e1 mismo debera ser escrito 0 leido), los cuaJes son transferidos mediante AIM
desde memoria hacia la interfaz (trayectoria en gris oscuro en la figura 2.22.a), siendo retenidos
transitoriamente en esta en registros, que son los "ports para comandos" de esta interfaz.
En una escritura (figura 2.22.b) desde memoria y pasando en paralelo a traves del bus de datos, Ilcgaran por
I ESI:lS figuras son mas detalladas que la figura 1.63 de la Unidad I, Y con el disquete separado de In disquetera C0l110 en un dispiece
::;.-s a escrtblr solen de la electr6nlca de la
:fs::'....e:ero hocio la cabeza
=' ~ zona de datos del
Figura 2.22.b
CHIP CON EL
PORT DE DATOS
con numeros
cobeza (H) y
: occeder
CONTIENE LA
r.'iROlADORA
C~DISQUETE
• COMAN DOS
ADM al port de datos de la interfaz, cada uno de los bytes a escribir. Yen una lectura por dicho port pasaran
(por ADM) cada uno de los bytes de datos del sector Ieido, con rumbo a la memoria principal, via el bus.
-a 2.22.a Como se dijo, a la i.nterfaz-controladora le llegan comandos que ordenan leer 0 escribir un sector, del cual se
indican sus ruimeros de CHS. Merced a la ejecuci6n de subrutinas del BIOS' estos comandos que estaban
en memoria principal, pasan al registro AX. de la UCP (linea blanca de la figura 2.22.a), y de este a los
registros "ports de comandos" de la interfaz, a traves del bus de datos que llega a esta (linea en grisado).
1 la interfaz-
La interfaz, despues de recibir estes comandos realiza las siguientes acciones de control:
: entre el bus
• Traduce dichos comandos en senates destinadas a la electr6nica de la disquetera. Prirnero para
~caso).
activar el motor de giro del disquete, y para que el eje del motor "paso a paso" gire una sucesi6n
mencionadas
de angulos iguales, en correspondencia con los cuales el cabezal pasa de un cilindro (pista) a otro,
) hasta posicionarse en el cilindro (pista) ordenado (estas sefiales ya se indicaron en Ia figura 2.21).
r ..a ubicaci6n
r.ediante AIM • Indica a la electr6nica de la disquetera el numero de sector buscado. Mientras gira el disquete,
do retenidos una de las dos pistas del cilindro accedido sera leida por la cabeza indicada por el comando,
hasta localizar el sector buscado. Para 10 cual, dicha cabeza lee los mimeros identificatorios
~ llegaran por (CHS) de cada sector que encuentra en la pista que accedio, los cuales son transmitidos a la
en un dispiece En definitiva estas directivas son enviadas por el sistema operative, dado que la Rom Bios puede considerarse parte del rnisrno
interfaz, para determinar si es 0 no el comienzo del sector buscado, a fin de escribir 0 leer
(segun sea 1a orden) los datos en el campo de datos del sector buscado.
• En una escritura (figura 2.22.b), los bytes a escribir en el sector van llegando (byte por byte) po.
el bus (desde la memoria) al "port de datos", y a medida que llegan a este, los bits de esos byte.
pasan en serie hacia la cabeza, para que los escriba en el sector accedido.
• Al mismo tiempo que escribe 0 lee los bits en la zona de datos de un sector, realiza el calculo del
CRC (figura 2.11) cuyo valor graba a continuacion de esa zona en una escritura (0 verifica en una
lectura).
• Si es una leciura, los bits de datos que estan en el sector son leidos en serie par la cabeza, y pasan a
dicho port de datos de la interfaz. A medida que llegan a este port, salen en paralelo (como bytes
por el bus hacia la zona (buffer) de memoria principal reservada para los mismos.
• Realiza el manejo y control de errores, codificando en un registro port el tipo de error ocurrido.
Que en las mini y grandes computadoras pucde incorporar mas irueligencia, constituycndo los dcnominados "canales de ElS".
Un controlador de ADM permit" que varias interfaces de perifericos (disqueteras, scanner, audio en multimedia, ... J asignando un
··COIlU/"" a cada una, Cada "canal" tiene sus propios registros RDI, RC. RD, a tratar,
La controladora de ADM (hgura 2.22.a y b), como la UCP, maneja una linea de ~/ontrol d~ LIE de
:ribil: 0 lee
memoria, y presenta baslcamente los slgulen\es regls\1ol2, eI\ ~:aQ:i\\ID~ Q.~ \\)~ td1\o.\~'& \\\l~\\)~
r byte) por componen, los cuales se pueden escribir e identificar par una direccion, como los ports:
le esos bytes
• "Registro de direcciones" (RDI) al igual que la UCP, donde se indica la primera direcci6n de
memoria a leer 0 escribir.
!. calculo del
• "Registro de cuenta" (RC) para indicar el numero de bytes a trans£erir por ADM (por ejemplo 512), 0 sea
r.fica en una
cuantos ADM deben realizarse para leer 0 escribir la zona de datos del sector.
• "Registro de ordenes" (RO) para habilitar la realizaci6n del ADM cuando 10 solicite la interfaz
(mediante 1a activaci6n de la linea DRQ), y ordenar si el ADM es para leer 0 escribir la memoria.
• "Registro de status" (RS), en el cual un bit indica si se completo Ia transferencia de un bloque.
Antes que se realicen los ADM, se deben escribir (por AIM) los contenidos de estos registros (0 sea
inicializarlos) mediante la ejecuci6n de una subrutina que debe ejecutar la UCP mientras el cabezal se
posiciona en el cilindro ordenado. Cad a uno de esos contenidos primero pasa de memoria al registro AX
(linea blanca en la figura 2.22.a) al ejecutarse una instrucci6n de transferencia, y luego mediante la
ejecuci6n de instrucciones tipo OUT pasan de AX a dichos registros (linea negra).
De esta forma, cuando se lleva a cabo el primer ADM, el ROI apunta a la primera direccion de memoria
(supuesta 5000) que se debe leer 0 escribir. En una escritura del disquete, una vez que pas6 el primer byte de
memoria a1 port de datos de la interfaz (y en sentido inverso en una lectura), la controladora de ADM le
suma uno al ROI, Y le resta uno al RC (este cuenta los ADM). Asi se podra acceder ala siguiente posicion de
memoria, para luego otra vez incrementar ROI (para acceder a la posici6n que sigue) y decrementar RCi y
asi sucesivamente se escriben (0 leen) por sucesivos ADM las posiciones consecutivas de una zona buffer de
memoria principal, hasta que el contenido de RC sea cero, 10 cual significa que el Ultimo ADM se complete.
Por ejemplo, si en una pantalla Windows indicamos con el cursor del mouse que queremos abrir 0 guardar
un archivo en un disco 0 disquete, se pasara a ejecutar una secuencia de instrucciones entre las cuales exis-
tira una para llamar al SO, que expresada en assembler sera del tipo !NT nn' si la UCP de la PC es un 8Ox86
(0 un clon de Intel). La mismo si mediante e1 teclado damos una orden de apertura 0 cierre de archivo.
Igualmente, si en un lenguaje de alto nivel se tiene una sentencia como READ, WRITE, GET, PUT u otra que
.Contiene ordena escribir 0 leer un archivo, eJ prograrna compilador la traduce a una secuencia de instrucciones de
maquina, entre las cuales habra una que llama al SO, que sera del tipo !NT nn, si el compilador traduce al
c6digo de maquina que debera ejecutar un procesador 8Ox86 0 Pentium de Intet
Ejemplificaremos aspectos fundamenta1es de un proceso de escritura de un. archivo (0 parte del
mismo) en un sector en un disquete, que dividiremos en cinco fases 0 momentos, las cuales tambien
suceden total 0 parcialmente en operaciones de E/5 de otros perifericos.
Conforme a 10 anterior, para que este proceso tenga lugar, en un programa en ejecuci6n debe existir
una instrucci6n de Hamada al SO, que es INT 13 si el procesador es un 80x86.
I. Fase de preparacion: ruando la UCP ejecuta el c6digo de maquina de !NT 13 comienza esta £ase,
primera de las cinco £ases en que hemos dividido la escritura de un sector. Dicho c6digo ordena que la
UCP pase a ejecutar una subrutina del SO (0 del BIOS) cuyo cometido es llevar a cabo la presente £ase.
deE/S". Dc ~n mouo mas general: las operacioncs de ElS son prcparadas, activadas y controladas por subrutinas del SO .
.mgnando un EI Ilumero nn slI'Ve de base para localizar una subrulina que prepara la operacion de EJS que se necesita hacer.
P:lru oiros procesadores. eSIUinstrucci6n de Ilamada al SO liene Olro nombre: SVC. Call. Trap. etc
U2-30
Algunas de las numerosas acciones preparatorias, que realizara esta subrutina del SO y otras
subrutinas del sistema, que dicha subrutina a su vez llama a ejecucion, seran:
division del archivo a grabar en "clusters", que para disquetes de 3 W' 2HD son del tamafto de un sector;
- lectura del directorio raiz del disquete, (y luego si corresponde, de un archivo subdirectorio)
para determinar si el nombre del archivo en cuestion no existia antes; asi como la lectura de la
FAT (para que el 50 asigne mirneros a los "clusters" que formaran dicho archivo).
escritura (en el subdirectorio) del nombre asignado al archivo, y en la FAT los" clusters" que ocupa;
conversion de cada numero de "cluster" asignado en ruimero de cilindro, cabeza y sector (CH5),
o sea que sector del disquete corresponde a cada "cluster".
En especial nos interesa el hecho de que una vez realizadas las acciones anteriores, la ejecucion de
subrutinas del BIOS' hace que lleguen a los registros ports correspondientes los comandos (figura 2.22.a).
Estos ordenan que deben hacer el controlador de ADM y la interfaz-controladora de la disquetera, a saber:
• comandos que iran al port de comandos de la interfaz-controladora de la disquetera, para
indicar la direccion del sector a acceder (sus ruimeros CH5), con 10 cual el cabezal se posicionara
al finalizar la presente fase de preparacion en el sector a escribir
• comando que ira al registro RC del controlador de ADM, para indicar que deben transferirse
512 bytes entre memoria y el sector.
• comando que ira al registro RDI del controlador de ADM, para indicar a partir de que direccion de
memoria se encuentran los 512bytes a transferir hacia el port de datos de la interfaz de la disquetera.
• comando para el registro RO del controlador de ADM (cuyos contenidos se citaron).
En esencia, estos comandos indican, pues, el numero de bytes a transferir, y el origen y destine' de
estos datos, ya sea para una operacion de escritura de un sector, 0 para una lectura del mismo.
Primero llegan comandos a los ports de la interfaz controladora, con 10 cual esta origina sefiales de con-
trol en el bus que la une con la electronica de la disquetera (figura 2.22.a),merced a las cuales esta Ultima
comienza a realizar una secuencia de acciones, que en una escritura tipicarnente comienzan como sigue:
a. Poner en rnarcha el motor de giro de la unidad (A 0 B) seleccionada, ordenar que las dos cabezas se
pongan en contacto con las caras del disquete, y.esperar 1hseg. hasta que alcance la velocidad correcta.
b. Posicionar ("seek") el cabezal en la pista (cilindro) cuyo numero se ha indicado.
.
Hasta que este posicionamiento ocurra (luego de unos 25 mseg.), la UCP puede ejecutar subrutinas a fin de:
c. Inicializar y activar la controladora de ADM, para 10 cual escribe en sus registros ports RO, RDI,
Y RC antes citados, los valores para preparar el ADM a realizar, a fin de leer 512 bytes de
memoria y transferirlos al port de datos de la interfaz.
d. Enviar a un port de la interfaz controladora, una serie de bytes con comandos, que ordenan escribir un
sector (0 varios) de una pista (ya indicada en b); la indicacion del ruimero de cara (cabeza), mimero de
sector, tamafio del mismo, y otros parametres relativos a como fue forrnateado el disquete.
2. Sincronizacion: en general, para que un periferico escriba en su soporte, previamente deben llegar
(desde memoria al port de datos de su interfaz) los bytes que se quiere dar salida. El momento en
que esta transferencia puede realizarse 10 determina (sincroniza) la electronics del periferico.
En una disquetera, en la fase 1 el cabezal llegara al cilindro (pista) indicado, y desfilaran los
sectores de dicha pista" frente a la cabeza que accede a la cara seleccionada del disquete. Cuando la
cabeza se encuentra sobre el sector al que se quiere acceder, la electronica de la disquetera avisara
con una senal a su interfaz que es el momento de enviar los datos a escribir desde memoria hacia el
La ejecuci6n de instrucciones de esras subrutinas del tipo OUT (Figura 1.66 de la Unidad I) permire enviar -a troves de las linens
de datos del bus- sucesivos comundos desde el registro AX de la UCP (al cual lIegaron desde memoria) hacia rcgistros pons de la
interfaz controladora de disquetcra, y a los registros de la controladora de ADM
2 Si es una operacion de entrada. el origen sera un sector del disquete, identificado por sus ruimeros CHS, y el destino la memona
principal. EI sistema operativo deja indicada en memoria la direcci6n a partir de la eual se guardardn los 5 J 2 bytes provenientes lid
sector leido. En caso de irararse de una operaei6n de salida el origen sera la memoria y el destine el sector a escribir.
, Recordar que en cualquicr pista de un disquete, los sectores se enumeran a partir de la serial que indica la concordancia de un
agujero indiee del disquete eon Olro existente en la cubiena protectora.
U2-31
port de datos de la interfaz, 0 sea de comenzar la transferencia por ADM. Esta sefial llegara por el
bus que la com unique con la interfaz, y hara (figura 2.22.b) que esta active fa linea DRQn que va a la
controladora de ADM (n es un mimero que identifica a esta interfaz).
Entonces,la activaci6n de DRQn es la seiiui de sincronismo para que la controladora inicie el ADM.
3. Fase de transferencia (por sucesivos ADM) de los datos entre memoria principal y el port de
datos de la interfaz. Comprende los siguientes pasos (figura 2.22.b):
a. Al detectar la controladora de ADM que DRQn fue activada (10 cual implica que la cabeza
seleccionada esta pasando sobre el sector indicado, para escribir (0 leer) bits) ella tom a el control
del bus que comunica con la memoria.
b. La controladora de ADM responde activando la linea DACKn que llega a Ia interfaz (no dibuja-
da) para que el port de datos de dicha interfaz este lis to para tomar el byte que llegara por las li-
neas de datos del bus, que sera el primero de los 512 a escribir en el campo de datos del sector'.
c. La controladora de ADM coloca el contenido de su RDI en las lineas de direcci6n del bus, y
ordena lectura de memoria principal, para 10 cual hace uno el valor de la linea LIE (LIE = 1).
d. Un byte (0 dos) es transferido desde la posicion de memoria direccionada al port de datos de la interfaz.
e. En la controladora de ADM su registro RDI es incrementado uno, y RC es decrementado uno.
f Si el contenido del registro RC no es cero se vuelve al paso a.; si RC = 0 (0 si surge algun proble-
ma) la controladora cede el control del bus ala UCP, y sigue el paso g.
g. La controladora de ADM pone en uno el bit de su registro RS que indica transferencia de un bloque
completo, y avisa a la interfaz, para que esta active su linea IRQn de solicitud de ;nterrupd6n.
4. Escritura del sector bajo control de la electr6nica de la disquetera: cada byte (0 dos) que lIega en parale-
10 (por ADM) al port de datos de la interfaz, es convertido a bits en serie. Estos bits son considerados
en el calculo que en la interfaz se realiza para deterrninar el CRC, y son enviados con codificacion Iv1FM
(se explica mas adelante) a la electronica de la disquetera, la cuallos envia a la cabeza que los grabara
en el sector al que se accedio.
Luego de que llego el Ultimo byte que se debe escribir en la zona de datos del sector, la interfaz
enviara a dicha electronica los bits que la cabeza deb era escribir en la zona del CRC (figura 2.20).
Al finalizar, la electr6nica enviara senales a la interfaz, para que esta indique en su port de status
si la operacion de escritura ordenada fue exitosa, 0 si debe codificar algun tipo de error sucedido.
En caso que en la etapa de preparacion en lugar de una escritura se ordene una lectura de un sector, la
controladora de ADM en cada ADM escribira la memoria principal. Por tratarse de una operaci6n de
entrada, el sentido del movimiento de los datos es del sector del disquete hacia memoria, por 10 que debe
invertirse el orden de las fases 3 y 4 descriptas para la escritura de un sector.
Esto es. ahora en la fase 3 -de lectura del campo de datos del sector accedido- a medida que la
cabeza seleccionada va leyendo esta zona del sector, la electronica de la disquetera va enviando
hacia la interfaz, informaci6n en serie codificada en MFM.
Esta informaci6n, a medida que llega es decodificada, para determinar los bits de datos que contiene,
los cuales tambien son considerados en el calculo que en la interfaz se realiza para determinar el eRe.
Los bits que componen esta informaci6n son convertidos en grupos de 8 (un byte), con destino al
En In lectura de un sector (escritura de la memoria) un byte (0 dos) del pon de datos pusan a las lineas de datos del bus
port de datos, de modo que en la fase 4 -ahora fase de transferencia por ADM succsivos-- cad
byte salga en paralelo por las lineas de datos del bus, para ser escrito er, la memoria.
Cada ADM se realiza conforme a los pasos a hasta g descriptos en la fase 3 de la escritura de un sector, c
la salvedad que en c se ordena una escritura (linea L/E=O), y en d la transferencia tiene sentido inverso.
La fase 5 -de verificaci6n- es identica a la descripta, y supone que al final de la fase 3 -luego que se leyero
todos los bits de la zona de datos del sector-la cabeza lee el campo CRC, y los bits que la componen al
a la interfaz son contrastados con los que componen el CRC que calcul61a interfaz controladora. Si no exist
coincidencia entre el CRC calculado y el CRC escrito en el sector, se debera repetir la lectura.
De 10 anterior resulta, que de todos los campos de informaci6n presentes en un sector de un disquete, sol
llegan a memoria principal los (512 en el DOS) bytes contenidos en la zona de datos propiamente dicha.
No confundir con las iniciales HD de High Density que vienen en los rnicrodisquetes.
A veces denominadas "Winchester 30-30" -corno el rifle- por presentar un modele de disco 30 MB fijos Y 30 MB rcmovibles.
U2-33
La estructura en cilindros, pistas y sectores, as! como la escritura 0 lectura de las mismas es similar a la de los
disquetes, y de hecho se han tratado al describir los disquetes. Pero en los discos duros cada cabeza se sima
a unas pocas millonesimas de milimetro (menos que el grosor de un cabello) por sobre la pista que recorre,
sin rozarla. Asi se evita el desgaste de la superficie del disco debido a la friccion de la cabeza.
Cada cabeza £lota como un navio catamaran en un colch6n de aire producido por la gran velocidad de giro
de los platos. Se reservan pistas de un cierto cilindro para estacionar las cabezas cuando el motor se detiene.
Actualmente existen discos con cabezas de semiconiacto, 0 de proximidad, que estan en contacto con la
superficie de la cara durante cortos tiernpos, para sensar mejor variaciones de campos magneticos,
En los discos, el "tiempo medio entre fallas (MTBF)" es una estimaci6n estadistica de cuanto en promedio
durara antes de que faile. Por ejemplo, si MTBF = 87.600 horas implica que podria llegar a funcionar 10 anos
sin parar, libre de failas que irnpidan su funcionamiento, aunque la garantia de devolucion por este tipo de
fallas, es tipicarnente de un afio; siendo ademas que un disco se puede volver obsoleto en 2 0 3 afios.
El hecho de que un rigido este contenido en una caja cerrada y sobrepresurizada, evita en gran medida que
queden particulas abrasivas de suciedad entre una cabeza y una cara, que reducen su vida util,
Otra diferencia con las disqueteras, es que los platos de un rigido deben girar sin parar rnientras el disco esta
en uso', aunque no se lean 0 escriban archivos. Puesto que las cabezas no tocan las caras, no hay problemas
de desgaste, y tampoco se pierde tiempo hasta que los platos alcancen la velocidad de rotacion requerida.
En un disco con varies plates, la forma de numerar los cilindros y caras es similar a la descripta
antes para un disquete. Igualmente como en estc, las cabezas de escritura /Iectura se mueven al
unison 0, y 5610 se puede escribir 0 leer una pista de una cara por vez, seleccionando la cabeza
correspondiente a esa cara.'
Tarnbien existen diferencias entre rigidos y disquetes en relacion con ciertos campos de las pistas y
sectores, aunque en esencia la organizacion de cilindros, pistas y sectores se conserva.
En el presente, los siguientes parametres sirven pat'a comparar y decidir el tipo de disco a usar:
• Capacidad de almacenamiento
• Fabricante
• Tipo de unidad (IDE, SCSI)
• Tiempo promedio de posicionamiento de una pista a otra al azar
• Velocidad de transferencia
• Revoluciones por minuto (la latencia a 7200 r.p.m. dura la mitad que a 3600 r.p.m.)
• Tamafio y performance del cache para disco incorporado a la unidad
• Casto por MB almacenado
Encabezamienlo
Los nurneros que acomparian a las letras indican la cantldad de bytes que ocupa cada campo
Figura 2.24
Esto permite aprovechar mejor las pistas, amen de existir mayor densidad, y de usar coclificaci6n RLL
Los campos CRC en los sectores de un rigido se denominan ECC (Error Correction Code 0 £:I'mI' checking
and correcting 0 error detecting and correcting - EDC). Se calculan y verifican del rnismo modo que los CRC,
pero permiten no s6lo detectar errores, sino tambien corregirlos, dentro de ciertos limites. La correcci6n
implica deterrninar la ubicaci6n de los bits errados, para restaurar su valor original.
Se requiere ECC por la mayor cantidad de errores que tienen lugar en la busqueda de pistas, y en la
lectura de bytes de encabezados y de datos, por la muy alta densidad (bpi y tpi) que presentan los
discos rigidos. Los programas en la ROM del microcontrolador de una unidad ATA-IDE 0 SCSI
deben corregir cualquier tipo de error de lectura salvable, conforme los permita el c6digo ECC
Luego del Ultimo sector de la pista sigue un campo que indica fin de pista (GAP93, clibujado al comienzo).
Otra diferencia, hace a la posibilidad que se tiene en los discos rigidos de poder indicar el mal estado de una
pista 0 sector. A tal fin, el campo CHS, que contiene los numeros de cilindro, pista y sector, reserva el cuarto
byte (sector flag) para indicaci6n de sector danado, pista mala reasignable, pista reasignada, pista mala sin
reasignaci6n. Este cuarto byte en los sectores de un disquete se usa para indicar mimero de bytes de datos.
En un disqucre dicho cOluando realiza una Ira!,Olm 105 fonnareos fisico y logico. pem con un disco rigido solo lIeva 3 cabo el segundo.
Por ejemplo, sea lila unidad de disco en la cual a 3600 r.p.m. una cabeza lee todos los bits de un sector
en 0,001 milisegundos. Si en ese tiempo la conlroladora, buses, memoria y procesador son 10 suficiente
rapidos para permitir que los 512 bytes de datos del sector lleguen a memoria principal, podra leerse a
continuacion el sector que en la pista accedida sigue al sector antes leido, Caso contrario deberia
esperarse otra vuelta hasta que el sector siguiente delleido vuelva a pasar frente a 1a cabeza.
Para solucionar esto, en el [armaieo, por ejemplo entre dos sectores con numeracion correlativa, existe
otro no correlativo: como ser, el sector lOse halla entre el 1 y 2, el 11 entre e1 2 y 4, etc. Con esta
disposici6n, si se ordena leer el 1 y el 2, se tiene el doble de tiempo para transferir y procesar los datos
de un sector antes de que la cabeza pase por el siguiente, pues hay otro sector (el10) entre ambos.
Se dice en este caso que los sectores sucesivos estan iniercalados con un factor de "interleaving" de dos.
De esta forma, con 32 sectores por pista, en vez de esperar 32 vueltas para leer todos los sectores
contiguos, son suficientes 2 vueltas.
Sector Nro 2 Hoy dia, merced a la existencia de controladores IDE 0 SCSI con cache incorporado (figura 2.25), que
guardan en un cache de ctisco una pista 0 un cilindro completo, y a la velocidad de los procesadores y buses,
no es necesario especificar en el forma teo fisico de un disco rigido el factor de interleaving requerido.
2.24 Los discos duros actuales vienen formate ados de manera "natural": el mimero de sector aumenta
en uno de un sector al que le sigue en cada pista (i.nterleave 1:1).
o sea que pueden escribi.r 0 leer los datos de todos los sectores de W1a pista en W1a sola vuelta del ctisco.
El cache recibe todos los sectores de una pista, a la velocidad de trans£erencia intema de la unidad de ctisco.
Despues, los 512 bytes de cada sector se transfieren del cache a memoria, pasa.ndo a esta a la velocidad que
permite el bus. Resulta asi que el Cadle de ctisco en esencia mejora la velocidad de transferenci.a y no el
tiempo de acceso.
Los disquetes, por su menor velocidad de giro, en general siempre se han usa do con un interleave de 1:1
i,C6mo estan en el presente organizados ffsicamente los sectores en las pistas de los
discos rfgidos ?
La organizaci6n de 1a figura 2.3 con igual mimero de sectores en cada pista, desperdicia capacidad
de almacenamiento, pues las pistas exteriores podrian tener mas que eI doble de sectores que las
mas internas, de menor radio. La mayor densidad de bits de estas (bpi) determina y limita el
ruimero de sectores que tend ran otras pistas mas alejadas del centro.
Si por ejemplo se reservara un cilindro por archrvo, se lllinimizaria este tielllpo. a costa del espacio del disco.
U2-36
.
En la mayoria de las unidades de disco actuales (tipo IDE 0 SCSI) se emplea igual densidad de grabaci6n
en todas las pistas iconstante density recording = CDR), Y "grabacion zonal" ("zone recording"), que consiste
en formar desde e1centro del disco hacia afuera, varias zonas de cilindros, cada una con mas sectores por
pista que 1a mas intema anterior. ASl se logra hasta un 50% mas de capacidad que con la otra disposicion.
"Que funciones realiza una unidad de disco inteligente ATA-IDE 0 FAST ATA?
Unidades de discos rigid os anteriores, adecuadas al estandar ST506, requerian una interfaz-
controladora cuya circuiteria estaba en una plaqueta insertable en un zocalo (lslot"), con funciones
analogas a las descriptas al tratar la interfaz-controladora de disquetera (figuras 2.22 a y b). Los
discos con unos 30 MB de capacidad pod ian compartir una plaqueta con las unidades de disquetes;
pero capacidades mayores requerian una plaqueta dedicada, que ocupaba un zocalo mas.
Por las razones que se expondran, fue necesario que la interfaz-controladora este localizada junto a la
unidad de disco rigido, integrada con la electronics de este periferico (figuras 2.25), de donde provienen
las siglas IDE de "integrated drive electronics". Las siglas AT A - AT Attachment' son sirumimas de IDE2.
Dadas las actuales capacidades de los discos rigid os, y las velocidades de acceso y de transferencia de una
unidad de disco rigido (drive), se requiere que la electronica ligada a ella sea "inteligente", conteniendo un
microcontrolador, con un programa en su ROM, y una RAM veloz para buffer del periferico.
El microcontro1ador maneja los sistemas con servowriter citados anteriormente, cOlTige sobre la marcha
errores de lectura de Lm sector', maneja un cache de disco, simula hacia el exterior un disco compatible con
e1 sistema operativo y BIOS existentes, y realiza rapidamente otras tareas complejas. Tambiffi incluye 1a
mayoria de las hmciones de 1ainterfaz controladora descriptas anterionnente para 1aunidad de disquetes.
La proximidad fisica entre la interfaz y las cabezas evita retardos e interferencias (ruidos electricos) en la
lectura 0 escritura, que se producirian si se quiere transmitir a gran velocidad informacion entre la
electronica de la unidad de disco y una interfaz mas alejada, como la existente para una unidad ST506.
Ell 1989 un grupo dc clllprcsas cknoillinado CAM (COIllJIlOn Ae.;o;ss Method) elaboro el estandar ATA. Este incluye los comandos
?ara los ddves IDE (integrated drive electronics). ATA e IDE se usan como siglas sinonimas.
- DislinlOS fabricantes. por razones de mercado. lIsan una u OLm denominacion. aunque todos son compatibles entre sf. Tgualmente 10
son EIDE. Fast ATA y Fast ATA-2.
) A medida que aumenta la densidad de grabaci6n en los discos. crece mucho mas la posibilidad de errores de lecttJra y debe ser mas
sofisticada 1(1e1ectr6nica del controlador. para que Sli correccion (mediante cl ECC) pueda hacerse sin perder velocidad de transferencia.
U2-37
de grabac ru unidad IDE es una buena solucion de compromiso entre velocidad y costa para sistemas
'), que COIlSl. o otarea corrientes. No requiere de una plaqueta interfaz especial en la "mother" como la SCSI.
mas sectores : crde con 10 anterior, la electronica de una unidad "inteligente" de disco IDE incorpora funciones
otra disposici al adas en la interfaz-controladora de disquetera, en particular en 10 concerniente a la existencia
e registros direccionables ("ports") para enviarle un block de comandos y para recabar el estado
ue .a unidad', mediante la ejecucion de subrutinas del BIOS. EI microcontrolador de la unidad de
isco detecta y lleva a cabo estes comandos (del tipo posicionar las cabezas en un cilindro, leer 0
lindro? escribir un sector, etc.) mediante la ejecucion de instrucciones contenidas en su ROM.
paso a pa
lined recta, S1: Como se anticipo, debido a las limitaciones en la velocidad de los buses, a fin de lograr una mayor
de fonr velocidad de transferencia de datos entre memoria principal y el port de datos 0 viceversa, esta no
2
Sabre ..,e hace por ADM, sino por AIM, a traves del registro AX , opcion conocida como Programmed
Input/Output (PIO). Para tal fin, se deben ejecutar instrucciones de subrutinas del BIOS.
En relacion con el port de datos, en la electr6nica de la unidad existe un "sector buffer", 0 sea un buffer
con el camp ':::011.
cap acid ad para un sector del disco, para dar tiempo a la correcci6n de datos leidos, que realiza el
basta la pist.. microcontrolador, usando el area ECC del sector (figura 2.24). 5610 si los datos son correctos, se realiza
un ajuste fin: la transferencia hacia memoria, para 10 cual la circuiteria que cumple funciones de interfaz-
(servawritel controladora activa una linea IRQ para que una subrutina -mediante AIM sucesivos de 2 bytes (hoy
L,,,...,,,,n archives
pueden ser 4 bytes)- pase los 512 bytes de datos.
de la bob SegUn se planteo, luego de acceder al disco para leer un sector solicitado, y sin que se mueva el cabezal, se
van leyendo los siguientes sectores de la pista 0 cilindro (pues es probable que luego se solicita su Iectura),
los cuales pasan al cache de disco, constituido por una memoria DRAM manejada por el microcontrolador.
Si se orden a escribir un sector, por sucesivos AIM llegan desde memoria al "sector buffer" 512
bytes para ser escritos, a traves del port de datos citado. En caso que se envien datos para ser
escritos en sectores sucesivos, los mismos pueden guardarse transitoriamente en el cache citado.
I parking) fuera
campo del iman Una unidad IDE realiza funciones de interfaz (figuras 2.25), siendo conectada a las lineas de datos,
corriente por la direcciones e IRQ del bus, mediante un cable plano terrninado en un conector con agujeros para 40
terminales, para conectarse a igual mimero de "agujas" ("pines") vinculadas a chips de adaptaci6n al bus
("host adapter"). Dichas "agujas" pueden estar en la plaqueta "multifunci6n" que tambien contiene la
controladora de disquetera, citada al tratar esta, 0 en la "mother", segun sea el modelo de esta Ultima.
EI bus ISA, tratado en la Unidad 1, puede enviar como maximo menos de 8 Mbytes/seg. en grupos de 2
bytes, 10 cual no es apto para las unidades IDE actuales, pues limita la velocidad de transferencia Hoy dia
una interfaz- pueden transferirse grupos de 4 bytes.
C 11.funciones Esta velocidad puede aumentarse si se conecta un drive IDE preparado para un bus como el PCI, a la
-2 a y b). Los "mother" directamente, 0 usando la plaqueta "multifuncion" para dicho bus. La electronica IDE se presenta
de disquetes; ante la ROM BIOS como una unidad ST-506 normalizada, y permite operar mas de un disco rigido.
Mas en detalle (figura 2.25.a), a
la electronica IDE le llegan comandos, que ordenan leer 0 escribir
un sector, del cual se indican sus mimeros de CHS. Merced a la ejecucion de subrutinas del BIOS'
estos comandos qu.e estaban en memoria principal, pasan al registro AX de la UCP, y de este a los
registros "ports de comando-" de la interfaz IDE, a traves del bus de datos que llega a esta.
La electr6nica IDE, despues de recibir estes comandos realiza las siguiente acciones (figura 2.2S.b):
• Traduce dichos comandos en sefiales para que el cabezal se posicione en el cilindro elegido; y
que 1uego la pista correspondiente a la cabeza seleccionada sea leida por esta hasta encontrar el
sector buscado.
• La cabeza lee el ruimero identificatorio de cad a sector que encuentra en la pista que va leyendo,
el cual es transmitido a la electr6nica IDE, para determinar si es 0 no el cornienzo del sector
buscado, a fin de escribir 0 leer -segUn sea la orden- los datos en la zona correspondiente del
sector buscado
Estes 7 registros "ports" de 8 bits (con direcciones OIFO a OlF6) constituyen el denominado "AT task file" (archive de tareas AT)
Un octavo registro de direcci6n 0 IF7 es el "port de datos", de 16 bilS, para leClura 0 escrilura.
2 Operando verdaderamenle en "mullitasking" con sislemas operativos como el OS/2 0 el Unix, pueue ser mas cOllvenienle lIS;U'
ADM. siendo que la eleclr6nica rOE liene la opci6n para hacerlo.
3 En definitiva CSlas directivas son enviadas por eJ sistema operativo, dado que la Rom Bios puede considerarse pane del mismu
U2-38
Figura 2.2S.a
• Si es una orden de leciura, todos los bits del sector son leidos en serie por la cabeza. A medida
que son leidos se realiza la verificaci6n ECC (semejante a la CRC) y pasan al sector buffer de la
electr6nica, para ser corregidos de ser necesario.
• En caso de que dicha lectura sea correcta. la secci6n interfaz de la electr6nica activa su linea
IRQ del bus, para que la UCP interrumpa el programa en ejecuci6n, y ejecute una subrutina del
BIOS para hacer AIM, de modo de ir sacando del sector buffer los datos.
La ejecuci6n de esta subrutina permite que por sucesivos AIM, los datos del sector buffer se
transfieran (de a 2 bytes) a la zona buffer de memoria principal a traves del bus, direccionando el
port de datos.
• De manera inversa, luego de una orden de escritura, los bytes a escribir en el sector van Uegando
(de ados) por el bus (desde la memoria) al port de datos, y de este al sector buffer, luego de 10 cual
se activa la linea IRQ1. Luego los bits pasan en serie hacia la cabeza, para que los escriba en el sector.
• A medida que escribe 0 lee los bits de un sector, realiza el calculo del ECC (figura 2.24), cuyo
valor graba a continuaci6n de la zona de datos en una escritura.
• Realiza en una lectura 0 escritura, el manejo y control de errores, codificando en un registro
port el tipo de error ocurrido.
Si este buffer esta deshabilitado, IRQ se activa recien cuando los datos fueron escritos en el disco rigido.
U2-39
definitiva, subrutinas del BIOS al enviar comandos a los ports de la interfaz (IDE, SCSI u otra) dan
gen a lecturas y escrituras en el disco, siendo que los tiempos de las sefiales involucradas estan
.terminados por los circuitos de la interfaz Estos tiempos son mas cortos en los ultimos modelos.
tiempo denominado "I/O read and write cycle time", es determinante de la velocidad de transferencia,
-ido el minimo lapso que puede mediar entre dos escrituras 0 lecturas sucesivas del registro port de datos
la interfaz ATA (IDE) de una unidad de disco rigido; registro que tiene un tamano de 16 bits = 2 bytes.
r ejemplo, de los 5 modos PIO (Programmed Input Output), para hacer AIM, en e1 PIO modo
· e es el mas lento, dicho tiempo de cielo es de 600 nanoseg. Conocido este tiempo, puede
°
ducirse que la maxima velocidad de transferencia para este modo es de 3,3 MB/seg., como se
·diea a continuaci6n.
·poniendo que te6ricamente en forma ininterrumpida se 1een 0 escriben 2 bytes del port de datos cada
~nseg = 0,0000006 seg., en un segundo podrian hacerse 1/0,0000006 transferencias de 2 bytes por AIM.
sea, que podrian transferirse 2/0,0000006 bytes/ seg. == 3.333.333,33 bytes/ seg. == 3,3 MEl seg., dado que
=
.m 1.048.576 bytes. Lo anterior equivale a decir que en un segundo se transferirian:
~ x 2048 sectores = 6758 sectores, siendo que 2048 sectores de 512 bytes = 0,5 KB conform an 1 MB.
el presente existen unidades IDE estandar ATA-2, con PIO modo 4, tiempo de cielo de 120 nseg, 10 cuaJ
nlica una velocidad de transferencia maxima te6rica de 16,5 MB / seg.' (5 veces mayor que el modo 0).
be mencionar que esta velocidad de transferencia maxima para PIO es la misma que para ADM modo 3,
que depende del tiempo de cielo con que opera la unidad IDE. Si en lectura 0 escritura deben medlar
....
0
:. nseg entre dos direccionamientos al port de datos de 16 bits, este tiempo de cielo debe respetarse, ya sea
K los direccionamientos se hagan para efectuar transferencias por AIM (PIO) 0 ADM (DMA).
_e la transferencia entre memoria y dicho port (0 vice versa) convenga hacerla por AIM 0 ADM,
oendera del sistema operativo en uso, y si se trabaja 0 no en "multitasking".
• <; unidades con electr6nica que sigue el estandar E-IDE 6 Fast AT A (1 6 2) permiten ademas
mandos para escruura a lectura multiple, los que dan lugar al "Block tviode",
/iando a los ports correspondientes W10 de estes comandos y la cantidad de sectores a transferir
I.. 2 a 128) se evita que la electr6nica active la linea de interrupci6n IRQ, con cada sector que debe
.t pasado del sector buffer a memoria 0 en sentido inverso. Con esto se evitan las perdidas de
_mpo involucradas en cada interrupci6n (guardar registros de Ia UCP en la pila, llamar y ejecutar
·3 subrutina, y volver a restaurar dichos registros en 1a UCP). Asi, hasta 128 sectores pueden ser
- risferidos con un solo comando, con 10 cual es factible ganar un maximo de 30% de tiempo.
- iactible conectar mas de una unidad IDE a un bus de una PC (sean dos discos rigidos, un rigido Y una
-rora de CD, etc.), debiendo actuar el mas rapido de ellos como "master", y el otro como "slave". Esto se
'me conectando los "jumpers" (puentes de contacto) como indica el manual de instalaci6n.
-eccionando y escribiendo el valor (1 6 0) de W1 bit del registro drive/head, se selecciona si un
mando es para e1 "master" 0 el "slave".
- adaptadores E IDE (Enhanced IDE, 0 sea IDE mejorado), permiten conectar cuatro unidades
disco (fijas 0 removib1es), amen de tener mayor velocidad de transferencia.
o
BIas velocidades con Fast ATA deben configurarse en la labia de opciones del BIOS CMOS, 0 usar unidades de disco ya
-uradas. "Mothers" con nuevas versiones del BIOS realizan esta conliguraci6n en forma automatica.
1'10 modos 3 y 4 tienen el aditamiento 10RDY. para indicar que la unidad IDE puede retardar In vclocidad de transferencia,
cuvando temporalmente la linea 10RDY del bus, a tin de no abortar trunsferencias rapidas cuando existcn problemas en el sistema
U2·40
sector buffer
en el sector eeran
escrltos en 256
poslciones suceeivae
merced a 113 eJecuci6n de
una aubrutlna por la UCP que
Figura 2.2S.b pasa datos del port a memoria
2111
= 1024 cilindros; 2~= 256 cabezas; 2·= 64 sectores, que son 63, pues el sector 0 no sc usa.
A su vez, un drive IDE 0 EIDE para CHS esta limitado a 16, 4 Y 6 bits respectivamente. Resulta asf,
que los numeros maximos que puede manejar son:
2'6= 65536 cilindros; 2· = 16 cabezas; 26 = 64 sectores, que van hasta el rnimero 63
Compatibilizando ambas limitaciones, resultan 1024cilindros, 16 cabezas y 63 sectores, que hacen ellimite
de los 504 MB calculados; aunque El BIOSpor separado permitiria 1024x256x63xO,5= 8 GB, mientras que
por su parte, una interfaz IDE permitiria una capacidad de hasta 65536x16x63x0,5 = 128 GB.
En 1994 las nonnas IDE de 1984 pasaron a ser las E-IDE'. A fin de maximizar la compatibilizaci6n
entre BIOS e IDE para poder operar con discos de mayor capacidad que 504 MB, se crearon algunos
artificios matematicos que pueden ser llevados a cabo por la UCP ejecutando subrutinas de un BIOS
actualizado, 0 por el microprocesador de la unidad IDE ejecutando subrutinas de su firmware.
Para plantear esto, se denomina CHS 16gico (cuyas siglas son L-CHS) a los numeros de CHS que se
envian a una unidad de disco IDE (0 SCSI), al ejecutarse una subrutina del BIOS. Este L-CHL al ser
recibido por la unidad IDE debe ser convertido por esta en un CHS fisico (F-CHS 0 P-CHS en Ingles),
que son los numeros de CHS a partir de los cuales la unidad IDE accede a1sector seleccionado'.
En discos con capacidad menor 0 igual que 504 MB, coincidirdn los mimeros de L-CHS y de F-CHS. Esto es,
los mimeros de CHS que surgen del BIOSson los mismos que usa la unidad IDE para ubicar un sector.
Una forma de compatibilizar discos de mas de 504MB es la siguiente. Sea un disco de 1 GB que fisicamente
presenta 2 platos (4 cabezas), y cuyas pistas tienen un ruimero distinto de sectores, que aumenta desde el
centro hacia el borde, superando los 63, como se trat6 mas atras, Este disco para la unidad IDE se
caracterizaria fisicamente como equivalente a un disco de 4096 cilindros, 4 cabezas, y 63 sectores de 0,5 KB
por pista, dado que 8192x4x63x0,5'" 1 GB. La geometria del disco real resulta as! invisible al exterior.
Si se divide 8192 por N=8 resulta 1024, y si se multiplica 4 por N=8 resulta 32. De este modo, un disco
que tuviera 1024 cilindros, 16 cabezas y 63 sedores por pista tambien tendria 1024x32x63xO,5= 1 GB,
pero los valores 1024 y 32 son compatibles para subrutinas del BIOS,segun se describi6.
La unidad IDE se encarga de trasladar cada mimero de sector, cabeza y sector del disco 16gieoque suponen
las subrutinas del BIOS,en otro ruimero de sector, cabeza y sector para el disco fisieo de 8192x4x63xO,5
Tambien es factible que dicha traslaci6n sea llevada a cabo por dichas subrutinas del BIOS actualizado.
Esto se conoce como ECHS (Extended CHS translation) 0 "large". Existen varias formas de realizar esto.
No debe confundirse los numeros 16gicosde cilindro, pista Ysector -que simula el drive de un disco para
un sistema operativo (y para la ROM BIOS)- con el formateo 16gico,destinado a reservar sectores que seran
usados por dicho sistema, ni con la estructura 16gicacon que el DOS "ve" a un disco (antes tratada).
El LBA es otro mecanismo para operar discos con mas de 504 MB. Las unidades de disco SCSI y las IDE
permiten que se identifique los sectores mediante ruimeros consecutivos, comenzando desde 0 (donde esta
la tabla de particiones), siendo que fisicamente se tiene mimeros de cilindro, cabeza y sector. Esto es, esas
subrutinas en lugar de enviar ruimeros de cilindro, cabeza y sector para acceder a un sector, pueden enviar
un ruimero que 10identifica denominado LBA (LogicBlockAddress 0 sea direcci6n 16gicadel bloque).
a Is eJecuci6n de
Una unidad IDE 0 EIDE con la opcion de operar con CHS 0 LBA, requiere asignar LBA 0 al cilindro
par la UCP qUI:
0, cabeza 0, sector 1. En un disco de 504 MB el LBA del ultimo sector seria 1.065. 456.
port a memoria
La tecnica LBA permite acceder a unos 22Rsectores (de 0,5 KB), 0 sea 137 GB en un IDE.
El uso de LBA puede implementarse en un BIOS actualizado 0 en una unidad IDEl, y no siempre
significa una mejor performance de un disco. Muchos sistemas operativos pueden operar directa-
mente con LBA, pero el DOS y otros sistemas deben usar la geometria CHS.
de 500 MB.
:; KB, con 10
a. drive IDE
son:
Bdsicamente se superaron los 504 MB, aumento la velocidad de transferencia, al igual que el nurnero maximo de dispositivos que
se usa. se pueden conecrar. asi como su diversidad (CD-ROM, cinta rnagnetica, discos removibles),
2 Debe consignarse que en el booteo y en la tabla de particiones se emplea el L-CHS.
J Esto puede decidirse por software. direccionando y poniendo en I el bit "L" del registro port Drive/Head (citado en respuesta
anterior), para 10 eual se Ie debe enviarse un comando mediante una instruccion tipo OUT.
U2-42
Por ejemplo, si en una pantalla Windows indicamos con el cursor del mouse que queremos abrir 0 guardar
un archivo en un disco 0 disquete, se pasara a ejecutar una secuencia de instrucciones. En esta existira una
que expresada en assembler sera
del tipo!NT nn', para llamar al SO, si la UCP de la PC es un 8Ox86 (0 ur
clon de Intel). Lo mismo si mediante el teclado ordenamos la apertura 0 cierre de archivo.
Igualmente, si en un lenguaje de alto nivel se tiene una sentencia como READ, WRITE, GET, PUT _
otra que ordena escribir 0 leer un archivo, el programa compilador la traduce a una secuencia d.
instrucciones de maquina, entre las cuales habra una que llama al SO. Esta sera del tipo!NT on, si e
compilador genera codigo de maquina a ejecutar por un procesador 80x86 0 Pentium de Intel',
Ejemplificaremos aspectos fundamentales de un proceso de escriiura de un archiuo (0 parte del mismo) en. 11
sector en un disco, que dividiremos en cinco fases 0 momentos, las cuales tambien tienen lugar total
parcialmente en operaciones de E/S de otros perifericos (cotejarlas con las cinco fases de un disquete).
Conforme a 10 anterior, para que este proceso tenga lugar, en un programa en ejecucion debe existir
instrucci6n de llamada al SO, que en este caso en assembler es !NT 13 si el procesador es de Intel.
1. Fase de preparacion: cuando la UCP ejecuta el c6digo de maquina de !NT 13 ~ comienza esta fast.
primera de las cinco fases en que hemos dividido la escritura de un sector. Dicho c6digo ordena que
UCP pase a ejecutar una subrutina del SO cuyo cometido es llevar a cabo la presente fase.
Algunas de las numerosas acciones preparatorias, que realizara esta subrutina del SO y
subrutinas del sistema que ella a su vez ordena ejecutar, seran:
division del archivo a grabar en "clusters". El tamano de estos depende del tamaii.o de la partici6n.
lectura del directorio raiz de la partici6n, y luego posiblemente un subdirectorio (para conocer
el nombre del archivo no existia antes), as! como la lectura de la FAT (para determinar
ruimero de cada "cluster" que ocupara el archivo);
- escritura en elsubdirectorio del nombre asignado al archivo, y en la FAT, los" clusters" que ocupa;
- conversion de cada ruimero de "cluster" en los ruimeros de SL que 10 componen, y estos en
correspondientes sectores fisicos, identificados por su CH5 en el disco rigido.
Una vez realizadas las acciones anteriores, la ejecuci6n de instrucciones OUT, que tambien son
subrutinas del BIOS permite enviar -a traves de lineas de datos del bus- comandos desde el registro AX de
ucr hacia registros ports de la electr6nica IDE (figura 2.27 a).
Suponiendo que los platos de la unidad esten girando, dichos comandos son llevados a cabo en orden por
rnicrocontrolador de la unidad IDE -merced a la ejecuci6n de subrutinas que estan en la ROM de la
siendo que primero se posicionan las cabezas en el cilindro indica do, y luego una cabeza accede al
buscado para escribirlo.
En 10 que sigue trataremos la forma PIO ("Programmed I/O"), 0 sea la realizaci6n por AIM de la fase
de transferencia, en una E/5; en este caso en la escritura de un sector de un disco de una unidad IDE.
2. Sincronizacion: antes que una cabeza seleccionada escriba la zona de datos de un sector accedido, pn-
mero deben llegar -desde memoria al port de datos de la IDE- los (512) bytes a escribir en el sector
buffer. El momenta en que esta transferencia puede realizarse es indicado por la unidad IDE de
formas: ~
Una forma es activando el bit de validaci6n de datos de su registro port de status. La subrutina que
los AIM_ previamente debe direccionar este port para leer el valor de este bit, y el que indica que el IDE
De un modo mas general: las operaciones de ElS son preparadas, activadas y controladas par subrutinas del SO.
EI numero nn y valores que previamente se cargan en registros de la UCP determinan cual subrutina sera lIamada (ver Unidad 3)
Para oiros procesadores, esta instrucci6n de llarnada al SO tiene otro nombre: SVC. Call. Trap. etc.
ESIO varia un poco para una interfaz E IDE.
Los comandos estaban previamente en memoria principal.
U2-H
esta ocupado. Otra forma es activando el cable de solicitud de interrupcion IRQn (tipicamente n=14) para
que se pase a ejecutar una subrutina (figura 2.27 b). En caso que se opte por la primer forma, la lectura del
port de status desactiva IRQn.
3. Fase de transferencia (por AIM)! de los bytes a escribir desde memoria al registro AX de la UCP, Y
de este al port de datos de la electronics IDE, con destino al sector buffer de esta (figura 2.27 b).
Para tal fin, la subrutina que de tecto en la fase 2 de sincronizacion que el buffer IDE esta disponible,
realizara 256 AIM de dos bytes cada uno, para transferir los 512 bytes al port de datos de la IDE.
4. Escritura del sector (a cargo del microcontrolador de la IDE): los bytes que estan en el sector buffer
son convertidos a bits en serie. Estos bits son considerados en el calculo que el microcontrolador
realiza para determinar el ECC, y son enviados con codificacion RLL a la cabeza que los grabara en
el sector accedido. (Despues de la fase 1 el cabezal se posiciona en el cilindro y luego busca el sector).
Una vez escrita la zona de datos del sector, el microcontrolador enviara los bits hallados por
calculo, que la cabeza debera escribir en la zona del ECC (figura 2.24).
AI finalizar, la electronica IDE registrara en su port de status si la operacion de escritura ordenada
fue exitosa, 0 si debe codificar algun tipo de error ocurrido que su inteligencia no pudo subsanar.
5. Verificacion de la correcta realizacion de la opera cion ordenada: el registro de status de la unidad
IDE indica si una operacion ordenada ha sido exitosa 0 no, y el registro de error codifica la falia
ocurrida. Luego que se escribio el sector, se ejecuta una subrutina que hace esta verificaci6n.
En caso que en la etapa de preparacion se ordene la lectura de un sector, por tratarse de una
operacion de entrada, el sentido del movimiento de los datos es del sector buffer hacia memoria,
por 10 que debe invertirse el orden de las fases 3 y 4 descriptas para la escritura de un sector.
Esto es, ahora en la fase 3 -de lectura de la zona de datos del sector accedido- a medida que la cabeza
seleccionada va leyendo esta zona del sector, envia hacia la electr6nica IDE bits en serie, codificados en RLL.
Esta informacion, a medida que llega es decodificada, para determinar los bits de datos que contiene, los
cuales tambien son considerados en el calculo que el microcontrolador realiza para determinar el ECe.
Estos bits primero son convertidos en grupos de 2 bytes, y van al sector buffer de la IDE. Luego
estos bytes en la fase 4 -ahora fase de transferencia realizable por sucesivos AIM- sald ran en
paralelo desde el port de datos haria el registro AX, y de este al buffer de memoria principal.
La fase 5 -de verificacion- es identica a la descripta, Y supone que al final de la fase 3 -luego que se leyeron
todos los bits de la zona de datos del sector- la cabeza lee la zona ECC y los bits que la componen son
contrastados por el microcontrolador con los que componen el ECC que calculo, Si no existe coincidencia
entre el ECC calculado y el ECC escrito en el sector, se intenta corregir los errores detectados.
Un cache de disco simula un disco de igual capacidad, pero mas veloz que el real.
Cuando se escribe en un disco un archivo, se trata de grabar todos los sectores que 10 componen en un
mismo cilindro. Asi se pierde un solo tiempo de posicionamiento y latencia para encontrar el primer sector
del archivo. Luego seran escritos los siguientes sectores que entren en dicho cilindro, sin maoer ef cabezal y sin
tiempo de latencia. 5610 existira para cada sector a escribir el tiempo de transferencia (figura 210.c)
Este analisis de tiempos vale tambien para la lectura del archivo, para 10 cual se debe repetir el
mismo orden secuencial seguido al escribir los sectores que 10 constituyen.
La estadistica indica que si se accede a un sector que compone un archiuo, para ser escrito 0 leido, es
altamente probable que luego se deba acceder a los otros sectores que le siguen en la pista donde esta
dicho sector, para luego continuar con los sectores de las restantes pistas del mismo cilindro.
Existen unidades IDE con la opci6n para hacer ADM. de manera semejante a la descripta para disqueteras. En sistemas para
"multitasking" puede ser conveniente que en la fase de rransferencia, en vez de que la UCP ejecute una subrutina para hacer sucesivos
AIM, en su lugar ella ejecute otro programa. La comroladora de ADM se encarga de realizar por hardware la transferencia. al miS1110
tiempo que la UCP ejecuta el otro programa. Luego, se debe ejecutar una subrutina para verificar que el ADM se hizo correctamente,
U2-44
Por 10 tanto, puede resultar conveniente luego de leer un sector de una pista, leer de seguido -sin
movimiento alguno del cabezal, ni tiempo de latencia- los restantes sectores de la misma, e ir
auiomdticamenie todos los sectores asi leidos a una memoria tipo RAM que oficia de cache, ubicada
en la elecironica IDE 0 SCSI (figura 2.25). Asi, una pista completa pasa al cache y de este cada sector
a memoria, por AIM 0 ADM, segun sea. El tamano del cache es tipicamente de 32 KB hasta 1MB.
Entonces, soLamente se accede a La memoria de disco para encontrar el primer sector del archivo, este y los
restantes sectores se localizan y leen en el cache RAM de disco citado -de tiempo de acceso despreciable en
comparaci6n con el de un disco- cuando se ordena su lectura. En ese momento, cada sector leido en el cache
se transfiere hacia un registro de la controladora, y de este al buffer asignado a ese sector en memoria princi-
pal. Como se trat6 en el tema del "interleave", este cache permite que los datos de sectores consecutivos de
una pista pasen al mismo a maxima velocidad (la de transferencia interna desde el disco), y luego desde eI
cache puedan ser transferidos hacia memoria a la velocidad del bus, aunque esta sea limitada, obteniendose
en definitiva una importante ganancia de velocidad en relacion con la no-existencia de un cache.
Con el cache de disco se simula una serie de operaciones de lectura en un disco, siendo que en realidad stll....
realizan en una RAM con la rapidez de esta memoria electronica',
EI cache de disco permite mejoras en velocidad entre el 30 Y el 400%, dependiendo de la aplicacum,
inierfaz y bus usados. De este modo resulta tina gran independencia del iiempo de acceso a un disco.
Analogamente, en una escritura del disco, se pasa desde memoria principal al cache de disco (a
traves de un registro de la controladora), todos los datos del archivo a grabar, pudiendose realizar
la escritura de cada sector del archivo en el disco cuando este no es requerido por un programa.
Es factible diferenciar caches de disco para lectura y para escritura.
El cache de disco que esta en la RAM de la electronica IDE 0 SCSI se denomina "cache de disco
incluido" 0 "intemo" 0 "cache de disco en hardware". Su tamano oscila entre 32 KB Y1MB 6 mas.
Tambien se emplea el "cache de disco por software" en memoria principal RAM ("software cache")
manejado por un prograrna (como el SmartDrive de Microsoft que viene con el Windows), que reserva
una zona para cache de disco en memoria de tamafio definible por el usuario. En esta se guarda una
pista (0 cilindro) del disco cada vez q,lle se ordena leer un sector de la misma. Luego cada sector
solicitado se toma desde esta zona de memoria principal, en lugar de tener que accederse al disco.
A continuaci6n, esos datos pasan a otra zona de la misma donde esta el buffer asignado al sector.
Para la escritura del disco, este cache va guardando los datos que deberian ir al disco. Cuando estes
tienen detenninado tamafio, 0 luego de un tiempo especificado, se envian de una sola vez a W1apista
del disco, evitando multiples accesos al rnismo. EI cache de escritura tiene el problema que si se
el suministro electrico 0 se hace un reset general, los datos que estan en el mismo se pierden.
Reservando 2 MB de memoria para este tipo de cache de disco, se han observado ganancias de
hasta 20 veces en relaci6n con el disco sin ningun tipo de cache.
Los disquetes tambien puede tener un cache por software, pero s610 debe ser para lectura, dada
que un disco flexible puede sacarse de la unidad en cualquier instante, con la consiguiente perdida
de la informaci6n a escribir.
Pueden usarse en forma complementaria caches incluidos y por software, pero en ciertos casos operar con
ambos puede significar una peor performance que con uno solo de ellos.
EI cache de disco suele alrnacenar la FAT actuaJizada del disco, que perrnite localizar todos los sectores de un archive, dado
antes de acceder a un archive en el disco se debe acceder a la FAT (que puede cambiar con cada escritura de archivos). As! tambien
lugar de acceder a la FAT del disco y pasar esta a memoria principal. se accede rapidarnente aJ cache de disco. y de este la FAT pasa
memoria.
U2-45
10 -sin ser "0", con su FAT, area de bootee y directorio raiz tambien en la RAM.
Amen de ser hoy dia los programas muy voluminosos, el problema de los discos virtu ales es que si
se interrumpe el suministro electrico, se pier den los archivos almacenados, Si s6lo se pasan a un
disco RAM copias de utilitarios de uso intenso, como ser un compilador, no se corre este riesgo,
lograndose tiempos de acceso sumamente breves.
Un disco virtual es un disco abstracto simulado, inmaterial e intangible, que cobra existencia como datos
sobre la memoria principal (dispositivo fisico). Del mismo modo que el software, debe fijarse en la
memoria para materializarse como algo utilizable. Se le puede asignar un nombre l6gico, como ser "0".
A diferencia de un cache por software realizado en memoria principal -donde se almacena como
ser una pista entera, cuando se accede a un sector de ella en el disco real- un disco virtual simula
en memoria principal un disco rigido compuesto de varias pistas.
(,Que son las unidades de disco SCSI, y como operan en el conexionado SCSI
La mayoria de los usuarios de computadores personales al cambiar de modele de microprocesador 0
"motherboard", en general no desean invertir dinero en nuevas plaquetas que adapten los perifericos
que poseen al computador. Por ello, los fabricantes siguen manteniendo practicamente el mismo
esquema de conexionado para perifericos que existia en los modelos anteriores de las Pc. En
consecuencia, en la actualidad las PCs comienzan a tener limitaciones respecto principalmente a:
• La maxima velocidad de transferencia de datos de 8 MB/seg., que permite el bus ISA, al cual
van soldados los tipicos conectores de expansion ("slots"), donde se enchufan las plaquetas de
adaptaci6n de perifericos.
de disco • La existencia de un ruimero limitado de ports serie y paralelo (cada uno por un lade se
o mas. comunica con el bus del sistema y por otro con el periferico conectado al mismo). Estos ports
s610 pueden transferir hacia 0 desde dicho bus a velocidades de 100 KB/seg. y 500 KB/seg,
respectivamente, merced a los protocolos de transmisi6n que cumplen.
• El ruimero de "slots" que quedan libres para conectar adaptadores de perifericos'.
• La cantidad de lineas de IRQ disponibles para conectar interfaces de perifericos, cuando el
numero de estos aumenta.
Hoy dia en los sistemas PC tipo monousuario y monotarea, que emplean discos de hasta unos pocos
Gigabytes, las unidades IDE son las mas utilizadas, por su costa y performance.
Cuando se necesita gran capacidad de memoria auxiliar en sistemas monousuario, 0 cuando se quiere usar
una PC como estaci6n de trabajo 0 "servidor" de una red, la interfaz IDE esta limitada. Asimismo, para
sistemas operativos multitarea ("multitasking") -como el OS/2, el Windows NT 0 el Unix- a los efectos de
operar velozmente, se requiere tener varias unidades de disco, y que a cada una se le pueda enviar mas de
un comando por vez, debiendo manejar e11as una cola de comandos. Esto hoy no pueden hacerlo las
unidades IDE, las que tarnpoco pueden manejar un bus. En estas aplicaciones multiusuario 0 en redes, se
emplean varias unidades de disco ("drive array") inteligentes que operan en forma complementaria, de gran
capacidad y velocidad. La mas conocida es la RAID ("redundant array of inexpensive drives") 0 sea disposici6n
de unidades de disco econ6micas redundantes. Un RAID se conecta a un bus SCSI (pronunciado "escasi").
-perar con Por su inteligencia, este subsistema permite, entre otras cosas, almacenar una cola de comandos para dichas
unidades y operarlas juntas. La UCP ve el RAID como un solo disco.
Las siglas SCSI provienen de "small computer system interface" y designan un tipo de bus de extensi6n
externo a un computador, para perifericos, con 8 (016) bits en paralelo, que transfiere 5 (610) MB/seg,2
popularizado por las Macintosh. Este bus "periferico" hoy se ha vuelto mas conocido, dado que cada vez se
coneetan mas perifericos a una PC: CO ROM, unidades de cinta para backup, RAID, camaras de video,
completos dispositivos MIDI, sistemas de sonido, adaptadores de red, unidades magneto-opticas (MO), scanners etc.
Con el advenimiento de multimedia y redes, los perifericos han crecido en mimero, a la vez que se tiene mas exigencias en acelerar
las entradas y salidas de datos. Hoy dia muchas interfaces han pasado a la "mother" ; asf se tiene mas z6calos disponibles.
2 Esta es una velocidad de transferencia interna del bus SCSI, como ser entre la plaqueta adaptadora SCSI y la unidad SCSI de disco.
La velocidad con que en definitiva se transfieren los datos desde memoria principal 0 hacia ella depende tambien de los orros buses
involucrados en el camino, sean estes el lSA. VESA, PC], etc., y de la calidad de la plaqueta adaptadora SCSI.
~~ ~-~~~ ~==:3------------------------ .....
U2-46
Para acoplar el bus SCSI al bus de expansion ISA de una PC, hace £alta ocupar un zocalo de esta fnc
I con una plaqueta adaptadora scsr.
A partir de esta (figura 1.82 de la VI) mediante cables de extension planos de 50 conductores se pueden ir
"armando" el bus SCSI2,conectando una cadena de hasta 7 perifericos con controladora SCSI directamente
al mismo, sin adaptador alguno. Vna unidad de disco con controlador SCSI se conecta al bus SCSI sin
circuiteria extra. Cuando una subrutina ordena leer/ escribir el disco, luego de cumplimentar ello, la unidad
envia el mensaje "cumplimentado 0 no", simplificandose el manejo del periferico.
El bus SCSI, por la inteligencia incorporada al adaptador y a los perifericos conectados al mismo
permite que ellos puedan comunicarse entre si -de ados por vez- y que la estructura intema de estos
no sea "vista" por 1aVCP. Asl, pueden enviarse datos a un disco, para que luego pasen rapido a una
impresora tambien conectada a este bus, 0 para que lleguen luego a una unidad de cinta ("backup")
sin que intervenga la UCP. Esta puede ejecutar otros programas mientras el adaptador SCSI se encarga
de comunicarse con dispositivos SCSI conectados al bus SCSI, y espera la llegada de datos.
De este modo, 1a electronica inteligente de la adaptadora SCSI convierte los comandos que una
subrutina ejecutada por la VCP envia a sus ports (mediante la ejecucion de instruccion OVT) en
sefiales y comandos acordes con el bus SCSI. A este bus esta conectado la controladora SCSI de la
unidad de disco, la cual puede recibir comandos mas complejos que una inter£az IDE
La adaptadora opera como "iniciador", y la controladora como "target" ("destinatario 0 blanco").
De igual forma, la adaptadora puede comunicarse con otra controladora SCSI de otro perifericc
conectado al bus SCSI.Cada unidad SCSI conectada al bus tiene una direccion identificatoria (ill).
Mas en detalie, suponiendo que el bus SCSI se encuentra en estado a Jase libre, sin que ninguna
unidad SCSI 10 use, el "iniciador" debe ganar el control del mismo, en la Jase de arbitraci6n del bus.
Vna vez que gano el control, en la fose de selecci6n enviara a la direccion del "target" seleccionado 10::
comandos que debe reallzar (como ser, leer varios sectores contiguos) y su direccion (la ill del "iniciador").
A continuacion liberara el bus, para que pueda ser usado por otra unidad SCSI (cualquier unidad
puede ser "iniciador" 0 "target"), que pasara asi otra vez ala fase de bus libre.
Despues que se posicione el cabezal sobre el cilindro, y que la cabeza indicada encuentre el primer
sector buscado, el "target" (unidad "de disco) podra enviar los datos al "iniciador" (adaptadora]
A tal fin, primero debe ganar el control del bus en otra lase de arbitracion, y luego, en una Jase de re-
selecci6n, direccionar "iniciador" (a la direccion enviada antes por estel, para trans£erirle los datos
leidos del sector y su direccion (la 10 del "target"). De seguido, el "target" envia informacion
acerca de si hubo 0 no errores, luego de 10 cual liberara el bus.
Los usuaries con CD ROM y con un disco magneto-oprico alterable, ambos SCSI. aprovechan que ya tienen esta plaqueta adapta-
dora para agregar unidades de disco u otro periferico SCSI. Tambien son SCSI los discos rigidos removibles Bernoulli y los RAID.
2 Aunque el estandar original SCSI-I fue suplantado en 1986 por el SCSI-2, muchos disposilivos SCSI actuales cumplen sus nonnas.
Ya se habla de SCSI-3 y no ha sido adoptado oficialmenle el esuindar SCSI-2 tambien muy en uso. Este permite buses de 16632 bits ..
10 MB/seg en el bus de 8 bits, 0 sea 40 MB/seg en un bus de 32 bits. Aderruis. el conjunto de comandos comunes (CCS) original 51:
amplIa. para soportar CD-ROM, memorias 6pticas WORM, scanners, y otros.
J 0 sea comprimen los datos a medida que son enviados al disco, y los descomprimen cuando vuelven a memoria en la lecLUrade archivos.
lEn que consisten los metod os de grabacion MFM y RLL ?
SegUn se expuso antes (figuras 2.4 y 2.5), una cabeza (bobina) mientras graba magnetiza en la pista grupos
de pequeftas particulas microscopicas de 6xido de hierro (no una sola), dando lugar a pequenos imanes que
originan campos magneticos en la superficie del disco, cuya polarizacion (5-N 0 N-S) depende del sentido
de la corriente de la bobina. En las figuras 2.26 b, e, h aparecen pistas grabadas dibujadas rectilineas, siendo
que en las mismas se enfrentan dos polos iguales cuando cambia de nivella serial electrica que se aplica a la
cabeza (figuras 2.26 a, d, g), 10cual hace cambiar el sentido de la corriente que circula.
Cuando la misma cabeza debe leer, sensa dichos campos, detectando campos magneticos existentes debidos
a imanes enfrentados (norte contra norte, sur contra sur). Vale decir, no detecta si existe 0 no campo
magnetico, sino inversiones en el £lujo (campo) magnetico, cuando se enfrentan dos polos iguales. En una
lectura, al pasar la cabeza por cada una de estas inuersiones, se genera en la bobina una corriente electrica
que da Lugar a una sefiaL constituida por un breve pulso electrico (figura 2.26 c, f, i). Los pulsos as!
generados, al ser decodificados por la electronica correspondiente, permiten reconstruir la sefial que excite
la bobina de la cabeza durante la escritura de la pista, y as! decodificar los ceros y unos en el sector leido.
El numero maximo de inversiones sucesivas de flujo magnetico por centimetro 0 pulgada cuadrada
debe permitir escrituras 0 lecturas seguras. Esta limitado por las caracteristicas del material
magnetico, por el ancho del entrehierro, y la sensibilidad de la cabeza.
Para un ruimero maximo dado de tales inversiones, de 10 que se trata, en principio, es codificar la mayor
caniidad de unos y ceros par centimetro de pista, habiendose desarrollado para tal fin varios metodos, que
implicaron sucesivas mejoras en la densidad de almacenarniento. En todos ellos -como se plante6- en
una escritura, cada cambia de niuel de la seiia! electrica que se aplica a una cabeza, produce una inversi6n en
el flujo magneiico de la superficie de la pista que esta siendo escrita. Por 10 tanto, se busca codificar la mavor
cantidad de unos y ceros con el men or numero de cambios de nioel en dicha senal.
Los tres metodos de codificacion que se discutiran tienen en corruin:
• Los unos y ceros a grabar estan separados igual intervalo de tiempo entre sf; y
• Cada bit de valor uno a escribir Ie corresponde siempre en la pista una iniersl/m del campo magnetico,
mientras que en correspondencia con cada cero a escribir, no existe ninguna inversi6n de campo. Pero
esta convencion sin mas no permite en la lectura detectar cuantos ceros sucesivos han sido grabados.
Una codificaci6n emplea inversiones de flujo extras para separar bits, y otra las usa 5610 para sepa-
rar ceros. Estas inversiones usadas para demarcar bits -que en corresjondencia requieren cambios
de nivel en las sefiales electricas que se aplican a una cabeza- se denorninan "clocks", en el sentido
informacion
que sirven para autosincronismo, a fin de poder deterrninar tiempos de duraci6n de bits.
En la grabaci6n PM (figuras 2.26 a, b, c) se emplea siempre una inversi6n de flujo antes de cada bit a
escribir, sea uno 0 cero; y ademas se debe emplear otra inversi6n por cada bit de valor uno a escribir,
inversi6n que se da a mitad de camino entre la inversi6n que indica su cornienzo y la del cornienzo del
bit siguiente. 0 sea, que para escribir un uno se requiere dos cambios de nivel en la serial que recibe la
cabeza: un cambio para indicar que empieza un bit, y otro para sefialar que se trata de un uno.
A diferencia, la escritura de un cero implica s610 un cambio de nivel, para indicar el comienzo de dicho bit,
siendo que la ausencia de otro cambio inrnediatamente despues identifica que se trata de un cero.
La denominacion PM se debe a que en la codificaci6n de unos sucesivos, resulta una frecuencia de pulsos
mayor que la existente para ceros sucesivos, 0 sea que existen dos frecuencias distintas para unos y ceros.
Dado que en la codificaci6n PM, para grabar un uno se necesita dos inversiones de campo magnetico en la
pista, fue reemplazada por la MFM, que permite codificar un uno con una sola inversi6n de campo, siendo
:I plaqueta adapta
,los RAID. que 5610usa inversi6n para indicaci6n de comienzo de bit, cuando un cero esta precedido por otro cero.
-:lplen sus norm as Esta convenci6n permite codificar, como se ejemplifica, la misma secuencia de unos y ceros como la ejempli-
de 16632 bilS. ficada (11111010000) con la mitad de inversiones de £lujo que con FM. Por 10 tanto en MFM se puede
duplicar el nfunero de bits por pulgada de pista, para una cantidad maxima de inversiones posibles
por pulgada (que depende del material magnetico usado).
U2-48
d
Campos rnaqneficos en la pista creados por Ia seiial
Figura 2.26
Para los discos rigidos de gran capacidad fue neeesario aumentar la densidad de grabaci6n, para 10cual se
cre6 la codificaci6n RLL 2,7 que pennite con un menor ruimero de inversiones de flujo codificar una mayor
cantidad de bits (hasta 50% mas que con MFM). A tal fin, una sucesi6n de bits a escribir se descompone, a
partir del primero, en sucesivos grupos de bits cuya codificaci6n en RLL 2,7 se recuadra en la figura 2.26.
Esta recodificaci6n minimiza el ruimero de unos a grabar, y por ende, inversiones de flujo, siendo que en
.I'v1FM tambien se neeesitan inversiones cuando hay ceros consecutivos (en RLL s610se usan para los unos).
En nuestro ejemplo, los datos a escribir 11111010000 se descomponen en los grupos 11 11 10 10 000
codificados en la figura 2.26 g, como 1000100001000100000100. En RLL s610 se produce una
inversi6n de flujo si hay un uno, sin emplear inversiones de comienzo de bit para los ceros en
ninguna circunstancia.
La lectura de una pista exige una eleetr6nica sofisticada, como la IDE 0 SCSI, para determinar correeta-
mente, en funci6n del tiempo transcurrido, cuantos ceros existen entre la deteeci6n de dos "unos".
La figura 2.26 g perrnite apreeiar que si bien la codificaci6n RLL requiere el doble de los bits originales a
escribir, el numero de inversiones de flujo es menor que en MFM, resultando en comparaci6n una
ganancia en la densidad de bits almacenados, que estadisticamente puede llegar alSO%.
Las sigIas 2,7 de la codificaci6n RLL 2,7 resultan de la tabla anterior. Despues de un uno puede habef d
ceros como minimo, y tres ceros como maximo. Antes de un uno como maximo pueden darse euatro ceros.
Por consiguiente, entre dos unos, como minimo pueden haber dos ceros, y comomaximo.siete ceros,
Ocho 0 mas ceros seguidos, se descomponen en grupos de tres ceros, cada uno codificable comO'OOOlOO.
Existen tambien las codificaciones RLL 1,7 Y RLL 3,9 tambien conocidas como ARLL (Advanced
RLL), que permiten hasta un 90% de ganancia de densidad en relacion C8If~M.
• '"
2 c...:..
" :-...../f'IIG1"~G~~
~.~;--=--.P'~{j,
V# ,.,_/.$)~
~191f!P-
(,Que es un disquete "floptical" ? ¢"
>_;:? ~
Di5'tuete ~ ~ Rayo5ia5er , .~
Z ""
. .jJ')ncidente y /
. 'reflejado I
PI5ta5 para '\ \ /1
\
eecrttura
Figura 2.28
Si bien la denominaci6n "floptical" -proveniente de floppy y optical- pareceria indicar un disquete flexible
removible que es escrito 0 leido mediante laser, el floptical es un disquete flexible magnetico, que se graba y
lee de la forma vista (figura 2.5). 0 sea con una cabeza (figura 2.28) que para escribir cada pista genera
campos magneticos N-S y S-N segun el sentido de la corriente que circula por una bobina; y que en una
lectura detecta inversiones del campo sobre la superficie de una pista Dichas inversiones producen corrien-
tes en la bob ina, generandose tensiones electricas que permiten recuperar los unos y ceres almacenados.
La particularidad de un floptical es que usa laser y 6ptica auxiliar para posicionar el cabezal sobre cada pista
(figura 2.28). Este, como se dijo, escribe 0 lee informaci6n por medios magneticos, de la forma descripta.
Esta sofisticaci6n es necesaria a los fines de poder operar con una densidad radial de 1245 t.p.i (pistas por
pulgada) contra 135 t.p.i de los disquetes comunes de 1,44 MB, para que un floptical pueda guardar 21 MB
Asimismo, un floptical se lee y escribe unas tres veces mas rdpido que W1 disquete comun (floppy). Ello se
debe a que es posible acceder a un cilindro (pista) del mismo en 65 mseg, contra 150 mseg del segun-
do (tiempos promedio), y que su velocidad de rotaci6n es 720 r.p.m. (el dob1e que la de un floppy).
Por otra parte, una unidad para floptical tambien puede leer 0 escribir disquetes comunes, dado que cada
cabeza presenta dos entrehierros: uno muy estrecho para disquetes floptical, y otro mas ancho para floppys.
Para que el servo 6ptico posicione el cabezal en la pista se1eccionada, al lado de cada pista magneti-
ca que almacena informaci6n (la cual puede ser formateada y reformateada), existe otra "servo
pista" no borrable (grabada 0 estampada de fabric a) sobre 1a cual incide luz laser puntual. Parte de
esta 1uz se refleja en dicha servo pista, y 1a informaci6n de control que ella contiene es enviada al servo
sistema, para que posicione constantemente 1a cabeza en la pista magnetica seleccionada.
Existen servos mas elaborados, con seguimiento 6ptico por holografias en la superficie del floptical.
U2-50