《Linux内核完全注释》 第2章 内核体系结构

本书使用Linux  V.11版内核代码:


1. 完整的操作系统分为4大部分:用户应用程序、操作系统服务、操作系统内核、硬件系统。

用户应用程序:字处理程序、网络通信程序、程序员自己编写的应用程序。

操作系统服务:为应用程序提供系统服务的是操作系统部分功能的程序,比如内核编程接口。

操作系统内核:对硬件的抽象和访问调度,与硬件设备进行交互的程序部分。

硬件系统:硬件设备的使用手册。


2. 内核模式:整体式单内核和层次式微内核

(本书linux内核为单内核)单内核的组成:1.调用服务的主程序;2.执行系统调用的服务层;3.支持系统调用的底层函数。


3.内核系统体系结构:

内存管理模块:为所用进程提供内存的使用,对高速缓存的分配和管理。

进程调度模块:保证进程间公平的使用CPU时间。

文件系统模块:支持外部设备的驱动和存储。

虚拟文件系统:为所用外设存储器提供内核中统一的存储地址编制。

网络通信模块:提供网络通信标准。


4.内核原码目录结构:

linux

|-->boot 系统引导汇编程序

        |-->fs 文件系统

        |-->include                               头文件(*.h)

               |-->asm 与CPU体系结构相关的部分

                |-->linux Linux                 内核专用部分

                |-->sys 系统数据结构部分

        |-->init 内核初始化程序

        |-->kernel 内核进程调度、信号处理、系统调用等程序

                |-->blk_drv                       块设备驱动程序

                |-->chr_drv                      字符设备驱动程序

               |-->math 数学协处理仿真处理程序

        |-->lib 内核库函数

        |-->mm 内存管理程序

        |-->tools                                   生成内核Image文件的工具程序



5.内核编译的实验环境

最初的Linux操作系统内核是在Minix 1.5.10 操作系统的扩展版本Minix-i386上交叉编译开发的。后面由于Linux操作系统用在了80386上面(32位机),之前的程序没有32位机制,所以后面Linus使用了Bruce Evans的补丁程序将其升级为MINIX-386,并把GNU的心裂开发工具gcc、gld、emacs、bash等移植到Minix-386上。在这个平台上,Linus进行交叉编译,开发出了Linux 0.01、0.11、0.12等版本的内核。


6.内核镜像文件Image组成:

a.bootsect

b.setup

c.system(head、main、kernel、mm、fs、lib)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值