什么是硬件抽象层?(a hardware abstraction layer?)

硬件抽象层是一种对计算机软件隐藏物理硬件的方法。该层充当中介,将硬件和软件彼此分离。此外,它还掩盖了两个系统的实际过程。这一层的主要目的是允许软件在硬件上运行,而硬件并不是专门用来运行的。虽然几乎所有操作系统都在某种程度上使用这些层,但它们在仿真和嵌入式系统中最为常见。...

硬件抽象层是一种对计算机软件隐藏物理硬件的方法。该层充当中介,将硬件和软件彼此分离。此外,它还掩盖了两个系统的实际过程。这一层的主要目的是允许软件在硬件上运行,而硬件并不是专门用来运行的。虽然几乎所有操作系统都在某种程度上使用这些层,但它们在仿真和嵌入式系统中最为常见。

A hardware abstraction layer is a type of software that allows programs to run on computer hardware that is not compatible.

计算机体系结构是分层设置的。计算机从硬件层开始,一直到应用程序或软件层。层中的每一步都离软件更近,离硬件更远。此外,每一步操作都需要更多的处理和资源。例如,系统的内核是系统上最基本的软件之一,但它比它所处的硬件更复杂,资源密集,比要求它运行的操作系统更不复杂。

通常,这些层中的每一层都由真实的组件(硬件或软件)组成。硬件抽象层是两者的一部分。它是一个软件系统,就像一个硬件系统。它位于计算机内核和硬件系统之间。硬件抽象层的工作是屏蔽系统的大部分,使内核相信它在不同的硬件上运行。当硬件和内核通信时,硬件抽象层来回转换信息。

使用硬件抽象层最常见的原因是允许软件在它不应该在的硬件上运行。该层位于硬件之上,允许安装操作系统和应用程序。本质上,它使计算机内部的层分支成两条不同的路径。一条路径遵循系统的真实硬件,而另一条路径遵循抽象版本。

几乎每个操作系统都有少量的抽象。这允许系统运行范围更广的机器,只要它们在一组广泛的参数范围内。这种类型的抽象非常小和常见,很少被称为硬件抽象层。

真正的抽象通常出现在两个地方之一。硬件仿真允许完整的操作系统和程序在它们不是为之而构建的计算机上运行。这种抽象形式在几乎所有现代计算机中都很常见,因为一些web程序通过虚拟系统工作。嵌入式系统是第二种。这些小型操作系统可以运行从汽车到咖啡壶的所有东西,并且经常使用硬件抽象层来增加无需修改即可使用系统的设备数量。

  • 发表于 2021-12-10 14:58
  • 阅读 ( 188 )
  • 分类:互联网

你可能感兴趣的文章

面向对象编程中抽象的初学者指南

... 什么是抽象什么(abstract and what)? ...

  • 发布于 2021-03-30 04:01
  • 阅读 ( 261 )

能否将windows安装移到另一台计算机上?

...质上,它取代了现有Windows安装中的硬件抽象层(hardware abstraction layer,HAL)和硬盘控制器驱动程序。 这将取消激活Windows,执行此操作后,您必须再次执行Windows激活过程。如果你有一个零售版(或“完整版”)的Windows,你只需...

  • 发布于 2021-04-10 00:56
  • 阅读 ( 179 )

photoshop学习指南,第3部分:图层

...的选择。我们把它放在一个新的层中,这将帮助我们理解什么是新的层。 Our black fill exists in a new layer. We no longer need our selection, so pressing deselects it. 虽然这看起来像是阿波罗11号火箭起飞时的一个毁坏的图像,但绘制的“层”...

  • 发布于 2021-04-13 05:05
  • 阅读 ( 164 )

抽象(abstraction)和封装(encapsulation)的区别

...藏了一些东西,但是它们也有各自的区别。 什么是抽象(abstraction)? 抽象是一个基本的OOP概念,它只关注对象的相关数据,隐藏所有不相关的细节,这些细节可能是通用的,也可能不是专用的行为。它隐藏了背景细节,强调了减...

  • 发布于 2021-06-25 03:41
  • 阅读 ( 719 )

第二层交换机(layer 2 switch)和第三层交换机(layer 3 switch)的区别

...附加到每个数据包的寻址信息将它们重定向到目的地。 什么是第二层交换机(layer 2 switch)? 第2层交换机基本上只进行交换,这意味着它们使用设备的MAC地址将数据包从源端口重定向到目标端口。它通过维护一个MAC地址表来记住...

  • 发布于 2021-06-25 05:17
  • 阅读 ( 620 )

抽象(abstraction)和虚拟化(virtualization)的区别

...允许多个虚拟机在单个物理机上运行。   什么是抽象(abstraction)? 抽象是在向用户和开发人员隐藏背景细节的同时表示基本特性的行为。虚拟化类似于抽象,但它并不总是隐藏底层的细节。抽象一词在计算行业中有多个层次的...

  • 发布于 2021-06-26 12:32
  • 阅读 ( 494 )

混凝土(concrete)和抽象名词(abstract nouns)的区别

...ollective nouns, countable and uncountable nouns. 什么是抽象名词(an abstract noun)? 抽象名词是具体名词的对立面。抽象名词指思想、信仰、概念或事物的状态。它们指的是不能通过五种感官来体验的事物:视觉、声音、嗅觉、触觉和味觉。...

  • 发布于 2021-06-27 06:18
  • 阅读 ( 901 )

抽象类(abstract class)和java接口(interface in java)的区别

...键术语 抽象类、接口、多重继承 什么是java中的抽象类(abstract class in java)? 用abstract关键字声明的类称为抽象类。抽象类既可以有抽象方法,也可以有非抽象方法。类可以扩展抽象类并实现抽象类的抽象方法。不能从抽象类创...

  • 发布于 2021-07-01 01:29
  • 阅读 ( 284 )

单片(monolithic)和分层操作系统(layered operating systems)的区别

...种是单片操作系统和分层操作系统。 覆盖的关键领域 1.什么是单片操作系统-定义,功能2.什么是分层操作系统-定义,功能3.单片操作系统和分层操作系统的区别是什么-主要区别的比较 关键术语 分层操作系统,单片操作系统 ...

  • 发布于 2021-07-01 07:21
  • 阅读 ( 643 )

抽象类(abstract class)和php中的接口(interface in php)的区别

...象,抽象类,接口,面向对象,PHP 什么是php中的抽象类(abstract class in php)? 抽象方法是没有任何实现的方法。抽象类是至少有一个抽象方法的类。它既可以有抽象的方法,也可以有非抽象的方法。关键字“abstract”用于声明抽...

  • 发布于 2021-07-01 18:08
  • 阅读 ( 230 )
山佬的逼账号
山佬的逼账号

0 篇文章

相关推荐