A. 如何阅读《深入理解计算机系统》这本书
结构、操作系统、体系结构、编译原理、计算机网络你全修过
我想大概可以分为4个阶段,水平从低到高
从安装使用=>linux常用命令=>linux系统编程=>内核开发阅读内核源码
其中学习linux常用命令时就要学会自己编译内核,优化系统,调整参数
安装和常用命令书太多了,找本稍微详细点的就ok,其间需要学会正则表达式
系统编程推荐《高级unix环境编程》,黑话叫APUE
还有《unix网络编程》
这时候大概还需要看资料理解elf文件格式,连接器和加载器,cmu的一本教材中文名为《深入理解计算机系统》比较好
内核开发阅读内核源码阶段,从写驱动入手逐渐深入linux内核开发
参考书如下《linux device drivers》,黑话叫ldd
《linux kernel development》,黑话叫lkd
《understading the linux kernel》,黑话叫utlk
《linux源码情景分析》
这四本书为搞内核的必读书籍
最后,第三阶段和第四阶段最重动手,空言无益,光看书也不罩,不动手那些东西理解不了
学习linux/unix编程方法的建议
建议学习路径:
首先先学学编辑器,vim, emacs什么的都行。
然后学make file文件,只要知道一点就行,这样就可以准备编程序了。
然后看看《C程序设计语言》K&R,这样呢,基本上就可以进行一般的编程了,顺便找本数据结构的书来看。
如果想学习UNIX/LINUX的编程,《APUE》绝对经典的教材,加深一下功底,学习《UNP》的第二卷。这样基本上系统方面的就可以掌握了。
然后再看Douglus E. Comer的《用TCP/IP进行网际互连》第一卷,学习一下网络的知识,再看《UNP》的第一卷,不仅学习网络编程,而且对系统编程的一些常用的技巧就很熟悉了,如果继续网络编程,建议看《TCP/IP进行网际互连》的第三卷,里面有很多关于应用协议telnet、ftp等协议的编程。
如果想写设备驱动程序,首先您的系统编程的接口比如文件、IPC等必须要熟知了,再学习《LDD》2。
对于几本经典教材的评价:
《The C Programing Language》K&R 经典的C语言程序设计教材,作者是C语言的发明者,教材内容深入浅出。虽然有点老,但是必备的一本手册,现在有时候我还常翻翻。篇幅比较小,但是每看一遍,就有一遍的收获。另外也可用谭浩强的《C语言程序设计》代替。
《Advanced Programing in Unix Envirement》 W.Richard Stevens:也是非常经典的书(废话,Stevens的书哪有不经典的!),虽然初学者就可以看,但是事实上它是《Unix Network Programing》的一本辅助资料。国内的翻译的《UNIX环境高级编程》的水平不怎么样,现在有影印版,直接读英文比读中文来得容易。
《Unix Network Programing》W.Richard Stevens:第一卷讲BSD Socket网络编程接口和另外一种网络编程接口的,不过现在一般都用BSD Socket,所以这本书只要看大约一半多就可以了。第二卷没有设计到网络的东西,主要讲进程间通讯和Posix线程。所以看了《APUE》以后,就可以看它了,基本上系统的东西就由《APUE》和《UNP》vol2概括了。看过《UNP》以后,您就会知道系统编程的绝大部分编程技巧,即使卷一是讲网络编程的。国内是清华翻译得《Unix网络编程》,翻译者得功底也比较高,翻译地比较好。所以建议还是看中文版。
《TCP/IP祥解》一共三卷,卷一讲协议,卷二讲实现,卷三讲编程应用。我没有怎么看过。,但是据说也很经典的,因为我没有时间看卷二,所以不便评价。
《用TCP/IP进行网际互连》Douglus.E.Comer 一共三卷,卷一讲原理,卷二讲实现,卷三讲高级协议。感觉上这一套要比Stevens的那一套要好,就连Stevens也不得不承认它的第一卷非常经典。事实上,第一卷即使你没有一点网络的知识,看完以后也会对网络的来龙去脉了如指掌。第一卷中还有很多习题也设计得经典和实用,因为作者本身就是一位教师,并且卷一是国外研究生的教材。习题并没有答案,留给读者思考,因为问题得答案可以让你成为一个中级的Hacker,这些问题的答案可以象Douglus索取,不过只有他只给教师卷二我没有怎么看,卷三可以作为参考手册,其中地例子也很经典。如果您看过Qterm的源代码,就会知道Qterm的telnet 实现部分大多数就是从这本书的源代码过来的。对于网络原理的书,我推荐它,而不是Stevens的《TCP/IP祥解》。
《Operating System - Design and Implement》这个是讲操作系统的书,用Minix做的例子。作者母语不是英文,所以英文看起来比较晦涩。国内翻译的是《操作系统设计与实现》,我没看过中文版,因为翻译者是尤晋元,他翻译的《APUE》已经让我失望头顶了。读了这本书,对操作系统的底层怎么工作的就会
有一个清晰的认识。
《Linux Device Driver》2e ,为数不多的关于Linux设备驱动程序的好书。不过内容有些杂乱,如果您没有一些写驱动的经验,初次看会有些摸不着南北。国内翻译的是《Linux设备驱动程序》第二版,第一版,第二版的译者我都有很深的接触,不过总体上来说,虽然第二版翻译的有些不尽人意,但是相比第一版来说已经超出了一大截。要读这一本书,至少应该先找一些《计算机原理》《计算机体系结构》的书来马马虎虎读读,至少应该对硬件和计算机的工作过程有一些了解。
B. 嵌入式学习书籍有哪些
以下是华清远见·星创客嵌入式精英训练营提供的学习嵌入式必看的100本书:
001《大话数据结构》
002《鸟哥的 linux 私房菜》
003《疯狂 android 讲义》
004《第一行代码》
005《linux 内核设计与实现》
006《驱动设计开发》
007《linux 内核解密》
008《unix 环境高级编程》
009《linux 内核设计与实现》
010《essential C++》
011《嵌入式 linux》
012《linux 设备驱动》
013《c 语言深度解剖》
014《linux 下的 c编程》
015《C Primer Plus(第五版)》
016《ARM 体系结构与编程(第二版)》
017《lINUX 设备驱动开发详解(第三版)》
018《android 开发艺术探讨》
019《c++plus》
020《Unix 环境高级编程》
021《与大数据同行——学习和教育的未来》
022《用户体验的要素》
023《编程与艺术》
024《ARM 嵌入式体系结构与接口技术》
025《cortex-m0 接口编程》
026《C 语言程序设计:现代方法》
027《C++ Primer》
028《数据结构》(严蔚敏)
029《算法导论》
030《Linux 设备驱动开发》
031《代码大全》
032《深入理解计算机系统》
033《UNIX 环境高级编程》
034《计算机安全原理》
035《UNIX 网络编程》
036《HeadFirst 设计模式》
037《linux 驱动》(宋保华)
038《C++ primer4》
039《qt5 精彩实例》
040《ldd3》
041《C++高级编程》
042《C语言教程》
043《实战 linux 编程精髓》
044《ARM 教程》
045《JAVA 编程思想》
046《HTML+CSS 网页设计与布局从入门到精通》
047《C 语言深度解剖》
048《深度实践嵌入式 Linux 系统移植》
049《unix 高级编程》
050《c 嵌入式一站式教学》
051《编译原理》
052《深度实践嵌入式 Linux 系统移植》
053《UNIX 环境高级编程》
054《linux 网络编程》
055《C 语言程序设计》
056《unix 环境高级编程》
057《嵌入式 linuxc 语言程序设计基础教程》
058《Java 编程思想》
059《TCP/IP 详解》
060《linux 技术手册》
061《C 语言深度剖析》
062《Unix 高级环境编程》
063《C++primerplus》
064《QT》
065《C 程序设计》
066《C 和指针》
067《C++primer》
068《C 程序设计语言》
069《ProgrammingC#》
070《thinking in C++》
071《Linux Device driver》
072《Linux kernel development》
073《软件工程》
074《C 和指针》
075《Android 核心代码》
076《Android 技术内幕》
077《Android 底层移植》
078《Unix 编程手册(上下卷)》
079《Linux 驱动设计第三版》
080《ARM 实战开发》
081《unix 环境高级编程》
082《tcp/ip 编程详解》
083《Linux 网络编程》
084《Unix 编程艺术》
085《计算机程序的构造和解释》
086《C Primer plus》
087《LINUX 权威指南》
088《LINUX 设备驱动程序》
089《The C Programming Language》
090《ajax 高级程序设计》
091《angula js 权威教程》
092《ARM 体系结构》
093《Unix 环境高级编程》
094《Linux 设备驱动程序》
095《现代操作系统》
096《TCP/IP 协议详解》
097《嵌入式 C 语言设计模式》
098《Struts In Action》
099《c 程序设计语言(第二版)》
100《深入理解 Linux 内核(第三版)》
C. 谁有 深入理解计算机网络(资深网络工程技术专家王达老师力作)这本电子书
没有看过,有机会看看
D. 《深入理解计算机系统(原书第3版)》pdf下载在线阅读,求百度网盘云资源
《深入理解计算机系统(原书第3版)》(Randal E.Bryant)电子书网盘下载免费在线阅读
资源链接:
链接: https://pan..com/s/1ic0mlRMsZf4wwYNWmO7H7Q
书名:深入理解计算机系统(原书第3版)
作者:Randal E.Bryant
译者:龚奕利
豆瓣评分:9.8
出版社:机械工业出版社
出版年份:2016-11
页数:737
内容简介:
和第2版相比,本版内容上*大的变化是,从以IA32和x86-64为基础转变为完全以x86-64为基础。主要更新如下:
基于x86-64,大量地重写代码,首次介绍对处理浮点数据的程序的机器级支持。
处理器体系结构修改为支持64位字和操作的设计。
引入更多的功能单元和更复杂的控制逻辑,使基于程序数据流表示的程序性能模型预测更加可靠。
扩充关于用GOT和PLT创建与位置无关代码的讨论,描述了更加强大的链接技术(比如库打桩)。
增加了对信号处理程序更细致的描述,包括异步信号安全的函数等。
采用新函数,更新了与协议无关和线程安全的网络编程。
作者简介:
Randal E. Bryant,1981年于麻省理工学院获得计算机博士学位,1984年至今一直任教于卡内基-梅隆大学。现任卡内基-梅隆大学计算机科学学院院长、教授,同时还受邀任教于电子和计算机工程系。他从事本科生和研究生计算机系统方面课程的教学近40年。他和O’Hallaron教授一起在卡内基梅隆大学开设了15-213课程“计算机系统导论”,那便是本书的基础。他还是ACM院士、IEEE院士、美国国家工程院院士和美国人文与科学研究院院士。其研究成果被Intel、IBM、Fujitsu和Microsoft等主要计算机制造商使用,他还因研究获得过Semiconctor Research Corporation、ACM、IEEE颁发的多项大奖。
David R. O’Hallaron卡内基梅隆大学电子和计算机工程系教授。在弗吉尼亚大学(University of Virginia)获得计算机科学的博士学位,2007年-2010年为Intel匹兹堡实验室主任。他教授本科生和研究生的计算机系统方面的课程已有20余年,并和Bryant教授一起开设了“计算机系统导论”课程。曾获得CMU计算机学院颁发的Herbert Simon杰出教学奖。他主要从事计算机系统领域的研究,与Quake项目成员一起获得过高性能计算领域中的*高国际奖项——Gordon Bell奖。他目前的工作重点是研究自动分级(autograding)概念,即评价其他程序质量的程序。
E. 计算机网络入门需要看那些书籍
1)编码:隐匿在计算机软硬件背后的语言,此书从信息的编码,数字的不同进制表示,到计算机采用的二进制机器级表示开始,到用电路构建一个简单的加法器,触发器,计数器,存储器,甚至一个具有控制器,运算器,存储器的简易CPU,娓娓道来,真是醍醐灌顶。最后还谈到了图形界面的原理。此书作者更是被传为圣经的《Windows程序设计》的作者Charles Petzold。读完此书可对计算机硬件的原理与设计有一全面深入之认识,犹如身处群山之巅,一览无余。
2)深入理解计算机系统 上一本《编码》通俗易懂,即使没有计算机相关知识也能懂,但缺乏一些计算机机制的介绍。此书是国外着名的介绍计算机系统方面的书,从程序员的角度带你畅游计算机系统架构。涉及程序的机器级表示(机器码,汇编),处理器体系结构,存储器结构,系统IO,网络编程,并发编程,以及程序性能的优化。读完此书可对计算机系统,程序设计有一深层次了解。
3)就C语言而言,K&R的 C程序设计语言 的无疑是最好的参考书,不过对初学者来说还是有一定难度,辅以诸如 C和指针 ,C陷阱与缺陷 会有更好的效果。当然多写程序才是王道,多写才能发现问题,加深认识。
4)Debug Hacks 此书介绍GDB调试工具及调试技巧,本人现在主要就是使用gcc gdb啦。此书助你更好的找出臭虫。
6)数据结构与算法分析 介绍算法和数据结构的书籍很多,但本人就是用这本书学习的,所以推荐。此书的前3章和第7章就介绍了题主要求的一些数据结构和算法,后面几张介绍树,排序,图论算法,及一些高级数据结构。读完此书将助你设计更优美的程序。
F. 深入理解计算机系统的目录1
1 A Tour of Computer Systems
1.1 Information is Bits + Context
1.2 Programs Are Translated by Other Programs into Different Forms
1.3 It Pays to Understand How Compilation Systems Work
1.4 Processors Read and Interpret Instructions Stored in Memory
1.5 Caches Matter
1.6 Storage Devices Form a Hierarchy
1.7 The Operating System Manages the Hardware
1.8 Systems CommunicateWith Other Systems Using Networks
1.9 The Next Step
1.10 Summary
Bibliographics Notes
Part I Program Structure and Execution
2 Representing and Manipulating Information
2.1 Information Storage
2.2 Integer Representations
2.3 Integer Arithmetic
2.4 Floating Point
2.5 Summary
Bibliographic Notes
Homework Problems
Solution to Practice Problems
3 Machine-Level Representation of Programs
3.1 A Historical Perspective
3.2 Program Encodings
3.3 Data Formats
3.4 Accessing Information
3.5 Arithmetic and Logical Operations
3.6 Control
3.7 Proceres
3.8 Array Allocation and Access
3.9 Heterogeneous Data Structures
3.10 Alignment
3.11 Putting it Together: Understanding Pointers
3.12 Life in the RealWorld: Using the GDB Debugger
3.13 Out-of-Bounds Memory References and Buffer Over
3.14 *Floating-Point Code
3.15 *Embedding Assembly Code in C Programs
3.16 Summary
Bibliographic Notes
Homework Problems
Solutions to Practice Problems
4 Processor Architecture
5 Optimizing Program Performance
6 The Memory Hierarchy
Part Ⅱ Running Programs on a System
7 Linking
8 Exceptional Control Flow
9 Measuring Program Execution Time
10 Virtual Memory
Part Ⅲ Interaction and Communication Between Programs
11 System-Level I/O
12 Network Programming
13 Concurrent Programming
A HCL Descriptions of Processor Control Logic
B Error Handling
Bibliography
Index
目录:
第1章 计算机系统漫游
1.1 信息就是比特+上下文
1.2 程序被其他程序翻译成不同的格式
1.3 了解编译系统如何工作是大有益处的
1.4 处理器读并解释储存在存储器中的指令
1.4.1 系统的硬件组成
1.4.2 执行hello程序
1.5 高速缓存
1.6 形成层次结构的存储设备
1.7 操作系统管理硬件
1.7.1 进程
1.7.2 线程
1.7.3 虚拟存储器
1.7.4 文件
1.8 利用网络系统和其他系统通信
1.9 下一步
1.10 小结
参考文献说明
第2章 信息的表示和处理
2.1 信息存储
2.2 整数表示
2.3 整数运算
2.4 浮点
2.5 小结
参考文献说明
家庭作业
练习题答案
第3章 程序的机器级表示
3.1 历史观点
3.2 程序编码
3.3 数据格式
3.4 访问信息
3.5 算术和逻辑操作
3.6 控制
3.7 过程
3.8 数组分配和访问
3.9 异类的数据结构
3.10 对齐(alignment)
3.11 综合:理解指针
3.12 现实生活:使用GDB调试器
3.13 存储器的越界引用和缓冲区溢出
3.14 *浮点代码
3.15 *在C程序中嵌入汇编代码
3.16 小结
第4章 处理器体系结构
4.1 Y86指令集体系结构
4.2 逻辑设计和硬件控制语言HCL 271
4.3 Y86的顺序(sequential)实现
4.4 流水线的通用原理
4.5 Y86的流水线实现
4.6小结
第5章 优化程序性能
5.1 优化编译器的能力和局限性
5.2 表示程序性能
5.3 程序示例
5.4 消除循环的低效率
5.5 减少过程调用
5.6 消除不必要的存储器引用
5.7 理解现代处理器
5.8 降低循环开销
5.9 转换到指针代码
5.10 提高并行性
5.11 综合:优化合并代码的效果小结
5.12 分支预测和预测错误处罚
5.13 理解存储器性能
5.14 现实生活:性能提高技术
5.15 确认和消除性能瓶颈
5.16 小结
第6章 存储器层次结构
6.1 存储技术
6.2 局部性
6.3 存储器层次结构
6.4 高速缓冲存储器
6.5 编写高速缓存友好的代码
6.6 综合:高速缓存对程序性能的影响
6.7 综合:利用你程序中的局部性
6.8 小结
参考文献说明
家庭作业
练习题答案
第7章链接
7.1编译器驱动程序
7.2静态链接
7.3目标文件
7.4可重定位目标文件
7.5符号和符号表
7.6符号解析
7.7重定
7.8可执行目标文件
7.9加载可执行目标文件
7.10动态链接共享库
7.11从应用程序中加载和链接共享库
7.12*与位置无关的代码(PIC)
7.13处理目标文件的工具
7.14小结
第8章 异常控制流
8.1异常
8.2进程
8.3系统调用和错误处理
8.4进程控制
8.5信号
8.6非本地跳转
8.7操作进程的工具
8.8小结
第9章 测量程序执行时间
9.1计算机系统上的时间流
9.2通过间隔计数(interval counting)来测量时间
9.3周期计数器
9.4用周期计数器来测量程序执行时间
9.5于gettimeofday函数的测量
9.6综合:一个实验协议
9.7展望未来
9.8现实生活:K次最优测量方法
9.9得到的经验教训
9.10小结
第10章 虚拟存储器
10.1物理和虚拟寻址
10.2地址空间
10.3VM作为缓存的工具
10.4 VM作为存储器管理的工具
10.5 VM作为存储器保护的工具
10.6 地址翻译
10.7 案例研究:Pentium/Linux存储器系统
10.8 存储器映射
10.9 动态存储器分配
10.10 垃圾收集
10.11 C程序中常见的与存储器有关的错误
10.12扼要重述一些有关虚拟存储器的关键概念
10.13 小结
第11章 系统级I/O
11.1 Unix I/O
11.2 打开和关闭文件
11.3 读和写文件
11.4 用RIO包进行健壮地读和写
11.5 读取文件元数据
11.6 共享文件
11.7 I/O重定向
11.8 标准I/O
11.9 综合:我该使用哪些I/O函数?
11.10 小结
第12章 网络编程
12.1 客户端-服务器编程模型
12.2 网络
12.3 全球IP因特网
12.4 套接字接口
12.5 Web服务器
12.6 综合:TINY Web服务器
12.7 小结
第13章 并 发 编 程
13.1 基于进程的并发编程
13.2 基于I/O 多路复用的并发编程
13.3 基于线程的并发编程
13.4 多线程程序中的共享变量
13.5 用信号量同步线程
13.6 综合:基于预线程化的并发服务器
13.7 其他并发性问题
13.8 小结
参考文献说明
家庭作业习题
练习题答案
附录A 处理器控制逻辑的 HCL描述
A.1 HCL参考手册
A.2 SEQ
A.3 SEQ+
A.4 PIPE
附录B 错 误 处 理
B.1 Unix系统中的错误处理
B.2 错误处理包装函数
B.3 csapp.h头文件
B.4 csapp.c源文件
G. 电脑学习
计算机组成原理(第四版 立体化教材)
作 者:白中英
主编出版社:科学出版社
出版时间:2008年01月
计算机算法设计与分析(第3版)
作 者:王晓东
编着出版社:电子工业出版社
出版时间:2007年05月
深入理解计算机系统(修订版)
作 者:(美)布赖恩特 等着,龚奕利,雷迎春 译
出版社:中国电力出版社
出版时间:2004年05月
计算机操作系统(第三版)
作 者:汤小丹 等编着
出版社:西安电子科技大学出版社
出版时间:2007年05月
深入解析Windows操作系统:第4版:Microsoft Windows Server 2003/Windows XP/Windows 2000技术内幕
作 者:美)罗斯(Russinovich,M.E.),(美)所罗门(Solomon,D.A.)着;出版社:电子工业出版社
出版时间:2007年04月
新概念51单片机C语言教程——入门、提高、开发、拓展?
作 者:郭天祥 编着
出版社:电子工业出版社
出版时间:2009年01月
编译原理(第2版)——计算机科学丛书
作 者:(美)阿霍 等着,赵建华 等译
出版社:机械工业出版社
出版时间:2009年01月
计算机网络
作 者:(美)特南鲍姆 着,潘爱民 译
出版社:清华大学出版社
出版时间:2004年08月
云计算
作 者:(美)米勒 着,姜进磊 等译
出版社:机械工业出版社
出版时间:2009年04月
计算机操作系统基础与应用
作 者:袁捷出版社:清华大学出版社
出版时间:2003年04月
H. 《深入理解计算机系统》真的有大家说的那么神奇吗
极其有用!
I. 谁有《计算机网络——自顶向下方法与Internet特色》中文版的电子版啊
计算机网络—自顶向下方法与Internet特色 中文版 第三版》点评
解放军理工大学 陈鸣(博导)
当我在1986年第一次研读Andrew S. Tanenbaum教授着的《计算机网络》时,计算机网络在我国尚未出现.1988年,我国引进国外设备构建了第一个全国性的X.25数据网络,使我第一次对网络和协议有了直观深入的认识.由于应用不多,虽然该网的国家主干速率仅有4.8kb/s,但网络仍然很空闲;在随后的几年中,个人计算机的性价比大幅度提高,采用NetWare网络操作系统的10Mb/s以太网迅速升温并普及,证券,金融等部门和国家大型企业率先推行计算机化,从而引发了学习,建设计算机网络的热潮,高校普遍感到有开设《计算机网络》课程的必要性了,尽管那时因特网好像离我国还非常遥远.现在,因特网已经进入千家万户,计算机网络这门课程逐步走向研究生的课堂,走向计算机和通信大学生的课堂,直至走向许多专业大学生的课堂.国内外网络教材的数量不断增加,但质量良莠不齐;讲解着名的ISO OSI的七层体系结构逐步被讲解因特网体系结构所替代;网络新技术不断出现,知识点不断增多,网络书不断加厚,随之而来出现了教学重点被冲淡的问题……无论如何,计算机网络是计算机和通信两个领域的交叉学科,内容极为复杂,涉及以错综复杂的方式彼此交织的许多概念,协议和技术,计算机网络原理是一门公认的较难教授和学好的课程.因此,很多教授和学者都致力于改进计算机网络的教材和教学法.
20年多来,我一直在计算机网络领域从事研究和教学工作,几乎每年都担任计算机网络课程的教学任务,包括了从短训班学员,本科生到硕士研究生,博士研究生的各个教学层次.为此,我非常关心国内外计算机网络教材的最新发展,每当看到有价值的网络书,我都会毫不犹豫地买下阅读,每每都会有很大收获和体会.如果你一定要我用一句话来评论给我留下深刻印象的网络教科书的话,我会说(这可能会导致片面):知识全面,学术严谨是Andrew S. Tanenbaum教授的的风格(代表作《计算机网络》,第四版原版由机械工业出版社引进);Douglas E. Comer教授对TCP/IP联网基本思想和实现技术有深刻的诠释;Larry L. Peterson教授 (代表作《计算机网络:系统方法 第三版》中文版,影印版皆由机械工业出版社2005年出版)则强调网络整体的系统性和普遍原则,有大家风范;谢希仁教授撰写的网络教科书注重网络知识点之间的联系,并与中文读者有天然沟通;James F. Kurose和Keith W. Rose教授撰写的网络教科书(代表作计算机网络—自顶向下方法与Internet特色第三版即本书)最大亮点的则在于精心选择教学内容和独具匠心的教学法,是高质量的入门级经典之作.正如许多专家所指出的那样,该书不仅用作大学本科生和短训班的教材极为适合,而且对网络专业人员也是有价值的参考资料.
网络领域的革命性变化必然要导致网络教科书的变化:首先,因特网已经接掌了计算机网络,因此,今天有关计算机网络的问题都必然与因特网联系起来.第二,网络中的"高增长领域"目前是网络服务和应用程序,因此必须强调网络应用程序开发.Kurose和Ross博士长期参与并见证了这种变化,在教学实践中以独创的自顶向下教学法解决现有网络教科书中存在的问题.自从该书的第1版于2001年问世以来,已经被数以百计的大学和学院采用,被译为10多种语言提供给世界上数以万计的学生和专业人士使用.在国内,已有许多着名高校选其为计算机,通信等专业的本科生和研究生教材.例如,解放军理工大学计算机与网络工程专业本科生自2002年起陆续使用该书第一版,第二版教材,2005年使用该书第三版前5章内容作为本科"计算机网络原理"课程的教材,而后4章内容及前5章要点则作为硕士研究生"计算机网络"课程的基本教材,配合相关实验均取得了良好的教学效果.
James F. Kurose和Keith W. Rose教授的《计算机网络—自顶向下方法与Internet特色》一书的显着特点是:
1. 独创的"自顶向下"教学法.由于计算机网络的复杂性,长期以来按分层体系结构自下而上讲授网络课程内容似乎已成一种定式.该书特别强调应用层,及早激发学生们的学习热情,及早强调DIY(Do-It-Youself) 开发网络应用程序.
2. 以因特网为研究对象.由于因特网的成功,因特网已经成为计算机网络的代名词.该书以因特网体系结构的5层模型来组织材料,为学生们的学习热情提供原动力.
3. 着眼原理.计算机网络领域的许多基础性的重要问题已经研究得较为清楚,重点研究这些原则,将使学生获得长"保质期"的知识,在飞速发展的网络研究开发中保持判断力和启发创造力.
4. 注重教学法.为帮助学生们理解关键的技术概念和激发学习积极性,本书包括了许多类比,幽默和实际的例子,引人入胜的历史事件和实践原则,对网络领域声名卓着的创新家们的专访,以及网站上翔实的教学资料和实验内容等.
5. 及时更新教学内容.从2001年第一版到2003年的第二版,至2004年的第三版,本书及时引入重要的最新知识和放弃了许多过时的内容.本书第三版反映了网络领域的最新进展,如增加了包括无线网络和移动网络一章,扩充了对等网络,BGP,MPLS,网络安全,广播选路和因特网编址及转发方面的新材料,并修订了习题.
6. 强调实验教学.新版教材增加了一套实用的Ethereal实验,讲解学生们如何亲眼观察网络协议的运行过程和产生的结果的方法;对多个难以理解的网络问题给出了原理性示教;给出编制网络应用程序的具体建议和部分源程序,鼓励大家用多实践的观点来解决网络教学要求理论联系实践的问题.
在本书的教学中,由于学时有限和专业词汇的艰涩,学生们普遍感到使用原版教材经过老师讲解,虽然能够理解课程内容但却难以在短期内记住其中的内容,从而导致学习效果不佳.该书的中译本能够为缓解在有限时间内有效地学习计算机网络知识(而不是英文本身)的矛盾能起到重要作用.
在该书第三版的翻译中,译者改正了书中存在的多处错误与排版错误并得到了原书作者的认可;译者和编辑们经常就某些网络术语的中文标准译法或更准确的译法展开讨论,力图使该教科书的网络专业词汇更加规范.机械工业出版社还就与该书配套的实验问题与专家们进行了深入的探讨,在该书的教学资料,实验设计等方面有一系列考虑,这将有助于我国高校教师教好这门课程,也有助于学子们学好这门重要的课,为进一步深入学习计算机网络其他知识打下坚实的基础.
特色以及评论:
“本书是书中珍品——Kurose和Ross采用一种新颖的自顶向下方法,使得复杂的网络问题变得井井有条!无论是对学生还是对专业人士该书的价值将是无法估量的。
——leonardKleinrock,加利福尼亚大学洛杉矶分校
“我认为Kurose和Ross与学生们沟通得很好,同时将重点放在基本概念和原则上,而基本概念和原则从长远来看才是真正要紧的。”
——ShivkumarKalyanaraman,Rensselaer理工学院
“对于希望理解因特网实际运行原理的网络专业人士而言,这本书是一个无价的资源。作者采用自顶向下的方法解释了当今通信服务的底层技术,既引人入胜,又易于理解。这是一本必备书