《UEFI内核导读》UEFI是不是操作系统?

news2024/11/14 20:13:49

================================

敬请关注微信公众号:“固件C字营”

===============================

        最近一直在思考一个问题,UEFI是什么?UEFI算不算是操作系统?

        众所周知,计算机系统是由软件和硬件两大部分组成的,但从更科学的角度来划分,我们其实可以分得更细。比如从上往下可以分为:应用程序、系统软件、固件、硬件。这里我们只关注系统软件和固件。

        系统软件就是我们通常讲的操作系统,它可以更进一步划分为:编程接口和库、内核、驱动程序等。固件这里一般就是指操作系统引导程序,现在一般称之为UEFI/BIOS,但是现代的固件的功能已经不局限于简单的系统引导了,可以说它已经具备了一个操作系统的大部分功能,下面会详细介绍。

        先来看看什么是操作系统,百度百科介绍,操作系统(Operating System)是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。

从定义来看,操作系统的功能主要分成几类:

  1. 1. 管理并控制计算机操作

  2. 2. 运用和运行硬件、软件资源

  3. 3. 提供公共服务

  4. 4. 提供用户交互

        我们再来看看UEFI是怎么定义的,统一可扩展固件接口(Unified Extensible Firmware Interface)是一种个人电脑系统规格,用来定义操作系统与系统固件之间的软件界面,作为BIOS的替代方案。可扩展固件接口负责加电自检(POST)、联系操作系统以及提供连接操作系统与硬件的接口。可以看出UEFI最主要的职责是提供开机自检和硬件抽象。

我们把UEFI提供的功能和操作系统对比,具体来看。

  1. 1.管理并控制计算机操作。UEFI提供了丰富的服务并提供了驱动模型,可以管理计算机所有的硬、软件资源,包括,CPU、内存、硬盘、显示、网络、键盘、鼠标等,用户可以在UEFI环境操作和控制整个计算机系统。

  2. 2. 运用和运行硬件、软件资源。UEFI提供的服务来运用和运行硬件和软件资源,比如可以在UEFI环境下,连接HTTP上网,FTP、绘图、访问磁盘文件等。

  3. 3.  提供公共服务。UEFI提供了基本的服务接口,可以让APP开发者进行各式各样的应用开发。

  4. 4. 提供用户交互。UEFI提供了Shell环境,可以让用户在shell下运行第三方或内置的shell命令和应用程序。

        从上面四点来看,“管理并控制计算机操作”,“运用和运行硬件、软件资源”,“提供公共服务”,“提供用户交互”UEFI已经具备了操作系统的所有的基本功能,因此从笔者角度来看UEFI已经是一个不折不扣的微型操作系统了!

所以UEFI到底算不算是一个操作系统呢?

==============================

   敬请猛戳下面链接,关注&转发

敬请关注微信公众号:“固件C字营

敬请收录公众号话题:“固件C字营

点击左下角“分享”,快乐更多人

==============================

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/132295.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电子学会2020年9月青少年软件编程(图形化)等级考试试卷(四级)答案解析

目录 一、单选题(共15题,每题2分,共30分) 二、判断题(共10题,每题2分,共20分) 三、编程题【该题由测评师线下评分】(共5题,共50分) 青少年软件…

【MySQL】说透锁机制(三)行锁升表锁如何避免? 锁表了如何排查?

文章目录前言哪些场景会造成行锁升表锁?如何避免?如何分析排查?查看InnoDB_row_lock%相关变量查看 INFORMATION_SCHEMA系统库总结最后前言 在上文我们曾小小的提到过,在索引失效的情况下,MySQL会把所有聚集索引记录和间隙都锁上&#xff0…

【正点原子】嵌入式Linux C应用编程-第十一章

第十一章:线程 前言: 与进程类似,线程是允许应用程序并发执行多个任务的一种机制,线程参与系统调度,事实上,系统调度的最小单元为线程,而不是进程 1:线程的概念 什么是线程&#xff…

【游戏编程扯淡精粹】自研引擎切 UE

