| dbpprop:abstract
|
- A hardware abstraction layer (HAL) is an abstraction layer, implemented in software, between the physical hardware of a computer and the software that runs on that computer. Its function is to hide differences in hardware from most of the operating system kernel, so that most of the kernel-mode code does not need to be changed to run on systems with different hardware. On a PC, HAL can basically be considered to be the driver for the motherboard and allows instructions from higher level computer languages to communicate with lower level components, such as directly with hardware. The Windows NT operating system has a HAL in the kernel space, between hardware and kernel, drivers, executive services. This allows portability of the Windows NT kernel-mode code to a variety of processors, with different memory management unit architectures, and a variety of systems with different I/O bus architectures; most of that code runs without change on those systems, when compiled for the instruction set for those systems. For example, the SGI Intel x86-based workstations were not IBM PC compatible workstations, but due to the HAL, Windows NT was able to run on them. BSD, Mac OS X, Linux, CP/M, DOS, Solaris, and some other portable operating systems also have a HAL, even if it's not explicitly designated as such. Some operating systems, such as Linux, have the ability to insert one while running, like Adeos. The NetBSD operating system is widely known as having a clean hardware abstraction layer which allows it to be highly portable. As part of this system are uvm(9)/pmap(9), bus_space(9), bus_dma(9) and other subsystems. Popular buses which are used on more than one architecture are also abstracted, such as ISA, EISA, PCI, PCI-E, etc. , allowing drivers to also be highly portable with a minimum of code modification. An "extreme" example of a HAL can be found in the System/38 and AS/400 architecture. Most compilers for those systems generate an abstract machine code; the Licensed Internal Code, or LIC, translates this virtual machine code into native code for the processor on which it is running and executes the resulting native code. (The exceptions are compilers that generate the LIC itself; those compilers are not available outside IBM. ) This was so successful that application software and operating system software above the LIC layer that were compiled on the original S/38 run without modification and without recompilation on the latest AS/400 systems, despite the fact that the underlying hardware has been changed dramatically; at least three different types of processors have been in use. Hardware abstraction layers are of an even lower level in computer languages than application programming interfaces (API) because they interact directly with hardware instead of a system kernel, therefore HALs require less processing time than APIs. Higher level languages often use HALs and APIs to communicate with lower level components. Operating systems having a defined HAL are easily portable across different hardware. This is especially important for embedded systems that run on dozens of different platforms.
- Eine Hardwareabstraktionsschicht, englisch Hardware Abstraction Layer, kurz HAL, ist eine Schicht eines Betriebssystems, die den Betriebssystemkern und alle übrige Software von der Hardware isoliert. Nur die Hardwareabstraktionsschicht kann auf Hardware zugreifen. Alle andere Software kann und muss es nur unter Vermittlung der Hardwareabstraktionsschicht. Die Abstraktion erleichtert es, das Betriebssystem auf unterschiedliche Prozessorarchitekturen anzupassen, weil nur ein Teil der Hardwareabstraktionsschicht geändert werden muss. Sie erleichtert es auch, Gerätetreiber zu programmieren, weil diese auf der Hardwareabstraktionsschicht aufsetzen. Das Betriebssystem NetBSD, das für über 50 unterschiedliche Plattformen erhältlich ist, zeigt am deutlichsten das Potenzial des Konzepts auf.
- Hardware abstraction layer (zkratka HAL) je v informatice softwarová abstraktní vrstva, která v počítači vytváří jednotné rozhraní (API) ovládající různě fungující hardware. Počítačový program, který využívá funkce API rozhraní, nemusí díky existenci HAL implementovat specifické postupy ovládání jednotlivých hardwarových zařízení.
- La capa de abstracción de hardware (en inglés, Hardware Abstraction Layer o HAL) es un elemento del sistema operativo que funciona como una interfaz entre el software y el hardware del sistema, proveyendo una plataforma de hardware consistente sobre la cual correr las aplicaciones. Cuando se emplea una HAL, las aplicaciones no acceden directamente al hardware sino que lo hacen a la capa abstracta provista por la HAL. Del mismo modo que las API, las HAL permiten que las aplicaciones sean independientes del hardware porque abstraen información acerca de tales sistemas, como lo son las cachés, los buses de E/S y las interrupciones, y usan estos datos para darle al software una forma de interactuar con los requerimientos específicos del hardware sobre el que deba correr.
- La couche d'abstraction matérielle (Hardware Abstraction Layer ou HAL) est une spécification et un utilitaire logiciel qui traque les périphériques du système informatique. Le but du HAL est d'éviter aux développeurs d'implémenter manuellement le code spécifique à un périphérique. À la place, ils peuvent utiliser une couche connectable qui fournit des informations à propos du dit périphérique, tel que cela se passe par exemple lorsqu'un utilisateur branche ou débranche un périphérique USB. Cette couche implémente un certain nombre de fonctions spécifiques au matériel : interfaces d'entrées-sorties, contrôleur d'interruptions, caches matériels, mécanismes de communication multiprocesseur... Elle isole ainsi le noyau du système des spécificités des plates-formes matérielles. Les systèmes d'exploitation disposant du HAL ont une portabilité simplifiée à travers différents types de matériels tels que les systèmes embarqués, ou encore les serveurs disposant de différentes architectures propres à leur fonctionnement : Intel x86, DEC Alpha, MIPS, PowerPC, etc.
- Hardware Abstraction Layer (HAL) o strato di astrazione dall'hardware, è un insieme di funzioni di I/O il più possibile generiche e semplici, il cui compito è di tenere conto di tutte le differenze fra dispositivi fisici diversi al posto del programma che lo userà, nascondendogli la vera identità e natura di essi: per esempio il programma, invece di aprire personalmente un file chiederà all'HAL di farlo per lui e l'HAL, appena esaudita la richiesta, gli passerà un riferimento al file per la lettura (o lo leggerà per lui). Dotando un programma di un HAL se ne migliora la portabilità su altri tipi di computer/sistemi operativi e la funzionalità con dispositivi diversi, perché eventuali modifiche e adattamenti vanno fatti solamente nell'HAL senza toccare il codice del programma stesso; inoltre è relativamente facile aggiungere, all'occorrenza, una sezione all'HAL per gestire un dispositivo che non era stato inizialmente previsto. I moderni sistemi operativi sono dotati di uno o più livelli di HAL. La HAL viene utilizzata normalmente per separare i programmi dai sistemi di comunicazione. Quindi i programmi non accedono mai alla memoria della scheda grafica quando devono modificare l'immagine mostrata sullo schermo. I programmi comunicano al sistema operativo le operazioni da compiere e il sistema operativo provvede a effettuare le modifiche necessarie. Questo consente di modificare l'hardware preposto alla visualizzazione senza dover modificare tutti i programmi. Basta modificare lo strato che accede all'hardware, questo comunemente viene chiamato driver. La HAL può essere utilizzata per emulare componenti non presenti nel sistema operativo o nell'hardware. Per esempio le moderne schede grafiche non gestiscono nativamente le modalità CGA, EGA o VGA. Queste modalità vengono emulate dall'HAL che provvede a tradurre le istruzioni che gestiscono queste modalità in comandi comprensibili dalla scheda grafica. L'emulazione utilizzando una HAL viene utilizzata in molti sistemi per consentire la retro compatibilità con applicazioni arcaiche. Molte banche utilizzano computer moderni con programmi arcaici tramite programmi di emulazione che interpongono una HAL tra l'hardware moderno e il software arcaico.
- Hardware Abstract Layer(Hardware Abstraction Layer、HAL)とは、コンピュータのハードウェアとそのコンピュータ上で動作するソフトウェアの間に存在するソフトウェアで実装した抽象化レイヤである。OSのカーネルからハードウェア毎に異なる差異を隠蔽する機能を持ち、それによってカーネルコードは異なるハードウェアのシステム上で動作してもほとんど変更する必要がなくなる。PCにおいては、HALは基本的にマザーボード用ドライバの形態をとり、上位のプログラムがハードウェアに直接アクセスする下位のコンポーネントに指示できるようにする。 多数存在するCPUアーキテクチャ毎の動作の違いなどがあっても、適切に設計されたHALを用意すれば動作できる。そのため、システムを開発するときにハードウェアの差異を意識することなく設計できる。これらはNTベースのOSで用いられる技術である。NTベースのOSには、カーネル空間にHALがあり、カーネルやドライバや実行サービスとハードウェアの仲介をする。これにより、Windows NT のカーネルモードのコードは各種の異なるメモリ管理ユニットのアーキテクチャのプロセッサに移植でき、各種I/Oバスアーキテクチャのシステムに移植できるようになっている。コードの大部分はそれらシステム上で、単にその命令セットアーキテクチャにコンパイルするだけでソースコードを修正することなく実行することができる。例えば、SGIの Intel x86 ベースのワークステーションはIBM PC 互換ではないが、HALのおかげで NT を実行することができた。 BSD、Mac OS X、Linux、CP/M、DOS、Solaris といったオペレーティングシステムにもHALに相当する部分は存在しているが、明確にHALとして認識・区別されていない。Linux などでは、動作中のカーネルに対して Adeos のようなHALを後から挿入することができる。NetBSD はHAL層を明確に区別しており、非常に移植性が高い。このシステムは uvm(9)、pmap(9)、bus_space(9)、bus_dma(9) といったサブシステムから構成される。ISA、EISA、PCI、PCI-E など、複数のアーキテクチャで使われているI/Oバスも抽象化されており、デバイスドライバも最小限の修正だけで移植可能である。 HALの極端な例として、System/38 や AS/400 のアーキテクチャがある。これらシステム上のコンパイラの多くは抽象化された機械語コードを生成する。Licensed Internal Code (LIC) はそれを動作中のシステムのプロセッサ用コードに変換し実行させる。LIC層より上のアプリケーションやOSのコードは System/38 から AS/400 に移行する際に全く修正も再コンパイルも不要だった(System/38 と AS/400 では少なくとも3種類の全く異なるプロセッサが使われている)。 HALは、カーネルの代わりにハードウェアと直接やり取りするものであるため、そのインタフェースはOSのAPIよりも下位に存在する。したがって、HALの処理にかかる時間はAPI(システムコール)にかかる時間よりも短くなければならない。 HALが定義されたオペレーティングシステムは各種ハードウェアに容易に移植可能である。これは非常に様々なプラットフォーム上で動作することを要求される組み込みシステムでは特に重要である。
- Warstwa abstrakcji sprzętowej (ang. hardware abstraction layer) – sterownik urządzenia dla płyty głównej. Stanowi ogniwo pośredniczące między sprzętem a jądrem systemu operacyjnego. Odseparowuje konkretną architekturę systemu komputerowego od oprogramowania użytkowego. Dla programisty jest sposobem komunikacji ze sprzętem przez udostępniane funkcje biblioteczne i sterowniki. Systemami, które korzystają z HAL-a są: AmigaOS4, rodzina systemów BSD, Linux, Mac OS X, Solaris, Windows 2000, Windows XP, Windows Vista.
- A camada de abstracção de hardware (CAH) é a camada entre o hardware físico de um computador e o software que corre nesse computador. A sua função é ocultar diferenças em hardware e, consequentemente, disponibilizar uma plataforma consistente para correr aplicações. O melhor exemplo de uma CAH pode ser encontrado na arquitectura AS/400. A implementação do LIC ou Licensed Internal Code foi tão bem sucedida que software escrito no seu predecessor, o S/38, corria sem modificações num AS/400. O hardware subjacente mudou drasticamente; já foram usados pelo menos 3 tipos diferentes de processador. Os sistemas operativos baseados em BSD, Linux e o Windows NT possuem uma CAH. Estes sistemas operativos possuem subsistemas diferentes para funções específicas, tais como som e gráficos. Nos sistemas operacionais baseados em Windows NT, o arquivo chamado hal. dll é que contém essas instruções. Os sistemas operativos que possuem uma CAH definida são suportados facilmente em hardware diferente; esta propriedade é especialmente importante no caso de sistemas embutidos que correm em dúzias de microcontroladores. Abstração de hardware
- Hardware Abstraction Layer (HAL, Слой аппаратных абстракций) — слой абстрагирования, реализованный в программном обеспечении, находящийся между физическим уровнем аппаратного обеспечения и программным обеспечением, запускаемом на этом компьютере. HAL предназначен для скрытия различий в аппаратном обеспечении от основной части ядра операционной системы, таким образом чтобы большая часть кода, работающая в режиме ядра не нуждалась в изменении при её запуске на системах с различным аппаратным обеспечением. На персональных компьютерах HAL, по существу, может рассматриваться как драйвер материнской платы, позволяющий взаимодействовать инструкциям высокоуровневых языков программирования с низкоуровневыми компонентами, такими как аппаратное обеспечение. В операционных системах семейства Windows NT HAL является неотъемлемой частью кода, исполняемого в режиме ядра, находится в отдельном загрузочном модуле, загружаемым совместно с ядром. Это обеспечивает возможность использования одного и того же загрузочного модуля собственно ядра ОС Windows NT на ряде систем с различными архитектурами шин ввода/вывода, управления прерываниями и таймерами. К примеру, рабочие станции, основанные на SGI Intel x86, были не совместимы с IBM PC-совместимыми рабочими станциями, но благодаря HAL Windows NT мог запускаться на них. Аналогичным образом одно и то же ядро Windows NT используется и на современных системах с контроллером прерываний APIC, так и на устаревших системах без поддержки APIC. BSD, Mac OS X, Linux, CP/M, MS-DOS, Solaris и некоторые другие портируемые ОС также имеют HAL, несмотря на то, что он не разрабатывался явно для выполнения описанных выше функций. Некоторые системы, такие как Linux, имеют возможность вставлять подобный слой, к примеру Adeos, во время работы. Ядро операционной системы NetBSD широко известно наличием чистого слоя абстрагирования от аппаратного обеспечения (HAL), что позволяет ему быть высоко-портируемым. Частью этой системы являются uvm(9)/pmap(9), bus_space(9), bus_dma(9) и другие подсистемы. Популярные шины, которые используются более чем на одной архитектуре, такие как ISA, EISA, PCI, PCI-E и др. , также абстрагированы, позволяя написанным под них драйверам также быть высоко-портируемыми с минимальным изменением кода. «Экстремальный» пример HAL может быть найден в архитектурах System/38 и AS/400. Большинство компиляторов для таких систем генерируют абстрактный машинный код. Лицензированный Внутренний Код(Licensed Internal Code) или ЛИК(LIC) переводит этот виртуальный машинный код во внутренний(собственный) код процессора, на котором он запускается, и выполняет получившийся внутренний код. (Исключение составляют компиляторы, которые сами генерируют ЛИК; эти компиляторы не доступны за пределами IBM) Это было настолько успешным, что прикладное программное обеспечение и программное обеспечение операционной системы, расположенные над слоем ЛИК, скомпилированные на оригинальной архитектуре System/38 запускаются без каких-либо модификаций и перекомпиляций на последних системах AS/400. И это несмотря на тот факт, что лежащее в основе аппаратное обеспечение было кардинально изменено; по крайней мере три различных типа микропроцессоров находились в использовании. HAL является даже более низким уровнем в компьютерных языках программирования, чем API, потому что он взаимодействует непосредственно с аппаратным обеспечением вместо ядра системы, следовательно HAL требует меньше процессорного времени чем API. Языки высокого уровня часто используют HAL и API для взаимодействия с компонентами более низкого уровня. Операционные системы, имеющие HAL, легко портируются на различное оборудование. Это особенно важно для встраиваемых систем, которые должны работать на большом количестве различных платформ.
- Hardware Abstraction Layer är en del i ett operativsystem som sköter kommunikationen mellan applikationer och hårdvara.
- 硬體抽象層(HAL, Hardware Abstraction Layer),是抽象層的一種,是實作於硬體和執行於該電腦的軟體之間的一種特殊軟體。它的功用是將硬體方面的不同,隱藏並抽離於作業系統的核心之中。如此一來核心模式的程式碼就不必因為硬體的不同而需要修改。所以硬體抽象層可增進軟體的可移植性。
|