搜档网
当前位置:搜档网 › CentOS GRUB更改GRUB启动菜单

CentOS GRUB更改GRUB启动菜单

CentOS GRUB更改GRUB启动菜单
CentOS GRUB更改GRUB启动菜单

CentOS GRUB更改GRUB启动菜单

原文地址:https://www.sodocs.net/doc/d414750307.html,/jzbgjsy/article/details/5337425

一、为什么需要更改CentOS GRUB呢?

1.当CentOS更新新的内核后,GRUB会自动加上新的kernel开机选项,导致开机选项越来越多,想将不必要的开机选项刪除.

2.CentOS GRUB预设开机为CentOS,你可以想将预设开机改成Windows.

3.修改预设CentOS GRUB等待时間.

4.预设不显示GRUB menu,直接進入Windows.

二、设置

开啟CentOS GRUB开机选项档 gedit /boot/grub/menu.lst

1.当CentOS更新新的kernel后,CentOS GRUB会自动加上新的kernel开机选项,导致开机选项越来越多,想将不必要的开机选项刪除.

以下为我所要的开机选项,不需要者可自行刪除之

## ## End Default Options ##

title Ubuntu, kernel 2.6.20-16-generic

root (hd0,6)

kernel /boot/vmlinuz-2.6.20-16-generic

root=UUID=b923ef76-3246-411c-8095-7bca666b13a5 ro quiet splash

initrd /boot/initrd.img-2.6.20-16-generic

quiet

savedefault

title Ubuntu, kernel 2.6.20-16-generic (recovery mode)

root (hd0,6)

kernel /boot/vmlinuz-2.6.20-16-generic

root=UUID=b923ef76-3246-411c-8095-7bca666b13a5 ro single

initrd /boot/initrd.img-2.6.20-16-generic

# This entry automatically added by the Debian installer for a non-linux OS

# on /dev/sda1

title Microsoft Windows XP Professional

root (hd0,0)

savedefault

makeactive

chainloader +1

2.CentOS GRUB预设开机为Ubuntu,你可以想将预设开机改成Windows.

## default num

# Set the default entry to the entry number NUM. Numbering starts from 0, and

# the entry number 0 is the default if the command is not used.

#

# You can specify 'saved' instead of a number. In this case, the default entry

# is the entry saved with the command 'savedefault'.

# WARNING: If you are using dmraid do not change this entry to 'saved' or your

# array will desync and will not let you boot your system.

default 2

预设default为 0,表示开机用Ubuntu开机,因为在我的电脑Windows为第三個选项,故default为2

3.修改预设CentOS GRUB等待时间.

## timeout sec

# Set a timeout, in SEC seconds, before automatically booting the default entry

# (normally the first entry defined).

timeout 3

预设为10秒钟,我改成等待3秒钟

4.不显示CentOS GRUB menu,直接進入Windows.

## hiddenmenu

# Hides the menu by default (press ESC to see the menu)

hiddenmenu

预设会显示GRUB menu,若你不想显示menu,要当按下ESC才显示,请将hiddenmenu前的#拿掉

机动车辆启动过程的几种图象分析

精心整理 机动车辆启动过程的几种图象分析 在分析的过程中涉及的公式有:;;在匀加速运动阶段、;在达到额定功率以后。以上各式中:表示机车发动机功率,即机车发动机牵引力的功率,为机车启动的加速度,表示机车牵引力,并不表示机车受到的合外力,表示以额定功率运动过程的牵引力做功。所以可以得出,机车的启动过程 机动车的启动过程涉及到的图象有:图象、图象(为发动机的牵引力)、图象(为发动机功率)、图象、图象等。 .和图象: 从图象可以看出,汽车在做初速度为零的匀加速运动,在做加速度减小的变加速运动,后做匀速运动。汽车做匀加速运动的最大速度,而最终做匀速运动的速度,从图象可以看出,汽车的额定功率。由得汽车受到的阻力: 由题意分析可知,汽车在匀加速运动过程中受到的牵引力最大,当匀加速运动过程的速度为时功率恰好达到,所以最大牵引力:

:; 。解得汽车的质量 在内为,则, 。解得: .图象和图象: 为,随着机车速度的不断增加,、、三个物理量随之发生变化。下面就机车以恒定加速度启动为例来 ①图甲是图象,图象以、作为纵横坐标,直接反应了与之间的关系,段图象表示机车做匀加速直线运动,牵引力为恒力,随着速度的增加,机车功率逐渐增加,到达点时机车功率达到额定值,段图象表示 图象为双曲线的一支。 由于图象的段为双曲线的一支, ②图乙是图象,由于图象的横轴为,所以分析图象时应该沿着横轴从右向左分析。图象的段表示随着速度的增加,牵引力恒定不变,此过程为匀加速直线运动。图象的段表示随着速度的增加,牵引力逐渐减小,机车发动机功率不变,此过程为变加速直线运动,点时机车速度达到最大,机车开始匀速直线运动。段图象的斜率 ③图丙是图象,图象的段表示匀加速直线运动,段表示变加速直线运动。 在检测某种汽车性能的实验中,质量为㎏的汽车由静止开始沿平直公路行驶,达到的最大速度为 —图象(图象

电脑启动过程详解!!!

电脑启动过程详解 1.当按下电源开关时,电源就开始向主板和其它设备供电,这时电压还不太稳定,主板上的控制芯片组会向CPU发生并保持一个RESET(重置)信号,让CPU内部自动恢复到初始状态,但CPU在些刻不会马上执行指令,当芯片组检查到电源已经开始稳定供电了(当然从不稳定,到稳定的过程只是一瞬间的事情)它便撤去RESET信号(如果是手工按下电脑面板上的RESET按钮来重启机器,那么松开该按钮时芯片组就会撤去RESET信号)CPU马上从地址FFFF0H处开始执行指令,这个地址实际在系统BIOS的地址范围内, 无论是Award BIOS,还是AMI BIOS,在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。 2.系统BIOS的启动代码首先要做的事情就进行POST(Power-On Self Test,加电后自检),POST的主要任务是检查系统中一些关键设备是否存在和是否正常工作,例如内存和显卡等设备.由于POST是最早进行的检查过程,此时显卡还没有初始化,如果系统BIOS在进行POST的过程中发现了些致命错误,例如没有找到内存或内存有问题 (此时只会检查640KB常规内存),那么系统BIOS就会直接控制嗽叭发生声音来报告错误,声音的长短和次数代表了错误的类型.在正常情况下,POST过程进行的非常快,我们几乎无法感觉到它的存在,POST结束之后就会调用其它代码来进行更完整的硬件检测。 3.接下来系统BIOS将查找显卡的BIOS,前面说过,存放显卡BIOS的ROM芯片的超始地址通常设在 C0000H,系统BIOS在这个地方找到显卡BIOS之后就调用它的初始化代码来初始化显卡,此时多数显卡都在屏幕上显示出一些初始化信息,介绍生产厂商,图形芯片类型等内容,不过这个画面几乎是一闪而过,系统BIOS接着会查找其它设备的BIOS程序,找到之后同样会调用这些BIOS内部的初始化代码来初始化相关的设备。 4.查找完所有其它设备的BIOS之后,系统BIOS将显示出它自己的启动画面,其中包括有系统BISO的类型,序列号和版本号等内容. 5.接着系统BIOS将检查和显示CPU的类型和工作频率,然后开始测试所有RAM,并同时在屏莫显示内存测试的速度,用户可以在CMOS设置中自行决定使用简单耗时少或详细耗时多的测试方式. 6.内存测试通过之后,系统BIOS将开始检测系统中安装的一些标准硬件设备,包括硬盘,CD-ROM,串口,并口,软驱等设备,另外绝大数较新版本的系统BIOS在这一过程中还要自动检测和设置内存的定时参数,硬盘参数和访问模式等. 7.标准设备检查完毕后,系统BIOS内部的支持即插即用的代码将开始检测和配置系统中安装的的即插即用设备,每找到一个设备之后,系统BIOS都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断,DMA通道和I/O端口等资源。 8.到这一步为止,所有硬件都已经检测配置完毕了,多数系统BIOS会重新清屏并在屏幕上方显示出一个表格,其它概略地列出了系统中安装的各种标准硬件设备,以及它们使用的资源和一些相关工作参数。 9.接下来系统BIOS会更新ESCD(Extended system configuration data,扩展系统配置数据.)ESCD是系统BIOS用来与操作系统交换硬件配置信息的一种手段,这些数据被存放在CMOS之中,通常ESCD数据只在系统配置发生改变后才会更新,所以不是每次启动电脑时都能够看到"updata ESCD … Success"这样的信息, 不过某些主板的系统BIOS在保存ESCD数据时使用了与widnwos 9x不相同的数据格式,于是widnwos 9x在启动过程中会把ESCD数据修改成自己的格式,但在下一次启动时,既使硬件配置没有发生改变,系统BIOS也会把ESCD的数据格式修改回来,如此循环,将会导致在每次启动电脑时,系统BIOS都要更新一遍ESCD,这就是为什么有些机器在每次启动时都会显示出相关信息的原因。 10.ESCD更新完毕后,系统BIOS的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软件,硬件或光驱启动,以从C盘启动为例,系统BIOS将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的引导记录,而分区引导记录将负责读取并执行 IO.SYS这是DOS和widnows 9x的IO.SYS(或NT的NTLDR)首先要初始化一些重要的系统数据,然后将显示出我们熟悉的蓝天白云,在这幅画面之下,widnwos 将继续进行DOS部分和GUI(图形用户界面)部分的引导和初始化工作. 上面介绍的便是电脑在打开电源开关(或按RESET)进行冷启动时所要完成的各种初始化工作,如果在DOS 下按Ctrl Alt DEL组合键,(或从windows中选择重新启动电脑)来进行热启动,那么POST过程将被跳过去,

Windows启动过程详解

Windows启动过程详解 我们每天都在和Windows打交道,很多人可能每天都要面对多次W indows的启动过程,可是您知道在Windows的启动过程背后,隐藏着什么秘密吗?在这一系列过程中都用到了哪些重要的系统文件?系统的启动分为几个步骤?在这些步骤中计算机中发生了什么事情?这些就是本文试图告诉您的。 本文的适用范围 随着技术的发展,我们能够见到的计算机硬件种类越来越多。以计算机上最重要的组件CPU来说,目前就有很多选择。当然,这里的选择并不是说AMD或者Intel这种产品品牌,而是指其内部的体系结构。目前常见的CPU体系结构主要基于复杂指令集(Complex I nstruction Set Computing,CISC)或者精简指令集(Reduced Ins truction Set Computing,RISC),我们常用的Intel的Pentium、C eleron系列以及AMD的Athlon、Sempron系列都是基于复杂指令集的,而这些基于复杂指令集的CPU还有32位和64位的寄存器数据带宽区别。关于这些指令集以及寄存器数据带宽之间的区别等内容比较繁杂,而且不是本文的重点,感兴趣的朋友可以自己在网上搜索相关内容。因为CPU种类的不同,在不同CPU的系统中运行的Wind ows的启动过程也有一些小的不同。本文将会以目前来说最普遍的,在x86架构的系统上安装的32位Windows XP Professional为例向

您介绍。 基本上,操作系统的引导过程是从计算机通电自检完成之后开始进行的,而这一过程又可以细分为预引导、引导、载入内核、初始化内核,以及登录这五个阶段。 在继续阅读之前,首先请注意图1,这是Windows XP的操作系统结构,其中包括了一些在后台工作的组件以及经常和我们打交道的程序。在了解Windows XP的启动过程之前,对系统结构有一个初步概念是很重要的。

linux内核启动 Android系统启动过程详解

linux内核启动+Android系统启动过程详解 第一部分:汇编部分 Linux启动之 linux-rk3288-tchip/kernel/arch/arm/boot/compressed/ head.S分析这段代码是linux boot后执行的第一个程序,完成的主要工作是解压内核,然后跳转到相关执行地址。这部分代码在做驱动开发时不需要改动,但分析其执行流程对是理解android的第一步 开头有一段宏定义这是gnu arm汇编的宏定义。关于GUN 的汇编和其他编译器,在指令语法上有很大差别,具体可查询相关GUN汇编语法了解 另外此段代码必须不能包括重定位部分。因为这时一开始必须要立即运行的。所谓重定位,比如当编译时某个文件用到外部符号是用动态链接库的方式,那么该文件生成的目标文件将包含重定位信息,在加载时需要重定位该符号,否则执行时将因找不到地址而出错 #ifdef DEBUG//开始是调试用,主要是一些打印输出函数,不用关心 #if defined(CONFIG_DEBUG_ICEDCC)

……具体代码略 #endif 宏定义结束之后定义了一个段, .section ".start", #alloc, #execinstr 这个段的段名是 .start,#alloc表示Section contains allocated data, #execinstr表示Section contains executable instructions. 生成最终映像时,这段代码会放在最开头 .align start: .type start,#function /*.type指定start这个符号是函数类型*/ .rept 8 mov r0, r0 //将此命令重复8次,相当于nop,这里是为中断向量保存空间 .endr b 1f .word 0x016f2818 @ Magic numbers to help the loader

电脑启动过程详解

电脑从按完开关加电开始直到进入到系统桌面的整个过程详解本文以Windows2000/xp和Windows Vista/7两个内核做讲解 电脑从加电到进桌面可以分为两大部分: 无论是Windows2000/XP还是Windows Vista/7,在硬件自检方面都是想同的,不同的是在系统加截。 硬件部分: 在讲解前,我们先来了解几个概念: BIOS:即“Basic Input/Output System”(基本输入输出系统),它是一组被“固化”在计算机主板上的一块 ROM 中直接关联硬件的程序,保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序,其主要功能是为计算机提供最底层的、最直接的硬件设置和控制,它包括系统 BIOS(主板 BIOS).其它设备 BIOS(例如 IDE 控制器 BIOS、显卡 BIOS 等)其中系统 BIOS 占据了主导地位.计算机启动过程中各个 BIOS 的启动都是在它的控制下进行的。 CMOS:即“Complementary Metal-Oxide-Semiconductor”(互补金属氧化物半导体),它本是计算机系统内一种重要的芯片,保存了系统引导最基本的资料。 内存地址:我们知道,内存空间的最基本单位是位,8 位视为一个字节,即我们常用的单位 B,内存中的每一个字节都占有一个地址(地址是为了让 CPU 识别这些空间,是按照 16 进制表示的),而最早的 8086 处理器只能识别 1MB(2 的 20 次方 B)的空间,这 1MB 内存中低端(即最后面)的 640KB 就被称为基本内存,而剩下的内存(所有的)则是扩展内存。这 640KB 的空间分别由显存和各 BIOS 所得。 我们来看一下硬件部分的流程图:

Android系统启动过程详解

Android系统启动过程详解 Android系统启动过程 首先Android框架架构图:(来自网上,我觉得这张图看起来很清晰) Linux内核启动之后就到Android Init进程,进而启动Android相关的服务和应用。 启动的过程如下图所示:(图片来自网上,后面有地址)

下面将从Android4.0源码中,和网络达人对此的总结中,对此过程加以学习了解和总结, 以下学习过程中代码片段中均有省略不完整,请参照源码。

一Init进程的启动 init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行, 并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。init始终是第一个进程。 启动过程就是代码init.c中main函数执行过程:system\core\init\init. c 在函数中执行了:文件夹建立,挂载,rc文件解析,属性设置,启动服务,执行动作,socket监听…… 下面看两个重要的过程:rc文件解析和服务启动。 1 rc文件解析 .rc文件是Android使用的初始化脚本文件(System/Core/Init/readm e.txt中有描述: four broad classes of statements which are Actions, Commands, Services, and Options.) 其中Command 就是系统支持的一系列命令,如:export,hostname,mkdir,mount,等等,其中一部分是linux 命令, 还有一些是android 添加的,如:class_start :启动服务,class_stop :关闭服务,等等。 其中Options是针对Service 的选项的。 系统初始化要触发的动作和要启动的服务及其各自属性都在rc脚本文件中定义。具体看一下启动脚本:\system\core\rootdir\init.rc 在解析rc脚本文件时,将相应的类型放入各自的List中: \system\core\init\Init_parser.c :init_parse_config_file( )存入到 action_queue、action_list、service_list中,解析过程可以看一下parse_config函数,类似状态机形式挺有意思。 这其中包含了服务:adbd、servicemanager、vold、ril-daemon、deb uggerd、surfaceflinger、zygote、media…… 2 服务启动 文件解析完成之后将service放入到service_list中。 文件解析完成之后将service放入到service_list中。 \system\core\init\builtins.c

讲解win7启动过程

:BIOS→MBR→Bootmgr→BCD→Winl oad.exe→内核加载 1.开机后,BIOS进行开机自检(POST),然后选择从硬盘进行启动,加载硬 盘的MBR并把控制权交给MBR(MBR是硬盘的第一个扇区,它不在任何一个分区内); 2.MBR会搜索64B大小的分区表,找到4个主分区(可能没有4个)的活动分 区并确认其他主分区都不是活动的,然后加载活动分区的第一个扇区 (Bootmgr)到内存; 3.Bootmgr寻找并读取BCD,如果有多个启动选项,会将这些启动选项反映 在屏幕上,由用户选择从哪个启动项启动。 4.选择从Windows7启动后,会加载C:\windows\system32\winload.exe, 并开始内核的加载过程,内核加载过程比较长,比较复杂,这里就不一一讲了。 在这个过程中,bootmgr和BCD存放在Windows7的保留分区里,而从Winload.exe开始,就开始进入到C盘执行内核的加载过程了。 ?MBR(Master Boot Record),中文意为主引导记录。 注意事项 硬盘的0磁道的第一个扇区称为MBR,它的大小是512字节,而这个区域可以分为两个部分。第一部分为pre-boot区(预启动区),占446字节;第二部分是Partition table区(分区表),占66个字节,该区相当于一个小程序,作用是判断哪个分区被标记为活动分区,然后去读取那个分区的启动区,并运行该区中的代码。 他是不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它。但我们可以用ROM-BIOS中提供的INT13H的2号功能来读出该扇区的内容,也可用软件工具Norton8.0中的DISKEDIT.EXE来读取 ?BCD=Boot Configuration Data (启动设置数据) ,BCD是操作系统中的启动设置数据, 在有vista或windows7的多重操作系统中,系统通bootmgr程序导入BCD 文件完成启动菜单的引导。 可用bcdedit.exe程序来编辑BCD文件,来调整开机默认操作系统和等待时间。 先让我们看一下windows7的启动过程的常识: 电脑加电后,首先是启动BIOS程序,BIOS自检完毕后,找到硬

STM32启动过程分析

STM32启动 ARM7和ARM9启动时从绝对地址0X00000000开始执行复位中断程序,即固定了复位后的起始地址,但中断向量表的位置是可变的。 而STM32则不同,M3内核规定起始地址必须存放栈顶地址,第二个地址必须是复位中断向量的入口地址,这样CPU复位后会自动从下一个32位地址取出复位中断向量的入口地址,PC就跳转到中断服务程序,所以M3是固定了中断向量表的位置而地址是可变的。 M3的中断向量表有三个位置,通过BOOT引脚进行启动设置。 BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。中断向量表定位于FLASH区,复位后PC=0x80000000. OOT1=0 BOOT0=1 从系统存储器启动(相当于厂家在存储器中固化了BOOTLOADER),这种模式启动的程序功能由厂家设置。 BOOT1=1 BOOT0=1 从内置SRAM启动,这种模式可以用于调试。这种模式下,中断向量表位于SRAM区,起始地址为0x20000000.复位为PC=0x20000000. startup_stm32f10x_XX.s 这个文件里面首先定义了复位中断(复位入口矢量被硬件固定在地址 0x0000_0004)的处理函数:Reset_Handler,它的作用就是将保存于flash中的初始化数据复制到sram中,调用上面说到的SystemInit来初始化时钟,接着跳转到main执行。 接着定义了Default_Handler,这个是作为其他所有中断的默认处理函数,作用就是死循环,所以你假如开启了某个中断,请按照这里面的中断函数名给它写中断处理函数,例如串口中断处理函数名是USART1_IRQHandler,你开了串口中断,如果不重写USART1_IRQHandler,就默认执行Default_Handler,死循环了。而如果你有重写,那么中断向量表中的处理函数的地址就会更新为你自己写的那个函数的地址了。为什么会这样呢?因为此文件的末尾用了类似这样的语句:.weak USART1_IRQHandler .thumb_set USART1_IRQHandler,Default_Handler 它给中断处理函数提供了弱(weak)别名(Default_Handler),如果不重写,中断了默认执行Default_Handler,如果重写了,因为是弱别名,所以会被你写的同名函数覆盖。 在中断向量表中第一个存放的是复位中断向量,STM32MDK环境中 Reset_Handler PROC EXPORT Reset_Handler [WEAK] IMPORT __main IMPORT SystemInit LDR R0, =SystemInit BLX R0 LDR R0, =__main BX R0

《计算机启动过程》(图文详解)

我们每天使用计算机必须要经过的一个步骤就是启动了,但是,你是否知道计算机到底是怎样启动的呢?或许,你会认为这并不重要,是的,对于我们一般人而言,它确实不重要,事实上,我们更关心它启动得有多快,但是,这却实在是一个很“基本”的问题,每天都在用计算机,却不知道它是怎样启动的,似乎总感觉有些别扭(当然了,多数人都不知道的话也就没什么好别扭的了)。下面就为大家介绍一下我们使用的计算机到底是怎样启动起来的,由于这个问题比较大,我将它分为了两部分来介绍,这样可能比较好接受一些。这次只介绍前半部分(即和操作系统无关的部分)。另外,为方便大家理解,我特意制作了相关的流程图,建议大家对照着看。 如果你愿意了解一下,希望你能通过下面的介绍弄懂这个问题,如果你没什么兴趣,也没关系,毕竟,它是个比较边缘的东西,不太了解也行。 像大多数介绍此知识的文章一样,这里还是需要先介绍一下两个基本而重要的概念。 BIOS:即“Basic Input/Output System”(基本输入输出系统),它是一组被“固化”在计算机主

板上的一块ROM中直接关联硬件的程序,保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序,其主要功能是为计算机提供最底层的、最直接的硬件设置和控制,它包括系统BIOS(主板BIOS).其它设备BIOS(例如IDE 控制器BIOS、显卡BIOS等)其中系统BIOS占据了主导地位.计算机启动过程中各个BIOS的启动都是在它的控制下进行的. 内存地址:我曾在虚拟内存的介绍中提到过它,我们知道,内存空间的最基本单位是位,8位视为一个字节,即我们常用的单位B,内存中的每一个字节都占有一个地址(地址是为了让CPU识别这些空间,是按照16进制表示的),而最早的8086处理器只能识别1MB(2的20次方B)的空间,这1MB内存中低端(即最后面)的640KB就被称为基本内存,而剩下的内存(所有的)则是扩展内存。这640KB的空间分别由显存和各BIOS所得。 现在正式开始介绍计算机的启动过程(从打开电源到操作系统启动之前) 1、当电源开关按下时,电源开始向主板和其他

电脑开机全过程详解

打开电源启动机器几乎是电脑爱好者每天必做的事情,面对屏幕上出现的一幅幅启动画面,我们一点儿也不会感到陌生,但是,计算机在显示这些启动画面时都做了些什么工作呢?相信有的朋友还不是很清楚,本文就来介绍一下从打开电源到出现W i n d o w s的蓝天白云时,计算机到底都干了些什么事情。 首先让我们来了解一些基本概念。第一个是大家非常熟悉的BIOS(基本输入输出系统),BIOS是直接与硬件打交道的底层代码,它为操作系统提供了控制硬件设备的基本功能。BIOS包括有系统BIOS(即常说的主板BIOS)、显卡BIOS和其它设备(例如IDE控制器、SCSI卡或网卡等)的BIOS,其中系统BIOS 是本文要讨论的主角,因为计算机的启动过程正是在它的控制下进行的。BIOS 一般被存放在ROM(只读存储芯片)之中,即使在关机或掉电以后,这些代码也不会消失。 第二个基本概念是内存的地址,我们的机器中一般安装有32MB、64MB或128MB内存,这些内存的每一个字节都被赋予了一个地址,以便CPU访问内存。32MB的地址范围用十六进制数表示就是0~1FFFFFFH,其中0~FFFFFH的低端1MB内存非常特殊,因为最初的8086处理器能够访问的内存最大只有1MB,这1MB的低端640KB被称为基本内存,而A0000H~BFFFFH要保留给显示卡的显存使用,C0000H~FFFFFH则被保留给BIOS使用,其中系统BIOS一般占用了最后的64KB或更多一点的空间,显卡BIOS一般在C0000H~C7FFFH处,IDE控制器的BIOS在C8000H~CBFFFH处。 好了,下面我们就来仔细看看计算机的启动过程吧。 第一步:当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还不太稳定,主板上的控制芯片组会向CPU发出并保持一个RESET(重置)信号,让CPU内部自动恢复到初始状态,但CPU在此刻不会马上执行指令。当芯片组检测到电源已经开始稳定供电了(当然从不稳定到稳定的过程只是一瞬间的事情),它便撤去RESET信号(如果是手工按下计算机面板上的Reset按钮来重启机器,那么松开该按钮时芯片组就会撤去RESET信号),CPU马上就从地址FFFF0H处开始执行指令,从前面的介绍可知,这个地址实际上在系统BIOS的地址范围内,无论是Award BIOS还是AMI BIOS,放在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。 第二步:系统BIOS的启动代码首先要做的事情就是进行POST(Power-On Self Test,加电后自检),POST的主要任务是检测系统中一些关键设备是否存在和能否正常工作,例如内存和显卡等设备。由于POST是最早进行的检测过程,此时显卡还没有初始化,如果系统BIOS在进行POST的过程中发现了一些致命错误,例如没有找到内存或者内存有问题(此时只会检查640K常规内存),那么系统BIOS就会直接控制喇叭发声来报告错误,声音的长短和次数代表了错误的类型。在正常情况下,POST过程进行得非常快,我们几乎无法感觉到它的存在,POST 结束之后就会调用其它代码来进行更完整的硬件检测。 第三步:接下来系统BIOS将查找显卡的BIOS,前面说过,存放显卡BIOS 的ROM芯片的起始地址通常设在C0000H处,系统BIOS在这个地方找到显卡BIOS 之后就调用它的初始化代码,由显卡BIOS来初始化显卡,此时多数显卡都会在屏幕上显示出一些初始化信息,介绍生产厂商、图形芯片类型等内容,不过这个画面几乎是一闪而过。系统BIOS接着会查找其它设备的BIOS程序,找到之后同样要调用这些BIOS内部的初始化代码来初始化相关的设备。

WINOWS系统启动过程解析

一、概述: 1)计算机启动时经过的过程: 计算机接通电源后,第一步要进行加电自检,也就是POST(Power On Self Test),检查RAM、驱动器等;第二步BIOS会读取活动分区主引导记录的启动装载器;第三步启动装载器初始化完成,操作系统启动正式开始,这个过程主要又分为引导阶段、加载内核阶段、初始化内核阶段、登录系统启动这四个阶段。其中初始化内核阶段是一个很复杂的过程,系统需要加载很多底层硬件的驱动程序,读取注册信息、寻找新硬件设备、启动相关服务,初始化显示设备和显示出用户界面等。并且实施各种用户自定义的配置,例如安全配置等。 2)各操作系统启动时使用的程序(文件): WIN98启动:https://www.sodocs.net/doc/d414750307.html,,Io.sys,Msdos.sys,Drvspace.bin WIN2000启动:Ntldr,boot.ini,bootsect.dos,https://www.sodocs.net/doc/d414750307.html,,Ntoskrnl.exe WINXP启动:NTLDR,Boot.ini,https://www.sodocs.net/doc/d414750307.html,,ntokrnl.exe,Ntbootdd.sys,bootsect.dos(可选择) 二、目录: 1、全面解析计算机启动过程 2、Windows98的启动过程 3、WIN2000启动的简单过程 4、Windows2000启动过程详解 5、WINXP启动的简单过程 6、Windows XP 启动过程详解 1、全面透析计算机启动过程 打开电源启动机器几乎是电脑爱好者每天必做的事情,面对屏幕上出现的一幅幅启动画面,我们一点儿也不会感到陌生,但是,计算机在显示这些启动画面时都做了些什么工作呢?相信有的朋友还不是很清楚,本文就来介绍一下从打开电源到出现Windows的蓝天白云时,计算机到底都干了些什么事情。 首先让我们来了解一些基本概念。第一个是大家非常熟悉的BIOS(基本输入输出系统),BIOS是直接与硬件打交道的底层代码,它为操作系统提供了控制硬件设备的基本功能。BIOS包括有系统BIOS(即常说的主板BIOS)、显卡BIOS和其它设备(例如IDE控制器、SCSI卡或网卡等)的BIOS,其中系统BIOS是本文要讨论的主角,因为计算机的启动过程正是在它的控制下进行的。BIOS一般被存放在ROM(只读存储芯片)之中,即使在关机或掉电以后,这些代码也不会消失。 第二个基本概念是内存的地址,我们的机器中一般安装有32MB、64MB或128MB内存,这些内存的每一个字节都被赋予了一个地址,以便CPU访问内存。32MB的地址范围用十六进制数表示就是0~1FFFFFFH,其中0~FFFFFH的低端1MB内存非常特殊,因为最初的8086处理器能够访问的内存最大只有1MB,这1MB的低端640KB被称为基本内存,而A0000H~BFFFFH要保留给显示卡的显存使用,C0000H~FFFFFH则被保留给BIOS使