【游戏编程扯淡精粹】自研引擎切 UE UF2022 的两篇讲座,再加上 The Machinery 引擎项目失败 结合过去两年笔者使用自研引擎的体验,其实有一部分是共通的 Crystal Dynamics:如何从自研引擎转变到虚幻引擎5 游戏技术(featurelist…

LVGL的学习及使用

1、LVGL简介 LVGL是最受欢迎的免费开源嵌入式图形库,可为任何MCU、MPU和显示器类型创建漂亮的用户界面。使用SquareLine工作室,使用拖放UI编辑器来简化开发。 1.1、LVGL源码下载 lvgl 在github 上的开源代码 https://github.com/lvgl/lvgl 下载的源码包里…

Vue的数据绑定

一、Vue的数据绑定 1、单向数据绑定:将Model绑定到View上,当通过JavaScript代码改变了Model时,View就会自动刷新。不需要进行额外的DOM 操作就可以实现视图和模型的联动 ​ a、数据只保存一份 ​ b、data—->DOM ​ (1&am…

在wsl下开发T113的主线linux(3)-写入spinand测试

接下来是烧写入硬件验证,我的板子焊接的是W25N01GV,这里使用xfel,因为支持写入spi-nand。GitHub - xboot/xfel: Tiny FEL tools for allwinner SOC, support RISC-V D1 chipTiny FEL tools for allwinner SOC, support RISC-V D1 chip - GitH…

QML学习笔记【04】:常用控件

1 Repeater与model Window {width: 640; height: 480visible: truetitle: qsTr("Hello World")Column{id: colspacing: 30Repeater{model: 3 //model控制了所有的数据,这里定义了Button的数量Button{width: 100; height: 50text: "btn" index…

整数划分——完全背包的变形

整数划分——完全背包的变形一、题目二、思路分析1、状态转移方程(1)状态表示(2)方程书写2、循环与初始化(1)循环(2)初始化三、代码一、题目 二、思路分析 这道题这么看的话还是比较…

Docsify使用之Markdown语法

Docsify使用过程中的排版,他是基于Markdown语法的。我们来看一下使用的常用语法: 字体加粗: 在需要加粗的文字前后各加两个** 具体格式如下 **加粗内容** 在需要加粗的文字前后各加一个* 具体格式如下 *倾斜内容* 在需要加粗并且倾斜的…

缅怀2022,展望2023

个人主页:董哥聊技术我是董哥,嵌入式领域新星创作者创作理念:专注分享高质量嵌入式文章,让大家读有所得!文章目录1、缘起2、收获3、憧憬不知不觉,2022已然到了最后一天,同时也是我技术创作一周年…

2.脚手架和逆向工程-使用renren开源

1.脚手架工程 脚手架工程提供了业务模块通用的类,比如返回结果封装、异常封装、分页工具类等 比较好用脚手架工程如renren-fast 备份地址 gitgithub.com:nome1024/renren-fast.git 2.逆向工程——使用renren-generator生成代码 逆向工程的作用是根据数据库快速生…

2022年仪器仪表行业研究报

第一章 行业概况 仪器仪表是用以检出、测量、观察、计算各种物理量、物质成分、物性参数等的器具或设备。真空检漏仪、压力表、测长仪、显微镜、乘法器等均属于仪器仪表。仪器仪表是人们对客观世界的各种信息进行测量、采集、分析与控制的手段和设备,是人类了解世界…

MySQL之表的修改和约束条件的添加

修改表中的数据:update[DML] 语法格式: update 表名 set 字段名1值1,字段名2值2,字段名3值3......where 条件;注意:没有条件限制会导致所有数据全部更新 举例: - 将id号为10的学生的姓名改变为"jas…

【自学Python】解释型程序与编译型程序

解释型程序与编译型程序 解释型程序与编译型程序教程 高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:解释型程序与编译型程序。 解释型程序 执行方式类似于我们日常生活中的 “同声翻译”…

Vue--》实现todo-list组件的封装与使用

目录 项目结构 创建todolist组件 创建todoinput组件 创建todobutton组件 项目结构 今天用 vite 脚手架搭建一个 vue3 的小案例,vite的搭建过程参考:vite的搭建 。其项目结构组件构成如下:注意:因为使用的是 vite 框架&#x…

51单片机GMS短信自动存取快递柜

实践制作DIY- GC0103-直流电机PID速度控制 一、功能说明: 基于51单片机设计-GMS短信自动存取快递柜 功能介绍: STC89C52RC最小系统板0.96寸OLED显示器DY-SV17F串口语音播报模块4*4矩阵键盘GSM短信模块4路舵机(模拟4个柜子) ***…

再学C语言21:循环控制语句——do while循环

一、其他赋值运算符 除了最基本的赋值运算符&#xff0c;C还有多个赋值运算符 a b等于a a ba - b等于a a - ba * b等于a a * ba / b等于a a / ba % b等于a a % b 这些赋值运算符的优先级与赋值运算符同样低 运算符优先级&#xff1a;赋值运算符 < 关系运算符 <…

《C++程序设计原理与实践》笔记 第9章 类相关的技术细节

在本章中&#xff0c;我们继续关注主要的程序设计工具——C语言。本章主要介绍与用户自定义类型&#xff08;即类和枚举&#xff09;相关的语言技术细节。这些语言特性大部分是以逐步改进一个Date类型的方式来介绍的。采用这种方式&#xff0c;我们还可以顺便介绍一些有用的类设…

数据结构与算法_五大算法之分治算法

这篇笔记记录分治算法的思想和两道leetcode题。 分治算法思想&#xff1a; 规模为n的原问题的解无法直接求出&#xff0c;进行问题规模缩减&#xff0c;划分子问题&#xff0c;子问题相互独立而且和原问题解的性质是相同的&#xff0c;只是问题规模缩小了。递归地缩小问题规模…