目录

文章目录

  • 目录
  • Linux 系统架构
    • Linux 内核
    • 内存管理
    • 进程管理
    • 文件系统
    • 设备驱动程序
    • 网络接口
    • Shell

Linux 系统架构

Linux 系统一般有 4 个主要部分:内核、Shell、文件系统和应用程序。其中,内核、Shell 和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行应用程序、管理文件并使用系统。

Linux 内核

内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。

Linux 内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等。如图:

系统调用接口:SCI 层提供了某些机制执行从用户空间到内核的函数调用。这个接口依赖于体系结构,甚至在相同的处理器家族内也是如此。SCI 实际上是一个非常有用的函数调用多路复用和多路分解服务。在 ./linux/kernel 中可以找到 SCI 的实现,并在 ./linux/arch 中找到依赖于体系结构的部分。

系统调用按功能大致可分为如下几类:

  • 设备管理。完成设备的请求或释放,以及设备启动等功能。
  • 文件管理。完成文件的读、写、创建及删除等功能。
  • 进程控制。完成进程的创建、撤销、阻塞及唤醒等功能。
  • 进程通信。完成进程之间的消息传递或信号传递等功能。
  • 内存管理。完成内存的分配、回收以及获取作业占用内存区大小及地址等功能。

内存管理

《Linux 操作系统原理 — 物理内存》
《Linux 操作系统原理 — 虚拟内存》

进程管理

《Linux 操作系统原理 — 进程与线程管理》

文件系统

《Linux 操作系统原理 — 文件系统 — 文件系统的演进》
《Linux 操作系统原理 — 文件系统 —文件》
《Linux 操作系统原理 — 文件系统 — 存储布局》
《Linux 操作系统原理 — 文件系统 — 实现原理》
《Linux 操作系统原理 — 文件系统 — 管理与优化》

设备驱动程序

设备驱动程序是 Linux 内核的主要部分。和操作系统的其它部分类似,设备驱动程序运行在高特权级的处理器环境中,从而可以直接对硬件进行操作,但正因为如此,任何一个设备驱动程序的错误都可能导致操作系统的崩溃。设备驱动程序实际控制操作系统和硬件设备之间的交互。

设备驱动程序提供一组操作系统可理解的抽象接口完成和操作系统之间的交互,而与硬件相关的具体操作细节由设备驱动程序完成。一般而言,设备驱动程序和设备的控制芯片有关,例如,如果计算机硬盘是 SCSI 硬盘,则需要使用 SCSI 驱动程序,而不是 IDE 驱动程序。

网络接口

提供了对各种网络标准的存取和各种网络硬件的支持。网络接口可分为网络协议和网络驱动程序。网络协议部分负责实现每一种可能的网络传输协议。众所周知,TCP/IP 协议是 Internet 的标准协议,同时也是事实上的工业标准。

Linux 的网络实现支持 BSD Socket,支持全部的 TCP/IP 协议。Linux 内核的网络部分由 BSD 套接字、网络协议层和网络设备驱动程序组成。网络设备驱动程序负责与硬件设备通讯,每一种可能的硬件设备都有相应的设备驱动程序。

Shell

Shell 是操作系统的用户界面之一,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。另外,Shell 编程语言具有普通编程语言的很多特点,用这种编程语言编写的 Shell 程序与其他应用程序具有同样的效果。

目前主要有下列版本的 Shell:

  • Bourne Shell:是贝尔实验室开发的。
  • Bash:是 GNU 的 Bourne Again Shell,是 GNU 操作系统上默认的 Shell,大部分 Linux 的发行套件使用的都是这种 Shell。
  • Korn Shell:是对 Bourne Shell 的发展,在大部分内容上与 Bourne Shell 兼容。
  • C Shell:是 SUN 公司 Shell 的 BSD 版本。

Linux 操作系统原理 — 系统结构相关推荐

  1. Linux 操作系统原理 — 内存 — 内存分配算法

    目录 文章目录 目录 前文列表 内存碎片 伙伴(Buddy)分配算法 Slab 算法 虚拟内存的分配 内核态内存分配 vmalloc 函数 kmalloc 用户态内存分配 malloc 申请内存 用户 ...

  2. Linux 操作系统原理 — 内存 — 基于局部性原理实现的内/外存交换技术

    目录 文章目录 目录 前文列表 基于局部性原理实现的内-外存交换技术 局部性原理 Swap 交换分区 前文列表 <Linux 操作系统原理 - 内存 - 物理存储器与虚拟存储器> < ...

  3. Linux 操作系统原理 — 内存 — 页式管理、段式管理与段页式管理

    目录 文章目录 目录 前文列表 页式管理 快表 多级页表 基于页表的虚实地址转换原理 应用 TLB 快表提升虚实地址转换速度 页式虚拟存储器工作的全过程 缺页中断 为什么 Linux 默认页大小是 4 ...

  4. Linux 操作系统原理 — 内存 — 基于 MMU 硬件单元的虚/实地址映射技术

    目录 文章目录 目录 前文列表 物理地址与虚拟地址 内存空间的组织方式 虚拟地址空间的编址 内核态地址空间 用户态地址空间 内-外存空间的交换与虚拟存储空间之间的映射关系 缺页异常 前文列表 < ...

  5. linux的原理和运用,Linux操作系统原理与应用_内存寻址

    原标题:Linux操作系统原理与应用_内存寻址 第五讲今天上线啦. 在本次课程中,陈老师详细的讲解了有关于内存寻址的演变的相关知识. 第一部分中,介绍了关于内存寻址的相关背景知识.内存寻址-操作系统设 ...

  6. Linux 操作系统原理 — 文件系统 —文件

    目录 文章目录 目录 文件的类型 常规文件 ASCII 码文件 二进制文件 设备文件 字符设备文件 块设备文件 目录文件 其他文件 文件的构造方式 文件的属性 文件的操作 目录的操作 文件的类型 常规 ...

  7. 实验三银行家算法linux,操作系统原理与linux_银行家算法实验报告.doc

    . . . PAGE 成 绩 评 阅 人 评阅日期 计算机科学与技术系 实 验 报 告 课程名称: 操作系统原理与linux 实验名称: 银行家算法 2011年 04 月 实验三 银行家算法 一.实验 ...

  8. linux操作系统原理_Linux内核分析-操作系统是如何工作的(二)

    linux操作系统的主要构架如图1所示,我们知道,操作系统是通过管理CPU进程.存储器.文件系统.设备驱动.以及网络接口等相关部分来工作的,我们这里主要是通过分析关于CPU的操作即进程的管理执行来分析 ...

  9. Linux操作系统原理与应用01:概述

    目录 1. Linux内核的技术特点 1.1 单内核结构 1.1.1 单内核特性 1.1.2 微内核特性 1.2 抢占式内核 1.2.1 非抢占式内核特性 1.2.2 抢占式内核特性 1.3 支持动态 ...

最新文章

  1. SMOTE算法代码实现-机器学习
  2. Zookeeper源码编译为Eclipse工程(转)
  3. 如何挂载另一个lvm硬盘
  4. 查看pod网络范围_可用网络的ip地址范围
  5. MYSQL:约束?添加约束?删除约束?以及一些其他修饰?
  6. 设置跳转到新的actvity之后不可返回
  7. 人才管理是什么意思_上海托管仓库外包仓库管理什么意思
  8. python每行乘列表_python – 在pandas数据帧中查找每行的两列列表中哪一列的最快方法...
  9. ffmpeg解码到opencv Mat中
  10. socket用起始码分割_编码器基础——格雷码的编码美学
  11. 差分进化算法 matlab,差分进化算法之Matlab实现
  12. 初等函数导数公式 ,积分表
  13. ros路由器数据包工作流程
  14. Simulink转化为低版本文件
  15. vscode vim插件(updating)
  16. java堆的特点_java栈的特点是什么?java的堆和栈的优缺点介绍
  17. delphi调试需要管理员权限程序报错“Unable to create process:请求的操作需要提升”
  18. VVIC搜款网平台API接口
  19. 【其他】kindle电子书脱壳转换格式
  20. 申请GitHub学生包,0成本搭建WordPress教程

热门文章

  1. php上传头像的代码,php头像上传预览实例代码
  2. boss直聘Android找工作界面,Android仿Boss直聘我的界面滑动效果
  3. mongodb最多数据库_数据库库库库库库库库!
  4. bootstrapr表格父子框_使用Bootstrap Table建立父子表
  5. 4 app版本号 swift_已开源 app 实现检查更新的简单方式
  6. AI独角兽第四范式冲刺港交所IPO!集齐国有五大行入股,刚获宁德时代制造大单...
  7. 12岁女孩零编程经验开发系统千人用,80岁初代程序员300多天打卡学AI
  8. MLPerf发布首个AI芯片推理测试排行榜:阿里平头哥含光800获得多项第一
  9. 国产AI框架再进化!百度Paddle Lite发布:率先支持华为NPU在线编译,全新架构更多硬件支持...
  10. 碎片化时间里的高质量阅读,这几个公众号请收好~