Alguém sabe por que os setores do disquete IBM são nomeados de 1 a 8 (e não de 0 a 7) [fechado]


9

Agora estou programando em um computador Z80 de 8 bits com CP / M 2.2 (como hobby) e o formato de disquete é IBM, 40 trilhas, 8 setores por trilha, 512 bytes por setor. o espaço livre é de 154 Ko em cada face do disco.

Por que os setores são indexados de 1 a 8 (e não de zero a sete, como geralmente é visto nos computadores)?

O catálogo do disquete está na faixa 1 (setor 1 a 4, 64 entradas).

Eu estou querendo saber é o catálogo na faixa zero?

A faixa zero é reservada para incluir um sistema (como as faixas 0 e 1 são reservadas para o sistema em um disquete CP / M e o catálogo na faixa 2)?


Perguntei isso porque, por exemplo, no APPLE II, os setores começam em zero (0 a F).

O computador que eu uso é um AMSTRAD CPC 6128 (1985). É um 8 bits com o Zilog Z-80, com o CP / M OS 2.2 e 3.0 disponível.

O formato do disquete é bastante raro: 3 polegadas. (não 3 1/2).

Estão disponíveis 3 FORMATOS: -CP / M: 40 faixas (0 a 39) 9 setores por faixa (denominada 41 a 49) 169 Ko em cada face. -DATA: 40 trilhas (0 a 39) 9 setores por trilha (nomeados & C1 a & C9) 178 Ko em cada face. -IBM: 40 trilhas (0 a 39) 8 setores por trilha (denominadas 1 a 8) 154 Ko de espaço livre em cada face.

Um disquete de 3 polegadas é diferente de um disquete de 3 1/2. Para ler o lado B: Eu tenho que ejetar o disquete e girá-lo eu mesmo e colocá-lo novamente na unidade de disco! mas funciona muito bem.

As faixas começam de 0 a 39. Estou curioso para saber por que os setores começam em 1 e por que a faixa 0 não é usada para o diretório no formato IBM ...

Por exemplo, o formato CP / M é muito simples: diretório na faixa 2, sistema CP / M na faixa 0 e 1.

Eu sou um programador de montagem experiente e acho que seria lógico que os setores iniciem em zero, como as trilhas. O computador AMSTRAD CPC também pode aceitar uma unidade de disco de 5 1/4. Eu comprei um ontem. Mas faixas, setores e formatos serão os mesmos, obviamente, em 5 1/4 de disquete.

Olivier.

ps: desculpe pelo meu inglês, não é minha língua nativa. ^^


Às vezes, algo é assim, porque é assim. (E lembre-se de que o formato de disquete remonta a alguns sistemas de entrada de dados chave-em-disco parcialmente eletromecânicos muito antigos. O que significa que os engenheiros mecânicos tiveram uma mão tão grande no design quanto os EEs.)
Daniel R Hicks,

40 faixas você tem certeza? Isso seria um disquete de 5,25 "de um lado . Ou você quer dizer 40 cilindros e disquetes de dois lados? O BTW CP / M normalmente suporta disquetes de 8" e 5,25 " , disquetes de um e dois lados , formatos de gravação de densidade simples e dupla , e uma variedade de tamanhos de setor (256, 512 e 1024 eram comuns). O PC-DOS da IBM suportava disquetes SS e DS 5,25 "e ajuda a padronizar 512 bytes por setor.
Serragem #

11
A pergunta em seu título não está vinculada ao "disquete IBM", mas volta aos controladores de disquete "padrão" do IBM 3740 e IBM System 34, que se tornaram os padrões para os formatos de gravação de densidade simples e dupla. Os esquemas de numeração foram projetados por engenheiros de hardware e implementados para seqüências de comandos, e não projetados por engenheiros de software ou programadores.
serradura

Agora existe um Retro Computing Stack Exchange para perguntas como esta.
CJ Dennis

Respostas:


6

Eu acho que você tem uma idéia errada de que as coisas relacionadas aos computadores começam do zero.

Embora esse seja o caso de todas as linguagens baseadas em C (C, C ++, C #, Java etc.), NÃO é verdade para algumas linguagens que são tão antigas ou mais antigas que C (como FORTRAN e COBOL).

Desde que o Z80 foi introduzido antes do ANSI C, era esperado que ele executasse muito mais COBOL e FORTRAN do que o Lisp (que também é muito antigo, mas possui indexação baseada em zero).

Como tal, a indexação baseada em um faz sentido.


2
O microprocessador Zilog Z80 e quaisquer linguagens de programação que ele possa ter suportado não têm nada a ver com os padrões do controlador de disquete. Os disquetes foram inventados antes do Z80 aparecer.
serradura

11
@sawdust, tem muito mais a ver com padrões em geral na época. Como na época se esperava que muitas coisas fossem indexadas, os disquetes também eram.
Soandos

4
Sua "explicação" não leva em conta o fato de que o número do cilindro e o número da cabeça estão numerados de zero, não um.
serradura

3

A primeira especificação em disquetes foi feita pela IBM com a aparência do IBM 3740 e não menciona que existem setores reservados para o sistema. A única reserva para o sistema é a faixa 00, que armazena apenas os "Etiquetas do conjunto de dados" que identificam o tipo de informação armazenada nas faixas 01 a 76. Ele define claramente que o primeiro setor é o SETOR 1. Isso não é uma coincidência, mas uma questão de numeração natural contra a numeração do computador.

Podemos observar que quando um humano começa a contar qualquer coisa, ele não começa com zero, mas com um. Por exemplo, imagine que haja 135 alunos na sala de aula. Contar o número seria algo assim: Um, dois, três ... cento e trinta e quatro, cento e trinta e cinco.

Sua representação numérica seria assim: 1, 2, 3, ... 134, 135 Até agora concordamos, certo?

Agora vamos colocar os dígitos que não são representados por serem 0. Ele ficaria assim: 001, 002, 003, ..., 015, 016, ..., 099, 100, ..., 133, 134, 135

É o que acontece com o CHS : 0,0,1 - 0,0,2 - 0,0,3 ...

É significativo que as linhas nas planilhas do Excel ou os campos numéricos automáticos em um banco de dados iniciem por 1 e não por 0 e ninguém tenha dito nada sobre isso.

David J. Bradley agendou o BIOS dessa maneira?

Sim, mas ele não estava do lado de fora.

Definitivamente, não há motivo técnico para o uso do SECTOR 0, a menos que esteja reservado e oculto aos usuários por outros motivos. Em princípio, tudo indica que é uma questão de numeração natural.

GA21-9152-2 Arquivo nº 3740-00,15
IBM 3740 Data Entry System

página 12
INICIALIZAÇÃO DO DISCO
... Cada disco contém duas faixas sobressalentes para substituir quaisquer faixas irregulares. Além disso, o recurso de inicialização fornece um meio de alterar a sequência do endereço do setor no disquete. Normalmente, a sequência de setores está em ordem numérica (1, 2, 3, ... 25,26)
.

página 24
ROTULAGEM DE DADOS NO DISQUETE
Durante a inicialização, o rótulo do conjunto de dados é gravado magneticamente na faixa de índice (faixa 00) do disquete. O objetivo principal deste rótulo é mostrar o local do conjunto de dados no disquete

Isso foi em 1973. Ele gravou dados em um disquete de 8 ". O IBM PC 5150 nasceu em 12 de agosto de 1981 ... e não podemos esquecer que eles precisavam manter alguma compatibilidade com os dispositivos anteriores.

Definitivamente não havia razão técnica.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.