Linux内核初探(1)
首先解释内核的概念:
内核(Kernel)是操作系统的内部核心,它向外部提供了对计算机设备的核心管理作用。它主要由两部分构成:内核所在的地址空间叫做内核空间。
外部管理程序与用户进程所占的地址空间称为外部空间。
内核主要的结构现阶段有两种:
第一种:
单一内核:是以前操作系统的主流,Linux现在仍然为单一内核结构。操作系统中所有的相关功能都封装在内核中。他们与外部程序处在不同的地址空间中,并通过个种方式防止外部程序直接访问内核中的数据结构。程序只通过一套称为系统调用的界面来访问内核结构。
第二种:
微内核:现阶段流行的结构方式。内核只需要提供最基本,最核心的一部分操作即可。其他的管理程序都可以放在外部。这些外部程序都可以独立运行。并对外部提供操作系统服务。服务之间使用(IPC)进行交互。
单一内核最大的优点在于可以最高效的执行代码,而微内核则注重其方便灵活性。并且微内核是可抢占式的。
虽然Linux是一个单一的内核操作系统,但是为了增强灵活与便捷性它引入了一个叫做“模块”的技术。将一些内核需要的代码作为模块装载内核里,自此,在Linux中,可以在需要时自动装入和卸载模块。
Linux内核宏观上包括:
进程管理,定时器,中断管理,内存管理,模块管理,虚拟文件系统,文件系统,设备驱动程序,进程间通讯,网络管理,系统启动等程序。