首页 理论教育深入剖析Linux内核与设备驱动:内核框架概述与实现层次

深入剖析Linux内核与设备驱动:内核框架概述与实现层次

【摘要】:从图3-2中可以理解Linux内核就是将硬件的功能抽象出来,为用户的应用程序提供各种系统服务。与用户相关的属性是与Linux内核中整体安全性相关的,这部分功能通常和硬件具体功能关系不大,而是附加在逻辑功能之上的属性。本书是以嵌入式系统为基础进行说明,所以将重点放在硬件设备的具体功能以及Linux内核在硬件之上的具体实现方面。Linux内核的整体框架如图3-3所示。图3-3清晰地展现了Linux内核的实现层次,以及应用层功能和硬件功能的对应关系。

关于Linux系统框架在图3-1中已经比较详尽的展示,如果将其中的层次关系进行简化就得到图3-2。

从图3-2中可以理解Linux内核就是将硬件的功能抽象出来,为用户的应用程序提供各种系统服务。这些系统服务在内核中必然会有体现,系统服务本身就是应用层需要的各种各样的功能(function)。关于功能,图3-1中也有一些体现,如用户管理、系统管理数据管理和各种网络功能。这几部分完全是从用户使用的角度考虑的,而Linux内核的一个重要功能就是管理硬件,在其功能中必然要体现硬件的各个功能。所不同的是Linux内核不是将硬件的各个功能一成不变的体现给应用层,而是需要遵循应用层的功能需求进行逻辑的转换。从这个角度理解Linux内核,其主要功能就是管理硬件、将硬件的资源进行合理的抽象并开放给应用层,应用层则无权直接访问硬件,必须通过操作系统来完成相应的功能。这种权限划分和转换是以处理器权限分级为基础来实现的(应用层处于普通权限,而操作系统则有特权)。当然Linux内核是需要支持多用户的,考虑用户的因素,就需要在各种物理资源和抽象资源中加上与用户相关的属性(比如资源的拥有者owner,权限等)。与用户相关的属性是与Linux内核中整体安全性相关的,这部分功能通常和硬件具体功能关系不大,而是附加在逻辑功能之上的属性。本书是以嵌入式系统为基础进行说明,所以将重点放在硬件设备的具体功能以及Linux内核在硬件之上的具体实现方面。安全相关的逻辑属性及功能不会进行说明。

Linux内核的整体框架如图3-3所示。图3-3清晰地展现了Linux内核的实现层次,以及应用层功能和硬件功能的对应关系。通过该图,可以了解Linux内核是如何通过各个层次的抽象,将硬件功能转换成应用层实际需要的功能。(www.chuimin.cn)

978-7-111-49426-3-Chapter03-2.jpg

图3-2 Linux系统简化层次图