计算机原理与操作系统
Linux/UNIX系统编程手册 豆瓣
The Linux Programming Interface: A Linux and UNIX System Programming Handbook
作者: Michael Kerrisk 译者: 孙剑 许从年 董健 / 孙余强 郭光伟 陈舸 人民邮电出版社 2014 - 1
《linux/unix系统编程手册(上、下册)》是介绍linux与unix编程接口的权威著作。linux编程资深专家michael kerrisk在书中详细描述了linux/unix系统编程所涉及的系统调用和库函数,并辅之以全面而清晰的代码示例。《linux/unix系统编程手册(上、下册)》涵盖了逾500个系统调用及库函数,并给出逾200个程序示例,另含88张表格和115幅示意图。
《linux/unix系统编程手册(上、下册)》总共分为64章,主要讲解了高效读写文件,对信号、时钟和定时器的运用,创建进程、执行程序,编写安全的应用程序,运用posix线程技术编写多线程程序,创建和使用共享库,运用管道、消息队列、共享内存和信号量技术来进行进程间通信,以及运用套接字api编写网络应用等内容。
《linux/unix系统编程手册(上、下册)》在汇聚大批 linux专有特性(epoll、inotify、/proc)的同时,还特意强化了对unix标准(posix、sus)的论述,彻底达到了“鱼与熊掌,二者得兼”的效果,这也堪称本书的最大亮点。
《linux/unix系统编程手册(上、下册)》布局合理,论述清晰,说理透彻,尤其是作者对示例代码的构思巧妙,独具匠心,仔细研读定会受益良多。本书适合从事linux/unix系统开发、运维工作的技术人员阅读,同时也可作为高校计算机专业学生的参考研习资料。
Computer Architecture 豆瓣 Goodreads 谷歌图书
作者: John L. Hennessy / David A. Patterson Morgan Kaufmann 2011 - 9
The computing world today is in the middle of a revolution: mobile clients and cloud computing have emerged as the dominant paradigms driving programming and hardware innovation today. The Fifth Edition of Computer Architecture focuses on this dramatic shift, exploring the ways in which software and technology in the cloud are accessed by cell phones, tablets, laptops, and other mobile computing devices. Each chapter includes two real-world examples, one mobile and one datacenter, to illustrate this revolutionary change. Updated to cover the mobile computing revolution Emphasizes the two most important topics in architecture today: memory hierarchy and parallelism in all its forms. Develops common themes throughout each chapter: power, performance, cost, dependability, protection, programming models, and emerging trends ("What's Next") Includes three review appendices in the printed text. Additional reference appendices are available online. Includes updated Case Studies and completely new exercises.
Computer Systems: A Programmer's Perspective (3rd Edition) 豆瓣 Goodreads
作者: Randal E. Bryant / David R. O'Hallaron Pearson 2015 - 3
For Computer Organization and Architecture and Computer Systems courses in CS and EE and ECE departments. Developed out of an introductory course at Carnegie Mellon University, this text explains the important and enduring concepts underlying all computer systems, and shows the concrete ways that these ideas affect the correctness, performance, and utility of application programs. The text's concrete and hands-on approach will help students understand what is going on "under the hood" of a computer system.

Few students studying computer science or computer engineering will ever have the opportunity to build a computer system. On the other hand, most students will be required to use and program computers on a near daily basis. 'Computer Systems' introduces the important and enduring concepts that underlie application programs.
2019年11月27日 已读
绝对是世界上最好的计算机体系结构教材,非常适合自学,非常深入浅出,学得非常非常非常快乐,习题也好玩,lab更是好玩到爆表了。当然也是因为这课我遇到一个非常非常热情认真负责的教授就是了。比起主动找这本书来看的帽老婆我积极性还是差了些x
说到这门课,虽然期中考汇编时候掉血debuff加持+心态崩了考得一塌糊涂大概才排到中间=_=,但期末考CPU架构和虚拟内存是班级top10ᕙ( ͡° ͜ʖ ͡°)ᕗ作为外系的小垃圾考过了一堆计算机系学生还是有点骄傲的(说起来我还觉得我汇编学得更好一点啊= =难道是其他人硬件学得太烂了?)
(Nov28 2019 Update) 读完了 还得反复看几遍
C 教材 英文原版 计算机原理与操作系统 计算机科学
Structure and Interpretation of Computer Programs - 2nd Edition (MIT) 豆瓣 Goodreads
9.6 (19 个评分) 作者: Harold Abelson / Gerald Jay Sussman The MIT Press 1996 - 7
Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text.
There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published.
A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises.
In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard.