操作系统处于硬件之上,而底层硬件只能识别,高低电平,转化到计算机中及二进制代码,二级制指令集,操作系统对于底层硬件的进行封装,封装相应接口给上层用户使用。计算机里面存储的数据都是二进制的,编程过程中我们会使用一些高级语言,实际上高级语言最终会生成二进制代码,这个过程叫做编译。这种封装成为HAL层,作用是屏蔽底层的硬件电路的差异性,对于上层用户提供统一的可用的接口。例如文件系统可能有不同的文件系统,但是对于文件系统的访问读写,在同一个操作系统中大致相同。当然操作系统的功能不止于此。(API和二进制接口的区别,链接的过程实际上使用的是机器中的二进制接口(编译过程),API只是存在于编译器的上层),接口的定义===对于操作系统至关重要,当然对于操作系统向外提供的接口远远不止调用HAL层接口的硬件,还有很多其他类型的接口
详细请参照相关书籍
从原理等的角度,主要是操作系统会为应用程序提供二进制接口,虚拟化软件会将一个平台的二进制接口转化为另一个平台的二级制接口,对于应用程序而言使用的就是另外的操作系统的ABI,从而实现虚拟化,能够在宿主机上面建立虚拟机
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
QQ咨询|关于我们|Archiver|手机版|小黑屋|( 辽ICP备15012455号-4 ) Powered by 期权论坛 X3.2 © 2001-2016 期权工具网&期权论坛 Inc.
下载期权论坛手机APP