Linux底子part-1

打印 上一主题 下一主题

主题 560|帖子 560|积分 1680

目次
1、UNIX 的诞生和广泛使用
2、CPU 架构范例
3、CPU 指令
4、计算机程序计划和执行过程
5、操作统OS
6、编程条理
7、程序的内部运行接口
8、UI程序接口(人机交互接口)
9、程序的运行模式:
10、POSIX:可移植操作体系规范
11、计算机开源领域
12、Linux 发行版商业和社区)


这里主要讲解操作体系底子、发展史和开源技能领域
1、UNIX 的诞生和广泛使用



  • UNIX是一种多用户、多任务的操作体系,由肯·汤普逊、丹尼斯·里奇和其他贝尔实验室的研究人员在20世纪70年代初开发。UNIX最初计划用于支持大型机器上的多用户环境,但厥后它被移植到了各种计算机架构上,成为了一种跨平台的操作体系。UNIX的计划注意简洁性、机动性和可移植性,使得它成为了一个受欢迎的操作体系。UNIX广泛应用于服务器操作体系、科学计算、嵌入式体系、个人电脑等各种场景,其稳定性、安全性和机动性是吸引用户选择的告急缘故原由。
  • 对计算机进行执行操作:硬件+软件

    • 在计算机体系中,执行操作通常是指利用硬件和软件来实现特定任务或功能。硬件是计算机体系的物理组件,如CPU、主板、内存、硬盘、显卡、显示器、鼠标键盘和光驱等。而软件则是控制和利用硬件完成任务的程序和数据,包括操作体系、应用软件和驱动程序等。硬件和软件相互共同,通过输入输出操作实现用户需求,比方处置处罚文档、播放视频、运行游戏等。
    • 硬件构成:CPU,主板,内存,硬盘,显卡,显示器,鼠标键盘,光驱

      • CPU(中央处置处罚器):负责执行计算机程序的指令,是计算机的焦点组件。
      • 主板:连接和支持计算机各个硬件部件的主要电路板。
      • 内存(RAM):用于临时存储正在执行的程序和数据,是CPU直接访问的存储器。
      • 硬盘:用于永久存储数据和程序,包括操作体系、应用软件和用户文件等。
      • 显卡:负责处置处罚图形和图像输出,驱动显示器显示图像。
      • 显示器:显示计算机输出的文本、图像和视频等内容。
      • 鼠标键盘:用户输入设备,用于控制计算机和输入文字、命令等。
      • 光驱:用于读取和写入光盘(如CD和DVD)的设备。

    • 硬件分类:运算器+控制器+存储器+I/O设备

      • 运算器:执行计算和逻辑运算的部件,通常指CPU。
      • 控制器:控制数据流向和指令执行的部件,和谐计算机内部各部件的工作。
      • 存储器:用于存储数据和指令的部件,包括内存和硬盘等。
      • I/O 设备:输入输出设备,负责与计算机外部进行交互,如键盘、鼠标、显示器、打印机等。


