Linux内核源代码分析-目录
第一部分 Linux 內核源代碼
arch/i386/kernel/entry.S 2
arch/i386/kernel/init_task.c 8
arch/i386/kernel/irq.c 8
arch/i386/kernel/irq.h 19
arch/i386/kernel/process.c 22
arch/i386/kernel/signal.c 30
arch/i386/kernel/smp.c 38
arch/i386/kernel/time.c 58
arch/i386/kernel/traps.c 65
arch/i386/lib/delay.c 73
arch/i386/mm/fault.c 74
arch/i386/mm/init.c 76
fs/binfmt-elf.c 82
fs/binfmt_java.c 96
fs/exec.c 98
include/asm-generic/smplock.h 107
include/asm-i386/atomic.h 108
include/asm-i386/current.h 109
include/asm-i386/dma.h 109
include/asm-i386/elf.h 113
include/asm-i386/hardirq.h 114
include/asm-i386/page.h 114
include/asm-i386/pgtable.h 115
include/asm-i386/ptrace.h 122
include/asm-i386/semaphore.h 123
include/asm-i386/shmparam.h 124
include/asm-i386/sigcontext.h 125
include/asm-i386/siginfo.h 125
include/asm-i386/signal.h 127
include/asm-i386/smp.h 130
include/asm-i386/softirq.h 132
include/asm-i386/spinlock.h 133
include/asm-i386/system.h 137
include/asm-i386/uaccess.h 139
include/linux/binfmts.h 146
include/linux/capability.h 147
include/linux/elf.h 150
include/linux/elfcore.h 156
include/linux/interrupt.h 157
include/linux/kernel.h 158
include/linux/kernel_stat.h 159
include/linux/limits.h 160
include/linux/mm.h 160
include/linux/module.h 164
include/linux/msg.h 168
include/linux/personality.h 169
include/linux/reboot.h 169
include/linux/resource.h 170
include/linux/sched.h 171
include/linux/sem.h 179
include/linux/shm.h 180
include/linux/signal.h 181
include/linux/slab.h 184
include/linux/smp.h 184
include/linux/smp_lock.h 185
include/linux/swap.h 185
include/linux/swapctl.h 187
include/linux/sysctl.h 188
include/linux/tasks.h 194
include/linux/time.h 194
include/linux/timer.h 195
include/linux/times.h 196
include/linux/tqueue.h 196
include/linux/wait.h 198
init/main.c 198
init/version.c 212
ipc/msg.c 213
ipc/sem.c 218
ipc/shm.c 227
ipc/util.c 236
kernel/capability.c 237
kernel/dma.c 240
kernel/exec_domain.c 241
kernel/exit.c 242
kernel/fork.c 248
kernel/info.c 255
kernel/itimer.c 255
kernel/kmod.c 257
kernel/module.c 259
kernel/panic.c 270
kernel/printk.c 271
kernel/sched.c 275
kernel/signal.c 295
kernel/softirq.c 307
kernel/sys.c 307
kernel/sysctl.c 318
kernel/time.c 330
mm/memory.c 335
mm/mlock.c 345
mm/mmap.c 348
mm/mprotect.c 358
mm/mremap.c 361
mm/page_alloc.c 363
mm/page_io.c 368
mm/slab.c 372
mm/swap.c 394
mm/swap_state.c 395
mm/swapfile.c 398
mm/vmalloc.c 406
mm/vmscan.c 409
第二部分 Linux 內核源代碼分析
第1章 Linux簡介 416
1.1 Linux和Unix的簡明歷史 416
1.2 GNU通用公共許可證 418
1.3 Linux開發過程 419
第2章 代碼初識 421
2.1 Linux內核源程序的部分特點 421
2.1.1 gcc特性的使用 421
2.1.2 內核代碼習慣用語 422
2.1.3 減少#if和#ifdef的使用 423
2.2 代碼樣例 424
2.2.1 printk 424
2.2.2 等待隊列 429
2.2.3 內核模塊 432
2.3 配置與編譯內核 434
2.3.1 配置內核 434
2.3.2 構建內核 436
2.3.3 備份的重要性 436
2.3.4 發布你的改進 437
第3章 內核體系結構概述 439
3.1 內核設計目標 439
3.1.1 清晰性 439
3.1.2 兼容性 439
3.1.3 可移植性 440
3.1.4 健壯性和安全性 440
3.1.5 速度 441
3.2 內核體系結構初識 441
3.3 內核體系結構的深入了解 442
3.4 Linux 內核的類型 444
3.5 設計和實現的關系 446
3.5.1 內核源程序目錄結構 446
3.5.2 體系結構相關和體系結構無關的
代碼 450
第4章 系統初始化 451
4.1 引導PC機 451
4.2 初始化Linux內核 452
4.2.1 BogoMIPS 455
4.2.2 分析內核選項 456
4.3 init 459
第5章 系統調用 462
5.1 什么是系統調用 462
5.2 如何激活系統調用 463
5.2.1 system_call 464
5.2.2 lcall7 468
5.3 系統調用樣例 469
第6章 信號、中斷和時間 474
6.1 鎖的概述 474
6.2 信號 474
6.2.1 數據結構 475
6.2.2 應用函數 476
6.2.3 傳送信號 480
6.2.4 其他有關信號的函數 489
6.2.5 內核如何區分實時信號和非
實時信號 491
6.3 中斷 492
6.3.1 中斷請求:IRQ 492
6.3.2 下半部分 493
6.3.3 數據結構 493
6.3.4 操作和IRQ 496
6.3.5 硬件中斷處理程序和下半部分 499
6.4 時間 502
第7章 進程和線程 505
7.1 調度和時間片 505
7.2 實時進程 506
7.3 優先級 506
7.4 進程ID:PID 506
7.5 引用計數 506
7.6 權能 507
7.7 進程在內核中是如何表示的 508
7.8 進程來源:fork和_ _clone 511
7.9 運行新程序 514
7.10 可執行格式 517
7.11 調度及它們是如何運行的 519
7.11.1 調度函數和調度策略 519
7.11.2 計算goodness值 522
7.11.3 非實時優先級 523
7.11.4 實時優先級 525
7.12 遵守限制 526
7.12.1 權能 526
7.12.2 用戶ID和組ID 529
7.12.3 資源限制 530
7.13 進程的結束 530
7.13.1 exit 530
7.13.2 wait 532
第8章 內存 535
8.1 虛擬內存 535
8.1.1 交換和分頁 536
8.1.2 地址空間 537
8.1.3 內存管理單元 537
8.1.4 頁目錄和頁表 538
8.1.5 轉換后備緩存 540
8.1.6 段 540
8.2 進程的內存組織 541
8.2.1 struct vm_area_struct 541
8.2.2 struct vm_operations_struct 542
8.2.3 struct mm_struct 542
8.2.4 VMA的操作 542
8.3 分頁 544
8.3.1 頁面保護詳述 544
8.3.2 寫拷貝 545
8.3.3 頁面錯誤 546
8.3.4 頁面調出 551
8.4 交換設備 552
8.5 內存映射mmap 556
8.6 用戶空間和內核空間的動態內存 560
8.6.1 brk 561
8.6.2 vmalloc和vfree 562
8.7 主存儲器信息轉儲 565
第9章 System V IPC 568
9.1 消息隊列 568
9.2 信號量 581
9.3 共享內存 590
第10章 對稱多處理 596
10.1 并行程序設計概念及其原語 597
10.1.1 原子操作 597
10.1.2 test-and-set 599
10.1.3 信號量 600
10.1.4 自旋鎖 604
10.2 APIC和CPU-To-CPU通信 607
10.3 SMP支持如何影響內核 607
10.3.1 對調度的影響 607
10.3.2 smp_local_timer_interrupt 610
10.3.3 lock_kernel和unlock_kernel 611
10.3.4 softirq_trylock 612
10.3.5 cli和sti 612
10.3.6 irq_enter和irq_exit 613
第11章 可調內核參數 614
11.1 /proc/sys 支持 616
11.2 sysctl系統調用 621?
總結
以上是生活随笔為你收集整理的Linux内核源代码分析-目录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C眼看J - 初窥JAVA
- 下一篇: XP访问Linux共享错误提示