易截截图软件、单文件、免安装、纯绿色、仅160KB

linux启动过程浅析(3)


这是本文得第三部分,在前两部分中,我已经讲述了Linux操作系统是如何被机器boot到,并且load到制定的内存地址的.我们将继续第二部分的内
容,看看操作系统在完成了bootsect.s和setup.s的运行后,在head.s中做了些什么.
让我们回忆一下,在setup.s中,我们把整个system模块从地址0x10000出往下移动了0x10000的距离,也就是说,现在system模块已经位于0x0000地
址上了.而且,由于head.s会被编译到system模块的最前处,所以在head.s开始运行是,程序计数器指向的位置其实是0x0000处.
从这段程序开始,Linux应该算已经被正式load完成了,并且也顺利进入了保护模式.接下来的工作,就想所有具有一定规模的系统一样,需要开始
初始化了.我根据编程语会有对系统的进一步初始化言的区别,将Linux的初始化过程分为两部分.第一部分为head.s中的初始化工作,可以称之为
asm初始化.而接下来系统将会进入的main()函数中,,可以称之为c初始化.让我们先来看一看asm初始化的过程:
.text
.globl idt,gdt,pg_dir,tmp_floppy_area
pg_dir:
.globl startup_32
startup_32:
 movl $0x10,%eax
 mov %ax,%ds
 mov %ax,%es
 mov %ax,%fs
 mov %ax,%gs
首先出现的这一段作用是把ds,es,fs,gs段寄存器的内容全部指向在setup.s中设置的GDT的数据段.是否还记得,在GDT中我们定义了三个段描述
符,第一个为全零,其实是弃之不用的,第二个与第三个都指向了地址0x0000处,分别为代码段和数据段. 需要注意的是,我们已经进入了保护模式
,也就是说现在段寄存器中存放的已经不应该是段的起始地址了,而是应该为段选择符. 在movl $0x10,%eax中,直接数0x10展开成二进制既
是:0000000000010000. 对于intel 80x86系列的CPU来说,选择符的0位和1位表示特权级别, 2位是TI(table indicator),它为0时表示使用GDT,
为1时表示使用LDT.而从3位到15位才是需要选择的描述符的index.如图:
               +--------------------------------------------+
               +          INDEX             | TI  |   RPL   |
          


相关文档:

Linux iptable文档

总览
用iptables -ADC 来指定链的规

,-A添加 -D删除 -C 修改
iptables - [RI] chain rule num rule-specification[option]
用iptables - RI 通过规则的顺序指定
iptables -D chain rule num[option]
删除指定规则
iptables -[LFZ] [chain][option]
用iptables -LFZ 链名 [选项]
iptables -[NX] chain
用 -NX ......

LINUX RTAI中.runinfo文件详解(英文)


Description of the "runinfo" format
-----------------------------------
Purpose of the "runinfo" files
------------------------------
"runinfo" files found in the source tree allow the "rtai-load" script
(see rtai-core/scripts/rtai-load) to retrieve the information it needs
to execute a RTAI ......

Linux 文件类型的判断 (转)

Linux下可以用ls –l 命令来判断文件类型,如上 图所示。可以依据第一列中的10个字符来判断。
  • -rw-r—r—指明了1.txt文件是一个普通文件,1.txt和myprog04文件都是普通文件。以”-“开头的都是普通文件,而以”d”开头的是目录文件。
  • brw-rw---- 指明了/dev/sd ......

Linux文件类型的判断

Linux下可以用ls –l 命令来判断文件类型,如上 图所示。可以依据第一列中的10个字符来判断。
  • -rw-r—r—指明了1.txt文件是一个普通文件,1.txt和myprog04文件都是普通文件。以”-“开头的都是普通文件,而以”d”开头的是目录文件。
  • brw-rw---- 指明了/dev/sd ......

Linux性能调优

概述
1. “/etc/profile”文件
2. “bdflush”参数
3. “ip_local_port_range”参数
4. “/etc/nsswitch.conf”文件
5. “/proc”文件系统
6. “ulimit”参数
7. 增加系统打开的文件数目
8. 文件“atime”属性
9. 文件的“noatime&rd ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号