OVH Cloud OVH Cloud

HAL

49 réponses
Avatar
Cyrille Szymanski
Bonjour,

Je me pose la question de savoir jusqu'à quel point le Hardware Abstraction
Layer est, justement, une abstraction ?

La définition que j'ai trouvé est "A thin layer of software *provided by
the Hardware Manufacturer* that hides, or abstracts, Hardware differences
from higher layers of the Operating System".

Le terme qui me gêne est justement le fait que ce soit le constructeur qui
fournisse le HAL. Cela veut-il simplement dire que par exemple pour qu'un
nouveau bus soit supporté il faut que le constructeur du bus fournisse un
HAL ? Dans ce cas, quel est le niveau d'abstraction ? Qui définit quelles
opérations offre cette couche ?

Ou au contraire le HAL est-il intimement lié au matériel, dans ce cas
quelle est la différence avec un driver qui expose une interface à peu près
standard à l'OS (comme NDIS par exemple) ?

--
Cyrille Szymanski

10 réponses

1 2 3 4 5
Avatar
Thierry
Bonjour,

Vincent Burel a écrit :

Donc, je vous pose la question, que vouliez vous nous dire exactement
!? qu'il semble que la couche HAL ait été généralisé sous Win 2000 /
XP et ne se cantonne plus seulement au DX !? Si c'est ca, baissez d'un
ton, et précisez nous ce que vous avez lu ou compris de vos brillantes
références. Allez, essayer d'être intelligent pour voir ! :-)



C'est quand même incroyable ce ton peremptoire systématique.
Vous avez vraiment des problemes pour communiquer.

Que je sache la question concerne le HAL de maintenant (qu'on ce qu'on en a
a foutre du HAL de 98 ?) qui n'est pas du tout spécifique à la vidéo.
D'ailleurs hal.sys differe suivant que le systeme est mono ou multi
processeur, pas qu'il ait telle ou telle autre carte graphique.

La bible selon St Mark, page 37 (vous voyez comme je fais des efforts)
"The HAL is a layer of code that isolates the kernel, device drivers, and
the rest of Windows 2000 executive from platform-specific hardware
differences (such as differences between motherbooads)."

--
« Le travail est probablement ce qu'il y a sur cette terre de plus bas et
de plus ignoble. Il n'est pas possible de regarder un travailleur sans
maudire ce qui a fait que cet homme travaille, alors qu'il pourrait nager,
dormir dans l'herbe ou simplement lire ou faire l'amour avec sa femme. »
Boris VIAN
Mon blog RSS : http://yarglah.free.fr/monblog_rss.php <<




Avatar
Vincent Burel
"Thierry" wrote in message
news:
Bonjour,

Vincent Burel a écrit :

> Donc, je vous pose la question, que vouliez vous nous dire exactement
> !? qu'il semble que la couche HAL ait été généralisé sous Win 2000 /
> XP et ne se cantonne plus seulement au DX !? Si c'est ca, baissez d'un
> ton, et précisez nous ce que vous avez lu ou compris de vos brillantes
> références. Allez, essayer d'être intelligent pour voir ! :-)

C'est quand même incroyable ce ton peremptoire systématique.
Vous avez vraiment des problemes pour communiquer.



Pourquoi ? vous vous utilisez un autre ton que préremptoire. D'ailleurs, Mr
Thierry Murail, de quoi vous mélez vous ici, je crois que vous etes à
l'origine d'un newsgroup dont le thème est l'engueulade, allez donc vous en
occuper. Car manifestement vous ne savez que faire cela.

Que je sache la question concerne le HAL de maintenant (qu'on ce qu'on en


a
a foutre du HAL de 98 ?) qui n'est pas du tout spécifique à la vidéo.



oui, je faisais un petit rappel historique pour faire comprendre à mon
interlocuteur, dont le ton était plus que préremptoire, pusiqu'il était
moqueur et méprisant, que HAL n'avait pas rien à voir avec le DX. lui
signifiant ainsi son inculture... du même ordre que la votre manifestement.

La bible selon St Mark, page 37 (vous voyez comme je fais des efforts)
"The HAL is a layer of code that isolates the kernel, device drivers, and
the rest of Windows 2000 executive from platform-specific hardware
differences (such as differences between motherbooads)."



