日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

一 讀核日記( 二 )


【一 讀核日記】pci_init() 對(duì)pci 設(shè)備的初始化( 在main.c文件中有這樣一段 ifdef PCI …..需要看一下)下面打印出結(jié)果:
PCI: PCI BIOS revision 2.10 entry at 0xfd8d1
PCI: Using configuration type 1
PCI: Probing PCI hardware
對(duì)Socket的初始化,socket_init() (這里也許就是linux 的網(wǎng)絡(luò)秘密所在吧,以后我的注意) -Linux NET4.0 for Linux 2.2
Based upon Swansea University Computer Society NET3.039
NET4: Unix domain sockets 1.0 for Linux NET4.0.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
Starting kswapd v 1.5 kswapd_setup()
調(diào)用 device_setup()
Detected PS/2 Mouse Port.
初始化 聲卡
Sound initialization started
Sound initialization complete
初始化 軟驅(qū)
Floppy drive(s): fd0 is 1.44M
FDC 0 is a National Semiconductor PC87306
SCSI 設(shè)備的初始化
(scsi0)found at PCI 13/0
(scsi0) Wide Channel, SCSI ID=7, 16/255 SCBs
(scsi0) Downloading sequencer code... 419 instructions downloaded
scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.1.10/3.2.4
scsi : 1 host.
Vendor: SEAGATE Model: ST32155W Rev: 0596
ype: Direct-Access ANSI SCSI revision: 02
Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
Vendor: SEAGATE Model: ST32155W Rev: 0596
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi disk sdb at scsi0, channel 0, id 1, lun 0
scsi : detected 2 SCSI disks total.
(scsi0:0:0:0) Synchronous at 40.0 Mbyte/sec, offset 8.
SCSI device sda: hdwr sector= 512 bytes. Sectors= 4197405 [2049 MB] [2.0 GB ](scsi0:0:1:0) Synchronous at 40.0 Mbyte/sec, offset 8.
SCSI device sdb: hdwr sector= 512 bytes. Sectors= 4197405 [2049 MB] [2.0 GB]Partition check: sda: sda1 |
sdb: sdb1 sdb2 < sdb5 sdb6 > |
安裝 文件系統(tǒng) filesystem_setup()
安裝設(shè)備驅(qū)動(dòng)程序 mount_root()
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 28k freed
Adding Swap: 66540k swap-space (priority -1)
Soundblaster audio driver Copyright (C) by Hannu Savolainen 1993-1996
SB 3.01 detected OK (220)
at 0x220 irq 5 dma 1
YM3812 and OPL-3 driver Copyright (C) by Hannu Savolainen, Rob Hooft 1993-1
996 at 0x388
NET4: AppleTalk 0.18 for Linux NET4.0
eth0: Intel EtherExpress Pro 10/100 at 0xf800, 00:A0:C9:49:2F:FF, IRQ 9.
Board assembly 645520-034, Physical connectors present: RJ45
Primary interface chip DP83840 PHY #1.
DP83840 specific setup, setting register 23 to 8462.
General self-test: passed.
Serial sub-system self-test: passed.
Internal registers self-test: passed.
ROM checksum self-test: passed (0x49caa8d6).
Receiver lock-up workaround activated.
NET4: AppleTalk 0.18 for Linux NET4.0
結(jié)束 do_basic_setup()
open("/dev/console", O_RDWR, 0)
開始執(zhí)行 /sbin/init ( execv(...) )
內(nèi)核就此啟動(dòng)完畢...
這樣一來系統(tǒng)在啟動(dòng)時(shí)需要的文件一目了然了.要讀啟動(dòng)這方面的源碼,大概也就可以這樣行動(dòng)即:
Boot/head.S
decompress_kernel(),然后按照個(gè)功能塊來讀取相應(yīng)的函數(shù).
其實(shí)對(duì)于整個(gè)kernel 來說,還應(yīng)該解讀一下makefile ,說實(shí)話在編程來講我是很愛寫 makefile ,然而解讀內(nèi)核,她就是工作十分難以進(jìn)行.好在有了souce insight 可以讓我們輕松的找到,函數(shù)和常量的定義, 方便不少.
打開main.c (其實(shí)我是將2.2.14解到了windows 下).發(fā)現(xiàn)有n 個(gè)函數(shù)與2n 個(gè)常量的定義,只有幾個(gè) init 函數(shù)在.對(duì)于其他的外部函數(shù)也定義了不少.這里卻沒有主函數(shù)—我現(xiàn)在懷疑linux 程序是否和vc 一樣不知道從哪里開始進(jìn)行:__).不過馬上明白了, 整個(gè)內(nèi)核事變?cè)谝粔K的. 還包括.存儲(chǔ)管理, 處理機(jī)管理, 內(nèi)存管理等許多模塊, 她該不會(huì)啟動(dòng)以后就沒有時(shí)刻干了吧

推薦閱讀