Linux内核源码阅读笔记

本文详细介绍了Linux内核的五大模块(进程调度、内存管理、虚拟文件系统、进程间通信和网络接口),阐述了它们的作用、相互依赖关系,以及内存管理与虚拟文件系统在Linux中的协作。此外,还提供了内核源码地址和参考文档链接。
摘要由CSDN通过智能技术生成

组成

Linux内核由五个模块组成,进程调度模块,内存管理模块,进程间通信模块,虚拟文件系统模块,网络接口模块

各模块作用及关系

Linux内核体系结构

进程调度模块

进程调度程序是内核重要组成部分,它选择下一个要运行的进程并负责控制进程对CPU的使用,调度程序采用一种策略使各个进程能够公平合理地访问CPU,同时保证内核能够实时地执行必要的硬件操作。

内存管理模块

内存管理模块负责管理系统,用于确保所有进程能够安全的共享计算机的内存,内存管理模块还支持虚拟内存,使得linux系统能够支持进程使用比实际内存空间更大的内存地址空间

虚拟文件系统模块

VFS 模块通过向所以外部的存储设备提供一个通用的文件接口,隐藏了各种硬件的不同细节,从而提供并支持与其他操作系统兼容的多种文件系统。对用户来说,只要是Linux支持的文件系统类型,用户就可以很方便的将它安装到Linux系统中使用。

进程间通信模块

进程间通信模块主要负责进程间如何进行信息交换或共享等工作。Linux提供了多种 进程间通信 的机制,比如信号和管道;还有System V特有的进程间通信机制,包括消息队列,信号量,共享内存等。还引入套接字(Socket,for网络通信)。

网络接口模块

网络接口模块 提供 多种网络通信协议的访问并支持许多网络硬件。
网络接口分为 网络协议 和 网络驱动程序 两种。其中网络协议部分 负责实现网络传输协议,网络驱动程序部分 负责 与硬件设备通信。

各个子系统之间的依赖关系

进程调度与内存管理

这两个子系统互相依赖;在多道程序环境下,程序要运行必须为之创建进程,进程创建的第一件事就是,将程序和数据装入内存。

进程间通信和内存管理

进程间通信要依赖内存管理 提供共享内存通信机制。这种机制运行进程有私有内存空间,也能存取共同空间。

虚拟文件系统和网络接口

虚拟文件系统利用网络接口支持网络文件系统NFS,也利用内存管理支持RAMDISK设备

内存管理与虚拟文件系统

内存管理利用虚拟文件系统支持交换,交换进程由swapd定期由调度程序调度,这也是内存管理依赖于进程调度的唯一原因,当一个进程存取的内存被换出时,内存管理向文件系统发出请求,同时挂起当前正在运行的进程。

除了这些依赖关系外,内核中所有子系统还要依赖一些共同资源,这些包括所有子系统都要用到的过程:比如:
分配和释放内存空间的过程
打印警告或错误信息的过程
系统调试例程

内核源码地址及参考文档

Linux内核官方中文文档
https://zhuanlan.zhihu.com/p/581985060
Linux源码在线阅读地址:https://elixir.bootlin.com/linux/latest/source
其他人书单

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值