apache的启动过程 原代码 分析

1./server/log.c 这个里面定义了ap_log_error()。 2./include/httpd.h 这个文件里面申明了基本的内容,如文件路径,字符串长度,等等。 3./server/listen.c 对于apache的httpd,有很多的技术,有MPM多任务并发处理(采用记分板),内存池,线程池。。。 1.在main()有一个for(;;)里面调用了ap_mpm_run。但这个循环里好象只执行了一次,而不是一直在循环。 2.在ap_mpm_run()里,有一个while (!restart_pending && !shutdown_pending)。这个循环每一秒就往返一次,一直执行,直到进程结束。如果是第一次启动,在这个循环里,会调用一个startup_children();在这里面又有一个循环调用make_child()产生初始数量的子进程。 3.在上面的while里,perform_idle_server_maintenance(pconf)会每1秒执行一次,如果你kill -9一个子进程,这个函数就起作用,再重新调用make_child()生成一个子进程。 4.如果执行httpd –k stop,那么ap_mpm_run()会返回错误,在main()就会跳出for(;;),进程退出。5.在make_child()里,有一个fork()调用产生子进程,然后在子进程里调用child_main()进行子进程的初始化处理。 linux-lncx:/home/apache/httpd-2.2.11/server # ls main.c main.c linux-lncx:/home/apache/httpd-2.2.11/server # int main(int argc, const char * const argv[]) { char c; int configtestonly = 0; const char *confname = SERVER_CONFIG_FILE; const char *def_server_root = HTTPD_ROOT; const char *temp_error_log = NULL; const char *error; process_rec *process; server_rec *server_conf; apr_pool_t *pglobal; apr_pool_t *pconf; apr_pool_t *plog; /* Pool of log streams, reset _after_ each read of conf */ apr_pool_t *ptemp; /* Pool for temporary config stuff, reset often */ apr_pool_t *pcommands; /* Pool for -D, -C and -c switches */ apr_getopt_t *opt; apr_status_t rv; module **mod; const char *optarg; APR_OPTIONAL_FN_TYPE(ap_signal_server) *signal_server; AP_MONCONTROL(0); /* turn off profiling of startup */ process = init_process(&argc, &argv); pglobal = process->pool; pconf = process->pconf; ap_server_argv0 = process->short_name; #if APR_CHARSET_EBCDIC if (ap_init_ebcdic(pglobal) != APR_SUCCESS) { destroy_and_exit_process(process, 1); } #endif apr_pool_create(&pcommands, pglobal); apr_pool_tag(pcommands, "pcommands"); ap_server_pre_read_config = apr_array_make(pcommands, 1, sizeof(char *)); ap_server_post_read_config = apr_array_make(pcommands, 1, sizeof(char *)); ap_server_config_defines = apr_array_make(pcommands, 1, sizeof(char *)); error = ap_setup_prelinked_modules(process); if (error) { ap_log_error(APLOG_MARK, APLOG_STARTUP|APLOG_EMERG, 0, NULL, "%s: %s", ap_server_argv0, error); destroy_and_exit_process(process, 1); } ap_run_rewrite_args(process);

