不管是个人电脑,服务器或者是边缘计算端都需要依赖于CPU,CPU的中文全名是中央处理器,CPU由ALU(运算器),CU(控制单元),寄存器,cache(高速缓存),MMU(内存映射单元)等组成,CPU的工作流程包括如下的几个阶段:取指令,译码,执行,访问存储,以及返回。指令集发挥的作用是对CPU进行控制,完整的一条指令一般包括指令名称和地址,常说的32位和64位系统,指代的是CPU寄存器的总位数,32位系统现在常见于单片机,个人PC一般都是64位的。现在市面上主流的指令集包括适用于个人PC和服务器的x86指令集,适用于嵌入式和移动产品(如STM32芯片,TI芯片,手机芯片)的ARM精简(RISC)指令集,以及开源的RISC-V指令集。

当下主流的个人PC操作系统有Windows,MACOS和linux三种。其中linux最为稳定,常被用于工程项目的开发。linux系统的核心是linux kernel,linux kernerl通过指令集直接控制CPU来实现计算和存储。

  1. linux系统的定义和特点

在1980年代时候通用的操作系统是Unix,但其是非开源的商业系统,一般人很难用得起,1983年的时候理查德斯托曼创建了自由软件GNU计划,旗下软件开源免费代码公开,1991芬兰的大学生Linus Benedict Torvalds受到GNU计划的激励,同时对付费系统不满,自行开发了一个类Unix系统,这就是Linux,其命名与Linus这个名字有关。严格来说,Linux系统全名应当是Linux/GNU,Linux提供了内核,而GNU提供了大量的开源软件如GCC和Shell。Linux系统在2000年代互联网时代来临后,迅速凭借其开源免费的特点占据了大量的应用市场,而其开源特性也使得在工程师和开发者社群内广受欢迎,现在的服务器和工程开发用的系统几乎全是Linux。在2022年人工智能浪潮袭来后,Linux更是成为了开展规模级别人工智能工程的唯一选择。而像ubuntu,debian,centos,RHEL都是Linux的发行版本,发行版本相当于是把软件和Linux内核打包制作的工程集合。现在的Linux发行版本可以分为以下两类:

  1. Debian系

   Debian系继承了Linux开源独立性的传统,其易用性强,大多面向个人用户。Debian和ubuntu是Debian系的代表。

  1. Redhat系

  Redhat系是Linux在1990年代部分走向商业化和面向企业应用的结果,Redhat是红帽公司,旗下著名系统有RHEL,全称为RedHat Enterprise Linux,即红帽公司收费版本企业用Linux。centos也是Redhat系商业系统。

  Linux系统的特点如下:

   开源与自由:

Linux 遵循 GPL(通用公共许可证)等开源协议,这意味着任何人都可以自由地查看、修改和发布其源代码。这对于高校内研究计算机系统的研究员提供了很大的便利,更推动了全链路国产浪潮的发展。国产的统信UOS基于Linux内核开发,并且和多款国产CPU适配,如采用x86架构的海光。

  稳定性和安全性

Linux 内核经过高度优化,资源占用率低。许多大型网站或金融机构的服务器可以连续运行数月甚至数年不重启而不崩溃。Linux还基于多用户架构,通过文件权限(读、写、执行)和所有权机制,有效隔离不同用户的操作,防止恶意软件破坏系统。

  多用户,多任务

Linux允许多个用户同时通过不同的终端(或远程连接)登录到同一台主机上,各自拥有独立的环境和资源配额,互不干扰。这在高校、企业和云服务器中非常常见。

  丰富的软件生态

Linux 不仅仅是一个内核,围绕它已经形成了一个庞大且成熟的软件生态系统。围绕Linux内核的知名开源软件有GCC C语言编译器,以及在Debian和ubuntu上通用的APT软件包管理系统。在办公软件方面则有开源免费的Libreoffice。

   强大的命令行

尽管现代的Linux发行版都拥有精美的用户图像界面(GUI),但是Linux仍然支持了强大的命令行系统,Bash Shell自动化脚本为用户提供了便捷的和系统交互的可能。

    高度可定制

Linux是一个“积木”式的系统,其可以被很容易的定制开发并按照用户的需求被打造为其需要的形式,Linux有着众多的发行系统,这在前面详细讲解了。

   2.linux系统的组成

  Linux系统的核心构造可以被视为一个由内向外的层级结构,主要由内核、Shell、文件系统和应用程序这四个关键部分协作组成。

(1)Linux系统的内核

Linux系统的内核在GITHUB平台上被开源,访问的链接为:https://github.com/torvalds/linux,Linux系统内核的收藏数目(232k)是GITHUB平台上最多的仓库之一。Linux 内核是整个操作系统的灵魂和最底层核心,它直接运行在裸机硬件之上。内核的主要职责是作为硬件与软件之间的中介,负责管理 CPU 资源、内存分配、进程调度以及硬件设备的驱动程序。它是系统的“指挥官”,确保各种资源能够安全、高效地被上层软件调用,用户通常不会直接与其交互。

(2)Shell

Shell充当了用户与内核之间的“翻译官”或外壳。由于内核只理解复杂的机器指令,普通用户无法直接下达命令,因此需要 Shell 提供一个交互界面。无论是通过命令行界面输入的 Bash 指令,还是图形用户界面(GUI)的操作,Shell 都会接收用户的请求,将其解释为内核能够理解的指令并交由其执行,最后再将结果反馈给用户。Bash Shell是最常见的命令行Shell,bash语言是常用的Linux系统操作脚本自动化编写语言。

  (3).文件系统

文件系统是操作系统组织和管理数据的方式。在 Linux 中,一切皆文件的设计方法贯穿始终,不仅是普通的文档和程序,连硬件设备(如硬盘、键盘)和网络连接都被抽象为文件。文件系统通过树状的目录结构将存储设备上的海量数据有序地排列起来,为用户提供了一个统一的逻辑视图,方便进行存储、检索和权限管理。现在Linux上最常用的文件系统是EXT4文件管理系统,几乎被所有 Linux 内核版本和发行版(如 Ubuntu、CentOS、Debian)原生支持。

 (4).应用程序

应用程序位于Linux系统的最外层,也是用户最直接接触的部分。这包括了系统自带的服务程序systemd(初始化系统)、文本编辑器Vim、网络工具,以及用户自行安装的各类生产力软件(如visual studio code等)或开发环境。这些程序运行在用户空间,通过调用 Shell 或直接通过系统调用与内核通信,最终利用硬件资源来完成特定的任务。

综上所述,内核,Shell,文件系统和应用程序这四个层次紧密结合,共同构成了一个功能完整且高度灵活的 Linux 运行环境。

Logo

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

更多推荐