Linux 专题

发布时间: 更新时间: 总字数:980 阅读时间:2m 作者:IP:上海 网址

Linux 专题介绍,汇总各种 Linux 的基础知识。

介绍

Unix 哲学

  • 一切皆文件
  • 程序应该只关注一个目标,并尽可能把它做好
  • 让程序能够互相协同工作
  • 应该让程序处理文本数据流,因为这是一个通用的接口

其他哲学

  • All problems in computer science can be solved by another level of indirection摘自

基础

Linux Kernel

Linux 网络

Linux 硬件

ABI vs EABI

  • ABI (Application Binary Interface,应用程序二进制接口):API(应用程序编程接口) 是源代码级别的契约(规定了函数名、参数类型等,给人看的);那么 ABI 就是机器码级别的契约(给 CPU 和操作系统看的)。如果两份代码按照不同的 ABI 编译,它们即使被链接在一起也无法正常运行,必然会导致程序崩溃。
  • EABI (Embedded Application Binary Interface,嵌入式应用程序二进制接口) 是 ABI 的一个子集或特例,专门为了**嵌入式系统(Embedded Systems)**量身定制的二进制接口标准。我们在进行单片机、ARM Cortex-M 系列开发时,最常遇到这个词(例如常见的交叉编译工具链 arm-none-eabi-gcc)。
对比维度 ABI (通用标准) EABI (嵌入式标准)
应用场景 桌面端、服务器端(Windows, Linux, macOS)。 嵌入式开发、微控制器、物联网设备(ARM, PowerPC 等)。
对操作系统的依赖 强依赖。需要系统提供复杂的内存管理、动态库加载等底层支持。 无依赖或弱依赖。设计之初就考虑了在没有操作系统的“裸机”上运行。
内存与性能 优先考虑通用性、多进程安全和扩展性,对内存占用不敏感。 优先考虑代码密度(体积小)、执行速度和极低的栈内存消耗。
典型工具链命名 gcc (本地编译)
arm-linux-gnueabi-gcc
arm-none-eabi-gcc (注意这里的 none 代表没有操作系统)

相关术语

  • PDU(Power Distribution Unit) 电源分配单元
  • LUKS(Linux Unified Key Setup, Linux统一密钥设置) 是由 Clemens Fruhwirth 在 2004 年为 Linux 开发的磁盘加密规范。LUKS 实现了可用于各种工具上的跨平台标准磁盘加密格式,促进了不同工具之间的兼容性和互操作性,确保它们都以安全和统一的方式实施密码管理。
  • gossip 协议gossip protocol)又称 epidemic 协议(epidemic protocol) 是基于流行病传播方式的节点或者进程之间信息交换的协议,在分布式系统中被广泛使用,比如我们可以使用 gossip 协议来确保网络中所有节点的数据一样。

其它

  • VNC 专题
  • NixOS 是一个有着独特配置管理和包管理的 Linux 发行版
    • 声明式构建和部署
    • 它构建在可使升级系统更可靠,以及具有更多优点的纯声明式的包管理工具 Nix package manager 上

翻译