【转】LINUX系统初始化过程全解
一、 概况
系统的引导和初始化是操作系统实现控制的第一步,也是集中体现系统优劣的重要部分。LINUX作为一个免费的准UNIX操作系统,在众多业余爱好者以及小型商业处理市场表现不俗,成为继WINDOWS系列后的另一个主流。了解LINUX系统的初始化,对于进一步掌握UNIX系统是十分有帮助的。
通常,LINUX系统的初始化可以分为两部分:内核部分和init程序部分。内核主要完成系统的硬件检测和初始化,init程序则主要完成系统的各项配置。
本文将着眼LINUX系统初始化的两个部分,初步解析LINUX的特点。
二、 初始化详解
1.内核部分
通常情况下,计算机首先用LILO程序引导内核的一部分(这部分没有被压缩),以此来引导内核的其他部分。LILO程序是最常用的、也是比较完善的LINUX系统引导器,PC机通常从硬盘的引导扇区读取这部分程序。关于LILO程序的详细内容可以参照其他资料。
内核被解压缩并装入内存后,开始初始化硬件和设备驱动程序。下面是内核初始化系统的具体步骤(各个版本之间会有一定的差异,下面是2.2.16-22版本的一个例子):
(1) 检测CPU的主频和控制台的显示类型,并对CPU速度用Bogo MIPS程序进行估算。
(2) 此后内核通过外设显示系统内存信息:如131072k(128M),127820k剩余,使用的具体情况为:1048k内核代码,412k保留,1728k数据等。尔后是各类hash table的信息。
(3) 内核加载磁盘空间限量支持,完成CPU检测(包括检查数学协处理器),以及POSIX适应性检测。
(4) 初始化PCI BIOS,检测系统的PCI设备,并加载TCP/IP网络支持。
(5) 内核开始检测其他各种硬件设备:如PS/2端口设备,串行口设备,硬盘,软盘,SCSI等。
此后,内核将启动init程序,形成系统的第一个进程。下面是dmesg记录的内核初始化信息(部分):
Detected 499845 kHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 996.15 BogoMIPS
Memory: 127820k/131072k available (1048k kernel code, 412k reserved, 1728k data, 64k init, 0k bigmem)
Dentry hash table entries: 262144 (order 9, 2048k)
Buffer cache hash table entries: 131072 (order 7, 512k)
Page cache hash table entries: 32768 (order 5, 128k)
VFS: Diskquotas version dquot_6.4.0 initialized
CPU: Intel Celeron (Mendocino) stepping 05
Checking 386/387 coupling... OK, FPU using exception 16 error reporting
相关文档:
1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI) 就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......
例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......
Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......
级
别: 中级
M.
Tim Jones
, 自由作家
2009 年 11 月 19 日
处理器已经演变
为针对虚拟环境提高性能,但 I/O 方面发生了什么变化呢?了解一种名为设备(或 PCI)透传(passthrough)的 I/O
性能增强技术,这种创新技术通过使用来自 Intel® (VT-d) 或 AMD (IOMMU) 的硬件支持改进 PCI 设 ......
某个日见重要的网络芯片公司即将收购一家最早点商业化嵌入式Linux 的公司。 Cavium 公司已同意支付5000 万美元给已经独立运行十年之久的 MontaVista 公司。
这是今年第二例嵌入式Linux 操作系统、工具及服务市场的并购案例。第一例是在今年五月,当时英特尔花费 88400 万美元收购 Wind River 系统公司。如同Wind River 收 ......