Linux 发展史

Linux 发展史

Linux 发展史

一、Linux 前身 —— Unix 发展史

1. 1964–1969 年:Multics 项目

  • 由 MIT、贝尔实验室(Bell Labs)、通用电气(GE) 联合开发。
  • 目标:打造一个多用户、分时、多功能的大型操作系统。
  • 结果:项目过于庞大、进度缓慢、成本过高,贝尔实验室与 MIT 先后退出,Multics 最终失败。

2. 1969–1970 年:Unix 诞生(Unix 元年)

  • 贝尔实验室的 Ken Thompson(肯・汤普逊) 在 Multics 废弃的基础上,为了运行自己写的游戏 Space Travel(太空旅行),用汇编语言写出了一套简易操作系统。
  • 1970 年 1 月 1 日 被定为 Unix 时间戳起点,也被称为 Unix 元年。
  • 最初的 Unix 完全用汇编语言开发,依赖硬件,移植性极差。

3. 1973 年:C 语言重写 Unix

  • Dennis Ritchie(丹尼斯・里奇) 发明了 C 语言。
  • Ken Thompson 与 Dennis Ritchie 用 C 语言重写了 Unix。
  • 意义:
    • 操作系统第一次摆脱硬件束缚
    • 极大提升了可移植性
    • 为后来 Unix 遍地开花奠定基础

4. 1975 年:Unix 进入大学

  • 贝尔实验室允许大学、科研机构免费使用 Unix 用于教学,禁止商业使用。
  • Unix 迅速在高校普及,成为计算机专业操作系统教学的标准系统。

二、开源文化与 GNU 计划(Linux 诞生的前提)

1. 1983 年:GNU 计划

  • 发起人:Richard Stallman(理查德・斯托曼)
  • 目标:开发一套完全自由、开源、免费的类 Unix 操作系统,命名为 GNU(GNU is Not Unix 的递归缩写)。

2. 1985 年:FSF 自由软件基金会

  • 成立 FSF(Free Software Foundation),推动自由软件运动。
  • 制定 GPL 开源协议(通用公共许可证):
    • 软件可以自由使用、复制、修改、分发
    • 修改后的衍生作品也必须开源

3. 1990 年前后:GNU 缺少内核

  • GNU 已经完成:
    • Emacs(编辑器)
    • GCC(C 语言编译器)
    • glibc(C 标准库)
    • Shell、工具链等大量软件
  • 但缺少操作系统内核,GNU 系统无法完整运行。

三、Linux 正式诞生

1. 核心人物

  • Linus Torvalds(林纳斯・托瓦兹) —— Linux 之父
  • 当时是芬兰赫尔辛基大学的学生,学习 Unix 操作系统。

2. 1991 年:Linux 0.0.1 版发布

  • Linus 基于教学用的 Minix(微型 Unix),编写了一个简单的操作系统内核。
  • 最初命名:Linus’s Unix
  • 网友建议改名:Linux(Linus + Unix)
  • 发布到网络社区,迅速吸引全球开发者参与贡献代码。

3. 关键版本时间线

  • 1991 年:Linux 0.0.1(最初内核版)
  • 1992 年:Linux 0.0.2
  • 1994 年:Linux 1.0 正式版(稳定内核)
  • 2003 年:Linux 2.6 内核(长期支持、广泛用于服务器)
  • 之后:3.x、4.x、5.x、6.x 等版本持续迭代

4. 1992 年:GNU + Linux = GNU/Linux

  • Linux 只是内核,本身不是完整操作系统。
  • 结合 GNU 的各种工具、编译器、库,才形成完整可用的系统。
  • 因此标准全称:GNU/Linux。

四、Linux 常见发行版(分支)

Linux = 内核发行版 = Linux 内核 + GNU 工具 + 软件 + 安装界面

主流发行版:

  1. Debian:社区驱动,稳定严谨
  2. Ubuntu:基于 Debian,桌面友好、易用
  3. Red Hat Enterprise Linux(RHEL):商业企业级
  4. CentOS:基于 RHEL 重新编译,免费、稳定、服务器首选
  5. Fedora:红帽旗下,新技术试验场
  6. SUSE:德国企业级发行版
  7. Arch Linux:滚动更新,定制化强

五、Linux 系统核心特点

  1. 开放性(开源)
    • 内核源码公开,可自由修改、分发
  2. 多用户
    • 系统可以同时登录多个独立用户,权限隔离
  3. 多任务
    • CPU 分时机制,可同时运行多个程序
  4. 多平台、可移植性强
    • 支持 x86、ARM、服务器、手机、嵌入式、物联网等
  5. 稳定、安全、性能优异
    • 服务器领域几乎垄断
  6. 良好的网络功能
    • 原生支持 TCP/IP,适合做服务器、路由、网关
  7. 一切皆文件
    • 硬件、设备、进程、网络、配置,统统抽象为文件
    • 统一操作接口,简单、一致、强大

