Qualcuno sa perché i settori del floppy disk IBM sono chiamati da 1 a 8 (e non da 0 a 7) [chiuso]


9

Ora sto programmando su un computer Z80 a 8 bit con CP / M 2.2, (come hobby) e il formato del floppy disk è IBM, 40 tracce, 8 settori per traccia, 512 byte per settore. lo spazio libero è di 154 Ko su ciascuna faccia del disco.

Perché i settori sono indicizzati da 1 a 8 (e non da zero a sette, come di solito si vede con i computer)?

Il catalogo del floppy disk è sulla traccia 1 (settore da 1 a 4, 64 voci).

Mi chiedo è il catalogo sulla traccia zero?

La traccia zero è riservata al sistema incluso (poiché le tracce 0 e 1 sono riservate al sistema su un floppy disk CP / M e il catalogo è sulla traccia 2)?


L'ho chiesto perché, ad esempio, su APPLE II, i settori iniziano da zero (da 0 a F).

Il computer che uso è un AMSTRAD CPC 6128 (1985). È un 8 bit con Zilog Z-80, con CP / M OS 2.2 e 3.0 disponibili.

Il formato del floppy disk è piuttosto raro: 3 pollici. (non 3 1/2).

Sono disponibili 3 FORMATI: -CP / M: 40 tracce (da 0 a 39) 9 settori per traccia (denominati & 41 a & 49) 169 Ko su ogni faccia. -DATA: 40 tracce (da 0 a 39) 9 settori per traccia (denominati da & C1 a & C9) 178 Ko su ogni faccia. -IBM: 40 tracce (da 0 a 39) 8 settori per traccia (denominati da 1 a 8) 154 Ko di spazio libero su ciascuna faccia.

Un floppy disk da 3 pollici è diverso da un floppy disk da 3 1/2. Per leggere il lato B: devo espellere il dischetto e ruotarlo da solo, quindi inserirlo nuovamente nell'unità disco! ma funziona molto bene.

Le tracce iniziano da 0 a 39. Sono solo curioso di sapere perché i settori iniziano da 1 e perché la traccia 0 non viene utilizzata per la directory nel formato IBM ...

Ad esempio, il formato CP / M è molto semplice: directory sulla traccia 2, CP / M di sistema sulla traccia 0 e 1.

Sono un programmatore di assemblaggio esperto e penso che sarebbe logico che i settori iniziassero da zero, come fanno le tracce. Anche il computer CPC AMSTRAD può accettare un'unità disco da 5 1/4. Ne ho comprato uno ieri. Ma tracce, settori e formati saranno gli stessi ovviamente su 5 1/4 squame.

Olivier.

ps: scusami per il mio inglese, non è la mia lingua madre. ^^


A volte qualcosa è come è perché è così. (E tieni presente che il formato floppy risale ad alcuni dei primi sistemi di immissione dati da chiave a disco parzialmente elettromeccanici. Il che significa che gli ingegneri meccanici avevano una mano tanto grande nella progettazione quanto gli EE.)
Daniel R Hicks

40 brani sei sicuro? Sarebbe un dischetto da 5,25 " solo fronte . O intendi 40 cilindri e dischetti su due lati? BTW CP / M in genere supportava floppy da 8" e 5,25 " , dischetti da un lato e da due lati , formati di registrazione a singola e doppia densità , e un assortimento di dimensioni di settore (256, 512 e 1024 erano comuni). IBM PC-DOS supportava floppy SS e DS 5,25 "e aiutava a standardizzare 512 byte per settore.
segatura

1
La domanda nel titolo non è legato a "floppy disk IBM", ma risale al disco "standard" floppy controller dalla IBM 3740 e IBM System 34, che divenne gli standard per formati di registrazione densità singole e doppie. Gli schemi di numerazione sono stati progettati da ingegneri hardware e implementati per sequenze di comandi e non progettati da ingegneri del software o programmatori.
segatura

Ora c'è uno scambio di stack di calcolo retrò per domande come questa.
CJ Dennis,

