Linux Kernel Architecture Over View(Linux内核结构)

Linux内核体系结构(Linux Kernel Architecture Over View

序言

记得几年前我刚刚接触Linux,刚刚听说操作系统内核的概念,想起学习Linux的内核,去阅读Linux内核的源码,但一直到现在,才能走到内核的门口,速度之慢,实在是羞愧难当。这篇文章早就想写了,但是一拖再拖,也想过像那些大牛要写就写有水平的文章,而且一出就出一系列~,现在什么都不管,但是想想凡事岂能一步登天?慢慢的来吧,我的博客当作是我的学习笔记好了。

大二的时候想学习内核源码,没有专业基础的知识,去读源码的确比较盲目,但是我在应用层摸索徘徊了很长的时间,浪费了很多宝贵的时光,还有考研的一年~Linux内核现在发展很快,已经到了 2.6.23 版本了,几十兆的代码,读到老死都读不完,其实想学习内核的朋友刚开始像我当时找不到方向就应该先去看书,《Linux Kernel DevelopmentRobert Love,Linux内核情景源码分析》 毛德操 老师,等等这些比较好的书,国内出版的仅推荐情景源码分析这本,在书中能很快找到方向,不要像我当年瞎子点灯一样的摸索,走的弯路太多,最好还能带着目的去学。我的这篇文章也是参考这些书的。

介绍内核结构

操作系统内核和操作系统应用层的关系可以引用《Linux Kernel Development》上的一幅图来表示一下:


图一 OS结构图


 

最上层的是应用程,我们平时接触的应用软件都在上面,例如浏览器、QQ之类的等等。在Windows系统中分为ring0~ring3的运行级别,相应的Linux内核中也有这样的运行等级。图中的System Call Interface就是系统调用接口,当应用程序需要访问内核时通过系统调用是唯一的合法通道,系统调用,就是用户程序空间通往内核的唯一合法桥梁。通过了系统调用,就到了内核。Linux内核主要由五大块组成:进程调度,内存管理,文件系统,设备驱动,网络子系统。(我面试时被问过,竟然没有答好,该死!!)内核的下面是设备驱动,驱动用于硬件和操作系统的连接,那设备驱动下面自然就是硬件了。


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值