Linux启动过程全接触
关于Windows启动过程介绍的文章可谓多如牛毛,而对于Linux的介绍却是凤毛麟角。凡是曾经使用过Linux的用户可能都会注意到,当计算机启动时,屏幕上会出现很多信息。一般情况下,这些信息我们可以通过以下的命令看到:
cat /var/log/dmesg | more
这些信息究竟有什么含义?这个问题看起来似乎很容易回答,因为只要在Linux参考书里查找一下,就会找出一个类似于这样的答案:“这是一些内核启动信息……”。但是“内核启动信息”到底是什么意思呢?
要想对Linux内部工作有所了解,就必须要对Linux内核的体系结构有一个全面的了解。下面我们就去揭开它的秘密。在此,我不想解释Linux内核的体系结构,只想解释(或者说是试图去解释)计算机系统启动进程中一些最基本的概念。这里所说的启动过程是指从按下开关到提示符出现的整个过程。
启动指的是什么
在操作系统的词汇里,启动是指通过处理器执行一些指令,把操作系统的一部分放入到主存中。在启动过程中,Linux内部的数据结构会被初始化,会被赋给一些初始值,并且某些进程会被创建。因为当计算机电源打开时,所有的硬件设备都处于一种不可预知的状态,内存也处于一种不活动的随机状态,所以,计算机的启动过程可以说是一个长且复杂的任务。因此,我们必须知道,之所以叫“启动”主要是因为计算机体系结构的原因。 网管网www.bitscn.com
在此提请读者注意:
1.对计算机内部的工作和内核的操作有一个基本的了解,对自己非常有益。
2.这篇文章中提到的所有文件,指的都是Linux内核2.4.2-2版本里的文件。这些文件对于所有的Linux内核来说都是相同的,并且可以在任何一个Linux系统里找到它们,此处我使用的是Red Hat 7.1。
3.在本文里,讨论范围限于IBM PC体系结构。
BIOS及其功能
当计算机打开电源时,内存里包含的是一些随机的数据,所有的东西都没有被初始化,操作系统也没有被加载。开始整个启动过程的是一个特殊的硬件电路,它触发CPU的Reset脚的逻辑值。然后,一些CPU的寄存器比如CS(一个分段寄存器:代码段寄存器,它指向含有程序指令的段),eip(在执行指令过程中,当CPU检测到一个意外事故发生时,它会做出三种类型的判断:错误、陷阱、中止,这取决于eip寄存器的值,它存储在内核模块栈里)就会被给定一个值。接着,物
相关文档:
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 ......
Curl是Linux下一个很强大的http命令行工具,其功能十分强大。
1) 二话不说,先从这里开始吧!
$ curl http://www.linuxidc.com
回车之后,www.linuxidc.com 的html就稀里哗啦地显示在屏幕上了 ~
2) 嗯,要想把读过来页面存下来,是不是要这样呢?
$ curl http://www. ......
1,说明:
ulimit用于shell启动进程所占用的资源.
2,类别:
shell内建命令
3,语法格式:
ulimit [-acdfHlmnpsStvw] [size]
4,参数介绍:
-H 设置硬件资源限制.
-S 设置软件资源限制.
-a 显示当前所有的资源限制.
-c size:设置core文件的最大值.单位:blocks
-d size:设置数据段的最大值.单位:kbytes
-f size:设置创建 ......
sort命令的功能是对文件中的各行进行排序。sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的。实际
上,sort命令可以被认为是一个非常强大的数据管理工具,用来管理内容类似数据库记录的文件。
Sort命令将逐行对文件中的内容进行排序,如果 ......