ca n'explique pas dans quelle contexte, ca ne dit pas non plus si cette
couche est utilisé par d'autre composant que le DX. Est-ce à dire que la
couche HEL a disparu sous Win 2000 / XP !? Essayez de répondre aux questions
plutot que de dénigrer vos interlocuteurs.

VB
Avatar
Thierry
Bonjour,

Vincent Burel a écrit :

C'est quand même incroyable ce ton peremptoire systématique.
Vous avez vraiment des problemes pour communiquer.



Pourquoi ? vous vous utilisez un autre ton que préremptoire.





D'ailleurs, Mr Thierry Murail, de quoi vous mélez vous ici, je crois
que vous etes à l'origine d'un newsgroup dont le thème est
l'engueulade, allez donc vous en occuper. Car manifestement vous ne
savez que faire cela.



Vous avez fait des efforts de recherche, bravo.
Cependant vous avez encore fait l'impasse sur l'étape de comprehension.

Que je sache la question concerne le HAL de maintenant (qu'on ce
qu'on en a a foutre du HAL de 98 ?) qui n'est pas du tout spécifique
à la vidéo.



oui, je faisais un petit rappel historique pour faire comprendre à mon
interlocuteur, dont le ton était plus que préremptoire,



Ben tiens...
Relisez son message et comparez avec :
"Si c'est ca, baissez d'un ton, et
précisez nous ce que vous avez lu ou compris de vos brillantes références.
Allez, essayer d'être intelligent pour voir ! :-)"

pusiqu'il
était moqueur et méprisant, que HAL n'avait pas rien à voir avec le
DX.



Faut savoir :
"Mais la couche HAL est normallement utilisé que par les composant Direct-
X."
"non, HAL c'est très spécifique jeux vidéo, donc accroché au DX."

La bible selon St Mark, page 37 (vous voyez comme je fais des
efforts) "The HAL is a layer of code that isolates the kernel, device
drivers, and the rest of Windows 2000 executive from
platform-specific hardware differences (such as differences between
motherbooads)."



ca n'explique pas dans quelle contexte, ca ne dit pas non plus si
cette couche est utilisé par d'autre composant que le DX. Est-ce à
dire que la couche HEL a disparu sous Win 2000 / XP !? Essayez de
répondre aux questions plutot que de dénigrer vos interlocuteurs.



C'est simple : j'ai utilisé des fonctions Hal pour enumerer le bus PCI, par
exemple. Donc rien de spécifique à DirectX.

--
« Le travail est probablement ce qu'il y a sur cette terre de plus bas et
de plus ignoble. Il n'est pas possible de regarder un travailleur sans
maudire ce qui a fait que cet homme travaille, alors qu'il pourrait nager,
dormir dans l'herbe ou simplement lire ou faire l'amour avec sa femme. »
Boris VIAN
Mon blog RSS : http://yarglah.free.fr/monblog_rss.php <<




Avatar
adebaene
Vincent Burel a écrit :
wrote in message
news:

>Vincent Burel a écrit :
>> non, HAL c'est très spécifique jeux vidéo, donc accroché au DX.
>> regardez WDM peut-être.

>Raté, la HAL se situe en dessous du kernel et couvre *tous* les
>aspects de la communication avec le hardware : interrupts, DMA, I/O,
>etc... Rien à voire avec DirecX (ou alors indirectement). cf. "Inside
>Windows 2000" (comme toujours) pour les détails...

HAL est une couche drivers,


Non, elle est située *en dessous* des drivers, elle fournit aux
drivers les primitives d'accès au hardware.

En 1997/1998 je me rappelle avoir pris connaissance que la couche HAL,
initialement élaboré pour le DX (appelé ActiveMovie à cette épo que) et que
c'était pour proposer une seconde couche de driver plus performant,
notamment pour faire des jeux vidéo sous windows. D'ailleurs on appelle
familièrement la couche HAL : Driver Direct-X.



Ahem... La HAL fait partie de l'architecture de NT depuis la version
3.51, soit bien avant 97/98. A l'origine, la HAL a été écrite pour
pouvoir supporter les différentes architectures x86, Alpha, etc...
avec le même kernel NT écrit en C.
Maintenant, il est possible que DirectX est maille à partir avec la
HAL pour addresser la carte vidéo, voire que la HAL ait été étendue
pour répondre aux besoin de DirectX (pour mémoire, DirectX n'est
supporté que sous Windows 2000, pas sous NT4).


Donc, je vous pose la question, que vouliez vous nous dire exactement !?
qu'il semble que la couche HAL ait été généralisé sous Win 2000 / XP et ne
se cantonne plus seulement au DX !?


Non, ce n'est pas ce que je dis (cf ci-dessus).

Si c'est ca, baissez d'un ton, et
précisez nous ce que vous avez lu ou compris de vos brillantes réfé rences.
Allez, essayer d'être intelligent pour voir ! :-)


M'insulter ne changera au fait que tu as fais une réponse erronnée,
mais je suppose que c'est plus facile de lancer un troll que de
reconnaitre une erreur... Allez fais, un effort, ca arrive à tout le
monde de se tromper, ce n'est pas si grave que çà ;-)

Arnaud
MVP - VC
Avatar
Jean-Claude BELLAMY
Dans le message news:42a6b628$0$3140$ ,
Vincent Burel s'est ainsi exprimé:

wrote in message
news:

Vincent Burel a écrit :
non, HAL c'est très spécifique jeux vidéo, donc accroché au DX.
regardez WDM peut-être.





Raté, la HAL se situe en dessous du kernel et couvre *tous* les
aspects de la communication avec le hardware : interrupts, DMA, I/O,
etc... Rien à voire avec DirecX (ou alors indirectement). cf. "Inside
Windows 2000" (comme toujours) pour les détails...



HAL est une couche drivers, c'est normal qu'elle s'occupe de gérer des
aspect Hardware tels que interruption, I/O, éventuellement DMA (ce qui
devient rare aujourd'hui, les I/O se font maintenant par de la mémoire
mappée).

En 1997/1998 je me rappelle avoir pris connaissance que la couche HAL,
initialement élaboré pour le DX (appelé ActiveMovie à cette époque)



N'importe quoi !

Et Arnaud a parfaitement raison !

HAL est un concept né en même temps que NT, c'est à dire 1993, afin de le
rendre multi-pateforme.
Je rappelle qu'à ses débuts Windows NT (version 3.1) existait pour les 4
plates-formes suivantes :
- Intel i386
- DEC Alpha
- MIPS
- PowerPC

D'ailleurs, si on fait un tour dans
ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/frn/351.sp5/

on y trouve encore les sous-répertoires :
alpha
i386
mpips
ppc

Et il était prévu par MS qu'il soit porté sur d'autres systèmes.
D'ailleurs, j'ai moi-même été bêta-testeur de NT3.1 sur une machine "MIPS"
(processeur à architecture RISC).

L'intérêt de la couche HAL fut de découpler totalement le matériel du
logiciel.
Ce fut un argument de Microsoft à l'époque, indiquant que NT avait été écrit
presqu'exclusivement en C, le reste écrit en assembleur étant justement HAL.

"HAL" sert d'interface entre le système et tout le matériel qui n'est pas
lié directement au PROCESSEUR, afin de masquer au système toute spécificité
matérielle.
Ainsi, le noyau et tout ce qu'il y a au dessus est le même quel que soit le
matériel.
Pour une architecture de processeur donnée (Intel et compatibles , DEC
Alpha, MIPS et Power PC), le fait d'avoir cette couche HAL permettait
d'utiliser les MEMES binaires pour le noyau et les pîlotes de périphériques.
HAL gère :
- les caches externes
- les horloges
- les bus d'entrées/sorties
- les registres de périphériques
- les contrôleurs d'IRQ (interruptions)
- les contrôleurs de DMA (Accès directs à la mémoire)

Du temps où il y avait plusieurs HAL disponibles (-> NT4), le choix se
faisait à l'installation de NT.
- soit on retenait celui détecté automatiquement,
- soit on en choisissait un dans la liste affichée par l'installation :
AST Manhatten SMP
Compaq SystemPro MultiProcesor or 100% compatible
Corollary C-bus Architecture
IBM PS/2 or other Microchannel-based PC
MPS Uniprocessor PC
MPS Multiprocessor PC
NCR System3000 model 3360/3450/3550
Olivetti LSX5030/40
Standard PC
Standard PC With c-step i486
Wyse series 7000i model 740mp/760mp
Other
- soit on choisissait (en sélectionnant "Other") celui fournit par le
constructeur du matériel (à partir d'une disquette)



[..] Allez, essayer d'être intelligent pour voir !


Je te retourne le compliment !


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*
Avatar
Vincent Burel
wrote in message
news:


Vincent Burel a écrit :
wrote in message
news:

HAL est une couche drivers,


Non, elle est située *en dessous* des drivers, elle fournit aux
drivers les primitives d'accès au hardware.

oui d'accord, si vous voulez jouer sur les mots, faites le sans moi.


M'insulter ne changera au fait que tu as fais une réponse erronnée,
mais je suppose que c'est plus facile de lancer un troll que de
reconnaitre une erreur... Allez fais, un effort, ca arrive à tout le
monde de se tromper, ce n'est pas si grave que çà ;-)



J'ai dis ce que je savais, et je l'ai dis sans me moquer.
Vous avez voulu me prendre de haut, et maintenant vous ne savez pas comment
vous en sortir... a part un un smiley !

VB
Avatar
Vincent Burel
"Thierry" wrote in message
news:
Bonjour,

> D'ailleurs, Mr Thierry Murail, de quoi vous mélez vous ici, je crois
> que vous etes à l'origine d'un newsgroup dont le thème est
> l'engueulade, allez donc vous en occuper. Car manifestement vous ne
> savez que faire cela.

Vous avez fait des efforts de recherche, bravo.



Aucunement, vous vous croyez anonyme ou quoi !? :-) c'est pour ca que vos
vous permettez de prendre les gens de haut alors !? c'est ca !? quel courage
! :-)

