飞龙的程序员书单 - 组原、OS、网络

组原

深刻理解计算机系统web

简单介绍一下,这本书包括组成原理和操做系统两大部分知识。第2、三章学完以后,逆向就算是入门了。国内的教材不多有拿汇编和C语言对比教学的书籍,这样的教学方法很实用。由于如今汇编不多用于写程序了,主要大量用于反编译;而C语言主要用于嵌入式开发,为了性能缘由开发者要常常查看对应的汇编代码。然而这些知识只是个导论,要想真正踏入逆向的大门,仍是要看看雪出的那几本书。api

以后的第4、五章涉及了指令集和体系结构,讲的很浅显易懂,彻底不须要数电的基础就能看懂。美中不足的一点是它拿y86做为教学工具。y86虽然比起x86简化了不少,但仍是属于CISC,基本的指令类型有12种,非常使人头疼。此外,这一部分的lab涉及到了HDL,然而相关语法须要本身去看,也是略有不足。网络

操做系统部分没什么可挑剔的,进程、并发、IO与网络为了避免那么抽象,特意采用posix api来作演示,是至关深刻浅出的。固然,一本导论性质的书不可能讲的那么详细,须要的话仍是要看《apue》。并发

另外,这本书好像遗漏了两个很重要的话题,组原部分少了总线,操做系统部分少了文件系统,因此仍是应该看别的书把它补上。app

计算机组成与设计工具

斯坦福校长写的书。若是你受不了csapp中y86的繁琐,来看这本吧。其中有一个简单的用于教学的mips,只须要记住和实现5种指令,简单吧。性能

OS

深刻理解计算机系统操作系统

现代操做系统计算机网络

一本中规中矩的OS教科书,主要涉及到了进程、并发与锁、IO、虚存、文件系统几个方面。设计

30天自制操做系统

和上面那本不一样,这本书不涉及到一些操做系统设计上的基本概念,而是涉及到boot和内核的一些知识,教你从头开始实现一个操做系统,这是很是难能难得的。

网络

计算机网络

计算机网络:自顶向下方法

这两本书前者是自底向上,后者是自顶向下。能够互相补充着看。另外不要再看谢希仁那本书了,那本书都是他让手下的研究生一章一章凑的,没有多大价值。

TCP/IP详解 卷1:协议

TCP/IP详解 卷2:实现

TCP/IP详解 卷3:TCP事务协议、HTTP、NNTP和UNIX域协议

做为TCP/IP的权威指南,这三本仍是挺晦涩难懂的。

HTTP权威指南

做为一名开发者,咱们其实只须要关注传输层和应用层的东西。了解HTTP,对于一个web开发者来讲,是极其有利的。至少能理清请求的前因后果,避免写出来那种跳来跳去的实现。

图解HTTP

图解TCP/IP

若是上面那些大部头看不下去了,看看下面这两本,图解有时候真的有奇效。

相关文章
相关标签/搜索