Linux内核初始化及启动之用户模式开始
PCI: bus0: Fast back to back transfers disabled
PCI: Configured XX as a PCI slave with 128MB PCI memory
PCI: Each Region size is 16384KB
PCI: Reserved memory from 0x10080000 to 0x15080000 for DMA and mapped to 0x12000000
设备的初始化 init()--->do_basic_init()--->pci_init(),初始化PCI,检测系统的PCI设备。
Linux NET4.0 for Linux 2.4Based upon Swansea University Computer Society NET3.039
英国威尔士,斯旺西大学的NET3.039, TCP/IP 协议栈
此信息,在linux启动过程中都会出现。
Initializing RT netlink socket
对Socket的初始化,socket_init(),Netlink 一种路由器管理协议(linux-2.4.22\net\core\Rtnetlink.c,Routing netlink socket interface: protocol independent part。 其中RT是route路由的意思。这句输出是在create产生rtnetlink的socket套接字时的一个调试输出。)
此信息,在linux启动过程中都会出现。
Starting kswapd
启动交换守护进程kswapd,进程IO操作例程kpiod
kswapd可以配合kpiod运行。进程有时候无事可做,当它运行时也不一定需要把其所有的代码和数据都放在内存中。这就意味着我们可以通过把运行中程序不用的内容切换到交换分区来更好的是利用内存。大约每隔1秒,kswapd醒来并检查内存情况。如果在硬盘的东西要读入内存,或者内存可用空间不足,kpiod就会被调用来做移入/移出操作。kswapd负责检查,kpiod负责移动。
Journalled Block Device driver loaded
加载日志块设备驱动。
日志块设备是用来对文件系统进行日志记录的一个块设备。日志文件系统是在传统文件系统的基础上,加入文件系统更改的日志记录。
它的设计思想是:跟踪记录文件系统的变化,并将变化内容记录入日志。日志文件系统在磁盘分区中保存有日志记录,写操作首先是对记录文件进行操作,若整个写操作由于某种原因(如系统掉电)而中断,系统重启时,会根据日志记录来恢复中断前的写操作。在日志文件系统中,所有的文件系统的变化都被记录到日志,每隔一定时间,文件系统会将更新后的元数据及文件内容写入磁盘。在对元数据做任何改变以前,文件系统驱动程序会向日志中写入一个条目,这个条目描述了它将要做些什么,然后它修改元数据。
devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)devfs: boot_options: 0x1
Devfs模块的输出信息。
设备文件系统devfs,版本1.12c,
pty: 256 Unix98 ptys configured
Pty模块的输出信息,与控制台操作有关的设置。
将通过 devpts 文件系统使用 Unix98 PTYs,(Pseudo-ttys (telnet etc) device是伪ttys设备的缩写。
① TTY(/dev/tty)是TeleTYpe的一个老缩写,为用户输入提供不同控制台的设备驱动程序。它的名字来源于实际挂接到 UNIX系统的、被称为电传打字机(teletype)的终端。在Linux下,这些文件提供对虚拟控制台的支持,可以通过按到键来访问这些虚拟控制台。这些虚拟控制台提供独立的、同时进行的本地登录对话过程
② ttys(/dev/ttys)是计算机终端的串行接口。/dev/ttyS0对应MS-DOS下的 COM1。
使用 make dev脚本MAKEDEV来建立pty文件。这样系统内核就支持Unix98风格的pty了。在进行Telnet登录时将要用到/dev/pty设备。 pty是伪终端设备,在远程登录等需要以终端方式进行连接,但又并非真实终端的应用程序中必须使用这种设备,如telnet或xterm等程序。Linux 2.2以后增添了UNIX98风格的Pty设备,它使用一个新的文件系统(devpts针对伪终端的文件系统)和一个克隆的设备cloning device来实现其功能。
linux-2.4.22\drivers\char\Pty.c, 在devfs_mk_dir (NULL, "pts", NULL);时会输出上面的信息。
loop: loaded (max 8 devices)
加载返还块设备驱动,最多支持8个设备
8139too Fast Ethernet driver 0.9.27eth0: RealTek RTL8139 at 0x60112000, 00:10:0d:42:a0:03, IRQ 14eth0: Identified 8139 chip type 'RTL-8100B/8139D'
网卡驱动,基地址为:0x60112000, MAC地址:00:10:0d:42:a0:03, 中断号:14
RTL8139 的接收路径设计成一个环形缓冲区(一段线性的内存,映射成一个环形内存)。当设备接收到数据时,数据的内容就保存在这个环形缓冲区内并更新下个存储数据的地址(第一个数据包的开始地址+第一个数据包的长度)。设备会一直保留缓冲区内的数据直到整个缓冲区耗尽。这样,设备会再次重写缓冲区内起始位置的内容,就像一个环那样。