2、CPU 架构范例



  • CPU架构是指中央处置处罚器(CPU)的计划和布局方式,不同的CPU架构可以支持不同的指令集和操作体系。
  • X86

    • X86是一种32位CPU架构,最初由英特尔公司开发。它广泛用于个人计算机(PC)和服务器领域。
    • X86架构最早是用于基于Intel 8086处置处罚器的个人计算机,厥后发展为包括Intel Pentium、Core系列、AMD Athlon等多个产物系列。
    • X86架构也支持一些64位扩展,比方Intel的EM64T和AMD的AMD64,它们允许在X86处置处罚器上运行64位操作体系和应用程序。

  • X64(支持 64 位体系 X86)

    • X64是指X86的64位扩展,也称为AMD64或者Intel 64。
    • X64架构保留了X86的兼容性,而且提供了更大的内存地址空间和更高的性能。
    • 由于其兼容性和性能优势,X64架构被广泛应用于现代个人计算机、工作站和服务器。

  • Arm

    • Arm架构是一种基于精简指令集(RISC)的CPU架构,由英国Arm公司开发。
    • Arm架构广泛应用于移动设备(如智能手机、平板电脑)、嵌入式体系、物联网设备和超级计算机等领域。
    • Arm架构的特点是低功耗、高性能和可定制性,使其成为了移动设备领域的主流架构。

  • ARM 系列 CPU (手持计算机,如手机、PAD 等)

    • ARM系列CPU是基于Arm架构的处置处罚器,由多家公司计划和制造,包括高通、联发科、三星等。
    • 这些处置处罚器广泛应用于智能手机、平板电脑、可穿戴设备等手持计算设备中,具有低功耗、高效能的特点

  • M68000 (摩托罗拉)

    • M68000是摩托罗拉公司开发的一种32位微处置处罚器,属于CISC架构。
    • M68000曾经广泛应用于个人电脑、工作站和游戏机等领域,是早期计算机历史上的告急架构之一。

  • Apha (惠普)

    • Alpha是惠普公司(后被收购)开发的一种64位RISC架构处置处罚器。
    • Alpha处置处罚器曾经被广泛应用于高性能计算、工作站和服务器领域,具有出色的性能和可靠性。

  • 安腾

    • 安腾(Itanium)是由英特尔和惠普合作开发的64位处置处罚器架构,属于EPIC(显式并行指令计算)架构。
    • 安腾处置处罚器主要用于高性能计算和企业级服务器领域,尽管在一段时间内曾被以为是未来服务器架构的方向,但终极未能取得主流地位。

3、CPU 指令



  • CPU指令是CPU能够明白和执行的基本操作命令。这些指令通常被构造成指令集架构,根据其功能和特权级别可以分为特权指令和普通指令。
  • 特权指令:0S 运行

    • 特权指令是只有操作体系(OS)在特别的权限级别下才能执行的指令。这些指令通常涉及对硬件和体系资源的底层控制和管理,如修改内存映射、访问I/O设备、更改处置处罚器状态等。
    • 特权指令的执行必要CPU处于特权级别,通常是操作体系的内核态。在这个特权级别下,操作体系有权访问和控制体系的全部资源。
    • 由于特权指令可以对体系造成严重影响,因此普通用户程序不能直接执行这些指令。普通应用程序必要通过体系调用向操作体系请求执行特权操作。

  • 普通指令:应用程序运行

    • 普通指令是应用程序能够执行的指令,通常涉及数据处置处罚、算术运算、逻辑操作、内存访问等常见操作。
    • 这些指令可以在应用程序的用户态下执行,用户程序可以自由地使用它们来完成特定的任务和功能。
    • 普通指令的执行不涉及对体系资源的底层控制,因此不必要特别的权限级别。

  • 体系调用

    • 当普通应用程序必要执行特权操作时,比方访问硬件设备、创建新的进程、读写文件等,它们必要向操作体系发出请求。
    • 这个请求被称为体系调用(System call)。体系调用是一种特别的指令,它允许用户程序向操作体系提出服务请求,请求操作体系代表其执行特权操作。
    • 操作体系收到体系调用请求后,会在内核态下执行相应的特权操作,并将结果返回给用户程序。体系调用提供了一种安全的机制,允许用户程序在受限的权限下访问体系资源。

  • 普通应用程序必要完成特权操作,必要向内核申请执行特权指令,0S 代理完成
  • 应用程序发出的调用请求被称为体系调用 (System call)
