Sei sulla pagina 1di 7

Perifricos e Interfaces Docente: Ana Paula Costa

Ano lectivo 2003/2004

Aula Terica 11
Sumrio: O disco rgido e a disquete estrutura fsica. Como os dados so armazenados fisicamente. Como o MS-DOS organiza o disco. O registo de boot. Leitura Recomendada: Captulos 28 e 29 - Hans-Peter Messmer, The Indispensable PC Hardware Book, Addison-Wesley. Captulo 5 - Peter Norton, Peter Aitken e Richard Wilton, PC Programmers Bible, Microsoft Press.

Estrutura fsica da disquete e do disco rgido A disquete composta por um prato de material magnetizvel. Ambos os lados do prato podem ser usados para armazenar dados. Uma drive de disquetes contem um motor que faz rodar a disquete a uma velocidade constante. A drive tem ainda duas cabeas de leitura/escrita, uma para cada lado da disquete. As cabeas so montadas num brao que se move para trs e para a frente, afastando-se ou aproximando-se do centro da disquete.

Figura n 1 Geometria da drive de disquetes.

A geometria de um disco rgido semelhante de uma disquete. Tem normalmente, no apenas um, mas vrios pratos, que rodam em conjunto, e a drive tem um brao com vrias cabeas de leitura/escrita, uma para cada superfcie dos pratos. O material de que os pratos do disco rgido so feitos permite-lhes rodar mais rapidamente do que a disquete e permite tambm uma maior densidade de armazenamento de dados. Como resultado, um disco rgido pode armazenar muito mais informao que uma disquete e essa informao pode ser acedida muito mais rapidamente.

Perifricos e Interfaces Docente: Ana Paula Costa

Ano lectivo 2003/2004

Figura n 2 Geometria da drive do disco rgido.

Conceito de pista, sector, cilindro e cluster

Pista - Cada lado do prato contem anis concntricos, chamados pistas, que so numerados de 0 a N. Sector - Cada pista est dividida em sectores, num nmero fixo por pista. Cada sector tem 512 bytes de capacidade nas disquetes e na maioria dos discos. Os sectores so numerados de 1 a M. Representa a quantidade mnima de informao a que um programa pode aceder, isto , no possvel ler/escrever um byte isolado num disco/disquete, a unidade mnima o sector (512 bytes). Cilindro - Conjunto de todas as pistas com o mesmo nmero em cada superfcie dos vrios pratos. uma pilha de todas as pistas com o mesmo nmero. A contagem das cabeas de leitura/escrita tambm comea em 0. Como o brao das cabeas move-se em unssono convm escrever os dados numa s pista. Se no couber, deve-se escrever o resto em pistas com o mesmo nmero (no mesmo cilindro). Assim, o brao no necessita de se mover (operao que leva mais tempo que a prpria transferncia dos dados).

Perifricos e Interfaces Docente: Ana Paula Costa

Ano lectivo 2003/2004

Figura n 3 Estrutura fsica de um disco/disquete.

Armazenamento fsico dos dados A forma como os dados so fisicamente mapeados no disco ou disquete um resultado natural da geometria do hardware. Porque necessrio formatar o disco/disquete antes de se poder utilizar pela primeira vez? Porque durante a formatao so escritos na superfcie magntica valores que indicam os nmeros das pistas, cilindros e sectores. Aps a formatao possvel ler/escrever dados no dispositivo, com base no esquema de endereamento descrito. Este modo de endereamento chamado endereamento fsico e usado pela BIOS. Localizao de uma determinada informao na BIOS, resulta da combinao do nmero da pista ou cilindro, nmero do sector e nmero da cabea de leitura/escrita. Capacidade total de armazenamento resulta do clculo: nmero total de cabeas de leitura/escrita x nmero de pistas x nmero de sectores x bytes por sector Nos discos rgidos as capacidades de armazenamento variam muito, assim como variam o nmero de cilindros, cabeas e sectores. Cluster - Grupo de sectores consecutivos que o sistema trata como uma unidade de espao de armazenamento. sempre um valor potncia de 2. Um ficheiro comea na fronteira de um cluster e requer no mnimo um cluster, mesmo que no ocupe todo o espao. Por exemplo, numa disquete de dois

Perifricos e Interfaces Docente: Ana Paula Costa

Ano lectivo 2003/2004

sectores por cluster, um ficheiro de 100 bytes ocupa na mesma os dois sectores (2 x 512 bytes = 1024 bytes). O nmero de sectores por cluster depende do tipo de disco ou disquete.

Figura n 4 Capacidades de armazenamento para disquetes.

Os controladores Tanto as disquetes como os discos possuem controladores que, estando entre o processador e a drive, fazem a gesto de toda a comunicao entre eles. Quando o processador faz um pedido para ler dados, o controlador trata de fazer com que o brao se mova para o cilindro pretendido, selecciona a cabea e aceita os dados lidos do sector pretendido, colocando os dados na RAM onde o processador os pode aceder. Enquanto o processador faz estas tarefas, o processador est livre para outras. H vrios tipos de controladores (IDE e SCSI), voltaremos a este assunto numa das aulas mais frente. Do ponto de vista do programador indiferente que tipo de controlador existe. Isto porque existem device drivers que so instalados e que tornam a programao independente do hardware.

Como o MS-DOS organiza o disco Sectores lgicos

O DOS no reconhece cilindros, cabeas e sectores. Em vez disso, o MS-DOS v um disco ou disquete como uma sequncia de sectores lgicos cuja contagem comea em 0 e termina no ltimo sector do dispositivo. A contagem comea fisicamente no sector 1, cilindro 0, cabea 0 (que constitui o sector lgico 0) e continua pista a pista no mesmo cilindro (vai mudando de cabea), e depois de cilindro a cilindro. O ltimo sector de um cilindro seguido do primeiro sector do prximo cilindro. reas de organizao do disco

