linux内核映像组成

linux内核映像组成

linux内核主要分为以下三个部分:

  • 首先是setup.bin。这部分负责将内核加载进内存并为后面内核保护模式的运行建立基本的环境。但后来加载内核的功能被分离到Bootloader中,setup.bin则退化为负责为内核及Bootloader之间传递数据,并照顾某些无法使用32位启动的场合。
  • 其次是包围在32位保护模式部分外的非压缩部分。这部分主要负责将压缩的内核解压到合适的位置,并进行内核重定位。Bootloader在加载内核映像后跳转至此,这些没有压缩的指令可以直接送给CPU执行,由这些指令负责解压内核的压缩部分并完成内核重定位。内核非压缩部分工作在保护模式下,其占用的内存在完成使命后将会被释放。
  • 最后是内核的32位保护模式部分vmlinux。在编译时,kbuild分别构建内核各个子目录中的目标文件,然后将它们链接为vmlinux。为了缩小内核体积,kbuild删除了vmlinux中一些不必要的信息,并将其命名为vmlinux.bin,最后将vmlinux.bin压缩为vmlinux.bin.gz。默认情况下,内核使用gzip压缩,也可以配置成使用lzma等压缩格式。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值