Linux系统程序启动引导过程详细剖析
Linux的一个吸引人的特性就是用户可以自行定制整个系统,你可是运行一个只有1M的“迷你”Linux,也可以运行一个几G的强大Linux。而无论你运行怎样的Linux,你都是先从引导程序开始运行的。对于普通用户,大多都是在个人电脑上运行Linux的。
个人电脑,又叫PC机,是我们常见的使用Intel或AMD的芯片的电脑。当我们接通PC机的电源之后,CPU会执行第一条指令,第一条指令通常是使CPU能跳跃到BIOS的入口地址上,然后BIOS就开始进行开机自检,包括对内存等硬件进行检测,如果存在其它设备的也自带有BIOS(比如SCSI或RAID设置等),也会执行它们。完成自检后的BIOS会根据设定好的启动设备和启动顺序来启动真正的操作系统,如Linux(本文以Linux为例)。
对于PC机,有以下几种设备可以作为启动设备来使用:
1) 硬盘
这是最常用的启动设备,硬盘有IDE接口和SCSI接口的两种,由于IDE硬盘价格比SCSI硬盘要便宜的多,所以,大多数PC机都使用的是IDE硬盘。一台PC机中可能有多个硬盘,用户可以在PC机的CMOS设置哪块硬盘首先启动。
2) 软盘
软盘是PC机必备的设备之一。常用作安装系统或作为系统应急盘使用。也出现了很多一张软盘上的Linux系统。
3) 光盘驱动器
光盘驱动器也是PC机必备的设备之一,包括CDROM、DVDROM、以及各种刻录机等。现在多数用户都是通过光驱来安装Linux的。
4) USB盘
随USB盘的出现,许多主板也都开始支持从USB设备上来启动系统了。USB盘的容量远大于软盘,目前有取代软盘的趋势。
5) 网卡的Boot ROM
有一些网卡带有Boot ROM芯片,可将引导信息写入Boot ROM,许多主板都支持Boot ROM启动。常用于无盘工作盘环境中。
无论系统选择了哪一种启动设备,它都将会去将该设备起始地址的内容读入内存,如果你的启动设备是IDE硬盘,系统就会去去读取硬盘的第一个扇区(这个扇区通常被称做主引导扇区,又称MBR),并将这个扇区的内容读入内存,然后运行它。到这一步的时候是引导Linux操作系统的关键了,这一步将尝试去启动Linux的引导程序,如果找不到引导程序,将无法引导Linux。许多人在无法启动Linux的时候,其实大多都是引导程序损坏或是配置不当所造成的。
那么什么是引导程序呢?其实你每天打开电脑,所接触到的第一个程序就是引导程序。它的责任是载入操作系统内核软件并把控制权转交给它。对于Linux来说引导程序就是负责在启动计算机时装入Linux的Kernel,并将计
相关文档:
1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI) 就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......
Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......
一、前言
Linux最初的开发完全是围绕ASCII编码体系进行的,没有考虑非英语用户面临的问题,因此导致其使用门槛较高,尤其对于亚洲用户而言,由于采用象形
文字的特殊性(包括中文、韩文、日文,简称为CJK),使得对Linux进行本地化更为困难。在这样的背景下,ejoy等人发起 ......
Linux系统下使用USB转串口连接工业设备 在Windows下可以使用超级终端来连接交换机和路由器等工业设备,而且在Windows下使用usb转串口的线也有相应的驱动,但是如何在Linux下使用呢?
首先要有一个Linux下的终端软件叫minicom如果没有装这个的朋友可以到自己的源中去下载,然后你就要插上你的usb转串口的线,在 ......