编译原理三大经典书籍(龙书 虎书 鲸书)

来源:互联网 发布:监控录像恢复软件 编辑:程序博客网 时间:2024/05/22 07:58

逻辑地址空间是指一个源程序在编译或者连接装配后指令和数据所用的所有相对地址的空间。它是作业进入内存,其程序、数据在内存中定位的参数。------偏移地址


LWP:

         在计算机操作系统中,轻量级进程(LWP)是一种实现多任务的方法。与普通进程相比,LWP与其他进程共享所有(或大部分)它的逻辑地址空间和系统资源;与线程相比,LWP有它自己的进程标识符,优先级,状态,以及栈和局部存储区,并和其他进程有着父子关系;这是和类Unix操作系统的系统调用vfork()生成的进程一样的。另外,线程既可由应用程序管理,又可由内核管理,而LWP只能由内核管理并像普通进程一样被调度。Linux内核是支持LWP的典型例子。
        在大多数系统中,LWP与普通进程的区别也在于它只有一个最小的执行上下文和调度程序所需的统计信息,而这也是它之所以被称为轻量级的原因。一般来说,一个进程代表程序的一个实例,而LWP代表程序的执行线程(其实,在内核不支持线程的时候,LWP可以很方便地提供线程的实现)。因为一个执行线程不像进程那样需要那么多状态信息,所以LWP也不带有这样的信息。
       LWP的一个重要作用是提供了一个用户级线程实现的中间系统。LWP可以通过系统调用获得内核提供的服务,因此,当一个用户级线程运行时,只需要将它连接到一个LWP上便可以具有内核支持线程的所有属性。
       而因为LWP之间共享它们的大部分资源,所以它在某些应用程序就不适用了;这个时候就要使用多个普通的进程了。例如,为了避免内存泄漏(a process can be replaced by another one)和实现特权分隔(processes can run under other credentials and have other permissions)。
使用多个进程也使得应用程序在出现进程池内的进程崩溃或被攻击的情况下变得更加健壮。

--------------------------------------------------------------我是分割线-----------------------------------------------------

1、龙书(Dragon book) 
英文名:Compilers: Principles,Techniques,and Tools 
作者:Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman 
中文名:编译原理技术和工具 

 
第一版龙书 
 
第二版龙书 

龙书”。龙书是Alfred V. Aho等人于1986年出版的,由于出版年代较早,其中包含部分过时的技术并且没有反映一些新的编译技术。新编的《编译原理》抛弃诸如算符优先分析等过时技术,增加面向对象编译、类型检查等新技术

下载地址:

               资料包括: 中文版(第二版)  英文版(第二版) 部分课后习题答案  PPT课件

                http://download.csdn.net/detail/tskyming/4205068  (需要积分)

                http://skyming.ctdisk.com/u/715332/1037889  (无积分)

2、虎书(Tiger book) 

英文名:Modern Compiler Implementation in C 
作者:Andrew W.Appel,with Jens Palsberg 
中文名:现代编译原理-C语言描述 

 
虎书 

“虎书”。虎书出版比较晚,与《编译原理》的知识点差不多,但增加了数据流分析、循环优化、内存管理等内容。与虎书比,《编译原理》更适合国内的编译原理课程教学。这本是C版,还有java版和ML版。

下载地址:

            整理资料:  

         C版:      中文版 英文版 课后习题答案 全书的代码(来自官网)

         Java版:  中文版 英文版 全书的代码(来自官网)

          http://download.csdn.net/detail/tskyming/4203400  (需要积分)

          http://www.ctdisk.com/mydisk.php  (无积分)

                      

3、鲸书(Whale book) 

英文名:Advanced Compiler Design and Implementation 
作者:Steven S.Muchnick 
中文名:高级编译器设计与实现 

 

鲸书
 

“鲸书”。鲸书侧重在对编译器后端优化的处理。在本科阶段的编译教学中旨在让学生对程序设计语言的编译全过程有系统的理解,因此会介绍编译器后端的处理技术,但不注重优化技术。鲸书更适合作为研究生的教材或参考书。

下载地址:

              由于鲸书比较难 搜集的资料较少  只有 中文版  和 英文版

                         http://download.csdn.net/detail/tskyming/4207296 (需积分)

                         http://www.ctdisk.com/mydisk.php  (无需积分)

  注意:

           资料中有些是DJVU 格式的,下载个windjview 即可

=================================================

http://blog.csdn.net/tskyming/article/details/7436892




0 1