当前位置:  技术问答>linux和unix

关于linux启动过程中的一个疑问

    来源: 互联网  发布时间:2016-01-30

    本文导语:  在看linux的启动过程,不太明白: 现在有一个bootsect.s位于0x90000 一个setup.s位于0x90200 一个压缩的内核映象,存放于0x1000(64k)位置 Setup.s结束的时候,跳转到0x10000(1m,也就是head.s的startup_32位置)开始执行 我的疑问是: 1 ...

在看linux的启动过程,不太明白:
现在有一个bootsect.s位于0x90000
一个setup.s位于0x90200
一个压缩的内核映象,存放于0x1000(64k)位置

Setup.s结束的时候,跳转到0x10000(1m,也就是head.s的startup_32位置)开始执行
我的疑问是:
1 压缩的内核映是怎么出现的?在启动过程中动态编译压缩出来的,还是已经存在,直接读取的?
2 0x9c0200处存放的setup.s也不可能是源代码而是经过编译的吧,那这个编译的过程是在什么时候?
3 arch/i386/boot/compressed/"中的head.S利用misc.c中定义的decompress_kernel()函数,将内核vmlinuz解压到0x100000的 这个动作发生在什么时候?



|
1 压缩的内核映是怎么出现的?在启动过程中动态编译压缩出来的,还是已经存在,直接读取的?
:已经存在,不可能在启动时动态编译
2 0x9c0200处存放的setup.s也不可能是源代码而是经过编译的吧,那这个编译的过程是在什么时候?
:所有的东西都是事先编译好的,你安装系统时所安装的文件即时早就编译好的映象
3 arch/i386/boot/compressed/"中的head.S利用misc.c中定义的decompress_kernel()函数,将内核vmlinuz解压到0x100000的 这个动作发生在什么时候?
:setup.s执行完后,直接跳到0x10000去执行该压缩的内核,压缩的内核由“解压缩部分”+“真正的内核”组成,解压动作就发生在“跳到0x10000”之后即进行了

    
 
 

您可能感兴趣的文章:

  • 菜鸟的Linux练习疑问……
  • Linux文件系统结构的疑问
  • Linux 初学者的疑问 (各位老鸟进来看看)
  • linux C编程中使用make时对 内部规则的疑问
  • 关于Linux内核的疑问
  • 关于linux runlevel的疑问
  • 由Turbo C 转入 Linux C的疑问
  • linux初学疑问
  • 关于LINUX下图形界面显示字符的疑问
  • linux不做嵌入式的,好找工作吗,疑问中!
  • 关于linux内核链表的疑问
  • 初次装linux前的疑问
  • 新装的Red Hat Linux,想编写C++程序,但有些疑问
  • 阅读linux代码时候的一个小疑问,菜鸟问题,各位多提点,谢谢
  • 关于linux的文件系统的疑问
  • 关于linux内核中用i++不用++i的疑问
  • linux下的top命令疑问
  • 关于linux系统的时钟滴答疑问
  • 基于linux的router和switch的疑问
  • linux下gcc使用疑问?
  • 同机装有Windows和Linux两套系统(先装Win后装Linux),如何使计算机使用Windows的启动模块而不是Linux的启动模块? iis7站长之家
  • linux文本模式下,怎样回看前面被屏幕滚掉的命令操作过程或者我的操作过程
  • Linux进程的内核栈和用户栈概念,相互关系及切换过程
  • linux下的编程主旨思想是在面向过程还是面向对象的?谢谢!!
  • linux初学者,咨询一下学习过程
  • 请求linux的安装过程视频。。。
  • 100分请教ColdFire或其他nommu的cpu下linux具体启动过程.
  • 我刚开始学linux,现在想装一个lumaQQ,请高手说一下详细过程!
  • 现在的linux内核载入过程是怎么样的呢?
  • linux下利用定时任务执行db2存储过程
  • linux的启动过程~ 从源代码的角度
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境)
  • 我的LINUX为什么不能选择启动,只能用启动盘启动
  • 98/2000/redhat7.2 装好后98/2000 ghost linux没做启动盘,怎么启动linux?
  • 做redhat linux7.3启动软盘:我的LINUX系统是在hda7上的,但我在这做的启动软盘是要用来启动接在hdc1上的另一个LINUX系统的,请问该怎么办啊
  • linux下安装oracle后使用命令行启动的方法 linux启动oracle
  • 在win2K上,再装linux,原先的Fat32格式的启动区,是不是不可以启动linux,?
  • 在装了xp后再装linux,现在grub默认启动是linux,如何修改,让默认启动为xp?
  • 再线送分:我的硬盘装了REDHAT LINUX,但不启动,软盘启动盘也没了,请问怎样能再次启动?
  • 在我启动linux设成Gnome图片模式启动,如果想启动字符模式,应怎样把级别5改为3吗,教我改法
  • 同机装有Windows和Linux两套系统(先装Win后装Linux),如何使计算机使用Windows的启动模块而不是Linux的启动模块?
  • linux 服务器启动时,机子启动就启动下面的这行命令
  • Linux的安装之后,双重启动一次之后,第二次启动就进入GRUB的命令提示符,如何回到图形化的DOS与LINUX的启动菜单界面?
  • 我机器上装了两个系统,win2000,Linux,现在我机器启动后进入grub命令行,请问我有没有办法恢复Linux或Win2000启动
  • 如何同时在启动菜单中启动LINUX和UNIX
  • 如何修改启动菜单的启动顺序(linux,windows),我想让系统默认启动到windows.谢谢!!
  • 怎么启动的时候没有提示从linux启动?
  • 我先装了XP,又装了Linux,现在Linux只能用启动盘启动,有没有其他方法啊?
  • LINUX REDHAT 启动硬盘不能启动,要怎样做!
  • 我下载了个linux.iso,我想在计算机启动时启动它,
  • 能在笔记本上安装XP和Linux双启动吗?删除Linux时如何保证XP仍能正常启动?
  • win2kserver和redhat7.2共存,win2kserver升级到winxp后,发现linux的启动菜单不见了?怎样才能恢复linux 的启动?
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3