4、计算机程序计划和执行过程



  • 计算机程序计划和执行过程通常包括高级语言编程、编译和汇编三个主要阶段。
  • 机器语言、汇编语言(要有汇编器)、高级语言 (C、C++、编译器、gcc)

    • 机器语言

      • 机器语言是计算机能够直接明白和执行的语言,由二进制代码构成,代表着不同的指令和操作。
      • 机器语言指令是特定于CPU架构的,每种CPU都有其特定的指令集。因此,机器语言程序是与特定硬件平台相关的。
      • 机器语言的编写和明白对普通程序员来说是非常困难的,由于它直接操作计算机的底层硬件。

    • 汇编语言

      • 汇编语言是一种较为可读性强的低级语言,与特定CPU架构相关,使用助记符(mnemonics)来取代二进制指令码,使得程序员可以更方便地编写程序。
      • 汇编语言程序通过汇编器(assembler)将其转换成对应的机器语言程序。汇编语言程序的执行效率较高,由于它直接映射到底层的机器指令。

    • 高级语言

      • 高级语言是相对于机器语言和汇编语言而言的,它更靠近人类自然语言,更易于明白和编写。
      • 高级语言的代码由程序员编写,比方C、C++、Java、Python等。高级语言的代码可以在不同的平台上运行,由于它们通常由编译器或表明器转换成机器语言或者字节码。


  • 执行过程:

    • 编译过程:高级语言转换为汇编(对应 CPU 芯片支持的汇编)语言
    • 汇编过程:汇编语言转换为 CPU 能明白的机器语言
    • 编写程序

      • 程序员使用高级语言(如C、C++)编写程序,实现特定的功能和算法。

    • 编译过程

      • 编写完成后,程序会通过编译器进行编译,将高级语言代码转换为汇编语言代码。
      • 编译器会检查语法错误,并将高级语言代码翻译成对应的汇编语言代码,生成一个汇编语言的中间文件(通常是汇编代码的文本文件)。

    • 汇编过程

      • 汇编器(assembler)将汇编语言代码转换为机器语言代码,也就是CPU能够直接执行的指令序列。
      • 汇编器根据汇编语言代码中的助记符,将其映射为对应的机器指令,生成一个可执行的机器语言程序(通常是二进制可执行文件)。

    • 执行程序

      • 生成的机器语言程序可以被计算机硬件执行。计算机加载程序并按照其中的指令逐条执行,从而实现程序员预期的功能。


5、操作统OS



  • 消除底层差别 (翻译例子) ,程序员写程序不消再思量底层硬件性能——>通用软件(OS)

    • 操作体系(OS)是管理计算机硬件和软件资源的体系软件,操作体系消除底层差别,程序员写程序不消再思量底层硬件性能,这是由于操作体系为通用软件提供了一个同一的接口。比方,程序员在操作体系上编写的程序可以在不同的计算机上运行,无需关心底层硬件的具体细节。

  • OS是软件程序,到达可移植目的、通用目的:

    • 硬件驱动

      • 操作体系提供了硬件驱动程序,用于管理和控制计算机的各种硬件设备,如键盘、鼠标、打印机等

    • 进程管理 (CPU 时间片切割分配)

      • 操作体系负责管理和调度体系中的各个进程,包括分配CPU时间片、调度进程执行、处置处罚进程间通信等。

    • 文件体系(文件(创建、删除、移动、权限)、用户、文件体系、加密/解密、内核(编译)、启动过程、程序包管理)

      • 操作体系提供了文件体系,用于管理计算机上的文件和目次。它负责文件的创建、删除、移动、权限控制等操作,并提供了对文件体系的加密、解密、压缩等功能。

    • 内存管理

      • 操作体系管理计算机内存的分配和释放,确保不同进程之间的内存空间不会相互干扰,同时提供捏造内存管理和页面置换等功能。

    • 网络管理

      • 操作体系提供了网络管理功能,包括网络连接的创建和管理、数据包的传输和路由、网络协议的支持等。

    • 安全管理

      • 操作体系提供了安全管理机制,用于掩护体系和用户的数据安全,包括用户身份验证、访问控制、数据加密等。


  • 程序员面向操作体系接口写程序,OS相称于捏造机

    • 操作体系为程序员提供了一组面向操作体系接口(API)的函数和工具,程序员可以使用这些接口来编写应用程序。因此,操作体系可以看作是一个捏造机,为应用程序提供了一个同一的运行环境。

  • 广义操作体系和狭义操作体系

    • 广义:内核 (kernel) +应用程序 (application)

      • 内核负责管理体系资源,而应用程序则是运行在操作体系上的其他软件。

    • 狭义:内核 (kernel)

      • 它是操作体系的焦点部分,负责管理体系资源和提供服务。

    • 内核版本号:major.minor.release

      • 操作体系的版本号通常由三个部分构成:主版本号(major)、次版本号(minor)和发布号(release)。这些版本号反映了操作体系的告急性和更新程度。


