当前位置: 首页 > news >正文

Linux系统结构(概要)

一个最基本的、可用的Linux系统,由 ​Linux内核​ 和 ​GNU核心工具​ 两大部分构成的。这个组合有一个专有名称,叫做 ​GNU/Linux系统。而Ubuntu、Debian等都是在GNU/Linux系统基础上开发的发行版。我们日常所说的“Linux系统”,在技术上大多指的是“基于Linux内核的GNU操作系统”。

它们之间的关系可以用如下图表示

Linux内核

Linux内核是系统的核心程序,本质是一个用 C 语言和汇编语言编写的特殊程序它直接管理硬件,是硬件和软件之间的唯一桥梁。

它的工作可以归纳为以下几个核心模块:

  • 进程管理:CPU调度员。创建、销毁进程,为所有正在运行的程序(进程)公平地分配CPU时间片,确保多个任务能“同时”运行而不卡顿。
  • 内存管理:​内存分配大师。为每个进程分配独立的内存空间,并高效地使用物理内存和交换空间,确保进程不会互相干扰或崩溃。
  • 文件系统:磁盘大管家。提供EXT4、Btrfs、XFS等一种或多种方式来组织和管理磁盘上的数据。它负责文件的读写、权限控制和组织结构。
  • 设备驱动:​硬件翻译官。内核包含了或能加载大量硬件的驱动程序(Drivers),使得CPU能听懂显卡、声卡、网卡、键盘等硬件的“语言”,并控制它们。
  • 网络通信:​网络总枢纽。实现了TCP/IP等网络协议栈,负责处理所有网络数据的发送和接收(比如你浏览网页的数据包)。
  • 安全与权限:​安全警卫。实施基本的 security policy,例如根据文件权限(读、写、执行)来决定某个用户或程序能否访问特定资源。

只有内核是不行的,因为内核只负责管理硬件资源,用户无法直接与之交互。这就好比拥有一个无比强大的“大脑”(内核),但没有眼睛、耳朵、手脚,也无法与外界交流的“躯体”。要想从只管理硬件的内核变为用户能直接操作的系统就需要GNU来发挥作用(GNU 提供了构建一个完整操作系统所需的所有周边工具和库)

GNU

GNU项目包含的核心组件如下图片所示:

Ubuntu、Debian等发行版

它们的核心工作如下:        

总的来说,发行版是产品和生态。它们选择不同的基础组件版本、不同的默认软件、不同的包管理工具,从而形成了各有特色的发行版

http://www.dtcms.com/a/361807.html

相关文章:

  • 实现一个线程池管理器
  • 数字后端tap cell:新老工艺tap cell区别
  • 人工智能视频画质增强和修复软件Topaz Video AI v7.1.1最新汉化,自带星光模型
  • 网络编程5-数据库、sqlite3数据库
  • 多级渐远纹理(Mipmap):原理、生成、采样与 OpenGL 实践
  • 2025 金融行业证书怎么选?从能力适配到职业方向的理性梳理
  • 7-ATSAM3X8-DAC输出
  • 网络与信息安全有哪些岗位:(13)安全服务工程师 / 顾问
  • 机器学习——损失函数
  • leetcode-python-1796字符串中第二大的数字
  • LeetCode82删除排序链表中的重复元素 II
  • wpf之样式
  • 嵌入式解谜日志之Linux操作系统—共享内存
  • Python备份实战专栏第5/6篇:Docker + Nginx 生产环境一键部署方案
  • 基于多种分词算法的词频统计的中文分词系统的设计与实现
  • 信创之-麒麟v10服务器安装tengine(已完成)
  • 推荐系统中Redis 数据存储:二进制序列化协议选型与优化
  • linux连接服务器sftp无法输入中文
  • 基于SpringBoot的教务管理系统(源码+文档)
  • C/C++ Linux系统编程:进程通讯完全指南,管道通讯、共享内存以及消息队列
  • 零基础从头教学Linux(Day 25)
  • vue3使用Eslint
  • B样条曲线在节点u处添加节点的操作方法
  • 心率监测系统优化方案全解析
  • 火语言 RPA:轻松生成界面应用,让开发触手可及​
  • 求欧拉回路:Hierholzer算法图解模拟
  • 计算机网络技术(四)完结
  • 算法题-02
  • 大型语言模型监督微调(SFT)
  • GitLab 18.3 正式发布,更新多项 DevOps、CI/CD 功能【二】