六、Windows 与 Linux 对比

  • Windows单用户、多任务
    • 通常同一时间一个主用户使用,可同时开多个软件
  • Linux多用户、多任务
    • 多人同时登录、同时使用、同时运行多个程序,互不干扰

七、总结

Multics 失败 → Unix 诞生 → C 语言重写 → 高校普及 → GNU 缺内核 → Linus 写 Linux 内核 → 结合 GNU → 开源免费 → 发展出无数发行版 → 成为服务器、嵌入式、安卓底层的主流系统。

Read more

Flutter for OpenHarmony: Flutter 三方库 dart_style 像官方一样统一你的鸿蒙代码格式(代码美化神器)

Flutter for OpenHarmony: Flutter 三方库 dart_style 像官方一样统一你的鸿蒙代码格式(代码美化神器)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在 OpenHarmony 项目开发中,不论是个人的“心血之作”还是团队协作的“巨无霸”工程,代码的可读性是维护成本的生命线。每个人都有自己的编码习惯:有人喜欢紧凑型,有人喜欢在大括号前后留白。如果代码格式没有统一的标准,代码提交(Git Merge)时的差异对比将是一场灾难。 dart_style(其核心命令即 dart format)是 Dart 语言官方出品的格式化引擎。它通过一套被全球 Dart 开发者公认的算法,强制将你的源码重新排版为最标准、最易读的形态。 一、核心排版逻辑 dart_style 采用“行长度优先”的排版权重算法。 计算行长 修正空白 杂乱的源码 dart_style 解析器 折行与对齐策略

By Ne0inhk
Flutter for OpenHarmony:Flutter 三方库 pem — 在鸿蒙应用中优雅处理加密证书与密钥(适配鸿蒙 HarmonyOS Next ohos)

Flutter for OpenHarmony:Flutter 三方库 pem — 在鸿蒙应用中优雅处理加密证书与密钥(适配鸿蒙 HarmonyOS Next ohos)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net。 Flutter for OpenHarmony:Flutter 三方库 pem — 在鸿蒙应用中优雅处理加密证书与密钥(适配鸿蒙 HarmonyOS Next ohos) 在现代移动应用的网络安全、数字签名及加密传输中,证书的管理是基石。无论是对接 HTTPS 的私有根证书,还是在进行 RSA 加密时加载私钥,我们通常会接触到 PEM (Privacy-Enhanced Mail) 格式的文件——即那些以 -----BEGIN CERTIFICATE----- 开头的文本块。 在 Flutter for OpenHarmony 开发中,如何高效地解析和编码这些 Base64 文本数据?pem 库提供了一套标准的、纯 Dart 的工具包。今天,我们将实战如何利用它在鸿蒙项目里完成安全底座的构建。 一、

By Ne0inhk

Flutter 三方库 at_server_status 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、透明、实时的 @protocol 去中心化身份服务器状态感知与鉴权监控引擎

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 at_server_status 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、透明、实时的 @protocol 去中心化身份服务器状态感知与鉴权监控引擎 在鸿蒙(OpenHarmony)系统的隐私保护应用、去中心化身份管理工具(基于 @protocol 协议)或需要实时监控全球分布式节点健康状况的场景中,如何判定一个 @sign(电子签名标识)背后的 Root 服务器或 Secondary 服务器是否在线、配置是否由于由于由于由于已就绪?at_server_status 为开发者提供了一套工业级的、基于协议栈的状态审计与自检方案。本文将深入实战其在鸿蒙 Web3 身份安全底座中的应用。 前言 什么是 atServer Status?它是 @protocol(一种旨在让用户完全掌控数据的去中心化协议)官方生态的核心组件。

By Ne0inhk
Flutter 组件 substrate_bip39 的适配 鸿蒙Harmony 实战 - 驾驭区块链级 BIP39 安全底座、实现鸿蒙端私钥派生与国密级密钥保护方案

Flutter 组件 substrate_bip39 的适配 鸿蒙Harmony 实战 - 驾驭区块链级 BIP39 安全底座、实现鸿蒙端私钥派生与国密级密钥保护方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 substrate_bip39 的适配 鸿蒙Harmony 实战 - 驾驭区块链级 BIP39 安全底座、实现鸿蒙端私钥派生与国密级密钥保护方案 前言 在鸿蒙(OpenHarmony)生态向金融科技、Web3.0 以及受控安全办公领域深耕的过程中,“密钥管理(Key Management)”是所有信任链条的起点。面对“如何将助记词(Mnemonic)安全地转化为可用于签名的私钥”、“如何兼容 Polkadot/Substrate 这种具备高阶加密特性的异构账本协议”这些硬核问题,传统的 crypto 库往往力有不逮。 我们需要一种工业级、符合现代跨平台密码学标准(BIP39/Ed25519)的加密底座。 substrate_bip39 是基于 Substrate 框架裁剪出的高性能密钥派生引擎。

By Ne0inhk