6、编程条理



  • 硬件规格:面问硬件进行编程 (hardware specifiacation),嵌入式工程师

    • 在编程条理中,硬件规格位于最低层,直接与硬件进行交互和操作。这一条理的编程通常由嵌入式工程师或者对底层硬件有深入了解的开发人员完成。
    • 硬件规格编程涉及直接操作硬件寄存器、处置处罚器指令和外设控制等,必要深入了解硬件的特性和规格,对硬件的运作原理有较为深刻的明白。

  • 体系调用:把底层硬件功能抽象出有限的数目,Lnux 大概 400 个左右

    • 体系调用位于编程条理中间,它抽象出了底层硬件的功能,并提供了有限的接口供应用程序使用。
    • 比如在Linux体系中,大约有400个左右的体系调用,用于实现诸如文件操作、进程管理、网络通信等功能。应用程序可以通过调用这些体系调用来实现对底层硬件的操作。

  • 库调用:lib call,更轻易实现(操作体系自己必要额外提供库,通常是C或 C++程序库)

    • 库调用是编程条理中的高级抽象层,它通过软件库(library)的形式为开发人员提供了更轻易使用的接口。
    • 操作体系通常会提供一些尺度的库,如C尺度库(libc)或C++尺度库(libstdc++),这些库中包含了大量已经封装好的函数和方法,可以直接调用以实现常见的功能,如字符串处置处罚、内存管理、输入输出等。
    • 库调用将体系调用进一步封装,提供更高级别的抽象,使得开发人员能够更快速地编写程序,而无需关心底层硬件的细节。

  • 编程条理的不同级别提供了不同的抽象程度和机动性,开发人员可以根据自己的需求和技能水平选择得当的条理进行编程。在硬件规格层,程序员可以实现对硬件的直接控制和优化;而在库调用层,则可以使用现有的高级功能库来简化开发工作,提高开发效率。
7、程序的内部运行接口



  • ABI和API都是程序的内部运行接口,它们分别提供了程序在运行时和开发时的接口。ABI定义了程序和底层操作体系或者硬件之间的二进制接口尺度,而API则定义了应用程序提供给其他程序或者开发者调用的一组函数接口。
  • ABI:应用二进制接口(程序员开发好后程序运行时面对的接口) ,不同操作体系支持 ABI 接口不同

    • ABI是指应用程序和底层操作体系或者硬件之间的接口,它定义了应用程序和操作体系之间的二进制接口尺度。ABI规定了函数调用约定、数据布局布局、体系调用接口等底层细节,以确保不同的程序能够在特定平台上正确运行。
    • ABI的告急性在于它提供了一个二进制级别的尺度,使得编译器能够生成与特定操作体系兼容的可执行程序,而无需思量底层细节。因此,不同操作体系支持的ABI大概会有所不同,比方Windows、Linux、macOS等操作体系都有自己的ABI尺度。
    • ABI对程序员来说是透明的,由于它主要关注于程序的二进制级别的接口,而不是源代码级别的接口。程序员编写的代码在编译时会被翻译成符合特定ABI尺度的机器码,从而能够在特定操作体系上运行。

  • API:应用编程接口(程序员面对的编程接口)

    • API是指应用程序提供给其他程序或者开发者调用的一组接口。API定义了一组函数、方法、类或者协议,用于编程中实现特定的功能和操作。API可以是操作体系提供的,也可以是第三方库或者服务提供的。
    • API通常以函数调用的形式提供,程序员可以通过调用这些函数来实现各种功能,如文件操作、网络通信、图形界面等。API定义了函数的参数、返回值以及函数的作用,提供了一种尺度化的编程接口。
    • API对程序员来说是可见的,由于它直接影响到程序的编写和开发过程。程序员必要了解API的使用方法和规范,以便正确地调用API函数来实现所需的功能。

8、UI程序接口(人机交互接口)



  • 假如操作应用程序,怎样打交道(很多程序不是开机自启),点鼠标启动(背后意味着什么?)

    • 当操作应用程序时,通常可以通过以下步调与之交互:

      • 启动应用程序:

        • 在图形用户界面(GUI)中,通常可以通过点击应用程序图标或者通过开始菜单等方式启动应用程序。
        • 在命令行界面(CLI)中,可以通过在终端中输入命令来启动应用程序。

      • 与应用程序交互:

        • 一旦应用程序启动,用户可以与之进行交互。这大概包括在应用程序的图形界面中点击按钮、填写表单、输入文本等操作,或者在命令行中输入特定的命令和参数来执行相应的操作。

      • 执行应用程序功能:

        • 应用程序会根据用户的操作执行相应的功能。这大概包括打开文件、处置处罚数据、显示界面、执行计算、与服务器通信等等。


    • 点击鼠标启动应用程序背后意味着用户通过图形界面的方式触发了应用程序的启动过程。这涉及到操作体系中的用户交互机制,通常包括以下几个步调:

      • 用户输入:用户通过鼠标点击应用程序图标或者在开始菜单中选择应用程序来发起启动请求。
      • 图形界面反应:操作体系汲取到用户的输入请求后,会相应地在屏幕上显示应用程序的图标或者菜单项。
      • 应用程序启动:一旦用户点击了应用程序图标或者菜单项,操作体系会根据相应的设置信息找到并启动对应的应用程序进程。
      • 应用程序初始化:应用程序在启动时大概必要进行一些初始化操作,如加载设置文件、预备界面等。
      • 应用程序界面显示:终极,应用程序的图形界面会显示在屏幕上,用户可以开始与之交互。


  • GUl:Graphic User interface(图形用户接口)

    • GUI是一种以图形方式显示信息和汲取用户输入的界面。它使用图形元素如窗口、按钮、菜单等来出现程序的功能和操作,用户可以通过鼠标点击、拖拽等方式与程序进行交互。
    • GUI界面的优点在于用户友爱、直观,能够提供丰富的视觉结果和交互体验,适用于大多数用户。常见的GUI框架包括Windows中的Win32 API、Linux中的GNOME、GTK、KDE、QT等,以及macOS中的Cocoa框架。

  • CLI:Command Line Interface(命令行接口)

    • CLI是一种通过文本命令来与程序进行交互的界面。用户通过键盘输入命令和参数来执行程序的功能,程序则通过文本输出返回结果。CLI界面通常不提供图形化的界面元素,而是依靠于命令行表明器(如bash、zsh、sh等)来解析和执行命令。
    • CLI界面的优点在于效率高、机动性强,适用于一些熟练的用户或者必要自动化处置处罚的场景。它通常用于服务器管理、体系设置等领域。在Linux和Unix体系中,CLI界面是主要的交互方式,常用的命令行表明器包括bash、zsh、sh、csh、ksh等。

  • OS的UI接口——>GUI

    • Linux:GNOME、GTK、KDE、GT

      • GNOME:一种常用的Linux桌面环境,提供了直观的用户界面和丰富的功能。
      • GTK(GIMP Toolkit):一种用于创建图形用户界面的工具包,很多Linux应用程序和桌面环境都使用了GTK。
      • KDE:另一种流行的Linux桌面环境,提供了高度定制和可扩展的用户界面。
      • XFCE、Cinnamon等:其他一些轻量级或定制化的Linux桌面环境

    • windows、MACOS

      • 体系自带了其特定的图形用户界面,提供了类似的窗口、菜单和图标等交互元素。


  • OS的 UI 接口——>CLI

    • Linux:bash、zsh、sh、csh、ksh

      • bash(Bourne Again Shell):默认的Linux命令行表明器,也是最常用的。
      • zsh、sh、csh、ksh等:其他一些可替代的命令行表明器,提供了不同的功能和特性。

    • 在Windows体系中,命令行界面主要通过cmd.exe或者PowerShell来实现,用户可以使用类似的命令来执行操作。
    • macOS体系中也包含了类似Linux的bash和其他常用的命令行工具。

