操作系统是一种对计算机中各个设备和资源进行管理并给应用软件提供各种服务的系统软件,它的实现可分用户态和内核态两大部分。一般而言,操作系统的算法和设计的复杂性大多在内核态部分。因此,了解操作系统的内核实现对于了解整个操作系统是非常重要的。本书详细阐述操作系统的内核(也包括少量用户态部分),选择UNIX第6版的内核代码及少量用户部分代码、总计10000行作为讲解对象,由框架到细节、由基础到地进行讲述;在此过程中贯穿了操作系统中的各种知识和概念,比如内存管理、进程调度、中断和设备管理以及文件系统等,使得内容非常易于读者理解。选择UNIX作为讲解对象是因为它强大的生命力和应用的广泛性。在精妙的设计思想下,它具有小巧高效而健壮的内核、丰富的功能、易扩展的架构和良好的开放性。UNIX所定义的很多接口(比如文件
本书是一部UNIX网络编程的经典之作。进程间通信(IPC)几乎是所有Unix程序性能的关键,理解IPC也是理解如何开发不同主机间网络应用程序的必要条件。本书从对PosixIPC和SystemVIPC的内部结构开始讨论,全面深入地介绍了4种IPC形式:消息传递(管道、FIFO、消息队列)、同步(互斥锁、条件变量、读写锁、文件与记录锁、信号量)、共享内存(匿名共享内存、具名共享内存)及远程过程调用(Solaris门、SuRPC)。附录中给出了测量各种IPC形式性能的方法。本书内容详尽,几乎每章都提供精选的习题,并提供了部分习题的答案,是网络研究和开发人员理想的参考书。
《UNIX编程艺术(英文版)》主要介绍了UNIX系统领域中的设计和开发哲学、思想文化体系、原则与经验,总结了UNIX发展史上成功的经验和失败的教训、经过时间验证的编码策略以及普遍适用的实用工具,《UNIX编程艺术(英文版)》由的UNIX编程大师、开源运动人物之一EricS.Raymond倾力多年编写而成,汇集了UNIX之父KeThompson等13位UNIX先锋的经典评论。
本书是一本基于近期新UNIX标准的完备的参考书,对UNIX编程的要点进行了清晰易懂的介绍,从一些用于说明如何使用调用的短小代码段开始,逐渐过渡到能帮助读者扩展自己技能水平的实际项目中。书中对通信、并发和线程问题进行了深入探讨,对复杂的概念,例如信号和并发,进行了全面且清晰的解释。本书还覆盖了与文件、信号、信号量、POSIX线程和客户机―服务器通信相关的内容。书中不仅提供了大量实例和练习,还专门设计了有针对性的项目并给出了参考答案。
《UNIX编程艺术(英文版)》主要介绍了UNIX系统领域中的设计和开发哲学、思想文化体系、原则与经验,总结了UNIX发展史上成功的经验和失败的教训、经过时间验证的编码策略以及普遍适用的实用工具,《UNIX编程艺术(英文版)》由的UNIX编程大师、开源运动人物之一EricS.Raymond倾力多年编写而成,汇集了UNIX之父KeThompson等13位UNIX先锋的经典评论。
本书首先回顾了与全书其他内容切实相关的UNIX系统内幕。回顾的目的是增进读者对UNIX操作系统概念的了解,并且定义随后使用的术语。本书接下来的内容分为3个部分。部分“高速缓存存储系统”介绍了高速缓存体系结构、术语和概念,详细考察了4种常见的高速缓存实现——3种虚拟高速缓存的变体和物理高速缓存。第二部分“多处理机系统”讨论了调整单处理机内核的实现,使之适合于紧密耦合、共享存储多处理机上运行时所面临的问题和设计事宜,还研究了几种不同的实现。一部分介绍多处理机高速缓存一致性,这一部分通过研究高速缓存加入到一个紧密耦合、共享存储器多处理机系统时出现在操作系统和高速缓存体系结构上的问题,从而将前两个部分的内容结合到一起。本书适合于大学计算机及相关专业高年级本科生或者研究生使用。每一章都包含有一组练