免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: zalem
打印 上一主题 下一主题

Linux2.4内核内部分析报告(初稿4)[译文][进行中] [复制链接]

论坛徽章:
0
21 [报告]
发表于 2005-10-10 10:18 |只看该作者

Linux2.4内核内部分析报告(初稿4)[译文][进行中]

能下载就好了……
一页一页地翻着看真累

论坛徽章:
0
22 [报告]
发表于 2005-10-10 11:29 |只看该作者

Linux2.4内核内部分析报告(初稿4)[译文][进行中]

顶!先保存下来慢慢看!

论坛徽章:
0
23 [报告]
发表于 2005-10-10 12:07 |只看该作者

Linux2.4内核内部分析报告(初稿4)[译文][进行中]

>;>;进程是否接收到信号将在系统调用出口/异常控制函数出口/中断控制函数出口处被检测(与软中断的检测(zalem note:int 0x80)基本相同)。

2.4是这样,2.6就不对了。后者提供了ksoftirqd/[CPU号]线程,专门处理softirq,所以异常返回时不再检查softirq。

另外,我怀疑这个文档不是2.4的,因为task queue在2.3开发版就已经废除了,2.4中已经没有task queue了,取而代之的是work queue。

上面这段话我说错了,2.3没有废除task queue,废除它的是2.5.

论坛徽章:
0
24 [报告]
发表于 2005-10-10 12:15 |只看该作者

Linux2.4内核内部分析报告(初稿4)[译文][进行中]

我边看边给些评注吧,本来想在楼主的译文上加注释,但是那样就分不清出哪些是楼主的译文,哪些是加的评注了。

>;>;没有使用中断堆栈而是工作于内核堆栈上(Intel CPU)
这个也不一定。Intel CPU如果内核栈配置很小的话,中断可以选择使用独立的栈,而不去占用被中断进程的。这样是为了系统可以有更多的进程。

>;>;Linux中为禁止和解除禁止准备了cli(),sti()函数。
这两个函数是SMP上全局禁止中断的。cli()之后,所有CPU的Maskable Interrupts通通屏蔽,这样非常消耗系统性能。因此,2.6中这两个函数消失了,这样强迫每一个内核程序员去使用细粒度的(fine-grained)锁

论坛徽章:
0
25 [报告]
发表于 2005-10-10 12:26 |只看该作者

Linux2.4内核内部分析报告(初稿4)[译文][进行中]

原帖由 "albcamus" 发表:
程,专门处理softirq,所以异常返回时不再检查softirq。

另外,我怀疑这个文档不是2.4的,因为task queue在2.3开发版就已经废除了,2.4中已经没有task queue了,取而代之的是work queue。



谢谢albcamus斧正,这是文档的改订时间线:

版本              改版日時          改版内容                                                    改版者
-----          ----------        ---------                                              ---------
draft1             2000.5.1         基于Linux2.3.99作先行调查                       高橋浩和
draft2             2000.6.18         追加内存管理部分(基于Linux2.3.99)        高橋浩和
                                  追加文件系统部分       
draft3             2000.7.2         追加网络管理部分(基于Linux2.3.99)         高橋浩和
draft4             2000.12.9         基于Linux2.4.0-test10修正                         高橋浩和

因为我完全没有接触过内核,发现这个文档很简洁的介绍了内核的大致实现流程,所以为了给了解内核作铺垫,就当作预备知识来去读它,而且文档本身很老,所以也知道不可全信

论坛徽章:
0
26 [报告]
发表于 2005-10-10 12:26 |只看该作者

Linux2.4内核内部分析报告(初稿4)[译文][进行中]

>;>;上下文的储存领域则使用进程的内核堆栈及struct_task中的领域(tss部分 – 关于tss的名称请参照Inter CPU的手册  zalem note:Task State Segment)

我觉得这里的说法是错误的。Linux中,进程切换的上下文全部存放在内核栈中,TSS是全局的,每个CPU只有一个TSS段(而不是Intel设想的每个进程一个),因此tss_struct->;esp0是当前进程的内核栈顶;tss_struct->;esp1是当前进程的用户栈顶。

论坛徽章:
0
27 [报告]
发表于 2005-10-10 12:28 |只看该作者

Linux2.4内核内部分析报告(初稿4)[译文][进行中]

还有,请问《Understanding the LINUX KERNEL》这本书有没有中文版?或者说英文有没有出第三版?

论坛徽章:
0
28 [报告]
发表于 2005-10-10 13:25 |只看该作者

Linux2.4内核内部分析报告(初稿4)[译文][进行中]

[quote]原帖由 "zalem"]还有,请问《Understanding the LINUX KERNEL》这本书有没有中文版?或者说英文有没有出第三版?[/quote 发表:


关于Linux内核的图书,我知道的基本好书,一一介绍一下:

1, 《linux内核设计与实现》,2.6内核的,中文,机械工业。英文有第二版,内容差不多。 此书非常适合入门,和获得一个overview of kernel。缺点:太薄,不够深入。
2, 《深入理解Linux内核》。2nd是基于2.4的,也是目前(2005年)中文版(第二版)的蓝本。(没买,不过看过第一版,感觉很好,而且别人也这么说)
3, 《Linux内核源代码情景分析》。上下册,是一本独一无二的巨著。讲解是同类著作中最深入的,可惜2.4.0的,有点老,而且没听说会出新版。缺点:绝对不适合新手入门。

Understanding the Linux Kernel的3rd英文版居O'Reilly官方说法是预计今年11月出版。

论坛徽章:
0
29 [报告]
发表于 2005-10-10 13:29 |只看该作者

Linux2.4内核内部分析报告(初稿4)[译文][进行中]

另外还有一本不是Linux的书,《Unix System for Modern Architectures》,1994年英文版,人民邮电2003年中文版《现代体系结构上的Unix系统:内核程序员的SMP和Caching技术》。是一本专门讲解Cache和SMP对于OS内核的设计的影响的书,对于任何一个Unix内核都是适用的,翻译也很好。

论坛徽章:
0
30 [报告]
发表于 2005-10-10 14:10 |只看该作者

Linux2.4内核内部分析报告(初稿4)[译文][进行中]

看这个,对我来说有点困难。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP