manULinux 发表于 2012-11-25 09:49

书中有错误,请改正。{:3_182:}

send_linux 发表于 2012-11-25 15:54

manULinux 发表于 2012-11-25 09:49 static/image/common/back.gif
书中有错误,请改正。

哪里?

manULinux 发表于 2012-11-26 10:03

回复 82# send_linux
最后一行中的“大部分” 吧 写成”大部头“ 了。



   

send_linux 发表于 2012-11-26 10:18

manULinux 发表于 2012-11-26 10:03 static/image/common/back.gif
回复 82# send_linux
最后一行中的“大部分” 吧 写成”大部头“ 了。

有“大部头”这个说法吧,就是厚、篇幅长的意思吧?

crazyhadoop 发表于 2012-11-26 23:22

回复 83# manULinux


    这个没有问题吧

zavakid 发表于 2012-11-28 18:40

讲一讲java开发为什么要关注底层的东西吧。

其实从学习里 开始学习 java 开始,觉得一次编译,到处运行,多酷啊!
但做久了,你需要理解高性能,多线程,java的内存模型等等,慢慢的,随着你的理解,就会发现这其实与底层知识离不开。

单就 java 一个 volatile 关键字,就需要你理解 cpu的缓存与主存同步问题。
看了java 的 内存模型,才发现这都是为了使用底层cpu和内存的工作机制而提出来的模型
看了 disruptor 之后,你会发现底层有个 false sharing 的问题
在 java 中使用 nio 编程时,你就发现同步,异步。但在底层,其实是使用了中断的异步机制,你会发现很有趣,想去了解底层的一些实现。

在学习 JVM 的时候,你会发现 jvm 的执行是基于栈的,那么你想了解jvm这个进程在机器上是怎么执行的吧,
基于栈和基于寄存器的执行模型各是什么样的?

之后需要使用数据库吧,比如 nosql 中的 Redis,为什么使用他时需要规划内存容量,避免当redis起复制进程时,走 swap。
为什么 TT 可以把文件映射到内存中来操作,什么是 page,什么是swap。

通过这些年的开发,发现一点,不管是在多高的抽象层面,都需要了解底层的一些东西,都是靠底层的东西实现的,一层又一层,很多事情现状的原因,往往是下一层面的现实决定的。
记得有人说过:你在开汽车的时候,你比骑自行车的人往上抽象一层,你可以不太关注路上的小石头,但你还是需要注意下雨天的时候,轮胎会不会滑。

superwiles 发表于 2012-11-29 00:41

公司最近刚刚公开了 Performance Monitoring Unit,   可以在下一册中加入

amarant 发表于 2012-11-29 10:45

回复 50# cjaizss


    我对x86的不是很熟悉,不知道是不是这个原因让我不是很喜欢x86的这一套。不知道专门做过x86的人是不是也很喜欢这个处理器?@帅绝人寰
我一些不喜欢的理由:
1,模式上有一个很多余的实模式
2,内存管理使用段式,页式。64位上的好像又可以没有段式了
3,寄存器的名字上原先使用eax之类的,后来又有r8等等通用寄存器。这些本来由ABI就可以解决了。
4,指令长度有长有短,很不方便分析。
总之,感觉就是一个东西反复修修补补。mips也是80年代的东西,但是到了现在和以前的也没有很大区别。我很喜欢mips,不知道是不是因为对它了解的比较多

cjaizss 发表于 2012-11-29 12:06

amarant 发表于 2012-11-29 10:45 static/image/common/back.gif
回复 50# cjaizss



X86考虑的是兼容的问题,一些是历史问题。
另外,我想你可能是做嵌入式的,使用RISC居多,对于CISC不是很喜欢。

superwiles 发表于 2012-11-29 18:56

回复 88# amarant


Cisc只是表象,前面已经说过了,
其次 x86 主要一直坚持向后兼容性, 导致了补丁摞补丁,而且和windows 的互动考虑很多。



   
页: 1 2 3 4 5 6 7 8 [9] 10 11 12
查看完整版本: 系统程序员之---x86x64体系探索及编程实践经验谈(获奖名单已公布2013-1-7)