================================
敬请关注微信公众号:“固件C字营”
===============================
最近一直在思考一个问题,UEFI是什么?UEFI算不算是操作系统?
众所周知,计算机系统是由软件和硬件两大部分组成的,但从更科学的角度来划分,我们其实可以分得更细。比如从上往下可以分为:应用程序、系统软件、固件、硬件。这里我们只关注系统软件和固件。
系统软件就是我们通常讲的操作系统,它可以更进一步划分为:编程接口和库、内核、驱动程序等。固件这里一般就是指操作系统引导程序,现在一般称之为UEFI/BIOS,但是现代的固件的功能已经不局限于简单的系统引导了,可以说它已经具备了一个操作系统的大部分功能,下面会详细介绍。
先来看看什么是操作系统,百度百科介绍,操作系统(Operating System)是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。
从定义来看,操作系统的功能主要分成几类:
-
1. 管理并控制计算机操作
-
2. 运用和运行硬件、软件资源
-
3. 提供公共服务
-
4. 提供用户交互
我们再来看看UEFI是怎么定义的,统一可扩展固件接口(Unified Extensible Firmware Interface)是一种个人电脑系统规格,用来定义操作系统与系统固件之间的软件界面,作为BIOS的替代方案。可扩展固件接口负责加电自检(POST)、联系操作系统以及提供连接操作系统与硬件的接口。可以看出UEFI最主要的职责是提供开机自检和硬件抽象。
我们把UEFI提供的功能和操作系统对比,具体来看。
-
1.管理并控制计算机操作。UEFI提供了丰富的服务并提供了驱动模型,可以管理计算机所有的硬、软件资源,包括,CPU、内存、硬盘、显示、网络、键盘、鼠标等,用户可以在UEFI环境操作和控制整个计算机系统。
-
2. 运用和运行硬件、软件资源。UEFI提供的服务来运用和运行硬件和软件资源,比如可以在UEFI环境下,连接HTTP上网,FTP、绘图、访问磁盘文件等。
-
3. 提供公共服务。UEFI提供了基本的服务接口,可以让APP开发者进行各式各样的应用开发。
-
4. 提供用户交互。UEFI提供了Shell环境,可以让用户在shell下运行第三方或内置的shell命令和应用程序。
从上面四点来看,“管理并控制计算机操作”,“运用和运行硬件、软件资源”,“提供公共服务”,“提供用户交互”UEFI已经具备了操作系统的所有的基本功能,因此从笔者角度来看UEFI已经是一个不折不扣的微型操作系统了!
所以UEFI到底算不算是一个操作系统呢?
==============================
敬请猛戳下面链接,关注&转发
敬请关注微信公众号:“固件C字营”
敬请收录公众号话题:“固件C字营”
点击左下角“分享”,快乐更多人
==============================