Escritos
B. Piropo
Anteriores:
< Trilha Zero >
Volte de onde veio
16/03/1992

< TROCANDO DISCOS >


Vamos começar agora a discutir um assunto que deve interessar a muita gente: a troca de um drive de 360K por outro de maior capacidade. E vamos bem devagar, começando do começo, como convém.

Esquecendo os tempos d'antanho, dos discos de 8" e assemelhados, para a maioria de nós disquetes medem 5"1/4 e podem armazenar 360K de informações nas duas faces disponíveis para gravação. São os chamados discos de dupla face e dupla densidade. E há alguns anos eram os únicos disponíveis.

Em 1984, com o lançamento do AT, foram introduzidos os primeiros discos de alta densidade, de aspecto semelhante ao de seus antecessores: também medindo 5"1/4 e protegidos em uma capa de plástico flexível, mas usando um meio magnético que permite armazenar na mesma superfície uma quantidade maior de informações, ou seja, uma "densidade" maior de dados. De onde o nome. Neles, cabem 1,2Mb de dados, mais do triplo dos de dupla densidade.

Mais tarde foram lançados dois novos tipos de disquetes, estes já com um aspecto bastante diferente: medem apenas 3"1/2, são protegidos por uma capa de plástico duro e, graças à uma inteligente placa de metal deslizante que somente se abre ao se introduzir o disquete no drive, sua superfície magnética jamais é exposta ao mundo exterior e a seus temíveis respingos de café e dedos engordurados. São extraordinariamente mais práticos que os antigos: cabem em qualquer bolso e sua maior proteção física facilita muito o transporte. Além de poderem armazenar maior quantidade de informações: nos de dupla densidade cabem 720K, nos de alta 1,44Mb. O que faz crer que drives e discos de 5"1/4 sejam uma espécie em extinção: breve somente existirão os de 3"1/2.

Hoje há, portanto, quatro tipos de disquetes para a linha PC: de 5"1/4 e 3"1/2, ambos de dupla e alta densidade, respectivamente. O que é, no mínimo, incômodo. Pois cada um exige um tipo de drive para ler e gravar informações. Ou quase.

Como quase? Eu explico: evidentemente, não é possível ler ou gravar discos de 5"1/4 em drives de 3"1/2 e vice-versa. Nem ler ou gravar discos de alta densidade em drives de dupla, seja qual for a medida. Mas um drive de alta densidade pode manejar tanto discos de alta quanto de dupla. Logo, quem pretende ter acesso a informações gravadas em qualquer disquete, necessita apenas de dois drives: um de 3"1/2 e um de 5"1/4, ambos de alta densidade. O que tem levado tanta gente a tentar instalá-los em seus micros.

Note que eu disse "tentar", e não sem razão. É bem verdade que alguns felizardos simplesmente retiram o velho drive de 360K, encaixam os cabos no brinquedo novo e seguem em frente alegremente sem problemas. Com outros, entretanto, podem ocorrer coisas estranhas que vão desde a recusa pura e simples da máquina reconhecer o novo drive até algo menos grave, mas não menos desagradável: o drive é reconhecido, mas não como alta densidade, e continua apenas a ler e gravar discos em densidade dupla.

Para ver o porquê desta aparente teimosia em aceitar o novo drive (e procurar resolver o problema), vamos discutir como as tarefas de ler gravar informações em discos são executadas pelo sistema.

Imagine que você acabou de carregar seu editor de textos e deseja modificar um arquivo armazenado em um disquete no drive A. Usando os comandos do programa, você manda que ele carregue o arquivo para edição e, presto, lá está o bicho na tela à sua disposição. Pois antes de começar a batucar nas teclas, pare um pouco e pense no que, de fato, ocorreu.

Um editor de textos "sabe" que um arquivo é uma coleção de dados que está armazenada em algum lugar e pode ser carregado na memória, modificado e armazenado de volta no lugar de onde veio. E que "discos" são locais onde se armazenam dados. De trilhas, setores e congêneres, não entende nada. Quando você pede a ele que carregue um arquivo, ele não tem a menor idéia de onde, fisicamente, aquela coisa está armazenada: em um disco flexível, no winchester, em um disco RAM ou até mesmo em um diretório qualquer que o comando "subst" faz simular um disco. Mas, para o editor de textos, nada disto tem importância, desde que os dados sejam carregados na memória. Na verdade, ele nem precisa se preocupar com estes detalhes: para isto existe o sistema operacional. Então, calmamente, repassa para o sistema o pedido que você fez.

O sistema operacional, este sim, sabe muito bem o que é um disco. E entende razoavelmente de trilhas e setores. Recebe do programa a especificação do arquivo e o drive onde procurar por ele. Aciona o drive, lê para a memória o diretório e nele busca o nome do arquivo. Se não encontra, retorna para o programa um código de erro e dá os trâmites por findos. Se encontra, lê no diretório o número do primeiro setor onde está o arquivo (na verdade, do primeiro "cluster", mas vamos simplificar as coisas). Depois, usando a FAT (tabela de alocação de arquivos), descobre quais os demais setores que o arquivo ocupa. E pára por aí: o sistema operacional não pode ir além e buscar o arquivo no disco setor por setor porque não lida diretamente com o hardware. Esta é a função do BIOS, sistema básico de entrada e saída.

Então o sistema operacional repassa ao BIOS a localização do arquivo em disco e pede que seus setores sejam lidos para a memória. Para isto é preciso que a cabeça de leitura/gravação do drive seja movimentada para a trilha correta, baixada sobre o disco e, quando o setor desejado estiver "passando" sob ela, os dados sejam lidos. Coisa que também o BIOS não sabe fazer: quem sabe é um programinha armazenado em ROM, na placa controladora dos drives. Que, então, recebe os dados do BIOS, posiciona as cabeças nos lugares certos, transforma o fluxo magnético em bits e bytes e os envia para o BIOS. Que manda para o sistema operacional. Que entrega ao programa. Que os põe na tela à sua disposição.

Parece complexo, mas na verdade é um encadeamento perfeitamente lógico de ações que se complementam. Cujas implicações no problema que estamos examinando serão discutidas a seguir.

 

B. Piropo