linux内核设计与实现如何看懂 linux内核深度解析?

linux内核深度解析?明白Linux内核最好就是预备的知识点:懂C语言懂一点操作系统的知识熟得不能再熟少量具体算法懂计算机体系结构Linux内核的特点:增强了unix操作系统的一些基础概念Linux

linux内核深度解析?

明白Linux内核最好就是预备的知识点:

懂C语言

懂一点操作系统的知识

熟得不能再熟少量具体算法

懂计算机体系结构

Linux内核的特点:

增强了unix操作系统的一些基础概念

Linux内核的任务:

1.从技术层面讲,内核是硬件与软件之间的一个中间层。作用是将应用层序的请求传递给硬件,并指挥底层驱动程序,对系统中的各种设备和组件参与寻址。

2.从应用程序的层面讲,应用程序与硬件是没有先联系,只与内核有联系,内核是应用程序很清楚的层次中的最底层。在实际工作中内核抽象化了咨询细节。

3.内核是一个资源管理程序。负责将用些的共享资源(CPU时间、磁盘空间、网络连接等)分配能得到各个系统进程。

4.内核那像一个库,可以提供了一组正向系统的命令。io操作相对于应用程序来说,就像动态链接库普通地函数完全不一样。

Linux内核开发与Linux驱动开发有什么关系?

还没有去学驱动,大体的说一下吧,驱动是成立在内核之上来旗下的,例如你写了一个驱动的代码,那也要把驱动运行程序到内核中去,然后再内核去不能执行,为什么不是需要内核,我个人的理解那是,内核是来管理硬件资源的,你写的驱动代码是来驱动硬件的,内核不可能去驱动硬件的,当然了以及管理进程,这部分的事情由驱动再去做,驱动可以不理解为一个进程,内核全权负责来管理的管理,结构应该是:应用程序-a8内核(比如说io操作write,read等等)-r26驱动程序(例如write来驱动磁盘来写)。

当然了就是相对于驱动开发,可不知道楼主是否学过单片机,也可以再理解驱动那是一个驱动硬件的过程,竟像单片机差不多,当然了再发过程中那就有很大的区别的。

内核开发,这个工作还真也不是像是的人能开发完毕的,否则linux内核的维护就不会给linux之父了,内核的开发那是用一种方法来合算的管理并怎么分配硬件资源,比如说内存的管理就用到分页的方法,也有一些磁盘的管理,进程的管理,cpu的调度算法(例如简单点FIFO,时间片)等等,在去学习内核前做了把操作系统原理去看看,这本书还这个可以:

我学的时候生克制化了国外的操作系统原理第七版,是因为这两本书可以介绍的侧重点有所完全不同,上图的书理论联系实践性(而言后一本),后一本特别注重算法方面。

额。。说偏了哈,再说总有一天楼主肯定是想开发内核的,所以建议先把原理学会,还有一个最基本的计算机科学基础知识最很好学的基础扎实点,到时学内核就不是尤其沉重,肯定是而言我什么都不懂的情况下。