Linux 开机程序之研讨

2016-01-29 19:14 8 1 收藏

Linux 开机程序之研讨,Linux 开机程序之研讨

【 tulaoshi.com - Linux 】

  各位是否曾经对电脑整个开机的流程感到好奇呢 ? 这一次 , 我们所要讨论的
   主题 , 就是 Linux 从开机的一瞬间到 login 为止 , 到底发生了什麽事情 ?

   想必各位都知道 , 在刚开机时 , 由於 80x86 的特性 , CS ( Code Segment )
   这个暂存器中全部都放著 1 , 而 IP ( Instruction Pointer ) 这个暂存器
   中全部都放著 0 , 换句话说 , CS=FFFF 而 IP=0000 , 此时 , CPU 就依据
   CS 及 IP 的值 , 到 FFFF0H 去执行那个地方所放的指令 . 这时候 , 由於
   FFFF0H 已经到了高位址的顶端 , 所以 , FFFF0H 这个地方 , 总是会放一个
   JMP 指令 , 跳到比较低的位址 . 接著 , ROM BIOS 就会作一些检查的动作
   像记忆体 , 键盘 等...... 并在我们俗称的 UMB ( Upper Memory Block )
   之中扫描 , 看看是否有合法的 ROM 存在 ( 比如 SCSI 卡上的 ROM ) .
   假如有 , 就到里面去执行一些东西 , 执行完之後再继续刚才的行程 . 到了
   最後 , 读取磁碟机上的第一个 sector . 在这里 , 我假设各位由硬碟启动
   因此 , 就硬碟的构造而言 , 它的第一个 sector 称为 MBR ( Master Boot
   Record ) . 因为一个 sector 是 512 bytes , 而 MBR 这 512 bytes 可分
   为两个部份 , 第一个部份为 Pre-Boot 区 , 占了 446 bytes ; 第二部份
   是 Partition Table , 占了 66 bytes . Pre-Boot 区的作用之一 , 就是
   去看看那个 Partition 被标成 Active , 然後去读那个 Partition 的 Boot
   区 .

      在 Linux 的启动方面 , 一般人最常把 LILO 放在 MBR 或 Superblock
   假如你把 LILO 放在 MBR , 那很明显的 , 当读取到 MBR 的时候 , LILO
   就被执行 , 此时 , 你的萤幕上会出现  boot: 接著 , 就进行 Load Kernel
   的动作 . 在另一方面来说 , 假如你把 LILO 安装在 Superblock , 通常你
   还会有一个管理开机的程式 , 也许是住在 MBR ( 像 OSBS ) 或者是放在一
   个单独的 Partition ( 像 OS/2 的 Boot Manager ) . 再由这个管理开机
   的程式去读取 LILO , 进而做 Load Kernel 的动作 .

   好了 , 到了目前为止 , 我们已经讲到 Load Kernel 的动作 . Kernel 被
   load 到 memory 中之後 , 接著进行一连串 probe 周边的动作 , 像串联埠
   并联埠 , 软碟 , 音效卡 , 硬碟 , 光碟机 等 ...... 接著 mount root
   partition . 在这之後 , kernel 会起动 init 这个 process . init 这
   个 process 的 PID 为 1 , 它是所有 process 的祖先 .

   接下来呢 ? 系统就开始执行  /rc.d/rc.S  , 在这里 , 我们暂时打住 ,
   先对大概的 initialization script 执行的顺序作一个浏览 , 请看下面
   的流程 :

            init[1]
            rc.S   begin               <--- 目前我们已经讲到这里
              rc.serial   begin
              rc.serial   end
            rc.S   end
            init[1] enter runlevel 5
            rc.M   begin
              rc.inet1    begin
              rc.inet1    end
              rc.inet2    begin
              rc.inet2    end
              rc.font     begin
              rc.font     end

来源:https://www.tulaoshi.com/n/20160129/1508846.html

延伸阅读
标签: 服务器
Linux下开机自动挂载NTFS分区为可写   自动挂载对于linux系统来讲就是安装硬盘了,今天我们来为各位介绍在Linux下开机自动挂载NTFS分区为可写技巧文章希望下文对各位有帮助。 升级到 OpenSUSE 13.2 之后,原来配置为可自动挂载并进行写入操作的 Windows NTFS 分区现在不会自动挂载了,在磁盘管理中配置了自动挂载且不勾选Mount ...
  LILO, Linux Crash Rescue HOW-TO 中译版 作者:Al Dev (Alavoor Vasudevan) alavoor@yahoo.com 译者:黄国伟 u4561055@cc.ncu.edu.tw v6.0, 25 Dec 2000 翻译日期:19 Mar 2001  ------------------------------------------------------...
Linux系统是十分优秀的操作系统,但启动时间长是该系统的缺点之一。那么能否通过一些设置来缩短Linux系统的启动时间呢?当然可以。 Linux系统是十分优秀的操作系统,但启动时间长是该系统的缺点之一。那么能否通过一些设置来缩短Linux系统的启动时间呢?当然可以。本文将向读者展示如何在不牺牲Linux系统可用性的前提下,缩短系统的启动时间...
标签: 服务器
搞定LINUX之安装ubuntu   工欲善其事,必先有把刀,我们首要的任务是搭建一个完整的LINUX编程环境,我们选用来自美帝的ubuntu,建议选择一个LTS的版本,即长期支持版,比如ubuntu-12.04。 第一步,下载一个虚拟平台VMware,网址是https://www.vmware.com/support/ 第二步,安装VMware,附一张她的性感照片: 第三步...
标签: 电脑入门
我们的电脑上有些应用程序是一开机就会想要将它开启的,比如QQ等。为了避免每次开机的开启,我们可以将它设置为开机自启,这样可以避免很多麻烦。现在系统之家就为你介绍设置的方法吧。 设置应用程序开机自动启动: 其实要实现这个功能很简单,如下图所示,我们只要右键点击dock上的程序图标,然后把 登陆时打开 勾上即可。 如果要取消...