> ca n'explique pas dans quelle contexte, ca ne dit pas non plus si
> cette couche est utilisé par d'autre composant que le DX. Est-ce à
> dire que la couche HEL a disparu sous Win 2000 / XP !? Essayez de
> répondre aux questions plutot que de dénigrer vos interlocuteurs.

C'est simple : j'ai utilisé des fonctions Hal pour enumerer le bus PCI,


par
exemple. Donc rien de spécifique à DirectX.



oui, mais je vois pas en quoi ca répond à ma question...

VB
Avatar
Thierry
Bonjour,

Vincent Burel a écrit :

Aucunement, vous vous croyez anonyme ou quoi !? :-) c'est pour ca que
vos vous permettez de prendre les gens de haut alors !? c'est ca !?
quel courage ! :-)



Vous êtes vraiment très fort. ATTENTION, Môssieur Vincent Burel sait
utiliser la commande whois !

(Vous croyez vous en sortir par des smileys ?)

C'est simple : j'ai utilisé des fonctions Hal pour enumerer le bus
PCI, par exemple. Donc rien de spécifique à DirectX.



oui, mais je vois pas en quoi ca répond à ma question...



"ca ne dit pas non plus si cette couche est utilisé par d'autre composant
que le DX."

Faut non seulement vous eduquer mais en plus vous rappeller vos questions.