最新启动过程分析及应用研究

启动过程分析及应用 研究

长沙师范专科学校 电子信息工程系计算机应用专业级 毕业论文(设计) 题目:ARM启动过程分析及应用研究 姓名:宋政艳学号:2009540830139 指导教师(签名): 年月日 前言

自从电子技术发展起来之后,ARM因其体积小、低功耗、低成本高性能的优势,正以惊人的速度向前发展,在工业控制,浪费类电子产品和成像安全产品、无线网络与通讯等领域得到了广泛应用,极大地改进了这些行业的生产效率、提高了生产力、除此之外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用,ARM技术在许多不同领域的地位日益巩固。 本文以嵌入式系统设计作为具体的研究对象,选取ARM微处理器作为嵌入和式设计的核心,系统地介绍了ARM和嵌入式操作系统、工作原理和启动过程分析。

目录 前言 (1) 第一章 ARM 概述 (1) 1.1 ARM简介 (1) 1.1.1 RISC结构特性 (2) 1.1.2常用ARM处理器系列 (3) 1.2 ARM微处理器的应用领域及特点 (6) 1.2.1 A RM 微处理器的应用领域 (6) 1.2.2ARM处理器的特点 (7) 第二章 ARM9简述 (8) 2.1 ARM9简介 (8) 2.2 ARM9体系结构 (9) 2.2.1 A RM工作状态 (9) 2.2.2ARM9处理器的主要结构及其特点 (9) 第三章 ARM9分析启动 (10) 3.1ARM9启动过程 (10) 第四章总结 (15)

