Qu'est ce que le DOS ?
CyberP1708
-
CyberP1708 -
CyberP1708 -
Bonjour,
Je voudrais savoir ce qu'est réellement le DOS...
En effet, j'ai créé une disquette de boot qui affiche "Hello World!", le tout en assembleur (donc ce qui est sur la disquette n'est QUE le programme, rien d'autre n'est inclus).
Et pour afficher "Hello World!" j'utilise une interruption (une fonction en quelques sortes) "du DOS".
Ca m'indigne beaucoup parce que je pensais que le DOS était un système d'exploitation... (c'est ce qu'il y a écrit sur le site d'ailleurs) Mais si je boote à partir de la disquette il ne peut pas y avoir de système d'exploitation lancé !
Merci d'avance
Je voudrais savoir ce qu'est réellement le DOS...
En effet, j'ai créé une disquette de boot qui affiche "Hello World!", le tout en assembleur (donc ce qui est sur la disquette n'est QUE le programme, rien d'autre n'est inclus).
Et pour afficher "Hello World!" j'utilise une interruption (une fonction en quelques sortes) "du DOS".
Ca m'indigne beaucoup parce que je pensais que le DOS était un système d'exploitation... (c'est ce qu'il y a écrit sur le site d'ailleurs) Mais si je boote à partir de la disquette il ne peut pas y avoir de système d'exploitation lancé !
Merci d'avance
4 réponses
"Mais si je boote à partir de la disquette il ne peut pas y avoir de système d'exploitation lancé ! "
-> Il ya des systemes d'exploitation qui tiennent sur 1 disquette :)
-> On peut démarrer sur une disquette a condition que certains fichiers soient présents sur la disquette: il n'y a vraiment rien d'autre que ton prog sur cette disquette?
a+
dje-dje
-> Il ya des systemes d'exploitation qui tiennent sur 1 disquette :)
-> On peut démarrer sur une disquette a condition que certains fichiers soient présents sur la disquette: il n'y a vraiment rien d'autre que ton prog sur cette disquette?
a+
dje-dje
Bonjour,
Il y a quoi sur ta disquette à part ton programme ? Qu'est ce qui la fait booter ?
Le DOS est bel et bien un OS... :)
Il y a quoi sur ta disquette à part ton programme ? Qu'est ce qui la fait booter ?
Le DOS est bel et bien un OS... :)
Voici le contenu de la disquette :
Une disquette est bootable si les octets 511 et 512 contiennent un code spécial (55AA en hexa, ce sont les deux dernières lignes du code que j'ai mis)
Il n'y a pas besoin spécialement de fichiers supplémentaires : pour une disquette de démarrage c'est le premier segment (là où ça boote) qui démarre les autres fichiers, dans mon cas tout se fait directement dans le premier segment
La preuve c'est que ça marche et que windows me dit que 0 octets sont utilisés sur la disquette
jmp debut db "BOOT", 0, 0, 0, 0 dw 512 db 1 dw 1 db 2 dw 224 dw 2880 db 0xF0 dw 9 dw 18 dw 2 dw 0 dw 0 db 0 db 0 db 0x29 debut: cli mov ax, 0x6000 mov ss, ax mov ax, 0x07C0 mov ds, ax mov es, ax mov fs, ax mov gs, ax mov sp, 0xFFFF mov ax, 0012h int 10h sti mov cx, 12 boucle: mov di, 12 sub di, cx mov ah, 0Eh mov al, [helloworld + di] mov bh, 0 mov bl, 0FFh int 10h loop boucle infini: jmp infini helloworld db "Hello World!" times 510 - ($-$$) db 0 db 0x55 db 0xAA
Une disquette est bootable si les octets 511 et 512 contiennent un code spécial (55AA en hexa, ce sont les deux dernières lignes du code que j'ai mis)
Il n'y a pas besoin spécialement de fichiers supplémentaires : pour une disquette de démarrage c'est le premier segment (là où ça boote) qui démarre les autres fichiers, dans mon cas tout se fait directement dans le premier segment
La preuve c'est que ça marche et que windows me dit que 0 octets sont utilisés sur la disquette
Désolé, il semblerait que j'ai fait une erreur : ce que j'utilise c'est en fait une interruption du BIOS (il y a les deux)
Je viens de trouver un site disant que c'est impossible que ce soit du DOS (justement puisqu'il n'est pas là) et en approfondissant j'ai trouvé que ce que j'utilisais n'était pas du DOS
Merci quand même
Je viens de trouver un site disant que c'est impossible que ce soit du DOS (justement puisqu'il n'est pas là) et en approfondissant j'ai trouvé que ce que j'utilisais n'était pas du DOS
Merci quand même