--
« Le travail est probablement ce qu'il y a sur cette terre de plus bas et
de plus ignoble. Il n'est pas possible de regarder un travailleur sans
maudire ce qui a fait que cet homme travaille, alors qu'il pourrait nager,
dormir dans l'herbe ou simplement lire ou faire l'amour avec sa femme. »
Boris VIAN
Mon blog RSS : http://yarglah.free.fr/monblog_rss.php <<




Avatar
Vincent Burel
"Jean-Claude BELLAMY" wrote in message
news:42a6c791$0$11696$
Dans le message news:42a6b628$0$3140$ ,
Vincent Burel s'est ainsi exprimé:

N'importe quoi !



ha ! Merci Jean Claude ! :-)

Et Arnaud a parfaitement raison !



Mais oui, mais c'est le "Thierry" que je voulais faire sortir du bois ! :-)

> [..] Allez, essayer d'être intelligent pour voir !
Je te retourne le compliment !



Merci Jean Claude ! c'est quand même autre chose quand le gars qui répond à
la question sait de quoi il parle !

VB
Avatar
Thierry
Bonjour,

Vincent Burel a écrit :

N'importe quoi !



ha ! Merci Jean Claude ! :-)



Et Arnaud a parfaitement raison !



Mais oui, mais c'est le "Thierry" que je voulais faire sortir du bois
! :-)



"Vous avez voulu me prendre de haut, et maintenant vous ne savez pas
comment vous en sortir... a part un un smiley !"

Vous êtes une fois de plus ridicule.

Vous savez, au lieu de polluer le groupe avec des conneries vous pouvez
m'envoyer un mail si vous avez un probleme.

Suivi vers ma BAL.
1 2 3 4 5