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
Vincent Burel
"Thierry" wrote in message
news:
Bonjour,

Vincent Burel a écrit :

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



"whois" c'est quoi !?

(Vous croyez vous en sortir par des smileys ?)



sortir de quoi !?

> 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.



oui, certainement, mais apprenez à lire et vous verrez que la question était
:

"Est-ce à dire que la couche HEL a disparu sous Win 2000 / XP !?"


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

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



ha ben voila, maintenant il veux plus jouer...
ha ! vous perdez alors... par abandon...

VB
Avatar
Cyrille Szymanski
"Jean-Claude BELLAMY" wrote in
news:42a6c791$0$11696$:

HAL est un concept né en même temps que NT, c'est à dire 1993, afin de
le rendre multi-pateforme.
alpha
i386
mpips
ppc

Et il était prévu par MS qu'il soit porté sur d'autres systèmes.



Pourquoi cela n'a-t-il pas abouti ?


Ainsi, le noyau et tout ce qu'il y a au dessus est le même quel que
soit le matériel.



Sur quel modèle est basé HAL ? Y a-t-il eu une machine virtuelle de
spécifiée à un moment donné ?

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)



Y a-t-il une abstraction par type de composant (comme par exemple une
abstraction horloge qui unifie tous les différents types d'horloge), ou
une interface spécifique pour, disons l'horloge RTC, quel que soit le
composant matériel utilisé ?


Merci beaucoup au groupe pour toutes ces réponses.

--
Cyrille Szymanski
Avatar
AMcD®
Cyrille Szymanski wrote:

Pourquoi cela n'a-t-il pas abouti ?



Parce que Kro ne vendait pas franchement beaucoup d'OS sous ALPHA et
consort. Ils ont donc arrêté.

Sur quel modèle est basé HAL ? Y a-t-il eu une machine virtuelle de
spécifiée à un moment donné ?



Y a-t-il une abstraction par type de composant (comme par exemple une
abstraction horloge qui unifie tous les différents types d'horloge),
ou une interface spécifique pour, disons l'horloge RTC, quel que soit
le composant matériel utilisé ?



Honnêtement, je ne saisis pas bien le sens de tes questions. Je pense que tu
te bases sur le HAL à la Linux pour tes questions non ?

--
AMcD®

http://arnold.mcdonald.free.fr/
Avatar
Cyrille Szymanski
Aph wrote in
news::

Ça me fait penser justement à XFree86 et à tous leurs drivers vidéo
indépendants de la plateforme.



Pas très bien compris "indépendants de la plateforme"; en fait les
drivers inclus dans xorg (puisque le changement de licence d'XFree86
fait qu'on ne l'utilise plus) se basent sur les spécifications des
puces d'où leur nombre réduit à une dizaine pour l'ensemble des cartes
graphiques du marché.



Il me semble que ces pilotes sont écrits en C et qu'ils ne dialoguent
avec le matériel que via une couche logicielle de XFree qui, elle, est
spécifique à l'OS. Les pilotes ne sont pas réécrits pour chaque nouvelle
plateforme, c'est juste la couche de XFree qui l'est. En tout cas pour
DRI c'est ce qui se passe.


L'accélération 3d (facultative) se fait par l'intermédiaire d'un
module du kernel qui entrera en action uniquement si c'est utile.



Et il me semble que si c'est le cas, c'est que le design de X ne
permettait pas d'écrire les pilotes en question, et que les gens ont
trouvé ça plus facile d'ajouter un module noyau (comme DRM par exemple)
et de faire parler le pilote vidéo avec le module noyau, ce qui est
facile.

C'est donc la couhe d'abstraction matérielle de XFree qui était
insuffisante, et la modifier aurait causé trop de problèmes de
compatibilité avec le code existant.

Enfin je ne suis pas un expert d'unix-like, il ne faut pas hésiter à me
corriger si je dis des bêtises ou si mes interprétations sont vaseuses.

--
Cyrille Szymanski
Avatar
Vincent Burel
"Cyrille Szymanski" wrote in message
news:
"Vincent Burel" wrote in news:42a6cfc5$0
$898$:

>> Bonjour,
>>
>> Vous savez, au lieu de polluer le groupe avec des conneries vous pouvez
>> m'envoyer un mail si vous avez un probleme.
>
> ha ben voila, maintenant il veux plus jouer...
> ha ! vous perdez alors... par abandon...

C'est fou, on dirait des gamins de 12 ans dans une cour de récré.



:-) mais oui ! c'est exactement ca !
et même que je pourrais jouer avec des interlocuteurs d'un age mentale bien
inférieur encore. :-)