9、程序的运行模式:



  • 程序的运行模式可以分为用户空间内核空间两个条理。用户空间是程序的运行环境,包含了应用程序和用户数据,普通用户可以在这个空间内进行操作。而内核空间是操作体系的焦点部分,只有特权级别较高的体系管理员或者操作体系本身才能够触及和操作,它包含了操作体系的内核和体系焦点服务,负责管理体系的各种资源和硬件设备。
  • 用户空间:user pace (US)

    • 用户空间是指程序在执行时所处的环境,它是用户程序的运行环境,包含了应用程序和用户数据。
    • 在用户空间中,程序运行在受操作体系掩护的环境下,普通用户可以在这个空间内运行、操作和管理自己的应用程序和数据。用户空间中的程序通常只能访问有限的体系资源,而且无法直接访问底层硬件设备。
    • 用户空间中的程序可以通过体系调用向操作体系请求访问受限资源,比方文件、网络、内存等。

  • 内核空间:system space。普通用户无法触及 (管理员才能管控)

    • 内核空间是操作体系的焦点部分,包含了操作体系的内核和体系焦点服务。在内核空间中运行的程序拥有最高的权限,可以直接访问和控制体系的所有资源和硬件设备。
    • 内核空间通常只有特权级别较高的体系管理员或者操作体系本身才能够触及和操作,普通用户无法直接进入内核空间或者对其进行操作。
    • 内核空间中的程序主要包括操作体系内核及其相关服务,如调度器、内存管理器、设备驱动程序等。这些程序负责管理体系的各种资源,执行体系级的任务和操作。

10、POSIX:可移植操作体系规范



  • POSIX(Portable Operating System Interface for Unix)是一套可移植操作体系接口尺度,POSIX尺度提供了一套可移植操作体系接口,使得在不同UNIX-like操作体系上编写的程序能够保持一致性。尽管不同操作体系上的程序运行格式大概会有所不同,但通过依照POSIX尺度,可以使得程序的源代码具有较好的可移植性,而程序的运行接口ABI(Application Binary Interface)大概会因操作体系的不同而有所差别。
  • POSIX尺度特点:

    • POSIX尺度由IEEE构造定义,其目的是定义一组操作体系接口,使得在不同UNIX-like操作体系上开发的程序能够保持一致性,减少移植和兼容性问题。
    • POSIX尺度定义了诸如文件操作、进程管理、信号处置处罚、线程管理、网络通信等方面的接口,使得不同操作体系上的程序能够使用相同的API进行开发,从而实现跨平台的兼容性。
    • 由于POSIX尺度的广泛接受,很多操作体系都在其焦点功能上实现了POSIX兼容性,比方Linux、macOS等UNIX-like操作体系。

  • 不同操作体系上的源代码是可以移植的,API 通用,但程序的运行接口 ABI 不同
  • 运行程序的格式:

    • 在不同操作体系上,程序的可执行文件格式和共享库格式大概会有所不同。比方,Windows和Linux体系使用的可执行文件格式就不同。
    • windows:EXE、dll (dynamic llnk llbrary )

      • Windows体系上的可执行文件格式通常是PE(Portable Executable),其主要构成部分包括Executable(EXE)和Dynamic Link Libraries(DLL)。

    • Linux:ELF、so (shared object )

      • Linux体系上的可执行文件格式通常是ELF(Executable and Linkable Format),其主要构成部分包括Executable(ELF可执行文件)和Shared Object(SO共享库)。

    • 在Windows中,动态链接库(DLL)是一种可以被多个程序共享调用的库文件,而在Linux中,共享对象(SO)也是一种类似的库文件。它们都可以通过动态链接方式在运行时加载到内存中,被不同的程序调用。

