Linux 启动过程详解
随着Linux的应用日益广泛,特别是在网络应用方面,有大量的网络服务器使用Linux操作系统。由于Linux的桌面应用和Windows相比还有一定的差距,所以在企业应用中往往是Linux和Windows操作系统共存形成异构网络。在服务器端大多使用Linux和Unix的,目前Linux的擅长应用领域是单一应用的基础服务器应用,譬如DNS和DHCP服务器、Web服务器、目录服务器、防火墙、文件和打印服务器、Intranet代理服务器 。启动 Linux 系统的过程包括很多阶段。不管您是引导一个标准的 x86 处理器,还是PowerPC 机器,很多流程都惊人地相似。本文将描述了从开机到登录的 Linux 启动全过程。
(1) 从BIOS到内核
BIOS自检
计算机在接通电源之后首先由BIOS进行自检,即进行所谓的POST(Power On Self
Test),然后依据BIOS内设置的引导顺序从硬盘、软盘或CDROM中读入“引导块”。 在 PC 中,引导 Linux 是从 BIOS 中的地址 0xFFFF0 处开始的。BIOS 的第一个步骤是加电自检(POST)。POST 的工作是对硬件进行检测。BIOS 的第二个步骤是进行本地设备的枚举和初始化。给定 BIOS 功能的不同用法之后,BIOS 由两部分组成:POST 代码和运行时服务。当 POST 完成之后,它被从内存中清理了出来,但是 BIOS 运行时服务依然保留在内存中,目标操作系统可以使用这些服务。
要引导一个操作系统,BIOS 运行时会按照 CMOS 的设置定义的顺序来搜索处于活动状态并且可以引导的设备。引导设备可以是软盘、CD-ROM、硬盘上的某个分区、网络上的某个设备,甚至是 USB 闪存。通常,Linux 都是从硬盘上引导的,其中主引导记录(MBR)中包含主引导加载程序。MBR 是一个 512 字节大小的扇区,位于磁盘上的第一个扇区中(0 道 0 柱面 1 扇区)。当 MBR 被加载到 RAM 中之后,BIOS 就会将控制权交给 MBR。
提取 MBR 的信息
要查看 MBR 的内容,请使用下面的命令:
# dd if=/dev/hda of=mbr.bin bs=512 count=1 # od -xa mbr.bin
这个 dd 命令需要以 root 用户的身份运行,它从 /dev/hda(第一个 IDE 盘) 上读取前 512 个字节的内容,并将其写入 mbr.bin 文件中。od 命令会以十六进制和 ASCII 码格式打印这个二进制文件的内容。
(2)启动GRUB/LILO
GRUB和LILO都是引导加载程序。最简单地讲,引导加载程序(boot loader
相关文档:
INTRO
尽管Linux的根文件系统在形式表现上是一体的(所有数据目录均为根目录下的子目录),但实际它们是多个不同的【逻辑主体】(为了实现不同的逻辑功能)组合在一起的,参见下图。这也解释了为什么有些节点(如/var)可以挂接到不同磁盘分区上。划分这些逻辑部分对清晰把握根文件系统结构,以及整个系统的行为都有很大 ......
Linux下JDK的安装步骤:
第一部:改权限
[root@wxr java]# pwd
/usr/java
[root@wxr java]# chomd 755 jdk-6u19-linux-i586.bin
首先更改操作权限,加入写入和执行的权限。
第二部:安装
执行这个jdk-6u19-linux-i586.bin二进制可执行程序,实现安装:
[root@wxr java]# ./jdk-6u19-linux- ......
1、总结背景
在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“command not found”的提示内容。如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐了。这涉及到环境变量PATH的设置问题,而PATH的设置也是在linux下定制环境变量的一个组成部分。本案例基于RedHat AS4讲 ......
环境软件版本介绍:
APACHE 2.0.59
PHP5.2.3
MYSQL5.0.45
GD-2.0.35
Zend Optimizer v3.3.0
  ......
一、提前的话
要说C语言和Linux的关系大家应该都不会陌生,Linux系统内核就是用C语言开发的,所以所有的Linux系统下面 都会有C的编译调试工具,不过这些工具都是命令式的,正式开发的话会很不方便。Fedora在安装的时候可以选择安装Fedora Eclipse,这个IDE很强大,C,C++,Java,Python等等都支持,而且编译,调试和 ......