讲师博文
嵌入式的相关概念你懂几个? 来源 : 华清远见     2023-10-20

操作系统 OS (oprating system)
随着计算机行业的迅速发展, 如今的操作系统的种类越来越复杂, 单一的概念有些难以描述清楚, 我将操作系统大致分为3个种类为大家描述
交互简单, 带GUI(图形界面)的操作系统
这种类型的操作系统是大家生活中见得最多, 接触的最多的操作系统, 例如PC操作系统中windows和带桌面的Linux, 手机操作系统Android, IOS等. 该类操作系统有丰富的交互界面以及方式, 也能控制各种各样的外设, 功能强大的同时体积也很庞大, 需要较强的处理器和存储设备支持. 大量应用于通用计算机型计上, 学习使用门槛低, 可配适的设备多, 这类操作系统上开发的应用程序比较通用. 同操作系统和平台上, 在更换设备后几乎也可以正常运行, 可以供人们日常使用.
 
交互比较困难, 不带GUI的操作系统
Unix, Linux , windows server等常用于服务器的操作系统, 跟大家的生活其实也密不可分, 他们运行着我们日常所使用各种软件的网络服务程序, 或是游戏的网络服务程序, 我们家里的路由器也会运行类unix操作系统 ,但是这些操作系统没有GUI或带GUI的软件较少, 硬件方面有的可能也没有显示设备, 几乎靠命令行, 或远程控制程序与运维人员进行交互, 一般人难以操作, 学习使用的成本交高. 在嵌入式中也应用较多, 例如路由器, 物联网设备网关, NAS等, 这类操作系统上运行的应用程序有一定的定制性, 但由于其操作系统层面接口较为统一, 可移植性也不错.
 
嵌入式实时操作系统 RTOS
与上述两类操作系统相比, 这类操作系统体积非常小, 其源码可能不到1MB, 操作系统本身没有提供能够与人交互的方式, 需要开发人员在其应用层面再确定. 这类操作系统更多是为应用程序提供多线程支持和线程间通信功能的支持, 在这类操作系统上开发的应用程序需要和硬件设备做深度的配适, 更换设备后可能就无法运行, 定制性较强, 可移植性较差
Shell
像Windows和Linux这样功能丰富的操作系统, 其运行的程序大致可以分为这三个层次
系统内核( Kernel )
用户与内核交互层( Shell )
应用程序( Application )
能够正真直接操作计算机硬件(读写硬盘, 调用通信接口等)的只有Kernel. 
Shell则是在用户与Kernel之间的一座桥梁
 
Shell是一部分程序的集合, 这些程序提供了我们用户与Kernel之间最直接的, 最原始的交互方式: 命令行
例如windows的cmd / powershell 或是 Linux的Terminal这样的黑框框窗口就叫做命令行终端, 我们在窗口中输入各种字符命令, 按下回车, 操作系统便会去尝试执行, 然后给我们返回一些字符信息作为反馈, 在以前, 计算机操作系统还没有图形界面的时候, 人们都是这样与系统交互的. 我们在命令行中输入的不同指令, 其实就是一个个不同的shell程序
 
内核模式
上一部分所说到的操作系统, 都有两种工作模式
用户模式
在用户模式下,执行代码不能直接访问硬件或引用内存。在用户模式下运行的代码必须委托给系统API来访问硬件或内存。上一部分所说到的Shell, 就是由这些API所封装而成的程序, 由于这种隔离提供的保护,用户模式下的崩溃总是可恢复的。在您的计算机上运行的大多数代码将在用户模式下执行。
内核模式
在内核模式下,执行代码可以完全且不受限制地访问底层硬件。它可以执行任何CPU指令和引用任何内存地址。内核模式通常为操作系统的最低级别、最受信任的功能保留。内核模式下的崩溃是灾难性的;他们会让整个电脑瘫痪。
 
GUI
Graphics User Interface , 用户图形界面.  这个非常好理解, 前面shell部分已经提到过, 以前的计算机操作系统全靠命令行来实现交互, 图形界面其实则是吧各种样的指令做成了图标或者按钮等图形, 给不同的程序划定了显示的范围, 以实现更加高效的交互.
通过图标形象的表示一些功能, 也减少了操作系统的学习成本, 再困难也比命令行记单词缩写来的快
 
X86 , ARM和RISC-V
X86和ARM是两种处理器架构, 也是两种指令集架构, 是目前世界上应用的最多的两种处理器架构
X86
X86由早期(1978年)的英特尔最先推出, 也授权给了早期的AMD (以前和Intel是一家人) , 这种架构使用复杂指令集( CISC ), 32位宽度, 大量应用于高性能计算机上, 例如超级计算器, 服务器, 桌面级PC. 后续推出了64位的扩展集, 被称为X86-64 , AMD64 或 X64
 
ARM
ARM架构( Advanced RISC Machine )由ARM公司于1991推出, 他是一种精简指令集( RISC )架构, 32位宽度, 当然后续也有ARM64的64位版本, 这种架构相较于X86, 同时期性能较弱, 但是其功耗更低, 所以现在大量应用于移动端计算机设备, 嵌入式设备更是离不开它功耗低的特点
RISC-V
与前面两种架构不同, 这是一种开源架构, ARM架构也在其第一代架构上发展, 开发者使用其来设计处理器无需向前面两种架构那样获取授权或是缴纳巨额授权费. RISC-V也是现在非常火热的架构, 但是其成熟程度和生态暂时还是不如ARM和X86. 
ARM架构也是基于RISC第一代发展而来, RISC-V也与ARM较为类似, 大量应用于嵌入式或是一些低功耗场景, 但是由于其优秀的效能, 也被阿里这样的公司应用于数据中心服务器
虽然现在RISC-V的话语权还不够, 但是喜欢嵌入式的同学也应该时刻对它保持关注, 在未来极大可能会成为一种新的主流架构
 

扫码申领本地嵌入式教学实录全套视频及配套源码

上一篇:Java-面试官:try-catch到底写在循环里面号,还是外面号?大部分都会答错

下一篇:Linux 多线程全面解析

400-611-6270

Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5京公海网安备11010802025203号