Risposte:


6

Penso che tu abbia un'idea sbagliata che le cose riguardanti i computer inizino da zero.

Mentre questo è il caso di tutti i linguaggi basati su C (C, C ++, C #, Java, ecc.) NON è vero per alcune lingue che sono vecchie o più vecchie di C (come FORTRAN e COBOL).

Da quando Z80 è stato introdotto prima di ANSI C, si prevedeva che eseguisse molto più COBOL e FORTRAN di Lisp (che è anche molto vecchio, ma con indicizzazione a base zero).

Come tale, l'indicizzazione basata su uno ha senso.


2
Il microprocessore Zilog Z80 e tutti i linguaggi di programmazione che potrebbe aver supportato non hanno nulla a che fare con gli standard del controller floppy. I floppy furono inventati prima che arrivasse la Z80.
segatura

1
@sawdust, ha molto più a che fare con gli standard in generale al momento. Dato che all'epoca ci si aspettava che molte cose fossero indicizzate, lo erano anche i floppy.
soandos,

4
La tua "spiegazione" non tiene conto del fatto che il numero del cilindro e il numero della testa sono numerati da zero, non uno.
segatura

3

La prima specifica sui floppy disk è stata fatta da IBM con l'aspetto di IBM 3740 e non menziona che ci sono settori riservati per il sistema. L'unica riserva per il sistema è la traccia 00, che memorizza solo le "etichette dei set di dati" che identificano il tipo di informazioni memorizzate nelle tracce da 01 a 76. Definisce chiaramente che il primo settore è SETTORE 1. Questa non è una coincidenza ma un questione di numerazione naturale rispetto alla numerazione del computer.

Possiamo osservare che quando un essere umano inizia a contare qualsiasi cosa, non inizia con zero ma uno. Ad esempio, immagina che ci siano 135 studenti in una classe. Contare il numero sarebbe qualcosa del genere: uno, due, tre ... centotrentaquattro, centotrentacinque.

La sua rappresentazione numerica sarebbe quindi: 1, 2, 3, ... 134, 135 Finora siamo d'accordo, giusto?

Ora mettiamo le cifre che non sono rappresentate da 0. Sarebbe così: 001, 002, 003, ..., 015, 016, ..., 099, 100, ..., 133, 134, 135

Questo è ciò che accade con CHS : 0,0,1 - 0,0,2 - 0,0,3 ...

È significativo che le righe nei fogli Excel o i campi numerici automatici in un database inizino da 1 e non da 0 e nessuno ha detto nulla al riguardo.

David J. Bradley ha programmato il BIOS in quel modo?

Sì, ma non era fuori di testa.

Sicuramente non esiste alcun motivo tecnico per cui SECTOR 0 non possa essere utilizzato se non è riservato e nascosto agli utenti per altri motivi. In linea di principio, tutto indica che si tratta di una numerazione naturale.

GA21-9152-2 N. file 3740-00,15
IBM 3740 Data Entry System

pagina 12
INIZIALIZZAZIONE DEL DISCO
... Ogni disco contiene due tracce di riserva per sostituire eventuali tracce irregolari. Inoltre, la funzione di inizializzazione fornisce un mezzo per alterare la sequenza di indirizzi di settore sul dischetto. Normalmente, la sequenza dei settori è in ordine numerico (1, 2, 3, ... 25,26)
.

pagina 24
ETICHETTATURA DEI DATI SUL DISKETTE
Durante l'inizializzazione, l'etichetta del set di dati per un set di dati viene registrata magneticamente sulla traccia indice (traccia 00) del dischetto. Lo scopo principale di questa etichetta è mostrare la posizione del set di dati sul dischetto

Era il 1973. Registrava i dati su un dischetto da 8 ". L'IBM PC 5150 è nato il 12 agosto 1981 ... e non possiamo dimenticare che dovevano mantenere una certa compatibilità con i dispositivi precedenti.

Non c'era assolutamente alcun motivo tecnico.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.