Todas as disquetes e parties de discos rgidos formatadas com o MS-DOS so mapeadas em quatro reas distintas (com incio no sector lgico 0): O registo de boot, a FAT, a root directory e a rea de ficheiros. O tamanho de cada rea varia com os formatos dos dispositivos, mas a sua estrutura mantm-se a mesma. A tabela da figura n 7 mostra a organizao de vrios tipos de disquetes. A tabela da figura n 8 mostra o mesmo, mas em termos de sectores fsicos e lgicos.

Perifricos e Interfaces Docente: Ana Paula Costa

Ano lectivo 2003/2004

Figura n 6 reas de organizao do disco.

Figura n 7 Sectores ocupados pelas reas em vrios tipos de disquetes.

Figura n 8 Organizao de vrios tipos de disquetes.

Perifricos e Interfaces Docente: Ana Paula Costa

Ano lectivo 2003/2004

O registo de boot O primeiro sector (sector lgico 0) sempre o boot sector. O registo boot sector pode ocupar um ou mais sectores. Uma tabela no boot sector especifica o tamanho do registo de boot, o tamanho e nmero de cpias da FAT e o nmero de entradas na root directory, entre outras informaes. Mesmo que a disquete/disco no seja de arranque, tem sempre boot sector. A FAT (File Allocation Table) Mapeia todo o espao da rea de ficheiros do disco/disquete, incluindo o espao usado pelos ficheiros, o espao livre e o espao danificado. Devido sua importncia, so armazenadas duas cpias da FAT, para o caso de uma delas se danificar. O tamanho da FAT depende do tamanho da disquete ou da partio do disco, no fundo, depende do tamanho da rea que preciso mapear. A root directory Funciona como uma tabela que identifica cada um dos ficheiros existentes no disco/disquete. Cada entrada na tabela contm informaes vrias sobre um ficheiro, incluindo o seu nome, tamanho, localizao inicial no disco, data. O tamanho da root directory varia com o formato do disco. A rea de ficheiros Ocupa o resto do espao do disco/disquete e utilizada para armazenar os ficheiros e subdirectorias. Nas condies ideais, o ficheiro armazenado em espaos contguos. Contudo, um ficheiro pode ser partido em blocos no contguos, especialmente se um ficheiro acrescentado ou se for armazenado no espao deixado livre por um ficheiro apagado. Portanto, no difcil termos um ficheiro com dados espalhados pelo disco. Esta fragmentao faz com que o acesso aos dados do ficheiro seja mais lento, e torna a recuperao do ficheiro (undelete) mais difcil. Normalmente no temos que nos preocupar em saber onde o ficheiro se encontra, esse aspecto tratado pela FAT. S nos devemos preocupar em no ter o disco demasiado desfragmentado, pelas razes abordadas em cima. O registo de boot, a FAT e a root directory so criadas automaticamente pelo sistema operativo durante a formatao do dispositivo. Vamos ver essas trs reas em detalhe.

O registo de boot (boot sector) O boot sector contm: 1. Instrues para que sejam carregados os ficheiros do sistema (io.sys, msdos.sys e command.com), se existirem, do disco para a memria. 2. Todas as informaes para aceder s restantes reas do disco. 3. Informaes sobre o formato fsico do disco. Os sectores de boot tm sempre a mesma estrutura e esto sempre localizados no sector lgico 0. Estrutura do boot sector

entrada 00H contm valor 1EH at verso 3.3 e o valor 3EH aps a verso 3.3. entrada 0BH indica o nmero de bytes por sector (normalmente 200H = 512 bytes). entrada 0DH contm o nmero de sectores por cluster. entrada 0EH indica o nmero de sectores ocupado pelo registo de boot. O seu valor quase sempre 1. entrada 13H contm o nmero total de sectores de um volume se este for inferior a 32 MBytes, caso contrrio, o seu valor zero. entradas 1EH a 1FFH contm o bootstrap loader do DOS at verso 3.3. entrada 20H contm o nmero total de sectores de um volume se este for superior a 32 MBytes, caso contrrio, o seu valor zero. entrada 27H nmero de srie do disco, calculado e gravado a quando da formatao. No DOS calculado com base na data e hora, o que faz com que seja sempre diferente. entrada 2BH igual entrada na root directory para o volume label. entrada 36H contm normalmente o tipo do sistema de ficheiros (FAT12, FAT 16, etc.). entradas 3EH a 1FFH contm o bootstrap loader do DOS aps a verso 4.0.

Perifricos e Interfaces Docente: Ana Paula Costa

Ano lectivo 2003/2004

Figura n 9 Estrutura dos 512 bytes do registo de boot. Discos de boot

Caso a disquete/disco rgido seja de arranque do sistema, os dois ltimos bytes do boot sector contm os valores 55AAH. J vimos que a ltima tarefa das rotinas de start-up da ROM-BIOS detectar o bootstrap loader. Para tal, o boot sector lido para memria e verificado se os dois ltimos bytes contm a assinatura 55AAH, que indica se existe programa de arranque. Se existe, executada a instruo JUMP que est em 00H. Essa instruo um salto para o cdigo bootstrap que carrega os ficheiros do sistema para a memria. Se no existe a assinatura, a BIOS assume que o volume no de arranque. Por defeito, a procura do programa de arranque feita na seguinte ordem: primeiro verificada a drive A e depois o disco rgido. Se em nenhum deles existir programa de arranque, mostrada uma mensagem de erro.

Potrebbero piacerti anche