1

Salut smile

Est ce que vous avez une idée de comment on accède aux données d'une partition raw dans un programme ? (en C ou en C++ par exemple)

Il y a de la programmation système à se cogner ou pas ?

2

PS : peu importe le système d'exploitation (je suppose (j'espere) que c'est portable sans trop de difficultés embarrassed)

3

je crois que je viens de trouver un truc intéressant hehe :

http://www.it.fht-esslingen.de/~zimmerma/software/ltools/ltools.html
linux : int disk_fd = open("/dev/hda1", O_RDWR);
windows : HANDLE hPhysicalDrive = CreateFile("\\.\PhysicalDrive0",
                                       GENERIC_READ | GENERIC_WRITE,
                                       FILE_SHARE_READ | FILE_SHARE_WRITE,
                                       0, OPEN_EXISTING, 0, 0 );

4

vous confirmez ?

5

Pourquoi c'est dans la partie TI?

6

7

Ouais d'ailleurs, ça serait sûrement mieux que le forum Algorithmie et optimisation appartiennent au forum Informatique et que le lien soit dans le forum TI68k (au lieu du contraire)
avatar
;)

8

G R A V E !

lol j ai vraiment rien a faire ...

9

(d'ailleurs entre nous c'est pas du tout de l'algorithmique, ça aurait plutôt sa place dans "systèmes d'exploitation"... en principe les vraies questions d'algorithmique détonnent moins dans le forum TI)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

10

C'est pour travailler sur une bande magnétique ?
avatar

11

Pollux :
(d'ailleurs entre nous c'est pas du tout de l'algorithmique, ça aurait plutôt sa place dans "systèmes d'exploitation"... en principe les vraies questions d'algorithmique détonnent moins dans le forum TI)

bof, je ne vois pas le rapport non plus avec le systeme d'exploitation : c'est de la programmation embarrassed

et puis d'ailleurs :

Algorithmie et optimisation
Programmation en général.



contre

Système d'exploitation
Vous êtes bloqués sous Windows, Linux, QNX.. ? venez nous en parler


ça colle bien mieux au descriptif de la rubrique Algo et optimisation (meme si je suis bien d'accord que ça n'est pas de l'algo.. c'est pas de ma faute s'il manque une rubrique de *technique* (je veux dire de la prog sans faire reference à un langage en particulier)

12

Nil :
C'est pour travailler sur une bande magnétique ?

non, une partition de disque dur en RAW.

13

bon sinon personne ne peut confirmer ou infirmer ./3 ?

14

(pas moi... sous Nux, je vais un cpio vers /dev/xxx quand j'écris sur une bande en direct en ignorant tout filesystem, mais je ne sais pas faire plus).
avatar

15

et ça consiste uniquement à faire un open()/close(), des seek() et des read()/write() classiques ?

16

Je ne me pose pas de questions, en fait... Pour ça, il faudrait voir comment est implémenté cpio.
Perso, je fais un cpio (je peux te retrouver la commande exacte lundi) qui copie sur une unité comme s'il s'agissait d'un fichier, donc en fait ça copie en brut les données sans se poser de questions... et on lit la bande comme on lirait un fichier écrit linéairement.
La technique a un avantage non négligeable pour les cartouches de sauvegarde : on peut écrire le jour J une sauvegarde, demander de ne pas rembobiner, et écrire à J+1 à la suite de la bande sans aucun écrasement... (je ne sais pas si c'est clair).
Par contre, les opérations sont très basiques, vu qu'une bande est déroulée linérairement... on écrit ou on lit d'une position à l'autre, c'est tout.
avatar

17

merci beaucoup smile

En fait je viens de lire un peu plus attentivement la doc de ltools (le lien que j'ai donné au ./3) plus la MSDN pour la fonction CreateFile(), et visiblement on peut ouvrir une partition en la considérant comme un gros fichier hehe (avec quelques petites contraintes quand même : être logué en administrateur, écrire des données d'une taille multiple de celle des secteurs du disque, etc.)

donc à priori CPIO ne doit pas trop faire de grande différence entre écrire sur une bande directement ou dans un fichier normal smile (c'est pratique quand même top)

18

Voui, c'est vraiment pratique ^^ (en même temps, ça suit la logique Unix ou tout est fichier).
avatar

19

Je ne crois pas que le système de fichier utilisé ait d'importance, c'est le noyau qui gère les lectures et écritures sur tes périphériques.
Pour autant que je sache tu n'as pas as te soucier de ça, par exemple un programme compilé sous *nux peut aussi bien lire et ecrire sur une partition Linux, NFS, FAT, ... de même sur MSWindows (voire Mac mais je ne peux pas confirmer)

20

Mais justement, lui veut écrire en RAW, c'est à dire des données brutes sans FS
avatar

21

Pen^2 :
et ça consiste uniquement à faire un open()/close(), des seek() et des read()/write() classiques ?

Apriori, j'aurais tendance a dire OUI

Apres, si la différence se sentiras si tu es en USERLAND ou KERNELLAND

ou si tu veux géré comme un gros fichier d'octets ou une bestiolle complexe en Secteur/Piste/Tete cheeky

Bref
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.