第一章 ARM 概述 1.1 ARM简介 ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。 1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。 ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,它本身不直接从事芯片生产,靠转让设计许可,由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,从而使产品更容易进入市场被消费者所接受,更具有竞争力。

Linux 启动过程详解

Linux 启动过程详解 下面来详细了解一下Linux 的启动过程。Linux 的启动 过程包含了Linux 工作原理的精髓, 而且在嵌入式的开发过程也非常需要这方面知识的积累。 用户开机启动Linux 过程总体上是这样的: 首先当用户打开PC 的电源时,CPU 将自动进入实模式,并从地址0xFFFF0 开始自 动执行程序代码,这个地址通常是ROM-BIOS 中的地址。这时BIOS 进行开机自检,并 按BIOS 中设置的启动设备(通常是硬盘)进行启动,接着启动设备上安装的引导程序 lilo 或grub 开始引导Linux(也就是启动设备的第一个扇区) ,这时,Linux 才获得了启 动权。 接下来的第二阶段,Linux 首先进行内核的引导,主要完成磁盘引导、读取机器系统数 据、实模式和保护模式的切换、加载数据段寄存器以及重置中断描述符表等。 第三阶段执行init 程序(也就是系统初始化工作) init 程序调用了rc.sysinit 和rc 等程序, 而rc.sysinit 和rc 在完成系统初始化和运行服务的任务后,返回init。 之后的第四阶段,init 启动mingetty,打开终端供用户登录系统,用户登录成功后进入了Shell,这样就完成了从开机到登录的整个启动过程。 Linux 启动总体流程图如图所示, 其中的4 个阶段分别由同步棒隔开。由于第一阶段 不涉及Linux 自身的启动过程,因此,下面分别对第二和第三阶段进行详细讲解。 内核引导阶段 2.2.2 在grub 或lilo 等引导程序成功完成引导Linux 系统的任务后,Linux 就从它们手中接管 了CPU 的控制权。用户可以从https://www.sodocs.net/doc/d414750307.html, 上下载最新版本的源码进行阅读,其目录为: linux-2.6.*.*archi386boot。在这过程中主要用到该目录下的这几个文件:bootsect.S、setup.S 以及compressed 目录下的head.S 等。 首先要介绍一下,Linux 的内核通常是压缩过后的,包括如上述提到的那几个重要的汇 编程序,它们都是在压缩内核vmlinuz 中的。因为Linux 中提供的内核包含了众多驱动和功能,因而比较大,所以在采用压缩内核可以节省大量的空间。

