Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Leggere e scrivere i settori del disco/gestione a basso livello hard disk. Cerco consigli.
Forum - C/C++ - Leggere e scrivere i settori del disco/gestione a basso livello hard disk. Cerco consigli.

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Macca96 (Normal User)
Rookie


Messaggi: 26
Iscritto: 08/01/2013

Segnala al moderatore
Postato alle 17:07
Martedì, 02/12/2014
Ciao a tutti. Sono finalmente tornato sul forum. L'altro giorno, leggendo una rivista antecedente al 2000 regalatami dal professore di informatica (insieme a tutti gli altri numeri ;) ) ho trovato un articolo molto interessante riguardo il file system del dos. L'articolo proponeva un programma assembler per leggere i settori del disco. È un programma abbastanza inutile visto così, ma è molto interessante dal punto di vista didattico. Per leggere i settori, il programma sfrutta l'interrupt 13h del bios.
Qualcuno sa se in C (magari senza utilizzare l'assembler inline) è possibile accedere ai settori del disco? La libreria bios.h potrebbe aiutare? Qualcuno ha già esperienza con queste cose?
Sarebbe bello creare un programma non solo in grado di accedere ai settori e leggerli, ma anche di scriverli. Mi vengono in mente alcuni esperimenti interessanti da fare su una macchina virtuale con windows xp :heehee:

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 9:47
Mercoledì, 03/12/2014
Non puoi usare quelle funzionalità con sistemi moderni.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
Macca96 (Normal User)
Rookie


Messaggi: 26
Iscritto: 08/01/2013

Segnala al moderatore
Postato alle 17:31
Mercoledì, 03/12/2014
Quindi? Esistono delle alternative? Nemmeno con l'assembly inline posso richiamare tali interrupt?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 17:40
Mercoledì, 03/12/2014
No. Quelli sono interrupt bios eseguibili in modalità reale, non protetta (ovvero da DOS, Win95, Win98 e simili ...).

Già da NT non puoi utilizzarli.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
Macca96 (Normal User)
Rookie


Messaggi: 26
Iscritto: 08/01/2013

Segnala al moderatore
Postato alle 18:00
Mercoledì, 03/12/2014
E se utilizzassi il buon vecchio turbo C++ sul dos c'è possibilità di concludere qualcosa senza l'assembly?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 19:35
Mercoledì, 03/12/2014
No ... non hai capito ... non è questione di C o assembly.

Il disco non puoi leggerlo in questa maniera.



Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
Macca96 (Normal User)
Rookie


Messaggi: 26
Iscritto: 08/01/2013

Segnala al moderatore
Postato alle 19:46
Mercoledì, 03/12/2014
Potresti spiegarti meglio?
Intendi che non posso andare a leggere e scrivere sui file?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 20:19
Mercoledì, 03/12/2014
Tu non vuoi leggere e scrivere sui file ma direttamente i settori del disco.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
Macca96 (Normal User)
Rookie


Messaggi: 26
Iscritto: 08/01/2013

Segnala al moderatore
Postato alle 20:22
Mercoledì, 03/12/2014
Per scrivere settori, io intendevo accedere ad un settore indirizzato da un numero specifico ed inserire in esso dei dati. Credi che non sia possibile?

Altrimenti come fanno i programmi che rendono le penne usb bootabili a scrivere un bootloader all'interno del primo settore?

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo