第2章 内核一瞥.docxVIP

  • 2
  • 0
  • 约3.41万字
  • 约 47页
  • 2017-10-24 发布于湖北
  • 举报
第2章 内核一瞥

第2章内核一瞥在我们开始步入Linux设备驱动的神秘世界之前,让我们先熟悉一些从驱动开发人员应该理解的基本的内核概念。我们将学习到内核定时器、同步机制以及内存分配方法,但是,先让我们从顶层视角开始探索,扫描一下内核发出的启动信息,并在感兴趣的地方设置停下来看一看。启动过程图2.1显示了基于x86计算机Linux系统的启动顺序。第一步是BIOS从启动设备中导入主引导记录(MBR),接下来MBR中的代码查看分区表并从活动分区读取GRUB、LILO或SYSLINUX等bootloader,之后bootloader会加载压缩后的内核映像并将控制权传递给它。内核取得控制权后,会将自身解压缩并投入运转。图2.1 基于x86的硬件上Linux的启动过程???基于x86的处理器有两种操作模式:实模式和保护模式。在实模式下,用户仅可以使用1MB内存,并且没有任何保护。保护模式则更加复杂,用户可以使用更多的高级功能(如分页)。CPU提供了一条由实模式通向保护模式的道路,但是,这条路只允许单向行驶,用户不能从保护模式再切换回实模式。内核初始化的第一步是执行实模式下的汇编代码,之后执行保护模式下init/main.c文件(上一章我们修改了这个文件)中的start_kernel()函数。start_kernel()函数首先会初始化CPU子系统,之后让内存管理和进程管理系统就位,接下来启动外部总线和I/O设备

文档评论(0)

1亿VIP精品文档

相关文档