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

系统构成与 Shell 核心:从零认识操作系统的心脏与外壳

系统构成与 Shell 核心:从零认识操作系统的心脏与外壳

很多人用电脑、用手机,但很少去想:
操作系统到底是怎么构成的?
为什么我们敲一个命令,系统就能乖乖执行?
这背后的关键,就在于系统的构成Shell 核心这两个概念。


一、系统构成:操作系统的四大组成部分

一个完整的计算机系统,大致由 硬件 + 操作系统 + 应用程序 + 用户 组成。
而操作系统(OS)本身,又有几个核心模块:

1. 内核(Kernel)

  • 操作系统的“心脏”,直接控制硬件。
  • 负责进程管理、内存管理、设备驱动、文件系统、网络通信等。
  • 运行在最高权限(内核态),用户程序不能直接操作它。

类比:

如果计算机是一家工厂,内核就是厂长,负责调度所有机器、分配资源、维持秩序。


2. Shell

  • 用户与操作系统之间的接口。
  • 可以是命令行界面(CLI),比如 Bash、Zsh;
    也可以是图形界面(GUI),比如 Windows 桌面、macOS Finder。
  • 接受用户输入 → 翻译成内核能理解的指令 → 内核执行 → 返回结果。

类比:

Shell 就像“前台接待”,你(用户)对前台说需求,前台转达给厂长(内核)。


3. 文件系统

  • 负责管理数据的存储和读取。
  • 常见格式:ext4(Linux)、NTFS(Windows)、APFS(macOS)。

4. 系统工具与库

  • 工具:cp、ls、ping 等命令
  • 库:C 标准库(glibc)、系统 API
  • 它们是开发者和用户与系统交互的基础设施。

二、Shell 核心:不仅是“命令解释器”

很多人只知道 Shell 是“命令行”,其实它有更深的角色。

1. 命令解释器

Shell 接收你输入的命令(如 ls),解析语法,并调用相应的程序。

2. 脚本执行环境

Shell 不止能交互执行命令,还能运行脚本(Shell Script)。

  • 自动化部署
  • 批量文件处理
  • 系统监控

3. 多种实现

  • Bash(Linux 常用)
  • Zsh(macOS 默认)
  • PowerShell(Windows 高级版)
  • Fish(用户体验友好)

三、内核 vs Shell 的关系

对比项内核(Kernel)Shell
角色系统核心系统外壳
权限内核态(最高)用户态
功能控制硬件、管理资源接收用户指令并传给内核
类比厂长前台接待

四、简单示例:从命令到执行

你在终端输入:

cat hello.txt

执行流程:

  1. Shell 接收 cat hello.txt
  2. Shell 查找 cat 程序的位置(通常在 /bin/cat
  3. Shell 调用内核 API 打开 hello.txt
  4. 内核控制硬件(磁盘)读取文件内容
  5. 结果返回给 Shell → 显示在屏幕

五、总结

  • 系统构成:硬件 + 内核 + Shell + 文件系统 + 工具
  • 内核:系统的心脏,直接掌控硬件
  • Shell:外壳,是人与内核的翻译官
  • 两者密不可分:内核没有 Shell,用户无法操作系统;Shell 没有内核,就成了空壳。

掌握了这两个概念,不仅能看懂命令行背后的逻辑,还能更好地理解操作系统的运行原理。


http://www.xdnf.cn/news/17274.html

相关文章:

  • 机器学习-Logistic Regression
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘transformers’问题
  • AJAX与axios框架
  • 【轮速传感器方向判断原理】
  • Flutter开发 SingleChildScrollView、ScrollController
  • 液体泄漏识别误报率↓76%:陌讯多模态融合算法实战解析
  • camera人脸识别问题之二:【FFD】太阳逆光场景,人像模式后置打开美颜和滤镜,关闭heif拍摄格式对着人脸拍照,成像口红出现位置错误
  • 北京安全员C练习题
  • Xiphos Q8 摄像头板 高性能图像处理板
  • 恒科持续低迷:新能源汽车股下跌成拖累,销量担忧加剧
  • C++编程之旅-- -- --类与对象的奇幻征途之初识篇(一)(了解类的基本用法,计算类大小,分析this指针)
  • 快速上手 Ollama:强大的开源语言模型框架
  • GitLab同步提交的用户设置
  • 论文reading学习记录7 - daily - ViP3D
  • 日本站群服务器与普通日本服务器对比
  • Spring AMQP 入门与实践:整合 RabbitMQ 构建可靠消息系统
  • 【接口自动化测试】---requests模块
  • SpringBoot的profile加载
  • 可编辑51页PPT | 某鞋服品牌集团数字化转型项目建议书
  • 微服务如何保证系统高可用?
  • iOS 签名证书全流程详解,申请、管理与上架实战
  • 腾讯iOA:数据安全的港湾
  • 0_外设学习_ESP8266+云流转(no 0基础)
  • 最新的GPT5效果如何,我试了一下(附加GPT5大模型免费使用方法)
  • 力扣-189.轮转数组
  • 秋招笔记-8.8
  • 《Leetcode》-面试题-hot100-链表
  • django uwsgi启动报错failed to get the Python codec of the filesystem encoding
  • Android 系统的安全 和 三星安全的区别
  • C++信息学奥赛一本通-第一部分-基础一-第3章-第1节