前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux内核学习(一)

Linux内核学习(一)

作者头像
用户6280468
发布2022-06-09 21:26:49
1K0
发布2022-06-09 21:26:49
举报
文章被收录于专栏:txp玩Linuxtxp玩Linux

前言:

大家好,今天给大家分享一下我个人学习Linux内核的总结,由于新的内核版本太过于庞大,说实话,啃不动,然借鉴前人的建议,故开始从早期的Linux0.11版本开始学习。

为了鲜明的对比早期版本的精简和后期版本的复杂,我们大体从它的目录来做一个对比就可知了:

  • 0.01版本内核目录:
  • 0.11版本内核目录:

前期的版本差别不大,但随着时代的发展,内核功能也扩展的越来越多,所以就变的复杂起来了:

2.6内核版本目录

上面内核版本的源码可以从下面下载:

  • 在线浏览早期内核源码:
代码语言:javascript
复制
http://lxr.linux.no/linux-old

0.11版本的内核源码下载:

代码语言:javascript
复制
https://github.com/KrisJiaqiXie/linux_kernel_study

好了,下面我开始大体先讲述linux内核的整体框架图:

一、操作系统的框架:

在我们平时或多或少都接触到不同的操作系统,他们整体框架是差不多的,我们先从大体框架来看,若要学习某个系统,再去探其细节:

  • 操作系统的结构框架:

操作系统的结构

有了这个大体认识后,我们来看一下这里的操作系统服务层:

  • 这里你可以把它看作是一个快递中转站,它把用户态转换成内核态(具体的实现是,使用特定的参数值执行系统调用指令,这样让cpu从用户态切换到内核态!);然后操作系统根据这个具体的参数值调用特定的系统调用服务程序(特定的服务程序需要底层的操作函数来支持实现);最后在完成了应用程序的服务后,操作系统又会从内核状态切换到用户状态,继续执行后面的指令!

这里先大体对这个服务层有一个认识就行!

0.11版本Linux内核的组成:

在0.11版本的Linux,它主要是由五个模块组成:

  • 进程调度模块
  • 进程间通信模块
  • 内存管理模块
  • 文件系统模块
  • 网络接口模块

图片参考Linux内核0.11完全注释

总结:

好了,今天我们先大体分享这么多,后面具体的源代码和模块机制,我再花时间总结。

文章资料相关参考:

  • Linux内核0.11完全注释
  • https://www.bilibili.com/video/BV1tQ4y1d7mo?spm_id_from=333.337.search-card.all.click
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 txp玩Linux 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言:
  • 一、操作系统的框架:
  • 0.11版本Linux内核的组成:
  • 总结:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档