VB
Avatar
Cyrille Szymanski
"AMcD®" wrote in
news:42a73671$0$8112$:

Pourquoi cela n'a-t-il pas abouti ?



Parce que Kro ne vendait pas franchement beaucoup d'OS sous ALPHA et
consort. Ils ont donc arrêté.



J'ai eu une autre réponse dans le même genre qui dit, et c'est lié, que
les boîtes de développement ne fournissaient pas des versions de leurs
logiciels pour d'autres architectures. Même Microsoft s'était contenté
de porter les outils de développement (paraît-il).


Sur quel modèle est basé HAL ? Y a-t-il eu une machine virtuelle de
spécifiée à un moment donné ?



Y a-t-il une abstraction par type de composant (comme par exemple une
abstraction horloge qui unifie tous les différents types d'horloge),
ou une interface spécifique pour, disons l'horloge RTC, quel que soit
le composant matériel utilisé ?



Honnêtement, je ne saisis pas bien le sens de tes questions. Je pense
que tu te bases sur le HAL à la Linux pour tes questions non ?



Non, on vient de me dire que le HAL à la linux c'est juste un truc qui
permet de faire du hotplug matériel.

Ma question est générale. Ce que je cherche à savoir c'est quelle est
l'architecture de la machine dont HAL fournit une abstraction.

Est-ce plutôt :

1. Une abstraction par rôle (horloge, bus...) Toutes les horloges ont la
même interface, tous les bus ont la même interface...

2. Une abstraction par technologie (bus pci, bus isa, bus dma...). Dans
ce cas la seule chose qu'on masque c'est le fait que le controleur pci
soit vendu par TI, AT&T ou VIA, ou que sur une architecture donnée on y
accède de telle manière.

--
Cyrille Szymanski
Avatar
Vincent Burel
"AMcD®" wrote in message
news:42a73671$0$8112$
Cyrille Szymanski wrote:

> Y a-t-il une abstraction par type de composant (comme par exemple une
> abstraction horloge qui unifie tous les différents types d'horloge),
> ou une interface spécifique pour, disons l'horloge RTC, quel que soit
> le composant matériel utilisé ?

Honnêtement, je ne saisis pas bien le sens de tes questions. Je pense que


tu
te bases sur le HAL à la Linux pour tes questions non ?



la couche dites HAL est générique en fait et possède plusieurs définitions
et plusieurs sens en fonction du systeme.
Sous windows le terme est employé le plus souvent pour DirectDraw ... ou
Direct-x comme le suggère le résultat de la recherche suivante :
http://search.microsoft.com/search/results.aspx?view=msdn&st=b&na‚&qu=HAL+Driver+layer&s=1&swc=4

La couche HAL pour "hardware abstraction layer " est une couche
d'abstraction pour parler au matériel, c'est à dire in-fine, un ensemble de
fonctionnalité standardisé permettant d'accéder à un hardware spécifique...
en somme un protocole de communication déterminé et standardisé... Une
couche d'abstraction comme celle ci peut se matérialiser par bien des
aspects. et si une telle couche apparaite sous NT, c'est sous une forme
particulière... si bien que sous 2000 cette couche HAL sous NT n'est plus
utilisé à 100% :
http://support.microsoft.com/default.aspx?scid=kb;en-us;253232

Bref, il faut faire la différence entre ce qui est réellement un composant
du systeme, et ce qu'i est de l'ordre de l'abstraction. la couche HAL
peut-être les deux... mais quand on parle du composant logiciel, on parle
généralement de drivers spécifique Direct-X.

VB
Avatar
AMcD®
'tain, t'as bu ou quoi :-) ? Le HAL n'a rien avoir avec DirectX et cie.

--
AMcD®

http://arnold.mcdonald.free.fr/
Avatar
Vincent Burel
"AMcD®" wrote in message
news:42a7436c$0$8115$
'tain, t'as bu ou quoi :-) ? Le HAL n'a rien avoir avec DirectX et cie.



:-) ben ca dépend de quoi tu parle, de quel HAL tu parle. si c'est de la
premiere couche hardware d'un OS
genre celui dont on parle ici
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndevio/html/plugnplay.asp
alors oui, ca n'a rien a voir avec DX... ou presque.

VB
1 2 3 4 5