11、计算机开源领域



  • 计算机开源领域是指计算机软件和相关技能在开发和使用过程中采用开源模式的领域。在这个领域中,很多项目、构造和协议都在促进和支持软件的开源和自由分发。
  • GNU 构造、FSF

    • GNU构造由Richard Stallman于1983年创建,旨在推动自由软件活动,提供了很多开源项目和工具。
    • 自由软件基金会(Free Software Foundation,FSF)是GNU项目的主要支持者,致力于维护和推广自由软件的理念,提供了GNU通用公共允许证(GPL)等开源允许证。
    • GPL:通用公共允许证

      • GPL是一种自由软件允许证,通过掩护软件的自由性来确保用户的自由。它要求任何使用、修改和分发受GPL掩护的软件的派生作品都必须以相同的GPL协议发布。
      • GPL有多个版本,包括GPL、GPLv2和GPLv3,每个版本在细节和适用范围上略有不同。

    • LGPL(宽松的 GPL)

      • LGPL是GNU Lesser General Public License的缩写,也是由GNU构造发布的开源允许证,它相对于GPL更为宽松,允许非GPL允许的程序链接到LGPL库中。

    • BSD 和 Apache (ASF)

      • BSD允许证是一种开源允许证,具有较为宽松的条款,允许用户自由使用、修改和分发软件,同时也允许将BSD允许的代码用于闭源项目中。
      • Apache允许证是由Apache软件基金会发布的开源允许证,与BSD允许证类似,也具有较为机动的条款。


  • 在开源领域,开源是一种开发模式,而不是一种商业模式。开源意味着源代码是公开的,任何人都可以查看、修改和分发。但是,开源并不意味着免费,开源软件也可以以商业模式进行销售和支持。
  • 程序构成部分:二进制指令+设置文件+库文件+帮助文档

    • 程序的构成部分通常包括二进制指令、设置文件、库文件和帮助文档等。开源软件通常会提供源代码以及编译好的二进制文件,使得用户可以自由地使用、修改和分发软件。

12、Linux 发行版商业和社区)



  • Linux发行版是基于Linux内核的操作体系的不同版本,它们提供了各种不同的软件包和工具,以满足用户的不同需求。Linux发行版可以分为商业版和社区版两种范例。
  • RPM系(redhat (RHEL)、Fedora、centos、rocky、suse)

    • RPM系列发行版以Red Hat Linux为底子,采用了RPM包管理体系,其中一些主要的发行版包括:

      • Red Hat Enterprise Linux(RHEL):商业版,专为企业用户提供的稳定、安全的操作体系,具有恒久支持(Long Term Support,LTS)。
      • Fedora:社区版,由社区开发和维护,作为Red Hat的实验平台,提供了最新的软件和技能。
      • CentOS:社区版,是RHEL的克隆版本,与RHEL兼容但没有商业支持,得当个人用户和中小型企业。
      • Rocky Linux:社区版,由CentOS的前开发人员创建,旨在提供一个免费的、企业级的替代品。


  • Debian系(ubuntu、knopix、无商业公司支持)

    • Debian系列发行版以Debian为底子,采用了Debian软件包管理体系,其中一些主要的发行版包括:

      • Ubuntu:社区版,基于Debian的Linux发行版,广泛用于桌面和服务器,提供了易用性和稳定性。
      • Knoppix:社区版,基于Debian的Live CD/USB体系,用于快速启动和体系恢复。
      • 无商业公司支持的Debian体系:一些没有商业支持的Debian衍生版,由社区维护和支持。


  • 其他系(包括BSD 体系):gentoo、archlinux、BSD、kali

    • 其他系列发行版包括了不同的基于Linux内核或BSD内核的操作体系,其中一些主要的发行版包括:

      • Gentoo:社区版,以源代码为底子的Linux发行版,夸大机动性和定制性。
      • Arch Linux:社区版,专注于简洁、轻量级和滚动更新的Linux发行版。
      • BSD体系:基于BSD内核的操作体系,如FreeBSD、OpenBSD和NetBSD,提供了可靠性和安全性。


  • 版本号:

    • RHEL:5.x、6.x、7.x
    • CENTOS:5.x、6.x、7.x、8.x(已镌汰)
    • Rocky:8.5、9.0、9.1



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

反转基因福娃

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表