计算机启动过程详解

计算机启动过程详解 综述:计算机启动时经过了哪些过程: 计算机接通电源后,第一步要进行加电自检,也就是POST(Power On Self Test),检查RAM、驱动器等;第二步BIOS会读取活动分区主引导记录的启动装载器;第三步启动装载器初始化完成,操作系统启动正式开始,这个过程主要又分为引导阶段、加载内核阶段、初始化内核阶段、登录系统启动这四个阶段。其中初始化内核阶段是一个很复杂的过程,系统需要加载很多底层硬件的驱动程序,读取注册信息、寻找新硬件设备、启动相关服务,初始化显示设备和显示出用户界面等。并且实施各种用户自定义的配置,例如安全配置等。 分述: 全面透析计算机启动过程 Windows98的启动过程 WIN2000启动的简单过程 Windows2000/XP启动过程详解 WINXP启动的简单过程 Windows XP 启动过程详述 全面透析计算机启动过程(作者:eNet 出处:eNet硅谷动力) 打开电源启动机器几乎是电脑爱好者每天必做的事情,面对屏幕上出现的一幅幅启动画面,我们一点儿也不会感到陌生,但是,计算机在显示这些启动画面时都做了些什么工作呢?相信有的朋友还不是很清楚,本文就来 介绍一下从打开电源到出现Windows的蓝天白云时,计算机到底都干了些什么事情。 首先让我们来了解一些基本概念。第一个是大家非常熟悉的BIOS(基本输入输出系统),BIOS是直接与硬件打交道的底层代码,它为操作系统提供了控制硬件设备的基本功能。BIOS包括有系统BIOS(即常说的主板BIOS)、显卡BIOS和其它设备(例如IDE控制器、SCSI卡或网卡等)的BIOS,其中系统BIOS是本文要讨论的主角,因为计算机的启动过程正是在它的控制下进行的。BIOS一般被存放在ROM(只读存储芯片)之中,即使在关机或掉

