[中英对照]vmlinuz Definition | vmlinuz的定义
vmlinuz Definition | vmlinuz的定义
vmlinuz is the name of the Linux kernel executable.
vmlinuz是Linux内核可执行文件的名字。
A kernel is a program that constitutes the central core of a computer operating system. It is the first thing that is loaded into memory (which physically consists of RAM chips) when a computer is booted up (i.e., started), and it remains in memory for the entire time that the computer is in operation. An executable, also called an executable file, is a file that can be run as a program.
内核是构成计算机操作系统核心的程序。当计算机启动的时候,内核是一个被加载到内存(物理上由RAM芯片构成)中的,然后在计算机被使用的过程中常驻内存。 "executable"是可执行文件的意思,它是一个可以用来运行的程序。
vmlinuz is a compressed Linux kernel, and it is bootable. Bootable means that it is capable of loading the operating system into memory so that the computer becomes usable and application programs can be run.
vmlinuz是一个压缩的Linux内核,而且它是可以用来启动计算机的。 "Bootable"的意思是它有能力将操作系统加载到内存中去,因此计算机就可以使用了,应用程序就可以跑起来了。
vmlinuz should not be confused with vmlinux, which is the kernel in a non-compressed and non-bootable form. vmlinux is generally just an intermediate step to producing vmlinuz.
不要把vmlinuz和vmlinux搞混淆了。 vmlinux是未经过压缩也不能用来启动计算机的内核。vmlinux一般作为中间步骤用来创建vmlinuz。
vmlinuz is located in the /boot directory, which is the directory that contains the files needed to begin booting the system. The file named vmlinuz might be the actual kernel executable itself, or it could be a link to the kernel executable, which might bear a name such as /boot/vmlinuz-2.4.18-19.8.0 (i.e., the name of the specific version of the kernel). This can be easily determined by using the ls command (whose purpose is to list the contents of a specified directory) with its -l option (which tells ls to provide detailed information about each object in the specified directory) as follows:
vmlinz的位置在/boot目录,该目录包括了启动系统需要的文件。 叫做vmlinuz的文件可能是实际的启动内核可执行文件,或者是指向启动内核可执行文件(例如:/boot/vmlinuz-2.4.18-19.8.0)的一个软链接。用带-l参数的ls命令可以很容易地探测出来,如下所示:
ls -l /boot
If vmlinuz is an ordinary file (including an executable), the information about it in the first column will begin with a hyphen. If it is a link, it will begin with the letter l.
如果vmlinuz是一个普通文件(包括可执行文件),在显示的信息中的第一列以连字符('-')开始。如果为链接文件,则以字符'l'开始。
The Linux kernel is compiled by issuing the following command:
使用下列命令编译Linux内核:
make bzImage
This results in the creation of a file named bzImage in a directory such as /usr/src/linux/arch/i386/linux/boot/.
编译的结果就是在一个特定的目录(例如:/usr/src/linux/arch/i386/linux/boot/)下面创建一个名字为bzImage的文件。
Compilation is the conversion the kernel's source code (i.e., the original form in which the kernel is written by a human) into object code (which is understandable directly by a computer's processor). It is performed by a specialized program called a compiler, usually one in the GCC (GNU Compiler Collection).
编译是将内核的源代码(即内核是由人类编写的原始形式)转换为目标代码(即可为计算机处理器直接理解)。它由一个被称之为编译器的专门程序执行,通常是GCC。
bzImage is then copied using the cp (i.e., copy) command to the /boot directory and simultaneously renamed vmlinuz with a command such as
然后使用cp命令将文件bzImage拷贝到目录/boot下面,与此同时重新命名为vmlinuz, 例如:
cp /usr/src/linux/arch/i386/linux/boot/bzImage /boot/vmlinuz
vmlinuz is not merely a compressed image. It also has gzip decompressor code built into it. gzip is one of the most popular compression utilities on Unix-like operating systems.
vmlinuz不仅仅是一个压缩镜像。 它还包含了解压缩工具gzip。gizp是在类Unix平台上最流行的压缩压缩/解压缩工具之一。
A compiled kernel named zImage file is created on some older systems and is retained on newer ones for backward compatibility. Both zImage and bzImage are compressed with gzip. The difference is that zImage decompresses into low memory (i.e., the first 640kB), and bzImage decompresses into high memory (more than 1MB). There is a common misconception that bzImage is compressed with the bzip2 utility; actually, the b just stands for big.
在老的系统上,编译后的内核文件名为zImage。这一名字新的系统上仍旧可见,出于向后兼容的原因。 无论是zImage还是bzImage都是使用gzip工具压缩。不同的是,zImage被解压缩到低内存空间(也就是第一个640KB空间), 而bzImage被解压缩到高内存空间(大于1MB)。有一个普遍的误解是bzImage是使用bzip2工具压缩的,而实际上,'b'代表的是"big"(大)。
The name vmlinuz is largely an accident of history. The kernel binary on the original UNIX as developed at Bell Labs was called unix. When a new kernel containing support for virtual memory was subsequently written at the University of California at Berkeley (UCB), the kernel binary was renamed vmunix.
vmlinuz这一名称在很大程度上是一个历史的意外。在贝尔实验室开发的原始的UNIX上的内核二进制被称为unix。支持虚拟内存的新内核后来在加州大学伯克利分校(UCB)被开发出来,内核二进制被更名为vmunix。
Virtual memory is the use of space on a hard disk drive (HDD) to simulate additional RAM (random access memory) capacity. It was supported by the Linux kernel almost from Linux's inception, in contrast to some other popular operating systems in use at the time, such as MS-DOS.
虚拟内存是利用硬盘驱动器(HDD)上的空间来模拟额外的RAM(随机存取存储器)的能力。Linux几乎从创立以来就支持虚拟内存,而其他一些流行的操作系统则不然,例如MS-DOS。
Thus, it was a natural progression for the Linux kernel to be called vmlinux. And because the Linux kernel executable was made into a compressed file and compressed files typically have a z or gz extension on Unix-like systems, the name of the compressed kernel executable became vmlinuz.
因此,对Linux内核来说,这是一个自然的进化,于是被称为vmlinux。由于Linux内核可执行文件被压缩成一个文件,而且在类Unix系统上典型的压缩文件的扩展名为z或者gz,压缩的Linux内核可执行文件的名字也因此就成为了vmlinuz。
扩展阅读:
- Wikipedia: vmlinux
- What is the difference between the following kernel Makefile terms: vmLinux, vmlinuz, vmlinux.bin, zimage & bzimage?
- Blog: How to extract and disassemble a Linux kernel image (vmlinuz)
小结:
vmlinux: A non-compressed and non-bootable Linux kernel file format, just an
intermediate step to producing vmlinuz.
vmlinuz: A compressed and bootable Linux kernel file. It is actually zImage
or bzImage file.
zImage: For old kernels, just fit 640k ram size.
bzImage: Big zImage, no 640k ram size limit, can much larger.
[中英对照]vmlinuz Definition | vmlinuz的定义的更多相关文章
- [转]从普通DLL中导出C++类 – dllexport和dllimport的使用方法(中英对照、附注解)
这几天写几个小程序练手,在准备将一个类导出时,发现还真不知道如果不用MFC的扩展DLL,是怎么导出的.但我知道dllexport可以导出函数和变量,而且MFC扩展DLL就算是使用了MFC的功能,但 ...
- eclipse菜单解释及中英对照
在使用Eclipse作为开发工具的时候,建议使用英文版本的(直接百度从官网下就行,这里不详细描述,如果有问题,咱们私聊).虽然中文版本的对于和我一样对英文是小白的看起来特别爽,但是公司大多是英文版本的 ...
- HALCON中的算子大全(中英对照)
HALCON中的算子大全(中英对照) Chapter 1 :Classification1.1 Gaussian-Mixture-Models1.add_sample_class_gmm功能:把一个训 ...
- eclipse菜单解释及中英对照《二》
上篇文章主要介绍了eclipse中每个大的标题下的中英文及其用法. 感谢http://blog.csdn.net/li_jinjian2005/article/details/2831641这个博主. ...
- webstorm快捷键 webstorm keymap内置快捷键英文翻译、中英对照说明
20160114参考网络上的快捷键,整理自己常用的: 查找/代替shift+shift 快速搜索所有文件,简便ctrl+shift+N 通过文件名快速查找工程内的文件(必记)ctrl+shift+al ...
- [中英对照]Introduction to DPDK: Architecture and Principles | DPDK概论: 体系结构与实现原理
[中英对照]Introduction to DPDK: Architecture and Principles | DPDK概论: 体系结构与实现原理 Introduction to DPDK: ...
- 知识:CSS 词汇表(中英对照)_CSS Vocabulary
注释(Comment) 语句(Statement) 规则集(Rule-set) At 规则(At-rule) 媒体查询(Media query) 媒体查询列表(Media query list) 媒体 ...
- 【论文翻译】NIN层论文中英对照翻译--(Network In Network)
[论文翻译]NIN层论文中英对照翻译--(Network In Network) [开始时间]2018.09.27 [完成时间]2018.10.03 [论文翻译]NIN层论文中英对照翻译--(Netw ...
- PCMM(人力资源能力成熟度模型)V2.0中英对照版发布
PCMM中英版终于发布 时光荏苒,从当初的回眸到如今的回头,这才发现:坚守一份承诺是多么的不易! 一年多了,这份承载殷切期待的作品--<PCMM(人力资源能力成熟度模型)V2.0 (中英文对照版 ...
随机推荐
- 自我介绍及如何注册GITHUB
自我介绍 我是来自南通大学网络工程141班的周楠,我的学号是1413042014,我的兴趣是喜欢玩游戏(如果这算是一个兴趣爱好的话),喜欢尝试各种游戏. 如何注册一个GitHub账号? 1.首先我们需 ...
- 解决同一程序在并行同时调用时,出现资源等待错误-使用DBMS_LOCK.sleep
解决同一程序被并行同时调用时,出现资源等待错误问题. 使用DBMS_LOCK.sleep (10); PROCEDURE prc_lock_test(v_engine_id in varchar, v ...
- Zero Clipboard js+swf实现的复制功能使用方法
开发中经常会用到复制的功能,在 IE 下实现比较简单.但要想做到跨浏览器比较困难了.本文将介绍一个跨浏览器的库类 Zero Clipboard .它利用 Flash 进行复制,所以只要浏览器装有 Fl ...
- WebApi 插件式构建方案:发现并加载程序集
插件式的 WebApi 开发,首要面对的问题就是程序集的发现.因为开发的过程中,都是在各自的解决方案下进行开发,部署后是分模块放在一个整体的的运行时网站下. 约定 这里我根据上一节的设定,把插件打包完 ...
- C# winform截图、web Cropper图片剪切、上传
今天又来一弹,写了个小功能,windows 桌面截图,web剪切图片上传的功能. 废话不多说,直接上图: 1.winform 截屏功能 图1 主窗体 点击全屏截图,就已经全屏截图了,截图后,图片保存在 ...
- stack和stack frame
首先,我们先来了解下栈帧和栈的基本知识: 栈帧也常被称为“活动记录”(activation record),是编译器用来实现过程/函数调用的一种数据结构. 从逻辑上讲,栈帧就是一个函数执行的环境,包含 ...
- WPF制作歌词动画
最近再做一个UWP的音乐播放器,今天实现了歌词动画,不是滚动的,滚动的慢慢研究 思路:在右边放了三个textBlock,设置 textBlock的effect属性 <TextBlock.Effe ...
- EF6 使用SQLite Code First
SQLite是一款轻型关系型数据库,做一个小网站,用来替代sql server或者access数据库应该会是一个不错的选择. ASP.NET Entity Framework 6是微软平台的著名ORM ...
- 【题解】 AGC029-A Irreversible operation
传送门 定位:思维好题. 考虑无论如何每一个W都会和前面的B在一起交换一次,所以直接求和就好了. 注意long long的使用. #include<stdio.h> #include< ...
- 微信小程序下可以使用的MD5以及AES加密(通用)
两段代码都来自网络 ,在小程序下的加解密结果与CS/BS等算出的结果都一致,支持汉字. 一.MD5: var rotateLeft = function (lValue, iShiftBits) { ...