linux 启动协议分析 由boot.txt翻译而来
在x86平台上,linux内核用了一个比较复杂的启动协议规范,主要由于历史原因,早期想把内核做成可启动映像,复杂的计算机内存模型和由于实模式DOS成为主流操作系统而影响的.
现在有下列启动协议存在:
旧版内核:只支持zImage和Image.
2.00:增加bzImage和initrd支持,也拥有了一种正规化的方法来实现启动装载器(* boot
loader)和内核间的通信。setup.S建造了一块可移动,但是仍旧可写的传统的安装程序加载区域。
2.01:增加了一些溢出警告
2.02:这是新的命令行协议。它降低了常规的内存使用上限(* 见以下MEMORY
LAYOUT内存布局介绍)。没有覆盖传统的安装程序区域,因此对于那些使用了来自SMM或者32位BIOS入口地址的EBDA(* Extended BIOS
Data Area,拓展BIOS数据域)的系统,这样做可以使得启动更加安全。
2.03:明确了高端的initrd地址可被 bootloader 使用.
2.04:扩展syssize
域到四个字节
2.05:使得保护模式下的 内核可被重定位,增加 relocatable_kernel
和kernel_alignment
域.
2.06:增加一个域存放 boot command line 的大小.
2.07:增加半虚拟化启动协议,在load_flags
中 增加 hardware_subarch
和 hardware_subarch_data
和 KEEP_SEGMENTS
标志.
2.08:增加CRC32校验和ELF格式的有效载荷。增加
payload_offset 和payload_length 域 用于定位有效载荷(payload)
2.09:增加一个64位的物理指针指向setup_data结构体的单链表.
2.10:增加了init_size 和 pref_address 域.
传统的用于早期的Image和bImage的Memory的映射图:
100000
图形接口卡信息和BIOS自身
0A0000 +------------------------+ 从这一下的640K称为基本内存
| Reserved for
BIOS | 未使用,被BIOS EBDA保留
09A000 +------------------------+
|
Command line |
| Stack/heap |
被实模式下的内核代码所使用
098000 +------------------------+
| kernel
setup &nb
相关文档:
Resources on the site
• Interactive map of GNU/Linux OS and FOSS
• "GNU/Linux is my home" - map of GNU/Linux system
• Interactive map of Linux kernel
• Linux inside
• Linux Technology Reference (single page view)
• Linux kernel diagram
• Li ......
以Debian的方式系列(IN THE DEBIAN WAY):
Linux网络基础
etony C.F.AN etony@tom.com
v0.0.1, 2006-7-23
--------------------------------------------------------------------------------
本文档主要介绍讲述在 Debian系统下有关网络的一些基本信息.
------------------------------------------------------- ......
DMAI(DaVinci Multimedia Application Interface)是DSP提供给ARM端应用程序的调用接口,DSP也是依赖于DSPLINK的。 DMAI中也提供了许多VISA (video, imaging, speech and audio)编解码的实例。DMAI提供的是一种功能的抽象,而在具体实现上,不同硬件平台,不同系统是不一个样的。另外,由于DMAI是以源代码的形式提供的,所以 ......
查看当前配置字符集 locale
查看全部字符集 locale -a
设置字符集 export LANG=zh_CN.gbk
easy
tcpdump 一个linux监听网络访问的工具
监听服务器及端口
tcpdump -nn -i eth0 src host www.codigg.com and src port 80
正在使用的sql
tcpdump -s 0 -l -w - dst port 3306 | strings ......
UNIX是历史最悠久的通用操作系统。1969年,美国贝尔实验室的K.Thompson和D.M.Ritchie在规模较小及较简单的分时操作系统MULTICS的基础上开发出UNIX, 当时是在DEC的PDP—7小型计算机上实现的,1970年正式投入运行。此后数年,UNIX一直是一个限于在AT&T内部使用的操作系统。1971年,发展出以 PDP- ......