机组启动过程讲解

6.5汽轮机首次启动(冷态)步骤 6.5.1辅助设备及系统投入且参数符合要求 6.5.1.1循环水系统充水,正常后,启动一台循环水泵,向开式循环系统供水。 6.5.1.2 开式冷却水系统投入。 6.5.1.3 闭式冷却水系统投入,化验水质应合格,否则放水。 6.5.1.4 投入主机润滑油系统,油温35℃~40℃,润滑油压0.176MPa左右,主油泵进口油压 0.098—0.147MPa。 6.5.1.5 投入发电机密封油系统. 6.5.1.6 发电机充干燥、清洁的压缩空气,机内空气压力0.05MPa。检查油压跟踪阀动作正常,密封油—气差压正常。 6.5.1.7 启动顶轴油泵及盘车运行,记录转子原始偏心率数值。 6.5.1.8 发电机定子冷却水投入,水质应合格。 6.5.1.9 投入凝结水系统。 (a) 检查凝结水储存水箱水位应正常。 (b) 启动凝结水输送泵,向凝汽器补水至正常位置,向凝结水泵供密封水和凝水系统注水。 (c) 启动凝结水泵,水质合格后向除氧器上水。 6.5.1.10 辅助蒸气系统投入,由启动锅炉供汽。 6.5.1.11 除氧器加热制水。 6.5.1.12 真空系统投入,根据情况确定真空泵投入的台数。 6.5.1.13 轴封系统投入,控制轴封进汽压力0.026~0.028MPa,温度150℃~260℃,轴端不应有明显外漏现象。 6.5.1.14电动给水泵的检查、准备,使之具备启动条件,锅炉上水根据情况确定由凝泵或给水泵。 6.5.1.15 EH油系统投入,EH油压11.2MPa左右,油温小于45℃。 6.5.1.16 检查并确认以下条件达到后通知锅炉点火。 (a) 盘车装置正常运行。 (b) 凝汽器真空达-70KPa以上。 (c) 下列疏水阀在开启状态。 A 一抽电动门前、逆止门后疏水阀。 B 高排逆止门后疏水阀。 C 三抽电动门前、逆止门后疏水阀。 D 四抽电动门前、逆止门后疏水阀。

相关主题