百科问答小站 logo
百科问答小站 font logo



关于vmlinux,vmlinuz,bzImage,zImage的区别和联系? 第1页

  

user avatar   18173189507 网友的相关建议: 
      

1、vmlinuz是可引导的、压缩的内核。“vm”代表“Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。

2、vmlinuz的建立有两种方式。一是编译内核时通过“make zImage”创建,然后通过:“cp /usr/src/linux-2.4/arch/i386/linux/boot/zImage /boot/vmlinuz”产生。zImage适用于小内核的情况,它的存在是为了向后的兼容性。二是内核编译时通过命令make bzImage创建,然后通过:“cp /usr/src/linux-2.4/arch/i386/linux/boot/bzImage /boot/vmlinuz”产生。bzImage是压缩的内核映像,需要注意,bzImage不是用bzip2压缩的,bzImage中的bz容易引起误解,bz表示“big zImage”。 bzImage中的b是“big”意思。

3、zImage(vmlinuz)和bzImage(vmlinuz)都是用gzip压缩的。它们不仅是一个压缩文件,而且在这两个文件的开头部分内嵌有gzip解压缩代码。所以你不能用gunzip 或 gzip –dc解包vmlinuz。

内核文件中包含一个微型的gzip用于解压缩内核并引导它。两者的不同之处在于,老的zImage解压缩内核到低端内存(第一个640K),bzImage解压缩内核到高端内存(1M以上)。如果内核比较小,那么可以采用zImage 或bzImage之一,两种方式引导的系统运行时是相同的。大的内核采用bzImage,不能采用zImage。

vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件。

vmlinux 是ELF文件,即编译出来的最原始的文件。

vmlinuz应该是由ELF文件vmlinux经过OBJCOPY后,并经过压缩后的文件

zImage是vmlinuz经过gzip压缩后的文件,适用于小内核

bzImage是vmlinuz经过gzip压缩后的文件,适用于大内核

通常情况下是不能用vmlinuz解压缩得到vmlinux的




  

相关话题

  Linux 为什么不是实时操作系统? 
  Windows NT 内核与 Linux 内核相比哪个更安全? 
  Java中 栈内存的存取速度仅次于寄存器,如何做到的? 
  为什么现在的电脑应用程序这么吃内存(RAM)? 
  Java中 栈内存的存取速度仅次于寄存器,如何做到的? 
  操作系统虚拟地址转换为物理地址是如何避免冲突的? 
  关于vmlinux,vmlinuz,bzImage,zImage的区别和联系? 
  进程被操作系统加载之后,磁盘上的二进制文件可以删掉吗?如果删掉对正在运行的进程有什么影响吗? 
  开启分页的x86保护模式和长模式下,操作系统是如何管理分页的? 
  是否有办法在malloc的hook函数中调用原生malloc? 

前一个讨论
如果未来发现宇宙从始至终只有一个粒子,且所有粒子都是它的不同时间态。会对人类看待宇宙产生怎样影响?
下一个讨论
去酒店开一两百块一天的房间,带几十台矿机进去挖矿,一天用他个三五百的电费,这样违法吗?





© 2024-12-23 - tinynew.org. All Rights Reserved.
© 2024-12-23 - tinynew.org. 保留所有权利