⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1.htm

📁 Linux内核源代码分析(水木清华
💻 HTM
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>CTerm非常精华下载</title>
</head>
<body bgcolor="#FFFFFF">
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="577">
<tr><td width="32%" rowspan="3" height="123"><img src="DDl_back.jpg" width="300" height="129" alt="DDl_back.jpg"></td><td width="30%" background="DDl_back2.jpg" height="35"><p align="center"><a href="http://bbs.tsinghua.edu.cn"><font face="黑体"><big><big>水木清华★</big></big></font></a></td></tr>
<tr>
<td width="68%" background="DDl_back2.jpg" height="44"><big><big><font face="黑体"><p align="center">               内核源代码分析                        (BM: suzhe)                </font></big></big></td></tr>
<tr>
<td width="68%" height="44" bgcolor="#000000"><font face="黑体"><big><big><p   align="center"></big></big><a href="http://cterm.163.net"><img src="banner.gif" width="400" height="60" alt="banner.gif"border="0"></a></font></td>
</tr>
<tr><td width="100%" colspan="2" height="100" align="center" valign="top"><br><p align="center">[<a href="index.htm">回到开始</a>][<a href="index.htm">上一层</a>][<a href="2.htm">下一篇</a>]
<hr><p align="left"><small>发信人: axp33a (无聊中...), 信区: Linux <br>

标  题: Linux内核源代码分析 <br>

发信站: BBS 水木清华站 (Thu Aug  3 11:14:21 2000) WWW-POST <br>

  <br>

Linux 与自由软件资源丛书 <br>

Linux内核源代码分析 <br>

(美) Scott Maxwell   著 <br>

冯锐   邢飞   刘隆国   陆丽娜   译 <br>

  <br>

Linux 拥有现代操作系统所有的功能,如真正的抢先式多任务处理、支持多用户,内存保 <br>

护,虚拟内存,支持SMP、UP,符合POSIX标准,联网、图形用户接口和桌面环境。具有快 <br>

速性、稳定性等特点。本书通过分析Linux的内核源代码,充分揭示了Linux作为操作系统 <br>

的内核是如何完成保证系统正常运行、协调多个并发进程、管理内存等工作的。 <br>

现实中,能让人自由获取的系统源代码并不多,通过本书的学习,将大大有助于读者编写 <br>

自己的新程序。本书附赠光盘,有关光盘内容请见附录C。 <br>

  <br>

Scott Maxwell:Linux Core Kernel Commentary. <br>

Original English language edition published by The Coriolis Group LLC, 14455 <br>

N.Hayden Drive, Suite 220, Scottsdale, Arizona 85260 USA, telephone(602) <br>

483-0192, fax(602) 483-0193. <br>

Copyright * 2000 by The Coriolis Group. All rights reserved. <br>

Simplified Chinese language edition copyright * 2000 by China Machine Press. <br>

All rights reserved. <br>



本书中文版由美国Coriolis公司授权机械工业出版社独家出版。未经出版者书面许可,不 <br>

得以任何方式复制或抄袭本书内容。 <br>

版权所有,侵权必究。 <br>

本书版权登记号:图字:01-2000-1157 <br>

图书在版编目(CIP)数据 <br>

Linux 内核源代码分析/(美)马克斯韦尔(Maxwel 1,S.)著;冯锐等译. -北京:机 <br>

械工业出版社,2000.6 <br>

(Linux 与自由软件资源丛书) <br>

书名原文:Linux Core Kernel Commentary <br>

ISBN 7-111-08092-0 <br>

I. L…  II. ①马…  ②冯…  III. Linux 操作系统-程序分析   IV.TP316.89 <br>

中国版本图书馆CIP数据核字(2000)第32493号 <br>

  <br>

机械工业出版社(北京市西城区百万庄大街22号     邮政编码 100037) <br>

责任编辑:刘立卿 <br>

                          印刷·新华书店北京发行所发行 <br>

2000年6月第1版第1次印刷 <br>

787mm×1092 mm  1/16·40.25印张 <br>

印数:0 001-7 000册 <br>

定价:98.00元(附光盘) <br>

凡购本书,如有倒页、脱页、缺页,由本社发行部调换 <br>

译者序 <br>

译者序 <br>

前言 <br>

第一部分   Linux 内核源代码 <br>

arch/i386/kernel/entry.S        2 <br>

arch/i386/kernel/init_task.c    8 <br>

arch/i386/kernel/irq.c  8 <br>

arch/i386/kernel/irq.h  19 <br>

arch/i386/kernel/process.c      22 <br>

arch/i386/kernel/signal.c       30 <br>

arch/i386/kernel/smp.c  38 <br>

arch/i386/kernel/time.c         58 <br>

arch/i386/kernel/traps.c        65 <br>

arch/i386/lib/delay.c   73 <br>

arch/i386/mm/fault.c    74 <br>

arch/i386/mm/init.c     76 <br>

fs/binfmt-elf.c         82 <br>

fs/binfmt_java.c        96 <br>

fs/exec.c       98 <br>

include/asm-generic/smplock.h   107 <br>

include/asm-i386/atomic.h       108 <br>

include/asm-i386/current.h      109 <br>

include/asm-i386/dma.h  109 <br>

include/asm-i386/elf.h  113 <br>



include/asm-i386/hardirq.h      114 <br>

include/asm-i386/page.h         114 <br>

include/asm-i386/pgtable.h      115 <br>

include/asm-i386/ptrace.h       122 <br>

include/asm-i386/semaphore.h    123 <br>

include/asm-i386/shmparam.h     124 <br>

include/asm-i386/sigcontext.h   125 <br>

include/asm-i386/siginfo.h      125 <br>

include/asm-i386/signal.h       127 <br>

include/asm-i386/smp.h  130 <br>

include/asm-i386/softirq.h      132 <br>

include/asm-i386/spinlock.h     133 <br>

include/asm-i386/system.h       137 <br>

include/asm-i386/uaccess.h      139 <br>

include/linux/binfmts.h 146 <br>

include/linux/capability.h      147 <br>

include/linux/elf.h     150 <br>

include/linux/elfcore.h 156 <br>

include/linux/interrupt.h       157 <br>

include/linux/kernel.h  158 <br>

include/linux/kernel_stat.h     159 <br>

include/linux/limits.h  160 <br>



include/linux/mm.h      160 <br>

include/linux/module.h  164 <br>

include/linux/msg.h     168 <br>

include/linux/personality.h     169 <br>

include/linux/reboot.h  169 <br>

include/linux/resource.h        170 <br>

include/linux/sched.h   171 <br>

include/linux/sem.h     179 <br>

include/linux/shm.h     180 <br>

include/linux/signal.h  181 <br>

include/linux/slab.h    184 <br>

include/linux/smp.h     184 <br>

include/linux/smp_lock.h        185 <br>

include/linux/swap.h    185 <br>

include/linux/swapctl.h 187 <br>

include/linux/sysctl.h  188 <br>

include/linux/tasks.h   194 <br>

include/linux/time.h    194 <br>

include/linux/timer.h   195 <br>

include/linux/times.h   196 <br>

include/linux/tqueue.h  196 <br>

include/linux/wait.h    198 <br>



init/main.c     198 <br>

init/version.c  212 <br>

ipc/msg.c       213 <br>

ipc/sem.c       218 <br>

ipc/shm.c       227 <br>

ipc/util.c      236 <br>

kernel/capability.c     237 <br>

kernel/dma.c    240 <br>

kernel/exec_domain.c    241 <br>

kernel/exit.c   242 <br>

kernel/fork.c   248 <br>

kernel/info.c   255 <br>

kernel/itimer.c         255 <br>

kernel/kmod.c   257 <br>

kernel/module.c         259 <br>

kernel/panic.c  270 <br>

kernel/printk.c 271 <br>

kernel/sched.c  275 <br>

kernel/signal.c         295 <br>

kernel/softirq.c        307 <br>

kernel/sys.c    307 <br>

kernel/sysctl.c 318 <br>



kernel/time.c   330 <br>

mm/memory.c     335 <br>

mm/mlock.c      345 <br>

mm/mmap.c       348 <br>

mm/mprotect.c   358 <br>

mm/mremap.c     361 <br>

mm/page_alloc.c 363 <br>

mm/page_io.c    368 <br>

mm/slab.c       372 <br>

mm/swap.c       394 <br>

mm/swap_state.c         395 <br>

mm/swapfile.c   398 <br>

mm/vmalloc.c    406 <br>

mm/vmscan.c     409 <br>

第二部分   Linux 内核源代码分析 <br>

第1章   Linux简介       416 <br>

1.1   Linux和Unix的简明历史     416 <br>

1.2   GNU通用公共许可证 418 <br>

1.3   Linux开发过程     419 <br>

第2章   代码初识        421 <br>

2.1   Linux内核源程序的部分特点 421 <br>

2.1.1   gcc特性的使用   421 <br>



2.1.2   内核代码习惯用语        422 <br>

2.1.3   减少#if和#ifdef的使用   423 <br>

2.2   代码样例  424 <br>

2.2.1   printk  424 <br>

2.2.2   等待队列        429 <br>

2.2.3   内核模块        432 <br>

2.3   配置与编译内核    434 <br>

2.3.1   配置内核        434 <br>

2.3.2   构建内核        436 <br>

2.3.3   备份的重要性    436 <br>

2.3.4   发布你的改进    437 <br>

第3章   内核体系结构概述        439 <br>

3.1   内核设计目标      439 <br>

3.1.1   清晰性  439 <br>

3.1.2   兼容性  439 <br>

3.1.3   可移植性        440 <br>

3.1.4   健壮性和安全性  440 <br>

3.1.5   速度    441 <br>

3.2   内核体系结构初识  441 <br>

3.3   内核体系结构的深入了解    442 <br>

3.4   Linux 内核的类型  444 <br>

3.5   设计和实现的关系  446 <br>



3.5.1   内核源程序目录结构      446 <br>

3.5.2   体系结构相关和体系结构无关的 <br>

代码    450 <br>

第4章   系统初始化      451 <br>

4.1   引导PC机  451 <br>

4.2   初始化Linux内核   452 <br>

4.2.1   BogoMIPS        455 <br>

4.2.2   分析内核选项    456 <br>

4.3   init      459 <br>

第5章   系统调用        462 <br>

5.1   什么是系统调用    462 <br>

5.2   如何激活系统调用  463 <br>

5.2.1   system_call     464 <br>

5.2.2   lcall7  468 <br>

5.3   系统调用样例      469 <br>

第6章   信号、中断和时间        474 <br>

6.1   锁的概述  474 <br>

6.2   信号      474 <br>

6.2.1   数据结构        475 <br>

6.2.2   应用函数        476 <br>

6.2.3   传送信号        480 <br>

6.2.4   其他有关信号的函数      489 <br>



6.2.5   内核如何区分实时信号和非 <br>

实时信号        491 <br>

6.3   中断      492 <br>

6.3.1   中断请求:IRQ   492 <br>

6.3.2   下半部分        493 <br>

6.3.3   数据结构        493 <br>

6.3.4   操作和IRQ       496 <br>

6.3.5   硬件中断处理程序和下半部分      499 <br>

6.4   时间      502 <br>

第7章   进程和线程      505 <br>

7.1   调度和时间片      505 <br>

7.2   实时进程  506 <br>

7.3   优先级    506 <br>

7.4   进程ID:PID       506 <br>

7.5   引用计数  506 <br>

7.6   权能      507 <br>

7.7   进程在内核中是如何表示的  508 <br>

7.8   进程来源:fork和_ _clone  511 <br>

7.9   运行新程序        514 <br>

7.10   可执行格式       517 <br>

7.11   调度及它们是如何运行的   519 <br>

7.11.1   调度函数和调度策略     519 <br>



7.11.2   计算goodness值 522 <br>

7.11.3   非实时优先级   523 <br>

7.11.4   实时优先级     525 <br>

7.12   遵守限制 526 <br>

7.12.1   权能   526 <br>

7.12.2   用户ID和组ID   529 <br>

7.12.3   资源限制       530 <br>

7.13   进程的结束       530 <br>

7.13.1   exit   530 <br>

7.13.2   wait   532 <br>

第8章   内存    535 <br>

8.1   虚拟内存  535 <br>

8.1.1   交换和分页      536 <br>

8.1.2   地址空间        537 <br>

8.1.3   内存管理单元    537 <br>

8.1.4   页目录和页表    538 <br>

8.1.5   转换后备缓存    540 <br>

8.1.6   段      540 <br>

8.2   进程的内存组织    541 <br>

8.2.1   struct vm_area_struct   541 <br>

8.2.2   struct vm_operations_struct     542 <br>

8.2.3   struct mm_struct        542 <br>



8.2.4   VMA的操作       542 <br>

8.3   分页      544 <br>

8.3.1   页面保护详述    544 <br>

8.3.2   写拷贝  545 <br>

8.3.3   页面错误        546 <br>

8.3.4   页面调出        551 <br>

8.4   交换设备  552 <br>

8.5   内存映射mmap      556 <br>

8.6   用户空间和内核空间的动态内存      560 <br>

8.6.1   brk     561 <br>

8.6.2   vmalloc和vfree  562 <br>

8.7   主存储器信息转储  565 <br>

第9章   System V IPC    568 <br>

9.1   消息队列  568 <br>

9.2   信号量    581 <br>

9.3   共享内存  590 <br>

第10章   对称多处理     596 <br>

10.1   并行程序设计概念及其原语 597 <br>

10.1.1   原子操作       597 <br>

10.1.2   test-and-set   599 <br>

10.1.3   信号量 600 <br>

10.1.4   自旋锁 604 <br>



10.2   APIC和CPU-To-CPU通信     607 <br>

10.3   SMP支持如何影响内核      607 <br>

10.3.1   对调度的影响   607 <br>

10.3.2   smp_local_timer_interrupt      610 <br>

10.3.3   lock_kernel和unlock_kernel     611 <br>

10.3.4   softirq_trylock        612 <br>

10.3.5   cli和sti       612 <br>

10.3.6   irq_enter和irq_exit    613 <br>

第11章   可调内核参数   614 <br>

11.1   /proc/sys 支持   616 <br>

11.2   sysctl系统调用   621 <br>

附录A   Linux 2.4       627 <br>

附录B   GNU通用公共许可证       629 <br>

附录C   光盘上的内容及系统需求  634 <br>

  <br>

-- <br>

※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.196.22] <br>

</small><hr>
<p align="center">[<a href="index.htm">回到开始</a>][<a href="index.htm">上一层</a>][<a href="2.htm">下一篇</a>]
<p align="center"><a href="http://cterm.163.net">欢迎访问Cterm主页</a></p>
</table>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -