■ 计算机

■ 指令集

■ 1、CISC(复杂指令集) CISC(Complex Instruction Set Computer)

设计思路是用一条指令完成一个复杂的基本功能;
CISC较轻,功耗也小,适合手机等便携设备(也是现在手机上霸主);

■ 2、RISC(精简指令集) RISC(Reduced Instruction Set Computer)

设计思路是一条指令完成一个**基本“**动作”,多条指令组合完成一个复杂的基本功能。
RISC较重,支持的指令多,功能强大,但功耗也大,适合PC机(也是事实上PC机的霸主);

■ CPU架构

在这里插入图片描述

■ 1、X86架构

X86是微处理器执行的计算机语言指令集,
Intel 发布了新款16位微处理器 8086,也同时开创了一个新时代:X86架构诞生了。
Intel公司所生产的所有CPU仍然继续使用X86指令集。

■ 2、ARM架构

ARM架构是一个32位精简指令集处理器架构,其广泛地使用在许多嵌入式系统设计。
主要是面向移动、低功耗领域,因此在设计上更偏重节能、能效方面

■ 3、RISC-V架构

RISC-V 架构是基于精简指令集计算(RISC)原理建立的开放指令集架构(ISA),
RISC-V是在指令集不断发展和成熟的基础上建立的全新指令。
RISC-V 指令集完全开源,设计简单,易于移植Unix系统,模块化设计,完整工具链,同时有大量的开源实现和流片案例,得到很多芯片公司的认可。
但在智能穿戴产品上的应用广泛,前景广阔

■ 4、MIPS架构

MIPS架构是一种采取精简指令集(RISC)的处理器架构
最早的MIPS架构是32位,最新的版本已经变成64位。
在网关、机顶盒等市场上非常受欢迎

■ CPU架构、指令集、汇编、硬编码之间关系

在这里插入图片描述

uname命令可以显示系统的基本信息,如内核版本、操作系统名称、主机名、硬件架构等。它有以下常用的选项:
-a:显示所有信息
-s:显示内核名称
-r:显示内核版本
-v:显示内核发布日期
-o:显示操作系统名称
-n:显示主机名
-m:显示硬件架构

shine@ubuntu:~/software$ uname -m
i686
在这里插入图片描述

输出结果中包含

uname-m输出架构
x86_64AMD
i686,Intel
armv7l
aarch64
arm64,
ARM。

i386 : Intel 386 ( 老的386机器,也泛指IA32体系的CPU)
i486 : Intel 486
i586 : Intel 586 ( Pentium ,K6 级别CPU )
i686 : Intel 686 ( Pentium II, Pentium III , Pentim 4, K7 级别CPU )

Intel 80386 是 i386 架构
Intel 80486 是 i486 架构

x86_64/AMD64 (简称x64)是 x86 架构的 64 位版,也就是 AMD 公司的 x86_64 位架构 amd64
x86 32位
x86_64 64位

■ 汇编、C语言、C++、Java之间关系

在这里插入图片描述

■ 嵌入式

■ 嵌入式GUI框架对比

参数QTQmlGTK+LVGLAWTKMIiniGuiemWin
类型框架语言/框架框架图形库框架图形库图形库
开发语言C++QML(JavaScript),C++CCCC/C++
跨平台支持Windows,
Linux,
macOS,
Android
跨平台跨平台跨平台跨平台嵌入式系统跨平台
社区支持大型社区,活跃大型社区,活跃大型社区,活跃活跃社区相对较小社区,但积极发展较小社区,专注嵌入式商业产品,有技术支持
学习曲线中等中等中等
界面定制高度定制性高度定制性高度定制性高度定制性可定制性高中度定制性高度定制性
应用场景广泛应用领域跨平台应用,特别适用移动端桌面应用,嵌入式应用嵌入式系统,小型设备 移动端应用,嵌入式系统嵌入式系统嵌入式系统,工业控制
资源占用中等到高中等中等中等
中文支持
许可方式LGPL,商业许可LGPL,商业许可LGPLGPLMITMIT自由商用
最新稳定版本发布时间2022年1月2022年1月2022年1月2022年1月2022年1月2022年1月2022年1月

在这里插入图片描述

■ GNU

介绍
MSVCMicrosoft Visual C++(简称Visual C++、MSVC、VS或VC)是微软公司的免费C++开发工具,具有集成开发环境VC++集成了便利的除错工具,特别是集成了微软Windows视窗操作系统应用程序接口(Windows API)、三维动画DirectX API,Microsoft .NET框架。
MinGWMinimalist GNU for Windows 它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合.Minimalist GNU for Windows 它实际上是将经典的开源 C语言 编译器 GCC 移植到了 Windows 下,并且包含了 Win32API ,因此可以将源代码编译生成 Windows 下的可执行程序。
GNUGNU是“GNU’s Not Unix”的缩写。它是由自由软件基金会(Free Software Foundation,简称FSF)开发的一个自由开源操作系统GNU的理念是促进软件自由,其中包括运行、研究、修改和分发软件的自由。GNU计划的确旨在创建一个完整的操作系统,其中包括一个名为GNU Hurd的内核。然而,GNU Hurd的开发进展相对缓慢,没有广泛采用。相反,Linux内核与GNU项目中的工具和库结合在一起,形成了我们通常所说的GNU/Linux操作系统。GNU项目提供了大量的软件工具和应用程序,包括编译器、文本编辑器、Shell实用工具、库等等。这些工具通常与Linux内核结合使用,创建了被称为GNU/Linux的操作系统。GNU项目最知名的组成部分之一是GNU通用公共许可证(GPL),它是一种自由软件许可证,规定了软件的使用和分发条件。GNU的目标是让用户能够自由地使用、学习和共享软件,以促进开放的创新和合作。GNU操作系统是类Unix 操作系统. 由一系列应用程序、系统库和开发工具构成的软件集合, 并加上用于资源分配和硬件管理的Linux内核。GNU这个名字是 “GNU’s Not Unix!” GNU不是Unix的一种致敬Unix的技术思路,而在同一时间说GNU是不同的东西
GNU项目提供了大量的软件工具
1.GCC:GNU编译器集合(GNU Compiler Collection),包括C、C++、Objective-C、Fortran、Ada等语言的编译器。
2.GDB:GNU调试器(GNU Debugger),用于调试程序的工具,支持多种编程语言。
3.GNU Core Utilities:GNU核心工具集,包括常见的命令行工具,如ls、cp、mv、rm等。
4.Bash:GNU Bourne Again Shell,一个功能强大的Unix shell和脚本语言。
5.GNU Make:一个构建工具,用于自动化编译和构建软件项目。
6.Emacs:一个高度可定制的文本编辑器,具有广泛的功能和扩展性。
7.GIMP:GNU Image Manipulation Program,用于图像编辑和处理的开源图形软件。
8.Autoconf和Automake:用于自动配置和生成Makefile的工具,常用于软件的跨平台构建。
9.GNAT:GNU Ada编译器,用于Ada语言的编译。Glibc:GNU C库,是一套标准C库的实现,提供了许多基本的系统功能。

■ 开源协议

协议介绍
GPLGNU通用公共许可证(GNU General Public License)由于GPL很难被商业软件所应用,它要求调用它的库的代码也得GPL,全部开放,并且一同发布,不能直接连接。所以后来GNU推出了LGPL许可证
LGPLGNU较宽松公共许可证 (GNU Lesser General Public License), ) ,旧称 GNU Library General Public License (GNU 库通用公共许可证);
GFDLGNU自由文档许可证(GNU Free Documentation License )的缩写形式。

■ 编辑器对比

在这里插入图片描述

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